Paillier加密方案

2022-08-04 09:24:15 字數 1620 閱讀 5089

carmichael函式:\(n\in z^+,\forall a\in z_n^+\),若能滿足\(a^x \equiv 1 (\mod n)\)的最小x,記為λ(n),稱為carmichael函式

定理:\(n\in z^+\),設\(n=n_1·n_2\),且\((n_1,n_2)\)=1,則λ(n)=[λ(\(n_1\)),λ(\(n_2\))]

證明.

\(\forall a\in z_n^+,a^ \equiv 1\mod n\)

\(\because n_1\mid n\)

\(\therefore a^ = 1\mod n_1\)

\(\therefore \lambda(n_1)\mid\lambda(n)\)

同理,\(\lambda(n_2)\mid\lambda(n)\)

\(\therefore [\lambda(n_1),\lambda(n_2)]\mid\lambda(n)\)

設\(z_^+ = \lbrace a_i |0 < i \le n_1\rbrace,z_^+ = \lbrace b_j|0 < j \le n_2\rbrace\)

則\(z_n^+=\lbrace n_2a_i+n_1b_j \rbrace\)

\((n_2a_i+n_1b_j)^ \equiv n_2^ \equiv 1\mod n_1\)

則\((n_2a_i+n_1b_j)^\equiv 1\mod n_1\)

同理,\((n_2a_i+n_1b_j)^\equiv 1\mod n_2\)

\(\because [n_1,n_2]=n\)

\(\therefore\forall a\in z_n^+,a^\equiv 1\mod n\)

\(\therefore \lambda(n)\mid [\lambda(n_1),\lambda(n_2)]\)

\(\therefore [\lambda(n_1),\lambda(n_2)]=\lambda(n)\)

carmichael函式的取值:

定理:設\(n\in z^+,w\in z_n^+\),則\(w^\equiv 1\mod n^2\)

證明.

\(w^\equiv 1\mod n\)

\(\therefore \exists k\in z_n^+, w^ = 1+kn\)

\((w^)^n=(1+kn)^n=1+\sigma_1^n c^i_n(kn)^i=1+kn^2+\sigma_2^n c^i_n(kn)^i\equiv 1\mod n^2\)

paillier加密方案是歐洲通用的一種同態的公鑰加密方案,其構造如下:

正確性驗證:

因為\(g^\equiv 1\mod n\)

不妨令\(g^=1+kn,k\in z^+\)

m' = \(\frac-1}}-1}}=\frac-1}}}\)

\(\equiv\frac)^m-1}}\equiv\frac}\equiv\frac}\)

\(\equiv\frac\equiv m\mod n^2\)

檔案加密方案

使用者輸入密碼,軟體驗證密碼是否正確。傳統的對稱加密演算法,給出密文,隨意給出乙個金鑰,使之來解密。演算法都是可以繼續的,即使解密出來的資訊是亂的。如何驗證使用者的密碼是否正確?最差的解決方案 把使用者的檔案先加密,然後將使用者的密碼儲存到檔案末尾。解密時,驗證使用者輸入的金鑰是否和檔案末尾相同,如...

資料加密方案

資料加密又稱密碼學,它是一門歷史悠久的技術,指通過加密演算法和加密金鑰將明文轉變為密文,而解密則是通過解密演算法和解密金鑰將密文恢復為明文。資料加密目前仍是計算機系統對資訊進行保護的一種最可靠的辦法。它利用密碼技術對資訊進行加密,實現資訊隱蔽,從而起到保護資訊的安全的作用。資料加密技術要求只有在指定...

CKKS加密方案

本文內容來自 protecting privacy throughhomomorphic encryption 主要學習裡面的ckks部分。ckks是一種同態加密方案,其安全性依賴於rlwe問題。明文是實數向量,表示為定點型別計算方式 實數表示方法 浮點計算和定點計算 該方案很支援以simd方式在這...