【图像加密】图像加密解密含Matlab源码(图像加密解密算法)

网友投稿 442 2022-09-05


【图像加密】图像加密解密含Matlab源码(图像加密解密算法)

1 简介

为保护图像信息在通信的传输过程中不被未授权的人员轻易的获取.图像加密解密技术应运而生,并得到长足发展.文章根据对常用的图像加密技术的探索,设计并实现基于混沌理论,像素级别打乱和隐写术的图像加密算法.利用MATLAB软件对图像像素打乱后,与生成的混沌序列按位异或得到加密图像,最后再将加密图像隐写入载体图像中从而完成最后的加密操作.这样操作后,增加破解者的破解难度,同时也让图像在传输过程中不易引起攻击者的警觉.

2 部分代码

%%clcclear allclose allticaddpath subFunctions% Data=imread('images\cameraman.tif');% Data=imread('images\rice.tif');Data=imread('images\Lena.jpg');% Data=imread('images\football.jpg');% Data=imread('images\onion.png');% Data=imread('images\ORLFace.jpg');[row,col,dim]=size(Data);if (dim>1) Data=rgb2gray(Data); %如果输入图像是彩色图像,则转换为灰度end%% 缩放和转换为二进制% 缩放以将图像转换为 8 像素数组;每个像素为 8 位% 因此 8 像素将等于 64 位数据[Data,padding]=Scalling(Data,8);Data_binary=convert2bin(Data);%% 键选择和扩展% 以133457799bbcdff1的形式输入keyhex_key = '133457799bbcdff1';[bin_key] = Hex2Bin( hex_key );[K1,K2,K3,K4,K5]=SF_Key_Gen(bin_key);%% 加密与解密orignal_msg=[];encrypt_msg=[];decrypt_msg=[];for i=1:size(Data_binary,1) orignal=Data_binary(i,:); tic [cipher]=SF_Encrypt(orignal,K1,K2,K3,K4,K5); encryption_time(i)=toc; [plaintext]=SF_Decryption(cipher,K1,K2,K3,K4,K5); encrypt_msg(:,i)=Binary2Dec(cipher); decrypt_msg(:,i)=Binary2Dec(plaintext);endif (padding~=0) Data=reshape(Data,[size(Data,1)*size(Data,2) 1]); Data=Data(1:end-padding); encrypt_msg=reshape(encrypt_msg,[size(encrypt_msg,1)*size(encrypt_msg,2) 1]); encrypt_msg=encrypt_msg(1:end-padding); decrypt_msg=reshape(decrypt_msg,[size(decrypt_msg,1)*size(decrypt_msg,2) 1]); decrypt_msg=decrypt_msg(1:end-padding);end%% 将向量转换为图像Orignal=uint8(reshape(Data,[row,col]));Encrypted=uint8(reshape(encrypt_msg,[row,col]));Decrypted=uint8(reshape(decrypt_msg,[row,col]));figuresubplot(1,3,1)imshow(Orignal)title('原始图像')subplot(1,3,2)imshow(Encrypted)title('加密图像')subplot(1,3,3)imshow(Decrypted)title('解密图像')figuresubplot(2,1,1)imhist(Orignal);subplot(2,1,2)imhist(Encrypted);display('Done');toc%% 计算加密和原始图像熵Y=(imhist(Encrypted)+0.00001)/(row*col);Y=-sum(Y.*log2(Y));X=(imhist(Orignal)+0.00001)/(row*col);X=-sum(X.*log2(X));% disp(['原始信息熵:X,' '加密信息熵:Y' ]);Re=[X Y]

3 仿真结果

4 参考文献

[1]张英伟. 基于matlab的数字图像des加密解密研究[J]. 信息技术与信息化, 2014(5):2.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【缺陷检测】基于计算机视觉实现物品表面缺陷检测系统含Matlab源码
下一篇:详解Java设计模式中的装饰模式
相关文章

 发表评论

暂时没有评论,来抢沙发吧~