我正在尝试使用python中的Elgamal密码系统进行图像加密和解密。但是我无法获得加密的图像,并且解密后的图像也不完全相同。有人可以帮忙吗? 加密和解密都花费太多时间。我该如何解决? 这是我完成的代码
import numpy
from PIL import Image
import elgamal
import matplotlib.image
import json
img = Image.open('output.jpg')
#Displays the image
img.show('output.jpg')
imgar = cv2.imread('output.jpg')
print(imgar)
#print(type(imgar))
imgstr = json.dumps(imgar.tolist())
#print(type(imgstr))
keyDict = elgamal.generate_keys()
cipher = elgamal.encrypt(keyDict['publicKey'],imgstr)
print('Encrypted value',cipher)
print(type(cipher))
decryptedImgar = elgamal.decrypt(keyDict['privateKey'],cipher)
print('decrypted value')
print(decryptedImgar)
print(type(decryptedImgar))
im = numpy.array(json.loads(decryptedImgar))
print(im)
print(type(im))
img = Image.fromarray(im.astype('uint8'))
img.save('decimg.png')
img.show('decimg.png')