【图像加密】混沌系统和DNA编码彩色图像加密解密抗噪声性能分析【含Matlab源码 2414期】

本文介绍了一种结合DNA随机编码、Logistic映射和Lorenz系统,以及SHA-384哈希函数的彩色图像加密方案。该方法提高了图像的安全性,通过混沌系统的复杂性和DNA编码的多样性对抗攻击。Matlab示例展示了加密过程的关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

💥💥💥💥💥💥💥💥💞💞💞💞💞💞💞💞💞Matlab武动乾坤博客之家💞💞💞💞💞💞💞💞💞💥💥💥💥💥💥💥💥
🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀
在这里插入图片描述
🔊博主简介:985研究生,Matlab领域科研开发者;

🚅座右铭:行百里者,半于九十。

🏆代码获取方式:
优快云 Matlab武动乾坤—代码获取方式

更多Matlab图像处理仿真内容点击👇
Matlab图像处理(进阶版)

⛳️关注优快云 Matlab武动乾坤,更多资源等你来!!

⛄一、DNA混沌系统图像加密简介

0 引 言
数字图像作为信息传播的重要载体,广泛应用于教育、军事和医疗等领域。其在传播过程中可能会受到人为攻击,故对于数字图像的安全性研究成为人们关注的焦点,而通过图像加密技术能够确保图像进行安全的传输和存储[1]。混沌系统具有不可预测性、伪随机性且对初始条件极敏感,据此产生了许多基于混沌的数字图像加密算法[2,3,4]。文献[2]提出一种基于图像分割和多扩散模型的混沌加密方法,具有很好的安全特性。文献[3]提出的混沌图像加密算法中,将分块置乱与动态索引扩散相结合,特点是快速且安全。文献[4]提出了基于分数阶统一混沌系统的图像加密算法,在保持高安全性的同时拥有较低的时间复杂度。

基因(DNA)计算具有低功耗、大存储量、高信息密度等优点,为数字图像加密开拓了新的研究方向。文献[5]提出了一种基于DNA编码的混沌图像加密算法,但其采用单一的DNA编码规则。而文献[6]早已指出采用固定的DNA编码方式很难抵抗选择明文攻击。文献[7]提出的算法虽然使用动态DNA编码方案解决这一问题,但其加密过程与明文无关,算法易受到已知明文和选择明文攻击[8]。

本文采用DNA随机编码方法,并结合混沌系统和SHA—384,提出一种彩色图像加密方法,以生成具有较好抗攻击能力的密文。

1 基本理论
1.1 Logistic映射

Logistic方程又称为虫口模型[9],其方程如下

x(n+1)=μx(n)[1-x(n)] (1)

式中 μ为系统参量,且 xn∈(0,1),μ∈(0,4],当μ∈(3.569 945 6,4]时,Logistic系统处于混沌态,具有非常复杂的动力学行为。

1.2 Lorenz系统
Lorenz系统[10]是由美国气象学家Lorenz提出。该系统的数学模型如下所示
在这里插入图片描述
式中 x,y,z分别为系统变量;a,b,c分别为系统的参数。当a=10,b=8/3,c=28时,系统会进入混沌状态。

1.3 Hash函数
Hash函数是用于提供数据完整性和身份验证的加密原语,通过执行复杂操作来维持高级别的安全性,被广泛应用于实现数字签名算法等领域。在Hash算法中,与SHA—0和SHA—1相比,SHA—2更安全所以也更重要。SHA—2系列包含了很多散列函数,SHA—384是其中的一种散列函数。

本文通过明文图像灰度值和SHA—384产生一个384位的密钥,将其按每8位分段,其可表示为

K=k1,k2,k3,…,k48 (3)

Lorenz混沌映射的初始值计算如下
在这里插入图片描述
1.4 DNA编码与运算
DNA序列中碱基有4种: A(Adenine),C(Cytosine),G(Guanine)以及T(Thymine),其中A和T互补、C和G互补。类似的,二进制数00和11互补,01和10互补。如果用00,01,10和11分别代替A,C,G,T,则有24种编码规则,但是只有8种满足互补规则,如表1所示。

表1 DNA编码规则
在这里插入图片描述
在图像密码系统中,像素的灰度值可以被表示8位二进制,然后编码成DNA序列。如果某个像素点的像素值为115,其二进制表示为‘01110011’,根据编码规则1,则可以得到‘CTAT’。

DNA序列的加、减和异或操作都基于二进制中的传统操作来定义,表2提供了在DNA编码规则5下的运算情况。
表2 DNA加/减/异或运算
在这里插入图片描述
2 加密方案
将明文图像分解成R,G,B三通道,以R通道为例对加密过程进行说明。

2.1 密码流的产生及DNA随机编码
假设明文图像R的大小为M×N,使用Logistic混沌系统得到一个长度为M×4N的混沌序列S(i),并对其进行量化处理,使其取值为1~8

S(i)=mod[(floor(S(i)×1014),8]+1 (5)

对于明文图像每个像素点的灰度值,都将其转换为二进制表示,结果将明文转换成大小为M×8N的二进制矩阵。将其展开为长度为M×8N的一维矩阵,每两个比特位为一组,这样与混沌序列S(i)中的值一一对应。对每两个比特位进行DNA编码,每次编码规则的选取都由对应位置的S(i)的取值决定,比如二进制矩阵的前两个数字为10,S(1)=5,则根据表1,10被编码为A。将一维矩阵全部数值编码完成后,将其重构成大小为M×4N的DNA矩阵H。

2.2 DNA平面置乱
1)借助于Lorenz混沌系统产生长度为M的随机向量 ,对其进行量化处理

X(i)=mod[(floor(X(i)×1013),M]+1 (6)

然后使DNA矩阵H的第i行与第i行进行位置互换,得到矩阵H′。

2)借助于Lorenz混沌系统产生长度为4N的随机向量Y(j),对其进行量化处理使其中每个随机数的取值在1-4N之间

Y(j)=mod[(floor(Y(j)×1013),4N]+1 (7)

然后使DNA矩阵H的第j行与第Y(j)列进行位置互换,得到矩阵H″。

3)通过混沌序列来获得交叉点,完成交叉置乱。交叉置乱旨在将进行交叉的两行(列)的部分组成进行置换。如GACTAATC与ACTTGAAC进行交叉操作,交叉点为2和5,那么两个DNA序列各自从第2个碱基到第5个碱基组成的序列完成位置互换,结果为GCTTGATC与AACTAAC。各交叉点可表示为
在这里插入图片描述
式中 at和bt分别为DNA矩阵中进行行交叉操作的第一个和第二个交叉点;cs和ds为进行列交叉操作的第一个和第二个交叉点。其中各个交叉点的具体值为
在这里插入图片描述
其中,t∈(1,M/2),s∈(0,2N)确定交叉点的位置后,H″的第i行与第M-i行,第j列与第4N-j列分别完成交叉置乱。得到矩阵I。

2.3 DNA平面扩散
将置乱后的DNA矩阵I分为大小都是M×2N的左半部分IH和右半部分IL,利用迭代结构进行扩散操作。在DNA迭代网络结构中,选取映射函数F1,F2为加密结构中的映射函数,两个加密密钥流K1={k1,k2,…,k2MN},K2={k1,k2,…,k2MN}。输出的IH和IL分别影响下一个像素。DNA迭代网络加密具体过程如下:

1)利用Lorenz混沌系统,得到两个长度为2×M×N的混沌序列Z1和Z2,并对这两个序列作如下的处理

K1(i)=mod(floor(Z1(i)×1015),7) (10)

K2(i)=mod(floor(Z2(i)×1015),7) (11)

2)令i=1。
在这里插入图片描述

⛄二、部分源代码

%
%-------------------------------------------------------------------------------------------------------%
clear;clc;
I=imread(‘…/原始、加密、解密图片/lena.png’,‘png’); %读取图像信息
I1=I(:,:,1); %R
I2=I(:,:,2); %G
I3=I(:,:,3); %B
figure;imshow(I);title(‘原始图片’);
figure;imhist(I1);title(‘原始图片R通道直方图’);
figure;imhist(I2);title(‘原始图片G通道直方图’);
figure;imhist(I3);title(‘原始图片B通道直方图’);
% axis([0 255 0 4000]);
[M,N]=size(I1); %将图像的行列赋值给M,N
t=4; %分块大小

%% 原始图片R,G,B通道信息熵
%R通道
T1_R=imhist(I1); %统计图像R通道灰度值从0~255的分布情况,存至T1
S1_R=sum(T1_R); %计算整幅图像R通道的灰度值
xxs1_R=0; %原始图片R通道相关性
%G通道
T1_G=imhist(I2);
S1_G=sum(T1_G);
xxs1_G=0;
%B通道
T1_B=imhist(I3);
S1_B=sum(T1_B);
xxs1_B=0;

for i=1:256
pp1_R=T1_R(i)/S1_R; %每个灰度值占比,即每个灰度值的概率
pp1_G=T1_G(i)/S1_G;
pp1_B=T1_B(i)/S1_B;
if pp1_R~=0
xxs1_R=xxs1_R-pp1_Rlog2(pp1_R);
end
if pp1_G~=0
xxs1_G=xxs1_G-pp1_G
log2(pp1_G);
end
if pp1_B~=0
xxs1_B=xxs1_B-pp1_B*log2(pp1_B);
end
end

⛄三、运行结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]陈森,薛伟. 2021,42(10).基于混沌和DNA随机编码的彩色图像加密算法[J].传感器与微系统. 2021,40(08)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

🍅 仿真咨询
1 各类智能优化算法改进及应用

生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化

2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断

3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知

4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化

5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配

6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化

7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化

8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置

9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长

10 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值