BSC鏈智慧合約dapp系統定製開發(現成原始碼搭建)

aa111111發表於2023-04-07

隨著雲端計算和人工智慧的興起,如何安全有效地利用資料,對持有大量數字資產的企業來說至關重要。同態加密,是解決雲端計算和分散式機器學習中資料安全問題的關鍵技術,也是隱私計算中,橫跨多方安全計算,聯邦學習和可信執行環境多個技術分支的熱門研究方向。


本文對經典同態加密演算法Pailier演算法及其相關技術進行介紹,重點分析了Paillier的實現原理和效能最佳化方案,同時對基於公鑰的加密演算法中的熱門演算法進行了橫向對比。最後介紹了Paillier演算法的一些實際應用。


【關鍵詞】:同態加密,多方安全計算,聯邦學習,隱私計算


1 背景知識

1.1 同態加密

同態加密(Homomorphic Encryption,HE)[1] 是將資料加密後,對加密資料進行運算處理,之後對資料進行解密,解密結果等同於資料未進行加密,並進行同樣的運算處理。同態加密的概念最初在1978年,由Ron Rivest,Leonard Adleman和Michael L. Dertouzos共同提出,旨在解決在不接觸資料的前提下,對資料進行加工處理的問題。


目前,同態加密支援的運算主要為加法運算和乘法運算。按照其支援的運算程度,同態機密分為半同態加密(Partially Homomorphic Encryption, PHE)和全同態加密(Fully Homomorphic Encryption, FHE)。半同態加密在資料加密後只持加法運算或乘法運算中的一種,根據其支援的運算的不同,又稱為加法同態加密或乘法同態加密。半同態加密由於機制相對簡單,相對於全同態加密技術,擁有著更好的效能。全同態加密對加密後的資料支援任意次數的加法和乘法運算。


1.2 複合剩餘類問題

如果存在一個數y ∈ Z n 2 ∗ y∈\mathbb{Z}_{n^2}^\asty∈Z 

2

 

 , 那麼符合公式z ≡ y n   ( m o d   n 2 ) z ≡ y^n\ (mod\ n^2)z≡y 

n

  (mod n 

2

 )的數z,稱為y的模n 2 n^2n 

2

 的n階剩餘。複合剩餘類問題(decisional composite residuosity assumption , DCRA),指的是給定一個合數n和整數z,很難確定模n 2 n^2n 

2

 的n階剩餘數z是否存在。


1.3 中國剩餘定理

中國剩餘定理(Chinese Remainder Theorem, CRT),又稱為孫子定理,源於《孫子算經》,是數論中的一個關於一元線性同餘方程組的定理,說明了一元線性同餘方程組有解的準則以及求解方法。


有物不知其數,三三數之剩二,五五數之剩三,七七數之剩二。問物幾何?

翻譯為數學語言為:


{ x ≡ 2 ( m o d    3 ) x ≡ 3 ( m o d    5 ) x ≡ 2 ( m o d    7 ) \left\{

x≡2(mod3)x≡3(mod5)x≡2(mod7)

x≡2(mod3)x≡3(mod5)x≡2(mod7)

\right.

  

x≡2(mod3)

x≡3(mod5)

x≡2(mod7)

 


其通用方程為:

{ x ≡ a 0 ( m o d    n 0 ) x ≡ a 1 ( m o d    n 1 ) . . .                      x ≡ a k ( m o d    n k ) \left\{

x≡a0(modn0)x≡a1(modn1)...x≡ak(modnk)

x≡a0(modn0)x≡a1(modn1)...x≡ak(modnk)

\right.

  

x≡a 

0

 (modn 

0

 )

x≡a 

1

 (modn 

1

 )

...

x≡a 

k

 (modn 

k

 )

 


中國剩餘定理的解法流程為:


計算所有模數的乘積 n = ∏ i   =   0 k n i n = \prod_{i\ =\ 0}^{k}n_in=∏ 

i = 0

k

 n 

i

 

計算m i = n / n i , c i = m i ∗ m i − 1 m_i = n / n_i, c_i = m_i * m_i^{-1}m 

i

 =n/n 

i

 ,c 

i

 =m 

i

 ∗m 

i

−1

 

方程組的解為:x = ∑ i   =   0 k a i c i   ( m o d   n ) x = \sum_{i\ =\ 0}^{k}{a_ic_i\ (mod\ n)}x=∑ 

i = 0

k

 a 

i

 c 

i

  (mod n)

2 Paillier演算法原理

2.1 Paillier簡介

在Paillier演算法出現之前,基於公鑰加密的演算法主要有兩個分支:


以RSA為代表的,基於大數因數分解難題的公鑰加密演算法

以ElGama為代表的,基於大數離散對數難題的公鑰加密演算法

Paillier加密演算法,由Pascal Paillier於1999年發表,給出了公鑰加密演算法的一個新的分支領域。Paillier基於複合剩餘類難題,滿足加法同態和數乘同態,具有非常高效的執行時效能。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70010128/viewspace-2944331/,如需轉載,請註明出處,否則將追究法律責任。

相關文章