paillier шифрование изображений в python
Я пытался зашифровать изображение с помощью paillier. Но я не могу расшифровать это. Пожалуйста, помогите мне узнать.
from phe import paillier
from PIL import Image
import cv2
import PIL
import numpy
openfilename = "greyscale.png"
img2 = cv2.imread(openfilename,0)
public_key, private_key = paillier.generate_paillier_keypair()
encrypted_number_list = [[public_key.encrypt(int(x)) for x in row] for row
in img2]
encrypted_number_array = numpy.array(encrypted_number_list)
print(encrypted_number_array)
decrypted_number_list =[private_key.decrypt(x) for x in
encrypted_number_array]
decrypted_number_array = numpy.array(decrypted_number_list)
print(decrypted_number_array)
Вот изображение, которое я использую:
https://s tackru.com/images/b51df9df9d7812fbf00fa86d89f5361cd19ebdf4.png
1 ответ
Решение
Шифрование / дешифрование изображений с помощью pailer:
import cv2
from phe import paillier
from scipy.misc import toimage
img = cv2.imread('image.png', 0)
public_key, private_key = paillier.generate_paillier_keypair()
data_encrypted = [[public_key.encrypt(int(x)) for x in row] for row in img]
data_decrypted = [[private_key.decrypt(x) for x in row] for row in data_encrypted]
toimage(data_decrypted).save('result.png')