混沌图像加密算法matlab程序,
【图像加密】基于符号逻辑的混沌结合阿诺德置乱实现图像加密含矩阵实验室源码_MATLAB仿真博客的技术博客_博客
一简介
传统的阿诺德变换能改变图像象素的位置,而不能改变图像象素值,不能仅仅靠阿诺德变换来实现图像加密。本文结合符号逻辑的映射的伪随机性与对初值的敏感性,提出一种新的基于阿诺德变换的图像加密算法,改进后的算法不仅改变了图像象素的位置,也改变了图像象素值。矩阵实验室仿真实验表明了该算法的有效性与安全性。
2部分代码功能加米
%注意:请修改testImgName,来测试不同输入图像,支持灰度图和RGB图
% testImgName= lena
% testImgName= lena _ color
% testImgName= color0
% testImgName= lena16x16
% testImgName= gray32x32
% testImgName= gray2
testImgName= pepper _ gray
% testImgName=像素
img=imread(strcat(testImgName, 1 .png’));
[宽高rgb]=尺寸(img);
%混乱映射预迭代次数,物流映射初始值x0,穆,阿诺置乱次数
Key=[128,0.7532,3.8793,2];
%
disp( # # # # # # # # # # # # # # #);
% 信息熵计算
% 统计输出
图;
如果rgb==3
% 彩色图像
支线剧情(4,2,1);
im show(uint 8(img));
标题(明文);
支线剧情(4,2,2);
imshow(imgEncrypted);
标题(密文);
imgR=img(:1);
imgG=img(:2);
imgB=img(:3);
支线剧情(4,2,3);
imhist(uint 8(imgR));
标题(明文稀有分量直方图);
支线剧情(4,2,5);
imhist(uint 8(imgG));
标题(明文G分量直方图);
支线剧情(4,2,7);
imhist(uint 8(imgB));
标题(明文B分量直方图);
imgEncryptedR=imgEncrypted(:1);
imgEncryptedG=imgEncrypted(:2);
imgEncryptedB=imgEncrypted(:3);
支线剧情(4,2,4);
imhist(imgEncryptedR);
标题(密文稀有分量直方图);
支线剧情(4,2,6);
imhist(imgEncryptedG);
标题(密文G分量直方图);
支线剧情(4,2,8);
imhist(imgEncryptedB);
标题(密文B分量直方图);
其他
% 灰度图像
支线剧情(2,2,1);
im show(uint 8(img));
标题(明文);
支线剧情(2,2,2);
im show(uint 8(imgEncrypted));
标题(密文);
支线剧情(2,2,3);
imhist(uint 8(img));
标题(明文直方图);
支线剧情(2,2,4);
imhist(uint 8(imgEncrypted));
标题(密文直方图);
目标
图;
支线剧情(3,3,1);imshow(imgEncrypted);标题(加密后图像);
支线剧情(3,3,2);imshow(imgEncrypted _ Noise _ Salt);标题(strcat((1)椒盐噪声=,num 2 str(delta)));
支线剧情(3,3,3);im show(imgDecrypted _ Noise _ Salt);标题((1)解密图像);
支线剧情(3,3,5);im show(imgEncrypted _ Noise _ Gaussian);标题(strcat((2)高斯噪声=0,=,num 2 str(delta)));
支线剧情(3,3,6);im show(imgDecrypted _ Noise _ Gaussian);标题((2)解密图像);
支线剧情(3,3,8);im show(imgEncrypted _ Croped);标题((3)1/16剪切);
支线剧情(3,3,9);im show(imgDecrypted _ Croped);标题((3)解密图像);
% 明文敏感性
imgPlain=img
如果rgb==3
% 彩色图像
gray=imgPlain(w,h,1);
% bin=dec2bin(灰色);
gray=bitxor(gray,1);
imgPlain(w,h,1)=gray;
其他
% 灰度图像
gray=imgPlain(w,h);
% bin=dec2bin(灰色);
gray=bitxor(gray,1);
imgPlain(w,h)=gray;
目标
imgEncrypted1=imgPlain
对于i=1:加密计数
imgEncrypted1=encrypt(imgEncrypted1,Key);
目标
disp(strcat( -,testImgName,,加密次数为:,num2str(encryptCount),,明文敏感性分析- ));
NPCR(imgEncrypted,imgEncrypted1,明文改变一个像素值);
UACI(imgEncrypted,imgEncrypted1,明文改变一个像素值);
:2)=cG;
a(:3)=cB;
其他
a=crop _(img);
目标
end3仿真结果
四参考文献[1]杨恒伏,伍雁鹏,田祖伟。基于符号逻辑的混沌映射与阿诺德变换的图像加密算法[J]的缩写.衡水学院学报, 2008, 10(4):4.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的矩阵实验室仿真,相关矩阵实验室代码问题可私信交流。
原创作品来自matlab研究助手,
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。