同态加密是一种加密算法,与普通加密算法不同。

普通加密只能对数据进行加密、解密。

同态加密对数据进行加密之后,还可以对密文进行一下操作。如果是普通加密,需要对数据解密之后才能继续操作。而同态加密不需要,且密文操作后解密结果是与明文相同的。

同态加密中密文空间具体有特定的算符。

同态加密技术分类:

Paillier半同态加密算法:

1.验证Paillier加密解密的正确性。

 

私钥:解密。公钥:加密与计算 

探讨:

2.验证Paillier的同态性。

两个不同的加密明文-->密文c/c

密文域上的操作,只是定义为密文的加法,怎么实现,可以是通过别的计算来实现的。

3.Paillier的安全性

拿着公钥,没办法推出私钥。

语义安全:密文不可逆。(密文里面存在明文的信息,猜对的概率才会大于50%,不安全)。反证法证明安全。

 判断n次幂问题:

 其他半同态加密算法:

全同态加密算法:

支持无限次的密文加密文,支持无限次的密文乘密文。

BFV算法

不是针对数值的同态,明文是多项式,不是数值。

BFV算法--编码方式

SIMD编码:一条指令可以操作多个数据,将多个数据编码到一个多项式里。

 Packing机制!!!

 BFV--加解密过程

安全性基础

同态性

自举Bootstrapping

 同态加密应用

RSA算法

因数、质数、余数

6=2*3:2、3为6的因数

5=1*5:5为质数

私钥D不可以被他人算出,算出D,需要E、T。而E是被公开的公钥,所以T是算出私钥D的关键。

要算出T,需要p,q两个质数,如果这两个质数设置的非常大,不管是T,还是N,这两个数都会变得非常巨大,所以公开N,也很难找到两个对应质数。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐