matlab加密与解密,混沌图像加密算法matlab程序

  matlab加密与解密,混沌图像加密算法matlab程序

  1 .为了保护图像信息在通信过程中不被非授权人员轻易获取,图像加密解密技术应运而生,并取得了很大的进展。在探讨常用图像加密技术的基础上,设计并实现了一种基于混沌理论、像素级置乱和隐写术的图像加密算法。利用MATLAB软件对图像像素进行置乱后,与生成的混沌序列进行逐位异或运算得到加密图像。最后将加密后的图像嵌入到载体图像中,完成最终的加密操作,增加了破解者的破解难度,同时也使得图像在传输过程中不易引起攻击者的警觉。

  2部分代码%%

  色度控制中心

  清理所有

  全部关闭

  痉挛

  添加路径子功能

  % Data=im read( images \ camera tor . TIF );

  % Data=im read( images \ rice . TIF );

  data=im read( images \ Lena . jpg );

  % Data=im read( images \ football . jpg );

  % Data=im read( images \ onion . png );

  % Data=im read( images \ or face . jpg );

  [row,col,dim]=size(Data);

  如果(变暗1)

  Data=rgb2gray(数据);%如果输入图像是彩色图像,它将被转换为灰度图像。

  目标

  %%缩放和转换为二进制

  % zoom将图像转换为8像素数组;每个像素是8位。

  %所以8个像素将等于64位数据。

  [Data,padding]=Scalling(Data,8);

  Data_binary=convert2bin(数据);

  %%键选择和扩展

  %以133457799bbcdff1的形式输入密钥

  hex _ key= 133457799bbcdff1

  [bin _ key]=hex 2 bin(hex _ key);

  [K1,K2,K3,K4,K5]=SF _ Key _ Gen(bin _ Key);

  %%加密和解密

  orignal _ msg=[];

  encrypt _ msg=[];

  decrypt _ msg=[];

  对于i=1:size(Data_binary,1)

  orignal=Data_binary(i,);

  痉挛

  [cipher]=SF_Encrypt(orignal,K1,K2,K3,K4,K5);

  encryption _ time(I)=TOC;

  [明文]=SF_Decryption(密码,K1,K2,K3,K4,K5);

  encrypt_msg(:I)=binary 2 dec(cipher);

  decrypt_msg(:i)=Binary2Dec(明文);

  目标

  if(填充~=0)

  Data=reshape(Data,[size(Data,1)*size(Data,2)1]);

  数据=数据(1:结束填充);

  encrypt _ msg=shape(encrypt _ msg,[size(encrypt_msg,1)*size(encrypt_msg,2)1]);

  encrypt_msg=encrypt_msg(1:结尾填充);

  decrypt _ msg=shape(decrypt _ msg,[size(decrypt_msg,1)*size(decrypt_msg,2)1]);

  decrypt_msg=decrypt_msg(1:结尾填充);

  目标

  %%将矢量转换为图像

  Orignal=uint8(reshape(Data,[row,col]);

  encrypted=uint 8(reshape(encrypt _ msg,[row,col]));

  解密=uint8(reshape(decrypt_msg,[row,col]);

  我猜的

  子情节(1,3,1)

  imshow(原始)

  标题(“原始图像”)

  次要情节(1,3,2)

  imshow(加密)

  标题(“加密图像”)

  次要情节(1,3,3)

  imshow(解密)

  标题(“解密图像”)

  我猜的

  子情节(2,1,1)

  im hist(Orignal);

  次要情节(2,1,2)

  imhist(加密);

  显示(“完成”);

  总有机碳

  %%计算加密和原始图像熵。

  y=(imhist(Encrypted)0.00001)/(row * col);

  Y=-sum(Y . * log2(Y));

  x=(imhist(original)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代码问题可以私信交流。有些理论引用自网络文献。如有侵权,联系博主删除。

  原创作品来自matlab研究助手,

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: