首页 > 解决方案 > 使用 RSA 加密(python)加密图像像素

问题描述

我正在使用python逐像素加密图像以制作具有相同大小的全新图像,而其他人看不到旧图像。

我使用少量 P 和 Q 编写了演示 RSA 加密

但是当我逐像素加密图像时,RGB值将被更多的255淹没,因此我无法正确打印新图像

encrypt_img  = Image.open("./images/index.jpeg")
encrypt_img_pixels = encrypt_img.load()
encrypt_row,encrypt_col=encrypt_img.size

print("Encrypting picture with RSA public key (e:",E,"n:",N,")...")
for i in range(encrypt_row):
    for j in range(encrypt_col):
        red,green,blue = encrypt_img_pixels[i,j]
        C1=power(red,E,N)
        C2=power(green,E,N)
        C3=power(blue,E,N)
        encrypt_img_pixels[i,j]=(int(C1),int(C2),int(C3))
encrypt_img.save("./output/rsa_encrypt_output.png")

如果我修改结果以获得正确的图像,我无法解密它,因为值已经改变

        C1=C1%256
        C2=C2%256
        C3=C3%256

所以问题是无论如何使用python用RSA逐像素加密图片?

标签: pythonimage-processingencryptionrsa

解决方案


推荐阅读