Я зашифровал изображение, используя алгоритм AES, и получил результат, но я не уверен, что программирование - правда. Я хочу помочь проверить код.
import numpy as np
import random
from Cryptodome.Cipher import AES
from Cryptodome import Random
import cv2
img=cv2.imread('t.jpg',1)#read image
na = np.array(img)#conver it to array
x, y ,pp= img.shape[:3]#size of 3d
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
blue= np.array(range(x*y), int).reshape((x, y))
enc_blue= np.array(range(x*y), int).reshape((x, y))
blue[:,:]=gray[:, :]
key = b'Sixteen byte key'
iv=b'0000000000000000'
cipher = AES.new(key, AES.MODE_CFB, iv)
L2=[]
blue1 = np.array(range(x),int)
for i in range(x):
blue1=blue[i,:].tolist()
blue2=bytes(blue1)
msg = cipher.encrypt(blue2)
for p in msg:
L2 += [(p)]
enc_blue[i,:]=L2[:]
L2=[]
cv2.imwrite('enc_blue.jpg', enc_blue)
обычное изображение шифрованное изображение