基于混沌加密的遥感图像加密算法matlab仿真
1.程序功能描述
基于混沌加密的遥感图像加密算法matlab仿真。分析加解密处理后图像的直方图,相关性,熵,解密后图像质量等。
2.测试软件版本以及运行结果展示
MATLAB2022A版本运行
3.核心程序
figure; subplot(221); imshow(Image_RGB,[]);title('原图'); subplot(222); imhist(Image_RGB);title('原图直方图'); signals=Image_RGB [M,N]=size(signals); %logistic u值 r1 = 4; r2 = 4; tic; %多次迭代,每次迭代初始值改变 Iter = 1; for i = 1:Iter %logistic初值 if i == 1 x1(1)= 0.6; x2(1)= 0.7; else x1(1)= x0; x2(1)= y0; end %通过baker映射对logistic混沌映射初值进行扰动 [x0,y0] = func_baker(x1(1),x2(1)); if i==1 [signals1{i},y1{i},y2{i}] = func_jiami(signals,r1,r2,x0,y0,M,N); else [signals1{i},y1{i},y2{i}] = func_jiami(signals1{i-1},r1,r2,x0,y0,M,N); end end subplot(223); imshow(signals1{Iter},[]);title('加密图'); subplot(224); imhist(signals1{Iter});title('加密图直方图');
4.本算法原理
随着遥感技术的不断发展,遥感图像在军事、环境监测、资源勘查等领域得到了广泛的应用。然而,由于遥感图像通常包含大量的敏感信息,如地理坐标、地形地貌等,因此需要对其进行加密保护,以防止信息泄露。混沌加密是一种基于混沌系统的加密技术,具有加密速度快、密钥空间大、安全性高等优点,适用于对遥感图像等大数据量的信息进行加密。
基于混沌加密的遥感图像加密算法通常包括以下几个步骤:
混沌系统初始化:选择一个混沌系统,并设置初始值和控制参数。
密钥生成:根据混沌系统的初始值和控制参数,生成加密密钥。
图像预处理:对遥感图像进行预处理,如灰度化、归一化等。
混沌序列生成:利用混沌系统生成混沌序列。
图像加密:将混沌序列与遥感图像进行异或操作,实现图像加密。
密文输出:输出加密后的图像密文。