安装phe前先安装gmpy2
轮子大全
同态加密提供了一种对加密数据进行处理的功能, 是一种允许对密文进行计算 *** 作,并生成加密结果的加密技术。在 密文上获得的计算结果被解密后与在明文上的计算结果相匹配,就如同对明文执行了一样的计算 *** 作。
Paillier加密算法只支持加法同态和标量乘法同态,不支持乘法同态,更不支持复杂的指数和对数运算
1. D(E(a) * E(b)) = a + b
2. D(E(a)**b) = a * b
标量乘法同态:对于任意常数k,满足E(km)=k×E(m)
同态加密算法保证对联合密文的解密结果等价于联合明文。若存在同态加密算法f,针对明文A和B,加密后分别得到A'=f(A), B'=f(B), 将其和A'+B'解密后得到A+B,则同态加密算法f被成为加法同态加密算法。
在使用Paillier算法进行加密和解密运算时,会涉及大量的大素数幂运算,因此中间结果很可能发送越界,通常会出现下面的错误。
一种有效的解决方法是,当加密迭代到达一定的轮数之后,重新加密加密数据。
#产生1024位公私钥对
public_key, private_key = paillier.generate_paillier_keypair(n_length=1024)
#加密向量
def encrypt_vector(public_key, x):
return [public_key.encrypt(i) for i in x]
numpy可视化tutorial
转置 点乘np.sum(a, axis=1) ------->行求和
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)