全同態加密


一個朋友問我的,我就學習了一下,在此做下筆記。

同態加密

如果我們有一個加密函數$f$,把明文$A$變成密文${A}'$,把明文$B$變成密文${B}'$,也就是說$f(A)={A}'$, $f(B)={B}'$。另外我們還有一個加解密函數$f^{-1}$,能夠將$f$加密后的密文解密成加密前的明文。

對於一般的加密函數,如果我們將${A}'$和${B}'$相加,得到${C}'$。我們用$f^{-1}$對${C}'$進行解密得到的結果一般是毫無意義的亂碼。

但是,如果$f$是個可以進行同態加密的加密函數,我們對${C}'$使用$f^{-1}$進行解密得到結果$C$,這時候的$C=A+B$。

(可見,這個同態與群論里的同態概念是相同的)

同態分類

a) 如果滿足$f(A)+f(B)=f(A+B)$,我們稱這種加密函數為加法同態

b) 如果滿足$f(A) \times f(B) = f(A \times B)$,我們稱這種加密函數為乘法同態

如果一個加密函數同時滿足加法同態和乘法同態,稱為全同態加密。那么使用這個加密函數可完成各種加密后的運算(加減乘除、多項式求值、指數、對數、三角函數)。

全同態的應用

1. 安全代理計算

將數據全同態加密之后傳輸給雲端,在雲端計算(全都是密文),再將計算結果(也是密文)返回給用戶,用戶解密得到真正的結果。

參考資料

用C++ NTL實現的全同態加密及相關論文

 

 

參考鏈接:https://baike.baidu.com/item/%E5%85%A8%E5%90%8C%E6%80%81%E5%8A%A0%E5%AF%86/8892160

 


免責聲明!

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



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