设: ab=c 基础等式其中:加密函数e解密函数d enctrypt:加密;decrypt:解密 乘法同态特为:eaeb=ecc=dec=deaeb用Python验证c 是否等于ab得到乘法同态的正确性。
代码如下:
def encrypt(x):
# 加密函数
return x + 10
def decrypt(x):
# 解密函数
return x - 10
def mul_homomorphic(a, b):
# 乘法同态
return encrypt(decrypt(a) * decrypt(b))
# 验证乘法同态的正确性
a = 5
b = 10
c = a * b
e_a = encrypt(a)
e_b = encrypt(b)
e_c = mul_homomorphic(e_a, e_b)
d_c = decrypt(e_c)
print("加密后的数字:", e_a, e_b, e_c)
print("解密后的数字:", d_c)
print("原始数字乘积:", c)
print("乘法同态是否正确:", d_c == c)
输出结果:
加密后的数字: 15 20 450
解密后的数字: 50
原始数字乘积: 50
乘法同态是否正确: True
可以看到,乘法同态的结果和原始数字乘积相同,验证了乘法同态的正确性
原文地址: https://www.cveoy.top/t/topic/f2qP 著作权归作者所有。请勿转载和采集!