欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

明文关联的数字图像加密算法(置乱-扩散结构完整版)的matlab实现

程序员文章站 2024-03-14 15:21:46
...
  • 前面已经介绍过多种数字图像加密的置乱、扩散等方法,包括一些常用的性能测试。可能由于分布零散,我为数不多的粉丝里有几位忠粉对完整的图像加密系统代码的组织感到有些困惑。所以本人决定以研究生小论文(或部分要求没有这么严格的本科毕业论文)的一般般搬标准,从头到尾更新几个完整的算法,包括基本性能测试。由于篇幅与时间的关系,博文将会慢慢补充更新,如果十分着急,也可以留言催更。
  • 重点强调,如果你觉得这些博文对你有帮助,比起特意发私信告诉我,其实我更喜欢大家点赞关注评论。谢谢支持啦!

基于混沌系统的典型数字图像密码系统包括加密系统与解密系统。对加密系统输入**和明文图像得到密文图像;对解密系统输入**和密文图像得到明文图像。
典型的基于混沌系统的图像密码系统中,加密算法由置乱-扩散的循环结构组成。本文将研究基于扩散-置乱-扩散结构的新型图像密码算法(其实也不算新了)。

其结构如下:
此处应该有个流程图,明天补发。

整个算法主要包括四部分,混沌密码发生器、明文无关的扩散算法I模块,明文关联的置乱算法模块、明文无关的扩散算法II模块。

这里使用分段线性混沌映射(PWLCM),编写公式太费时间了,不知道的同学请百度一下。

本文使用两个PWLCM,其中一个的初始值和参数记为x0和p,另一个的记为y0和q。{x0,p,y0,q}属于**的一部分。

function y=PWLCM(x,p)
if x<p
    y=x/p;
elseif
    x<0.5
    y=(x-p)/(0.5-p);
else
    y=PWLCM(1-x,p);
end
end

注意,P表示明文图像,大小为M*N。**用K表示,K={x0,p,y0,q,r1,r2,r3,r4},前四位前面已经介绍过了,后四位为4个8位的随机整数,取值区间是[0,255]。

写到这里我已经累了,明天再写。

没人点赞我就不写(手动狗头)。