Skip to content

Commit

Permalink
add HE
Browse files Browse the repository at this point in the history
  • Loading branch information
xilibi2003 committed Aug 16, 2024
1 parent e0c2e1c commit 1085d96
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 8 deletions.
11 changes: 3 additions & 8 deletions basic/密码学/FHE.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,12 @@
## FHE

FHE (Fully Homomorphic Encryption,简称 FHE) , 全同态加密,在加密数据上执行计算,而不需要先解密数据,仍然可以得到正确且安全的结果。

FHE 核心思想是利用数学结构的特性,使得加密后的数据在某些运算下仍然保持“同态”性质。这意味着,在密文之间执行某些操作,结果的密文可以解密为与直接在明文上执行相同操作所得结果一致的明文。
FHE (Fully Homomorphic Encryption,简称 FHE) , 是全同态加密,属于[同态加密](https://learnblockchain.cn/tags/同态加密)的一种。 在加密数据上执行任意计算(加减乘除),而不需要先解密数据,仍然可以得到正确且安全的结果。



例如,假设有两个明文数据 `x``y`,它们的密文分别为 `Enc(x)``Enc(y)`。在 FHE 系统中,进行如下运算:

- 加法:`Enc(x) + Enc(y) = Enc(x + y)`
- 乘法:`Enc(x) * Enc(y) = Enc(x * y)`
FHE 核心思想是利用数学结构的特性,使得加密后的数据在某些运算下仍然保持“同态”性质。这意味着,在密文之间执行某些操作,结果的密文可以解密为与直接在明文上执行相同操作所得结果一致的明文。

解密后,结果将是 `x + y``x * y`,与对未加密数据进行相同运算的结果相同。
![img](https://img.learnblockchain.cn/pics/20240816181756.png)



Expand Down
46 changes: 46 additions & 0 deletions basic/密码学/HE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
## HE

HE (Homomorphic Encryption 同态加密,简称 HE) , 同态加密是一种特殊的加密方法,允许对密文进行处理得到仍然是加密的结果。即对密文直接进行处理,跟对明文进行处理后再对处理结果加密,得到的结果相同。



如果定义一个运算符 ``,对加密算法 `E` 和 解密算法 `D`,满足:

$$ E(X△Y)=E(X)△E(Y) $$

则意味着对于该运算满足同态性。



同态加密体系大致上被分为四类:部分同态、近似同态、有限级数全同态与完全同态。



### 部分同态加密

部分同态加密(Partially Homomorphic encryption)也叫半同态加密, 它允许人们对密文进行某种特定形式的代数运算(如加法或乘法)得到仍然是加密的结果,将其解密所得到的结果与对明文进行同样的运算结果一样。



- 加法同态:满足 $E(x)E(y) = E(x + y)$ , 例如椭圆曲线加密算法中,$ E(x)=gx$ 具有加法同态性,Pedersen Commit也具有加法同态性。
- 乘法同态:满足 $E(X)E(Y)=E(X*Y)$。典型的例子为:RSA加密算法中,$E(x)=x^e$(其中e为公钥),则$E(x)E(y)=x^ey^e=(xy)^e=E(xy)$,具有乘法同态性。

在加密计算中,加法同态可以完成任何加法运算。乘法同态亦然。



## 近似同态加密

如果我们又想让私密输入相乘,又想得到它们之间的线性组合的话,单纯的部分同态加密算法(RSA,ElGamal)是无法完成的。就可能需要近似同态加密。

近似同态加密可以在密文上同时计算加法与乘法了。但是需要注意的是,近似同态(Somewhat Homomorphic)可以做的加法和乘法次数非常有限,可以计算的函数也在一个有限的范围内。**因为我们不能计算任意逻辑和深度的函数。**

## 有限级数全同态加密

有限级数全同态加密可以对密文进行任意的加法乘法组合了,没有次数的局限性。

但有限级数全同态会引入一个新的复杂度上限 $L$ 的概念,这一复杂度上限约束了函数 $F$ 的复杂度。

## 全同态加密

全同态加密的系统**没有任何计算方法的限制**,我们可以允许第三方对加密数据执行计算,并获得加密结果,他们可以将其交还给拥有原始数据解密密钥的任何人,而第三方无法自行解密数据或结果。

0 comments on commit 1085d96

Please sign in to comment.