基于改进cat映射与混沌系统的彩色图像快速加密算法
发布时间:2021-04-09 16:03
针对已有基于混沌系统的图像加密算法计算复杂度较高的问题,基于改进cat映射提出一种计算复杂度较低、易于实现的彩色图像加密算法。该算法包括置乱与扩散两层。置乱层采用比特置乱代替传统的字节置乱,彻底打乱图像各像素的位置,并且对传统二维cat映射进行改进,大幅度地提高了计算效率,采用均匀的混沌伪随机产生器动态地改变加/解密过程每轮的控制参数,提高了加密系统的安全性;扩散层则采用比特矩阵方法将每块扩散处理。基于真实图像的实验结果表明,该算法可抵御不同类型的攻击,计算效率较高。
【文章来源】:计算机应用研究. 2017,34(01)北大核心CSCD
【文章页数】:6 页
【部分图文】:
本文加密程序主要流程框图
法1二维cat映射算法1fori=1toM-1{2Mv[i]=i+1;3}4fork=0tor-1{5fori=0toM-1{6uMvm[i]=Mv[i]×u[k]+rl[k]+rc[k];7vMv[i]=Mv[i]×v[k];8vMvm2[i]=u[k]×vMv[i]+Mv[i]+rc[k];9}10forj=0toM-1{11xrow=mod(Mv[i]+uMvm[j],M);12yrow=mod(Mv[i]+uMvm2[j],M);13data_bit_1[i,j]=data_bit_2[xrow,ycol];14}15}其中,data_bit_2[xrow,ycol]是源矩阵,data_bit_1[i,j]是目标矩阵。1.1.3混沌序列生成方法本文设计了一个离散程序来生成随机的混沌序列。图2所示是本文的混沌序列产生方法,包括两个混沌映射:Skew与PWLCM(Piece-wise线性混沌映射)。两个分量的生成器均使用一个线性反馈位移寄存器(LFSR)实现。图2混沌序列生成方法离散Skew映射与离散PWLCM分别如式(22)(23)定义。X[n]=F[X[n-1]]=?2N×X[n-1]P」0<X[n-1]<P2N-1X[n-1]=P?2N×(2N-X[n-1])2N-P」P<X[n-1]<2N(22)其中:P是控制参数,其值是[1,2N-1],精度为N=32bit。X[n]=F[X[n-1]]=?2N×X[n-1]P」0<X[n-1]<P?2N×(X[n-1]-P)2N-1-P」P<X[n-1]<2N-1?2N×(2N-X[n-1]-P)2N-1-P」2N-1≤X[n-1]<2N-P?2N×(2N-X[n-1])P」2N-P≤X[n-1]<2N-12N-1其他情况(23)其中:控制参数P为[1,2(N-1)-1]。本文的混沌生成器具有如下的加密属性:随机的伪映射,delta型自动相关性,接近0的交叉相关性,均匀分布,可通过statisticNIST800-22的安全测试
敲扛隹榈牡??问?瑀p是每次迭代j的循环数量。因此,加密系统中每块的密钥数量是NKp=r×rp。Cat映射参数的范围是0≤u,v,rl,rc≤M-1,代表每个参数所需的比特数量为q=「log2(M)?,其中「z?表示ceil运算。因此,一轮循环(rp=1)生成的动态密钥大小是KP,j,k=4×q;一次迭代(r=1)动态密钥的大小是Kpj=4×q×rp;加密一个块的动态密钥大小是Kp=4×q×rp×r。例如,如果M=16,则q=4,Kp=16×rp×r。本文实验中,设置的安全级别为rp=r=1,因此Kp=16bit,说明混沌生成器足以为每个块提供动态密钥。1.2解密程序图3所示是本文的解密程序流程。其步骤是:a)将密文块中的字节转换为比特流形式(使用int2bin()函数);b)使用反向置乱程序将比特流反向处理;c)使用bin2int()函数将比特流转换为字节流;d)进行反向扩散程序处理。上述步骤共重复r次。此外,解密程序与加密程序使用相同的混沌序列生成器。图3解密程序流程框图1.2.1基于改进二维cat映射的反向程序因为cat映射包括模运算,所以是一个不可逆的函数,但是本文改进的cat映射是可逆的变换。本文需保持所有迭代与循环过程阐述的动态密钥参数(Kp=u,v,rl,rc),并用于反向序列方可获得原矩阵。算法2是基于上文推导公式的反向置乱代码实现。第1期孙倩,等:基于改进cat映射与混沌系统的彩色图像快速加密算法·235·
【参考文献】:
期刊论文
[1]基于快速混沌置乱的鲁棒型医学图像加密算法[J]. 海洁,杜海龙,邓小鸿. 计算机应用. 2015(02)
[2]一种新的混沌图像加密算法设计[J]. 韩双霜,闵乐泉,韩丹丹. 河南科技大学学报(自然科学版). 2014(05)
[3]基于仿射和复合混沌的图像加密新算法[J]. 文昌辞,王沁,刘向宏,黄付敏,袁志树. 计算机研究与发展. 2013(02)
[4]对“一种超混沌图像加密算法的安全性分析及其改进”的选择明文攻击[J]. 俞斌. 计算机应用研究. 2013(02)
本文编号:3127912
【文章来源】:计算机应用研究. 2017,34(01)北大核心CSCD
【文章页数】:6 页
【部分图文】:
本文加密程序主要流程框图
法1二维cat映射算法1fori=1toM-1{2Mv[i]=i+1;3}4fork=0tor-1{5fori=0toM-1{6uMvm[i]=Mv[i]×u[k]+rl[k]+rc[k];7vMv[i]=Mv[i]×v[k];8vMvm2[i]=u[k]×vMv[i]+Mv[i]+rc[k];9}10forj=0toM-1{11xrow=mod(Mv[i]+uMvm[j],M);12yrow=mod(Mv[i]+uMvm2[j],M);13data_bit_1[i,j]=data_bit_2[xrow,ycol];14}15}其中,data_bit_2[xrow,ycol]是源矩阵,data_bit_1[i,j]是目标矩阵。1.1.3混沌序列生成方法本文设计了一个离散程序来生成随机的混沌序列。图2所示是本文的混沌序列产生方法,包括两个混沌映射:Skew与PWLCM(Piece-wise线性混沌映射)。两个分量的生成器均使用一个线性反馈位移寄存器(LFSR)实现。图2混沌序列生成方法离散Skew映射与离散PWLCM分别如式(22)(23)定义。X[n]=F[X[n-1]]=?2N×X[n-1]P」0<X[n-1]<P2N-1X[n-1]=P?2N×(2N-X[n-1])2N-P」P<X[n-1]<2N(22)其中:P是控制参数,其值是[1,2N-1],精度为N=32bit。X[n]=F[X[n-1]]=?2N×X[n-1]P」0<X[n-1]<P?2N×(X[n-1]-P)2N-1-P」P<X[n-1]<2N-1?2N×(2N-X[n-1]-P)2N-1-P」2N-1≤X[n-1]<2N-P?2N×(2N-X[n-1])P」2N-P≤X[n-1]<2N-12N-1其他情况(23)其中:控制参数P为[1,2(N-1)-1]。本文的混沌生成器具有如下的加密属性:随机的伪映射,delta型自动相关性,接近0的交叉相关性,均匀分布,可通过statisticNIST800-22的安全测试
敲扛隹榈牡??问?瑀p是每次迭代j的循环数量。因此,加密系统中每块的密钥数量是NKp=r×rp。Cat映射参数的范围是0≤u,v,rl,rc≤M-1,代表每个参数所需的比特数量为q=「log2(M)?,其中「z?表示ceil运算。因此,一轮循环(rp=1)生成的动态密钥大小是KP,j,k=4×q;一次迭代(r=1)动态密钥的大小是Kpj=4×q×rp;加密一个块的动态密钥大小是Kp=4×q×rp×r。例如,如果M=16,则q=4,Kp=16×rp×r。本文实验中,设置的安全级别为rp=r=1,因此Kp=16bit,说明混沌生成器足以为每个块提供动态密钥。1.2解密程序图3所示是本文的解密程序流程。其步骤是:a)将密文块中的字节转换为比特流形式(使用int2bin()函数);b)使用反向置乱程序将比特流反向处理;c)使用bin2int()函数将比特流转换为字节流;d)进行反向扩散程序处理。上述步骤共重复r次。此外,解密程序与加密程序使用相同的混沌序列生成器。图3解密程序流程框图1.2.1基于改进二维cat映射的反向程序因为cat映射包括模运算,所以是一个不可逆的函数,但是本文改进的cat映射是可逆的变换。本文需保持所有迭代与循环过程阐述的动态密钥参数(Kp=u,v,rl,rc),并用于反向序列方可获得原矩阵。算法2是基于上文推导公式的反向置乱代码实现。第1期孙倩,等:基于改进cat映射与混沌系统的彩色图像快速加密算法·235·
【参考文献】:
期刊论文
[1]基于快速混沌置乱的鲁棒型医学图像加密算法[J]. 海洁,杜海龙,邓小鸿. 计算机应用. 2015(02)
[2]一种新的混沌图像加密算法设计[J]. 韩双霜,闵乐泉,韩丹丹. 河南科技大学学报(自然科学版). 2014(05)
[3]基于仿射和复合混沌的图像加密新算法[J]. 文昌辞,王沁,刘向宏,黄付敏,袁志树. 计算机研究与发展. 2013(02)
[4]对“一种超混沌图像加密算法的安全性分析及其改进”的选择明文攻击[J]. 俞斌. 计算机应用研究. 2013(02)
本文编号:3127912
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3127912.html