Я пытаюсь выполнить шифрование и дешифрование изображений с использованием криптосистемы Elgamal в python.Но я не могу получить зашифрованное изображение, а также изображение после дешифрования не совсем то же самое.Может кто-нибудь, пожалуйста, помогите?Это занимает слишком много времени для шифрования и дешифрования.Как я могу решить это?Это код, который я сделал
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')
Я использовал следующее изображение в качестве ввода Вход После расшифровки я получаю следующее изображение: Выход