本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
基本信息
书名:数字图像密码算法详解:基于C、C#与MATLAB
定价:59.00元
作者:张勇
出版社:清华大学出版社
出版日期:2019-04-01
ISBN:9787302525950
字数:420000
页码:267
版次:1
装帧:平装
开本:16
商品重量:0.4kg
编辑推荐
内容提要
系统地研究了新型数字图像密码系统及其安全性能分析,阐述了基于DES与AES的图像密码算法和基于混沌系统的明文关联图像密码算法的MATLAB和C#语言实现技术及其安全性能。深入探讨了DES和AES算法实现及其数字图像加密应用技术;从加密/解密速度、密钥空间、信息熵、统计特性和敏感性分析等方面研究了图像密码系统的性能分析方法;阐述了明文关联的图像密码系统的实现算法与性能分析;讨论了加密算法与解密算法相同的统一图像密码系统的设计方法与性能分析;诠释了融合公钥与私钥的数字图像密码算法及其性能评价体系。
目录
作者介绍
文摘
第5章明文关联的数字图像加密算法
典型的基于混沌系统的数字图像密码系统如图51所示,包括加密系统与解密系统。对于加密系统而言,输入为密钥和明文图像,输出为密文图像; 对于解密系统而言,输入为密钥和密文图像,输出为明文图像。
图51典型的基于混沌系统的数字图像密码系统
由图51可知,典型的基于混沌系统的图像密码系统中,加密算法由“置乱—扩散”的循环结构组成。本章将研究基于“扩散—置乱—扩散”结构的新型图像密码算法,其结构如图52所示[121,127,130,134135]。
图52置乱算法与明文关联的图像密码系统
在图52所示的图像密码系统中,加密或解密过程包括混沌密码发生器、两个扩散算法和一个置乱算法,没有循环处理,且只有置乱算法与明文相关联。由于置乱算法与明文相关联,因此,这类系统称为明文关联的图像密码系统,记为PRIC(PlaintextRelated Image Cryptosystem)。
5.1PRIC
如图52所示,PRIC主要包括4部分,即混沌密码发生器、明文无关的扩散算法模块、明文关联的置乱算法模块和明文无关的扩散算法模块。
这里使用了分段线性混沌映射(PWLCM),如式(51)所示。
=f(-1,p)=-1p,0<-1
-1-p0.5-p,p≤-1<0.5
f(1--1,p),0.5≤-1<1(51)
其中,p为PWLCM的参数,0
这里使用了两个PWLCM,其中一个的初始值和参数记为x0和p,另一个的初始值和参数记为y0和q。这里,{x0,p,y0,q}属于密钥的一部分。
设P表示明文图像,大小为M×N。密钥用K表示,K={x0,p,y0,q,r1,r2,r3,r4},其中,x0与p和y0与q分别表示两个PWLCM的初始值与参数,r1、r2、r3和r4为4个8位的整数,取值区间为[0,255]。
PRIC的加密过程如下所示。
1. 混沌密码发生器
混沌密码发生器用于产生与明文图像大小相同的4个矩阵,记为X、Y、R和W,大小均为M×N。生成这4个矩阵的步骤如下所示。
Step 1. 将x0和p分别作为式(51)的初始值和参数,迭代PWLCM r1+r2次跳过过渡态,然后继续迭代MN次,得到长度为MN的状态变量序列,记为{},i=1,2,,MN。
Step 2. 将y0和q分别作为式(51)的初始值和参数,迭代PWLCM r3+r4次跳过过渡态,然后继续迭代MN次,得到长度为MN的状态变量序列,记为{yi},i=1,2,,MN。
Step 3. 由向量{}和{yi},i=1,2,,MN按式(52)~式(55)得到矩阵X、Y、R和W。
X(u,v)=floorr1+1r1+r3+2x(u-1)×N+v+r3+1r1+r3+2y(u-1)×N+v×1014mod 256(52)
Y(u,v)=floorr2+1r2+r4+2x(u-1)×N+v+r4+1r2+r4+2y(u-1)×N+v×1013mod 256(53)
R(u,v)=floorr1+1r1+r4+2x(u-1)×N+v+r4+1r1+r4+2y(u-1)×N+v×1012mod M(54)
W(u,v)=floorr2+1r2+r3+2x(u-1)×N+v+r3+1r2+r3+2y(u-1)×N+v×1011mod N(55)
其中,floor(t)返回小于或等于数t的大整数,u=1,2,,M,v=1,2,,N。
通过上述步骤计算得到的矩阵X用于前向扩散模块中,Y用于后向扩散模块中,R和W用于置乱模块中。
2. 明文无关的扩散算法模块
通过明文无关的扩散算法(即明文无关的前向扩散算法)模块将明文P转化为矩阵A,其运算步骤如下。
Step 1. 借助式(56)和式(57)将P(1,j)转化为A(1,j),j=1,2,,N。
A(1,1)=(P(1,1)+X(1,1)+r3+r4)mod 256(56)
A(1,j)=(P(1,j)+X(1,j)+A(1,j-1))mod 256,j=2,3,,N(57)
Step 2. 借助式(58)将P(i,1)转化为A(i,1),i=2,3,,M。
A(i,1)=(P(i,1)+X(i,1)+A(i-1,1))mod 256,i=2,3,,M(58)
Step 3. 借助式(59)将P(i,j)转化为A(i,j),i=2,3,,M,j=2,3,,N。
A(i,j)=(P(i,j)+A(i-1,j)+A(i,j-1)+X(i,j))mod 256,
i=2,3,,M,j=2,3,,N(59)
经过上述扩散操作后,得到矩阵A。
序言