正在加载图片...
第4期 徐刚等:基于交替迭代混沌系统的图像加密算法 ·467 4 D-(AAPi1+A4)小m256 像素的Lena灰度图像进行算法仿真实验,算法的密 (5) 钥集为{K,xo,a,B,E,δ,D},实验取加(解)密密 (5)驱动混沌映像格子.耦合映像格子模型在 钥K=chaoticimageencryptionalgorithms'(32个字符 步骤(4)中生成序列的驱动下,每个映像格子演变 长),取x。=0.566358、4=3.816326、a=0.5、B= N次产生一个混沌序列(共r个序列),从各序列取 0.1和e=0.05.实验结果如图4所示.其中图4 32个状态值用于明文像素分组加密.状态值选取 (a)为明文图像及其直方图;图4(b)为加密图像及 的规则为:映像格子数为奇数的序列取前32个状态 其直方图:图4(c)为使用相同密钥对图4(b)进行 值,格子数为偶数的序列取后32个状态值.记耦合 解密得到的图像:图4(d)为密钥集中x。=0.566358 映像格子的第j个映像格子(=1,2,…,L)所取的 与x。=0.566359而其他密钥不变时得到的两加密 32个状态值为{名,,,2},映像格子数即为明文 图像的差图,可见密钥的微小改变导致了加密图像 像素分组个数(L=),映像格子的演变次数N,= 效果很大的不同,表明本算法对密钥有较强的敏感 1000+D 性;图4(e)为改变明文图像中一个点P(1,8)使其 (6)移位运算.首先将32个状态值转换为十进 灰度值从132变到133(相当于明文分组改变1 制表示,方法是各状态值作运算P=L|以1×256」, bi),其他条件不变得到的两个加密图像的差图,可 其中t=1,2,…,32,L·表示向下取整;然后生成的 见明文分组仅1bit的改变就导致了加密效果完全 32个整数值依次排列为{P,P,…,P2},并转化为 不同,表明本算法对明文图像也具有较强的敏感性 二进制表示P,形成一个256bit的序列.加密运 算为 4密码分析 C,=(P>>>)©P (6) 4.1密钥空间 式中,④为异或运算,C,为第j个映像格子加密后的 密钥空间的大小直接决定了密码系统的安全 密文分组.由于分组的长度为256bt,故循环左移 性.密钥均采用双精度型数据,主密钥K取256bit, 的位数作模255运算.V按如下规则产生: 辅助密钥和迭代次数的空间都是255:混沌系统的 V=(∑4)mwd25. 2 (7) 初值和参数计算精度为105或106:忽略其他参数 的取值范围,则算法的密钥空间将达到226×2552× (7)生成密文矩阵.r个明文分组分别加密,得 10”≈10160.如此大的密钥空间足以抵抗对密钥的 到的密文{C1,C2,…,C,}用Matlab矩阵成型函数 穷举攻击. reshape()转换为密文矩阵C. 4.2密文熵分析 (8)置乱图像像素位置.密文矩阵C用Arnold Shannon提出了信息熵的概念来表征信源的不 映射按照如下方法进行像素位置置乱,Arnold映射 定度,是信息系统有序化程度的一个度量.对于信 在本算法中采用如下形式: 息源M,其信息熵定义为 mod N. (8) H(M)=- ,p(m:)Ib(p(m:) (9) 式中,映射的输入和输出均为整数对.对于N×N 式中,p(m)为符号m,在M中出现的概率,符号m 的图像,像素位置置乱的方法是:首先建立一个与原 的个数为2”.当信源概率分布为等概率分布时,信 矩阵C等大的输出空间,然后将此空间中的每个像 息熵能取到最大值,这就是最大信息熵原理.同样 素坐标(i,j)作为初始值(x。,y)依次代入式(8),通 可以用密文图像的信息熵来度量密文的平均不确定 过混沌迭代产生新的坐标记为(x,y1),并将输入空 性的程度,即当密文的概率分布为等概率分布(均 间中的第(x,y,)个像素放置到输出空间的(x。,yo) 为1256)时,具有最大信息熵为山(256)=8bit.图 位置中,即(i,)位置,直到整个输出空间填满即为 像加密中对于加密后完全随机的密文图像,其像素 最终的密文 灰度值的熵也应该是8bit.本算法得到的加密图像 由于本文采用的是对称密码算法,在已知密钥 (图4(b))每个像素m:的熵为 的前提下图像的解密过程是加密的逆过程 26 H=- 3仿真实验 pm)bpm)=7976=8 密文熵的值接近于理想值8,说明加密后图像 本文在Matlab7.0环境下对分辨率为256×256 具有较强的平均不确定性,对于统计攻击和熵攻击第 4 期 徐 刚等: 基于交替迭代混沌系统的图像加密算法 D = ( ∑ N i = 1 ∑ N j = 1 P( i,j) + ∑ 32 i = 1 ki ) mod 256. ( 5) ( 5) 驱动混沌映像格子. 耦合映像格子模型在 步骤( 4) 中生成序列的驱动下,每个映像格子演变 N1 次产生一个混沌序列( 共 r 个序列) ,从各序列取 32 个状态值用于明文像素分组加密. 状态值选取 的规则为: 映像格子数为奇数的序列取前 32 个状态 值,格子数为偶数的序列取后 32 个状态值. 记耦合 映像格子的第 j 个映像格子( j = 1,2,…,L) 所取的 32 个状态值为{ z j 1,z j 2,…,z j 32 } ,映像格子数即为明文 像素分组个数( L = r) ,映像格子的演变次数 N1 = 1 000 + D. ( 6) 移位运算. 首先将 32 个状态值转换为十进 制表示,方法是各状态值作运算 Pj t = ? | z j t | × 256」, 其中 t = 1,2,…,32,?·」表示向下取整; 然后生成的 32 个整数值依次排列为{ Pj 1,Pj 2,…,Pj 32 } ,并转化为 二进制表示Pj ,形成一个 256 bit 的序列. 加密运 算为 Cj = ( Pj > > > V) Pj . ( 6) 式中,为异或运算,Cj 为第 j 个映像格子加密后的 密文分组. 由于分组的长度为 256 bit,故循环左移 的位数作模 255 运算. V 按如下规则产生: V = ( ∑ 32 i = 1 ki ) mod255. ( 7) ( 7) 生成密文矩阵. r 个明文分组分别加密,得 到的密文{ C1,C2,…,Cr } 用 Matlab 矩阵成型函数 reshape( ) 转换为密文矩阵 C. ( 8) 置乱图像像素位置. 密文矩阵 C 用 Arnold 映射按照如下方法进行像素位置置乱,Arnold 映射 在本算法中采用如下形式: xn + 1 yn ( ) + 1 = 1 1 ( ) 1 2 xn ( ) yn mod N. ( 8) 式中,映射的输入和输出均为整数对. 对于 N × N 的图像,像素位置置乱的方法是: 首先建立—个与原 矩阵 C 等大的输出空间,然后将此空间中的每个像 素坐标( i,j) 作为初始值( x0,y0 ) 依次代入式( 8) ,通 过混沌迭代产生新的坐标记为( x1,y1 ) ,并将输入空 间中的第( x1,y1 ) 个像素放置到输出空间的( x0,y0 ) 位置中,即( i,j) 位置,直到整个输出空间填满即为 最终的密文. 由于本文采用的是对称密码算法,在已知密钥 的前提下图像的解密过程是加密的逆过程. 3 仿真实验 本文在 Matlab7. 0 环境下对分辨率为 256 × 256 像素的 Lena 灰度图像进行算法仿真实验,算法的密 钥集为{ K,x0,μ,α,β,ε,δ,D} ,实验取加( 解) 密密 钥 K =‘chaoticimageencryptionalgorithms’( 32 个字符 长) ,取 x0 = 0. 566 358、μ = 3. 816 326、α = 0. 5、β = 0. 1 和 ε = 0. 05. 实验结果如图 4 所示. 其中图 4 ( a) 为明文图像及其直方图; 图 4( b) 为加密图像及 其直方图; 图 4( c) 为使用相同密钥对图 4( b) 进行 解密得到的图像; 图 4( d) 为密钥集中 x0 = 0. 566358 与 x0 = 0. 566 359 而其他密钥不变时得到的两加密 图像的差图,可见密钥的微小改变导致了加密图像 效果很大的不同,表明本算法对密钥有较强的敏感 性; 图 4( e) 为改变明文图像中一个点 P( 1,8) 使其 灰度值从 132 变 到 133 ( 相当于明文分组改变 1 bit) ,其他条件不变得到的两个加密图像的差图,可 见明文分组仅 1 bit 的改变就导致了加密效果完全 不同,表明本算法对明文图像也具有较强的敏感性. 4 密码分析 4. 1 密钥空间 密钥空间的大小直接决定了密码系统的安全 性. 密钥均采用双精度型数据,主密钥 K 取 256 bit, 辅助密钥和迭代次数的空间都是 255; 混沌系统的 初值和参数计算精度为 1015 或 1016 ; 忽略其他参数 的取值范围,则算法的密钥空间将达到 2256 × 2552 × 1079 ≈10160 . 如此大的密钥空间足以抵抗对密钥的 穷举攻击. 4. 2 密文熵分析 Shannon 提出了信息熵的概念来表征信源的不 定度,是信息系统有序化程度的一个度量. 对于信 息源 M,其信息熵定义为 H( M) = - ∑ n i = 1 p( mi ) lb( p( mi ) ) . ( 9) 式中,p( mi ) 为符号 mi 在 M 中出现的概率,符号 mi 的个数为 2n . 当信源概率分布为等概率分布时,信 息熵能取到最大值,这就是最大信息熵原理. 同样 可以用密文图像的信息熵来度量密文的平均不确定 性的程度,即当密文的概率分布为等概率分布( 均 为 1 /256) 时,具有最大信息熵为 lb( 256) = 8 bit. 图 像加密中对于加密后完全随机的密文图像,其像素 灰度值的熵也应该是 8 bit. 本算法得到的加密图像 ( 图 4( b) ) 每个像素 mi 的熵为 H = - ∑ 256 i = 1 p( mi ) lb( p( mi ) ) = 7. 997 6≈8. 密文熵的值接近于理想值 8,说明加密后图像 具有较强的平均不确定性,对于统计攻击和熵攻击 ·467·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有