使用一次加密的形式对图像进行加密。
采用异或的方式实现。
加密、解密结果如下:
程序代码如下:
% 读取原始图像并显示
originalImage = imread('lena256.bmp'); % 更换为你的图像文件名
subplot(1,3,1),imshow(originalImage);
title('Original Image');
% 生成与图像相同大小的随机一次性密钥
key = uint8(rand(size(originalImage)) * 255);
% 加密图像
encryptedImage = encryptImage(originalImage, key);
subplot(1,3,2); imshow(encryptedImage);
title('Encrypted Image');
% 解密图像
decryptedImage = decryptImage(encryptedImage, key);
subplot(1,3,3),imshow(decryptedImage);
title('Decrypted Image');
function encryptedImage = encryptImage(image, key)
% 将图像数据和密钥转换为向量
imageVector = image(:);
keyVector = key(:);
% 执行异或操作进行加密
encryptedVector = bitxor(imageVector, keyVector);
% 将加