使用Elgamal密码系统无法完全解密RGB图像

时间:2019-03-11 04:36:43

标签: python encryption public-key-encryption elgamal

我正在尝试使用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')

我已使用以下图像作为输入 Input 解密后,我得到以下图像: Output

0 个答案:

没有答案