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\))]
證明.carmichael函式的取值:\(\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)\)
定理:設\(n\in z^+,w\in z_n^+\),則\(w^\equiv 1\mod n^2\)
證明.paillier加密方案是歐洲通用的一種同態的公鑰加密方案,其構造如下:\(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\)
正確性驗證:
因為\(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方式在這...