区块链技术与应用:密码学中的同态加密算法

同态加密理论首次在1978年提出,是一种能保护数据隐私的加密算法,被认为是密码学中的圣杯之一。

1、什么是同态加密算法

如果我们有一个加密函数 f , 把明文A变成密文A’, 把明文B变成密文B’,也就是说f(A) = A’ ,f(B) = B’ 。另外我们还有一个解密函数,能够将 f 加密后的密文解密成加密前的明文。
对于一般的加密函数,如果我们将A’和B’相加,得到C’。我们对C’进行解密得到的结果一般是毫无意义的乱码。
但是,如果 f 是个可以进行同态加密的加密函数, 我们对C’使用进行解密得到结果C, 这时候的C = A + B。

这样,数据处理权与数据所有权可以分离,这样企业可以防止自身数据泄露的同时,利用云服务的算力。

 

2、同态加密算法分类

a) 如果满足 f(A)+f(B)=f(A+B), 我们将这种加密函数叫做加法同态。
b) 如果满足 f(A)×f(B)=f(A×B), 我们将这种加密函数叫做乘法同态。
如果一个加密函数f只满足加法同态,就只能进行加减法运算;
如果一个加密函数f只满足乘法同态,就只能进行乘除法运算;

 

3、全同态加密算法

2009年IBM的Craig Gentry首次提出了一种基于理想格的全同态算法。

如果一个算法能满足:

1)加法同态

2)乘法同态

那么,我们称之为全同态算法。

也就是说,如果一个加密函数同时满足加法同态和乘法同态,称为全同态加密。

 

这一名为“全同态加密”的技术被冠以“密码学的圣杯”的称号。对数据进行加密给计算带来了难度,但如能够在不解密的前提下进行计算则进一步提高了数据的安全性。例如,远程计算服务提供商收到客户发来的加密的医疗记录数据库,借助全同态加密技术,提供商可以像以往一样处理数据却不必破解密码。处理结果以加密的方式发回给客户,客户在自己的系统上进行解密读取。这一技术同样可以应用到网络邮件或在线办公软件套装中。

你可能感兴趣的:(区块链技术与应用:密码学中的同态加密算法)