1 简介
分析了当前一类基于混沌系统的图像加密算法,指出普遍存在安全性方面的不足.基于此,提出了一种全新的不变像素、可变像素、采样像素分类置乱的混沌图像加密算法.
2 部分代码
% Separable and error-free reversible data hiding in encrypted images .%可以有不大于最大嵌入率的任意嵌入率.clc;tic;clear;close all;tic%阈值.Tn=-2%负数 (满足|Tn-1|<Tp)Tp=1%正数im=imread('lena512.bmp');%im=rgb2gray(img);figure(1);imshow(im)title('原始图像');im=double(im);[m,n]=size(im)%% 预处理[pre, HHist,L1]=pretreatment(im,Tn,Tp);%pre表示与处理后图像,HHist表示直方图,L1记录溢出位figure(2);% imshow(uint8(pre))H1=bar(-255:255,HHist);box off;xlabel('插值误差');ylabel('出现次数');title('原始插值误差直方图');set(gcf,'color','white');% 将位置映射压缩作为边信息(游长编码)L1_C=mycode(L1);%% 图像加密enkey=1:14;[encrypted,mm,Mm,p,fb]=encryption_Xu(pre,enkey,Tn,Tp);figure(3);imshow(uint8(encrypted));title('加密图像');%加密图像encrypted_p=psnr(im,encrypted)%% 信息隐藏,total1为阈值为[-2 1]时可嵌入的最大容量%max_embed_rate=total1/(512*512)%w为待嵌入的秘密比特nn=ceil(log((Tp-Tn)+1)/log(2));rand('state',20);[m,n]=size(encrypted);w = rand(1,mm*(8-nn)-Mm)>=0.5;w_l=length(w);embed=embedding_Xu(encrypted,w,mm,Tn,Tp,Mm);figure(4);imshow(uint8(embed));title('标记加密图像');%% 数据提取和恢复%case1:只提取数据extrab=extract_Xu(embed,Tn,Tp,w_l,mm,Mm);a=length(extrab);actually_embed_rate=a/(m*n);%嵌入率%% 恢复图像decrypted=decryption_Xu(embed,enkey,Tn,Tp,mm,L1_C,Mm,p,fb);figure(5);imshow(uint8(decrypted));title('恢复图像');recovery_p=psnr(im, decrypted) ;%% %case3:从解密域提取数据并恢复图像,即先对图像解密,再提取数据,恢复图像.% [extrab,recovery_image]=recover1(embed,L1_C,enkey,Tn,Tp,w_l);%% %case4:从加密域提取数据并恢复图像,即先提取数据,再对图像解密,恢复图像.% [extrab,recovery_image]=recover2_Xu(embed,L1_C,enkey,Tn,Tp,w_l);%% figure(7);% imshow(uint8( recovery_image));% title('recovery image');% recovery_p=psnr(im, recovery_image)%% %计算提取的错误率% l=length(w);% s=0;% for i=1:l% if extrab(i)~=w(i)% s=s+1;% end% end% error_rate=s/ltoc
3 仿真结果




4 参考文献
[1]谢国波, 王添. 基于像素置乱和比特替换的混沌图像加密算法[J]. 微电子学与计算机, 2016, 33(3):6.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
该博客介绍了一种针对现有混沌系统图像加密算法的安全性提升方案,提出了一种新的分类置乱方法,包括不变像素、可变像素和采样像素,以增强图像加密的复杂性和安全性。通过实例代码展示了加密、嵌入信息、提取和恢复过程,并提供了仿真结果以评估其性能。
638

被折叠的 条评论
为什么被折叠?



