本文對同態加密演算法進行學習。參考文章同態加密演算法。
定義同態加密演算法保證對聯合密文的解密結果等價於聯合明文。若存在同態加密演算法f,針對明文a和b,加密後分別得到a'=f(a), b'=f(b), 將其和a'+b'解密後得到a+b,則同態加密演算法f被成為加法同態加密演算法。
//加法同態演算法的加密和解密分別用e和d
a』 = e(a)
b' = e(b)
c' = a' + b'
c = d(c') 且 c = a+b
同態加密在聯邦學習中被用到,將資料處理權和資料所有權分離,在保證資料內容安全的同時,借助於雲服務的算力進行聯合訓練,進而生成聯合ai模型。
分類根據加密函式f的運算型別將同態加密演算法劃分為加法同態演算法、乘法同態演算法和全同態演算法。加法同態演算法能夠進行加減法運算(paillier 演算法);
乘法同態演算法能夠進行乘除法運算(rsa 演算法);
全同態演算法能夠同時滿足加法同態和乘法同態,加密函式能完成各種加密後的運算,包括加減乘除、多項式、指數、對數、三角函式等(gentry演算法)。
加密演算法
下面介紹幾種同態加密演算法的數學原理。paillier 演算法
paillier演算法的公鑰和私鑰的生成過程如下:
存在密文c1, c2,對應明文分別是m1,m2。令c=c1+c2,可知c=g^(m1+m2).r^(2n) mod n^2, 可知,對密文c解密後為m1+m2。因此,pailier演算法為加法同態演算法。rsa演算法
rsa演算法的公鑰和私鑰的生成過程如下:
存在密文c1, c2,對應明文分別是m1,m2。令c=c1*c2,可知c=(m1*m2)^e mod n。可知,密文c解密後為m1*m2。因此,rsa演算法為乘法同態演算法。
gentry同態加密演算法 同態加密演算法 總結
文章目錄 1 定義 2 同態分類 3 應用 4 意義 1 定義 一般的加密方案關注的都是資料儲存安全。即,我要給其他人發個加密的東西,或者要在計算機或者其他伺服器上存乙個東西,我要對資料進行加密後在傳送或者儲存。沒有金鑰的使用者,不可能從加密結果中得到有關原始資料的任何資訊。只有擁有金鑰的使用者才能...
同態加密的簡單應用
這個例子很酷,但並不是fhe重要的唯一原因。密碼學家 至少是我們 對fhe感到興奮的主要原因是它是一種 終極密碼工具 當然,fhe並不能解決世界上所有的密碼問題,事實上,對於它所解決的許多問題,都存在非基於fhe的解決方案,這些解決方案更有效或基於更弱的假設。但是基於fhe的結構通常在概念上更簡單,...
同態 同構判定演算法
c4toc4 isomorphism0 1 1 2 3 4 2 3 4 1 3 4 1 2 4 1 2 3 c4toc4 homomorphism1 2 c4toc4 isomorphism2 1 1 2 3 4 2 3 4 1 3 4 1 2 4 1 2 3 c4toc4a isomorphism...