代码如下:

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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录