用戶在數據加密的情形下仍能對特定的加密數據進行分析和檢索,提高了數據處理的效率,保證了數據安全傳送,而且正確的加密數據仍能得到正確的解密結果。
同態加密方案根據其支持的運算類型和運算次數大致可以分為以下三種類別。
(1)部分同態加密。如果一種同態加密方案只支持在密文上執行加法運算,則這種方案被稱為加法同態加密方案。如果一種同態加密方案只支持在密文上執行乘法運算,則這種方案被稱為乘法同態加密方案。上述兩種同態加密算法統稱為部分同態加密算法。 (2)有些同態加密。如果一種同態加密算法同時支持在密文上進行加法和乘法操作,但是只能進行有限次的密文運算,那么這種算法稱為有些同態加密算法。 (3)全同態加密。如果一種同態加密算法同時支持在密文上進行加法和乘法操作,並且能夠支持無限次的密文運算,那么這種算法稱為全同態加密(FHE)算法。
同態加密的研究可以追溯到 20 世紀 70 年代,在 RSA 密 碼體制剛提出不久,Rivest 等人提出了全同態加密的概念,也稱為隱私同態。這成為密碼學界的開放難題,同態加密是一種加密形式,允許用戶直接對密文進行特定的代數運算,得到數據仍是加密的結果,與對明文進行同樣的操作再將結果加密一樣。同態加密優勢在於用戶在數據加密的情形下仍能對特定的加密數據進行分析和檢索,提高了數據處理的效率,保證了數據安全傳送,而且正確的加密數據仍能得到正確的解密結果。
1978年,Rivest等人利用數論構造出著名的公鑰密碼算法 RSA,該算法具有乘法同態性,但不具備加法同態性。
第一個基於離散對數困難的公鑰加密體制 ElGamal 於 1984 年提出,該體制具有乘法同態性質;一種滿足加法同態的加密方案 GM算法被 Goldwasse 和 Micali 提出, 其安全性是基於二次剩余難題。
一種改進的概率同態加密體制 於 1994 年被 Benaloh提出,目前該方案已應用於實際中。第一 個基於判定合數剩余類問題的加法同態加密密碼體制於 1999 年提出,該體制同樣支持多次加法同態運算。
在 2005 年第一種同時支持任意多次加法同態和一次乘法同態的 BGN 體制被 Boneh 等人提出,該方案是距離全同態加密方案最近的一項工作。
Gentry在2009年提出的基於理想格的全同態加密方案。Brakerski等人在2011年利用容錯學習(LWE)實現了全同態加密,之后經過與Gentry等人一起進行改進后形成了著名的BGV方案。Gentry等人在2013年基於近似特征向量提出的GSW方案;Dijk等人於2010年提出的基於整數的全同態加密方案,簡稱DGHV方 案。
參考文獻:
[1] 同態加密研究進展綜述 李浪等人
[2] 全同態加密研究歷程綜述 趙嘉男