Невозможно точно расшифровать RGB-изображение с помощью криптосистемы Elgamal - PullRequest
0 голосов
/ 11 марта 2019

Я пытаюсь выполнить шифрование и дешифрование изображений с использованием криптосистемы 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')

Я использовал следующее изображение в качестве ввода Вход После расшифровки я получаю следующее изображение: Выход

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...