Paillier加密方案


數論基礎

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^{\lambda(n)} \equiv 1\mod n\)
\(\because n_1\mid n\)
\(\therefore a^{\lambda(n)} = 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_{n_1}^+ = \lbrace a_i |0 < i \le n_1\rbrace,Z_{n_2}^+ = \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)^{\lambda(n_1)} \equiv n_2^{\lambda(n_1)} \equiv 1\mod n_1\)
\((n_2a_i+n_1b_j)^{[\lambda(n_1),\lambda(n_2)]}\equiv 1\mod n_1\)
同理,\((n_2a_i+n_1b_j)^{[\lambda(n_1),\lambda(n_2)]}\equiv 1\mod n_2\)
\(\because [n_1,n_2]=n\)
\(\therefore\forall a\in Z_n^+,a^{[\lambda(n_1),\lambda(n_2)]}\equiv 1\mod n\)
\(\therefore \lambda(n)\mid [\lambda(n_1),\lambda(n_2)]\)
\(\therefore [\lambda(n_1),\lambda(n_2)]=\lambda(n)\)

Carmichael函數的取值:

  • 當原根存在時,顯然\(\lambda(n)=\varphi(n)\),即當n=\(2,4,p^{\alpha},2p^{\alpha}\)
  • 如果n = \(p_1^{a_1}·p_2^{a_2}\cdots p_s^{a_s}\),根據上面的定理,則λ(n) = [\(\lambda(p_1^{a_1}),\lambda(p_2^{a_2}),\cdots,\lambda(p_s^{a_s})\)]
  • 如果n = \(2^{\alpha},\alpha\ge 3\),則λ(n) = \(\frac{\varphi(n)}{2}\)

定理:\(n\in Z^+,w\in Z_n^+\),則\(w^{n\lambda(n)}\equiv 1\mod n^2\)

證明.
\(w^{\lambda(n)}\equiv 1\mod n\)
\(\therefore \exists k\in Z_N^+, w^{\lambda(n)} = 1+kn\)
\((w^{\lambda(n)})^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加密方案

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

  • Gen:取兩個大素數p,q,令n=pq,λ=[p-1,q-1],概率均勻的選擇一個g\(\in Z^+_{n^2}\),並且滿足 n | ord(g),則(n,g)為公鑰,(p,q,λ)為私鑰
  • Enc:對消息m\(\in Z^+_n\),概率均勻的選擇一個r\(\in Z^+_n\),則密文 c = \(r^ng^m\mod n^2\)
  • Dec:解密m' = \(\frac{L(c^λ\mod n^2)}{L(g^λ\mod n^2)}\),其中L(x)=\(\frac{x-1}{n}\)

正確性驗證:
因為\(g^{\lambda}\equiv 1\mod n\)
不妨令\(g^{\lambda}=1+kn,k\in Z^+\)

m' = \(\frac{\frac{c^{\lambda}-1}{n}}{\frac{g^{\lambda}-1}{n}}=\frac{\frac{(r^ng^m)^{\lambda}-1}{n}}{\frac{1+kn-1}{n}}\)

\(\equiv\frac{\frac{(g^{\lambda})^m-1}{n}}{k}\equiv\frac{\frac{(1+kn)^m-1}{n}}{k}\equiv\frac{\frac{1+mkn+\Sigma_2^mC_m^i(kn)^i-1}{n}}{k}\)

\(\equiv\frac{km}{k}\equiv m\mod n^2\)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM