密碼學原語如何應用?解析密文同態性的妙用

2021-10-10 22:13:32 字數 3350 閱讀 6761

隱私資料在密文形式下是否依舊可以加減乘除?其背後的同態性原理具體指什麼?半同態性和全同態性有什麼區別?單金鑰和多金鑰同態加密有哪些奇妙的應用場景?

隱私保護方案設計,往往需要在密文狀態下,對隱私資料進行特定的業務操作,以此保障資料的機密性。

沿用上一論的電子支付例子,客戶目前擁有一張面額1000元的電子支票,電子支票以密***形式儲存,流轉過程中不會輕易洩露金額。客戶使用這張支票時,消費額可能低於1000元,需要將支票進行拆分找零。假定消費額為200元,這一支票需要被拆分成兩份密***,面額200元的給商戶,面額800元的留給客戶自己作為找零。

以上功能點涉及如何在不解密的限制下,對隱私資料的密文形式進行計算和驗證。而解決問題的關鍵,就在於密文同態性的使用。

在資料業務中,密文同態性在需要隱私保護的相關場景方案中應用十分廣泛,可以實現隱私資料可信跨域協作、聯合資料發掘等**值需求,在多方資料協作、機器學習、雲計算等熱門領域皆有用武之地。密碼學同態究竟有何奇妙之處?且隨本文一**竟。

同態性

同態(homomorphism)的概念起源於抽象代數,具體是指兩個代數結構(例如群、環、向量空間等)之間保持結構不變的對映。

對應地,密碼學意義中的同態,多指一類代數結構能夠滿足在指定運算下結構不變的性質。例如,函式f(x)=3x對應的代數結構滿足加法同態性,函式f(x)=x^3對應的代數結構滿足乘法同態性。

同態性在密碼學中最常見的應用之一,就是用來構造同態加密演算法。

同態加密允許在不解密的條件下,直接對密文形式下的隱私資料進行特定形式的代數運算,運算效果等同於將隱私資料明文直接計算後再加密所獲的效果。

這項技術試圖實現隱私資料協同計算中的資料密文可計算,但明文不可見的效果。

同態加密一直是密碼學研究領域的乙個重要課題,經典的演算法有rsa、elgamal、paillier加密演算法。2023年9月,craig gentry從理論上取得了重大突破,提出了全同態加密的構造方法,即可以在不解密的條件下,對隱私資料的密文形式進行任意形式的運算,並使得運算之後的結果密文滿足同態性。

除了同態加密外,其他密碼學原語,如上一論中提及的密碼學承諾,也可能具有同態性。

同態加密與具有同態性的密碼學承諾在功能上的區別在於:

半同態vs全同態

同態加密根據支援的運算型別的限制,可分為半同態加密(swhe,somewhat homomorphic encryption或phe,partially homomorphic encryption)和全同態加密(fhe,fully homomorphic encryption)。

對於乙個半同態加密演算法,其密文形式僅僅對部分運算方式滿足同態性,有代表性的密碼學演算法體系如下:

半同態加密演算法的優點在於構造相對簡單,工程實現效率高,目前已經可以達到商用的效能要求。

對於引言中密文支票電子支付的例子,使用乙個具備加法運算同態性演算法便可以構造出滿足相關的隱私保護需求的密碼學協議。除了支付之外,對於日常業務中的大多數場景,如投票、選舉、競拍等,半同態加密演算法一般都可以滿足對應的隱私保護需求。

對於乙個全同態加密演算法,其密文形式在理論上對任意運算方式都滿足同態性。對於資料密文計算相關同態加密演算法設計,這一要求通常體現為密文對應的代數結構對加法和乘法同時滿足同態性。

對於任意的隱私資料x,y,全同態加密演算法提供了一對加密演算法e和解密演算法d,滿足如下關係:

相比半同態加密演算法,全同態加密演算法功能更強大、設計更複雜,整體效能遠不及半同態加密演算法。例如可能面臨密文資料膨脹困擾。相關研究報告顯示,在一次使用全同態加密開源庫為敏感醫療資料構建密文線性回顧模型的嘗試中,需要將隱私資料進行編碼轉換,對映到密文的向量空間中。

此過程,1m的明文資料編碼後可能膨脹至約10g密文資料;同時,針對值域範圍為512位的明文資料,單次密文乘法運算,在普通個人計算機實測耗時約5秒左右,通常乙個需要全同態計算的場景涉及的密文乘法次數很多,總體耗時較高。

由此可見,全同態加密演算法的願景雖美,但目前還處於理論探索層面,離工程實用化、支援高頻次和大資料量的業務需求尚有一定距離。

單金鑰vs多金鑰

同態加密根據資料控制方的數量,可分為單金鑰同態加密(single key homomorphic encryption)和多金鑰同態加密(multi-key homomorphic encryption)。

上一節提到的elgamal、paillier等加密演算法都是單金鑰同態加密,即對於隱私資料只能使用同一對的金鑰進行加解密。

單金鑰同態加密優點在於構造相對簡單、效能高,可用於有一定信任基礎或強監管環境下的聯合計算場景。

由於涉及到可信初始化和金鑰選用的問題,單金鑰同態加密在多方參與的協作場景中,會遇到不少挑戰,例如:

實際業務流程中,隱私資料可以由多方提供,在可信初始化之後使用同乙個公鑰加密資料,並彙總密文資料進行計算,計算結束之後,需要委託可信方或者使用分布式解密協議,對最終結果進行解密。

相比單金鑰同態加密演算法,多金鑰同態加密較好地解決了信任相關的問題。

乙個多金鑰同態加密演算法,允許不同參與方使用各自不同的金鑰對加密,加密後的密文可以通過各個參與方的公鑰進行密文擴充套件,擴充套件後的密文對於指定的運算方式依舊滿足同態性。解密過程可以通過分布式解密協議,在不洩露各自資料私鑰的前提下,對約定的結果密文進行解密。

目前多金鑰同態加密方案,隨著參與方個數的增加,系統效能會急劇降低。對於一些需求比較明確的多方協作場景,相較於多金鑰同態加密方案,定製構造的安全多方計算協議或許更有效。

正是:隱私資料密文亦無妨,計算驗證同態兩相宜!

具有同態性的密碼學原語提供了一系列直觀、便捷的金鑰學協議構造利器,在保障隱私資料機密性的同時,允許多個協作方對隱私資料的密文形式進行直接運算和驗證操作,以此適配多樣化的隱私保護需求。

國密演算法 密碼學

國密演算法是我國自主研發創新的一套資料加密處理系列演算法。從sm1 sm4分別實現了對稱 非對稱 摘要等演算法功能。特別適合應用於嵌入式物聯網等相關領域,完成身份認證和資料加解密等功能。當然,預設的前提條件是演算法金鑰必須保證安全性,因此要將國密演算法嵌入到硬體加密晶元中結合使用。國密即國家密碼局認...

密碼學之密匙交換

最近在學習網易公開課上可汗學院現代密碼學的課程,整理了一下自己的筆記2 迪菲.赫爾曼密匙交換 迪菲.赫爾曼密匙交換利用了單向函式正向求解很簡單,反向求解很複雜的特性。n x mod m s,已知n x m求s簡單,已知n m s求x很難。此時也可以求,用窮舉遍曆法,但是當數字很大時,耗時很長代價很大...

密碼學應用 身份鑑別

1 身份認證 身份驗證又稱 驗證 鑑權 是指通過一定的技術手段,完成對使用者身份的確認。可分為三類 型別優點 應用不足 實體所知 應用廣泛 成本低 實現簡單 密碼 驗證碼 威脅較大 暴力破解 木馬 實體所有 安全性較高 成本較高 ic卡 門禁卡 固體實物 有損壞 被複製風險 實體特徵 安全性最高 指...