✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,
代码获取、论文复现及科研仿真合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab完整代码及仿真定制内容点击👇
🔥 内容介绍
摘要
本文介绍了一种基于2ASK调制的图像加解密方法。该方法利用2ASK调制将图像信号调制成数字信号,然后利用混沌映射对数字信号进行加密。解密时,利用混沌映射的反向映射对加密后的数字信号进行解密,然后利用2ASK解调将数字信号解调成图像信号。仿真结果表明,该方法能够有效地对图像进行加解密,并且具有较好的抗噪声能力。
1. 图像加解密算法
1.1 图像加密算法
图像加密算法的主要思想是将图像信号调制成数字信号,然后利用混沌映射对数字信号进行加密。具体步骤如下:
-
将图像信号灰度化。
-
将灰度图像转换为二值图像。
-
将二值图像转换为数字信号。
-
利用混沌映射对数字信号进行加密。
1.2 图像解密算法
图像解密算法的主要思想是利用混沌映射的反向映射对加密后的数字信号进行解密,然后利用2ASK解调将数字信号解调成图像信号。具体步骤如下:
-
利用混沌映射的反向映射对加密后的数字信号进行解密。
-
将解密后的数字信号转换为二值图像。
-
将二值图像转换为灰度图像。
-
将灰度图像转换为图像信号。
📣 部分代码
% CypherflowReceive=CypherflowSig;
%%%经过信道加入加性噪声
for i=1:row
for j=1:col
CypherflowSigNoise{i,j}=CypherflowSig{i,j}+10^(NoisePower/10)*randn(1,8);
end
end
%%%电平判决将2ASK转换为01比特
for i=1:row
for j=1:col
temp01=CypherflowSigNoise{i,j};
tempSigReceive=zeros(1,8);
for k=1:8
if(temp01(k)>0)
tempSigReceive(k)=1;
else
tempSigReceive(k)=0;
end
end
CypherflowSigRec{i,j}=tempSigReceive;
end
end
%%%%得到判决后的输出信号
CypherflowReceive= CypherflowSigRec;
⛳️ 运行结果
为了验证该方法的有效性,我们进行了仿真实验。实验中,我们使用了一幅512×512的灰度图像作为原始图像。我们将原始图像加密后,再通过2ASK调制将其传输到接收端。在接收端,我们将接收到的数字信号解密后,再利用2ASK解调将其解调成图像信号。
仿真结果表明,该方法能够有效地对图像进行加解密,并且具有较好的抗噪声能力。下图给出了原始图像、加密图像和解密图像的对比图。
3. 结论
本文介绍了一种基于2ASK调制的图像加解密方法。该方法利用2ASK调制将图像信号调制成数字信号,然后利用混沌映射对数字信号进行加密。解密时,利用混沌映射的反向映射对加密后的数字信号进行解密,然后利用2ASK解调将数字信号解调成图像信号。仿真结果表明,该方法能够有效地对图像进行加解密,并且具有较好的抗噪声能力。
🔗 参考文献
[1] 庞泽峰.基于混沌算法的数字图像加解密系统及Matlab仿真[D].昆明理工大学,2017.
[2] 刘越,石翠萍,史文强,等.基于MATLAB的光学图像加密解密技术[J].信息通信, 2022(035-002).
[3] 张英伟.基于matlab的数字图像des加密解密研究[J].信息技术与信息化, 2014(5):2.DOI:CNKI:SUN:SDDZ.0.2014-05-109.