基于Logistic混沌序列的灰度图像加密算法(1)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 2
k
像, 设其为 G; (6 ) 令 k=k2, 重复步骤 (3 ) ~ (5 ) 。
5.2
解密算法
其中 pi, 1, 2, …, 255}, i=1, 2, …, m1; j=1, 2, …, n1。 矩阵 Pm ×n , j∈{0,
1 1
k
解密算法是加密算法的逆运算, 在解密算法中, 首先令 k= 异或矩阵与加密中的异或矩阵相同, 置换矩阵是加密算法 k2, 中置换矩阵的逆置换, 在解密图像的过程中, 先进行置换运算, 再进行异或运算。
1
引言
随着 Internet 技术与多媒体技术的飞速发展,多媒体通信 逐渐成为人们进行信息交流的重要手段。 而宽带网的发展使得 图像数据的应用更加广泛和方便, 与此同时, 图像数据的安全 在各种不同的图像加密技术中, 基于混 性变得越来越重要 。 沌理论的加密技术, 正成为图像加密研究的热点 [1-4]。文中以 Logistic 混沌系统为基础, 提出了一种新的图像加密算法, 通过 实验分析表明, 该算法具有良好的加密性能。
180
2008 ,44 (36 )
Computer Engineering and Applications 计算机工程与应用 (0, 1 ) , 3.569 945 6… <μ0≤4; k1、 k2、 m1、 n1、 m2、 n2 均为正整数, 且 m1 与 m2 不能互相整除, n1 与 n2 不能互相整除, 令 k=k1; (2 ) 对于一个图像的像素矩阵 F , 令 M=mul (m1, m2 ) , N= mul (n1, n2 ) (其中 mul (x, y ) 表示 x 与 y 的最小公倍数) , 在图像 矩阵的边界填充像素值 255 (白色) , 增加 F 的行数和列数, 使 它们分别是 M 和 N 的整数倍, 设生成的图像像素矩阵为 F1; ) 利用密钥和 Logistic 映射分别产生异或矩阵 Pm ×n 和置 (3
其中, 0≤μ≤4 称为分枝参数, xk∈ (0, 1 ) , 定义同上。混沌动力 系统的研究工作指出, 当 3.569 945 6…<μ≤4 时, Logistic 映射 工作于混沌态。也就是说, 由初始条件 x0 在 Logistic 映射的作 用下所产生的序列{xk}, k=0, 1, 2, …是非周期的、 不收敛的并对 初始值非常敏感。 对于一般的混沌映射 xk+1=( f xk ) , 概率密度 ρ (x ) 可由 Perron-Froenious 方程得到, 即 ρ (x ) =
1 1
特征。 Logistic 序列的以上特性表明,尽管混沌动力系统具有确 定性, 但其遍历统计特性接近于白噪声, 并具有形式简单, 对初 始条件敏感等诸多特性。
3 基于混沌序列的异或矩阵 3.1 异或矩阵的构造
由于灰度图像一般为 256 级, 其值在 0~255 之间, 为此, 要 将混沌序列做一些适当的修正, 把 (0, 1 ) 区间上的值映射到集 {0, 1, 2, …, 255}, 这可由 MATLAB 7.0 中的 floor ( )函数来完 成, 即: x′i=floor (256x) i 其中 xi 是由式 (1 ) 通过迭代所得到的混沌序列, floor ( ) 函数为 向负方向舍入取整函数。这样, 由混沌实数列和 floor ( ) 函数可 得到整数序列 x′1, x′2, x′3…其中 xi′∈{0, 1, 2, …, 255}, i=1, 2, …。 对于给定异或矩阵的大小 m1×n( n1 为大于 1 的整数) 1 m1、 和给定的正整数 k, 在所得的整数列 x′1, x′2, x′3… 中依次选取 x′ k+1, x′ k+2, …, x′ k+m ×n , 并将它们按长度 n1 逐段截取, 排成加密
{xk-f -1 (x ) }
Σ
ρ (xk ) |f ( ′ xk ) |
2
Logistic 混沌系统
混沌是一种非线性动力学规律控制的行为, 表现为对初始 值和系统参数的敏感性、白噪声的统计特性和区间遍历特性, 具有很好的密码学特性。 一个一维离散时间非线性动力系统定义如下: xk+1=τ (xk ) 其中, xk∈V (k=0, 1, 2, …) , 称为状态; 而 τ: V→V 是一个映射, 将当前状态 xk 映射到下一个状态 xk+1。 如果从一个初始值 x0 开 始, 反复应用 τ 就得到一个序列 {xk}, k =0, 1, 2, …, 这一序列称 为该离散时间动力系统的一条轨迹。 一类非常简单却被广泛研究的动力系统是 Logistic 映射, 其定义如下: xk+1=μx( ) (1 ) k 1-xk
2 2
lena.jpg
jiamihou.jpg
jiemihou.jpg
cuomiyao.jpg
图1
加密/解密结果
小到大的顺序进行排序, 由各个元素位置的变化可以得到一个 “sort ( ) ” 排序置换, 此置换可以在 MATLAB7.0 中利用排序函数 直接得到, 其长度为 m2×n2, 将此置换序列按长度 n2 逐段截取, 并排成置换矩阵 Zm ×n , 其中 zi, 2, 3, …, m2×n2}, i =1, 2, …, j∈{1,
1 1
k
换矩阵 Zm ×n ;
2 2
k
(4 ) 将像素矩阵 F1 按 m1×n1 的大小进行分块, 并利用异或 矩阵 Pm ×n 进行逐块加密,将得到的加密分块再组合成像素图
1 1
k
像, 设其为 F2; (5 ) 将像素矩阵 F2 按 m2×n2 的大小进行分块, 并利用置换 矩阵 Zm ×n 进行逐块置换,将得到的加密分块再组合成加密图
3.2 利用异或矩阵对图像加密/解密
异或加密算法可看作如下函数: Qm ×n =Cm ×n 茌Pm ×n
1 1 1 1 1 1 1
k
1
其中, Cm ×n 为待加密矩阵, Pm ×n 为异或矩阵, “茌” 为两个矩阵中
1 1
k
对应像素值的逐比特异或运算。 异或解密算法可看作如下函数: Cm ×n =Pm ×n 茌Qm ×n
当 μ=4, 则 Logistic 映射所生成的序列的概率分布函数为: 姨 1 姨 x∈ (0, 1 ) 姨 姨 ρ (x ) =姨 x ( ) π 姨 1-x 姨 姨 姨 0 else 姨 Logistic 映射所产生的混沌序列轨迹点的均值是:
1 1 軃 =lim 1 Σxi= xρ x (x ) dx= 0 N→∞ N 2 i=0 对于相关性, 独立选取两个初始值 x0 和 y0, 则相应序列的 互相关函数为: N-1
2 2
图 1 中, 图像 “jiamihou.jpg” 为图像 “lena.jpg” 的加密结果, 显然已看不出图像 “lena.jpg” 的任何信息, 加密取得了较好的 效果; 图像 “jiemihou.jpg” 为对图像 “jiamihou.jpg” 的解密结果, 通过比较得知, 两个图像的像素值完全相同, 说明文中提出的 加密算法没有任何信息丢失; 图像 “cuomiyao.jpg” 为 x0=0.783 55 时的解密结果, 显然, 对于 x0 仅仅相差 0.000 01 时, 由解密结 果得不到图像 “lena.jpg” 的任何信息, 说明该算法对 x0 具有高 度的敏感性。
k
1
4 基于混沌序列的置换矩阵 4.1 置换矩阵的构造
对于给定置换矩阵的大小 m2×n( n2 为大于 1 的整数) 2 m2、 和给定的正整数 k ,在整数列 x ′ 1, x ′ 2, x ′ 3… 中依次选取 x ′ k+1, x′k+2, …, x′k+m ×n , 组成一个长度为 m2×n2 的序列, 对此序列按从
Computer Engineering and Applications 计算机工程与应用 ◎ 图形 、 图像 、 模式识别 ◎
2008 ,44 (36 )
179
基于 Logistic 混沌序列的灰度图像加密算法
燕善俊 1, 余昭平 2 YAN Shan-jun1, YU Zhao-ping2
1.徐州工程学院 数学与物理科学学院, 江苏 徐州 221008 郑州 450004 2.解放军信息工程大学 电子技术学院, Xuzhou Institute of Technology, Xuzhou, Jiangsu 221008, China 1.Department of Mathematics and Physical Sciences, 2.Electronic Technology Institute, PLA Information Engineering University, Zhengzhou 450004, China YAN Shan -jun , YU Zhao -ping.Gray image encryption algorithm based on chaotic sequences of Logistic .Computer 2008, 44 (36 ) : 179-180. Engineering and Applications, Abstract:On the basis of chaos theory, a gray-scale image encryption algorithm is presented.It generates XOR matrixes and re - placement matrixes by using the Logistic Mapping, then divides the gray-scale image into pieces and encrypts them in turn.Ex - perimental simulation shows that the encryption algorithm has a good effect of encryption. Key words:Logistic chaotic sequence; XOR matrix; replacement matrix; image encryption 以混沌理论为基础, 提出了一种灰度图像加密算法, 该算法利用 Logistic 映射分别产生异或矩阵和置换矩阵, 然后对灰度 摘 要: 图像进行分块加密。实验仿真表明, 该加密算法具有良好的加密效果。 异或矩阵; 置换矩阵; 图像加密 关键词: Logistic 混沌序列; DOI: 10.3778/j.issn.1002-8331.2008.36.050 文章编号: 1002-8331 (2008 ) 36-0179-02 文献标识码: A 中图分类号: TP391.41
k
m2; j=1, 2, …, n2。
4.2 置换方法
置换算法可简单地看作如下函数: Bm ×n =E (Am ×n , Zm ×n )
2 2 2 2 2 2
乙
R (l ) =lim (x , y)
0 0
N→∞ 1
1 N
1 0
N-1
軃) (x -x (y Σ
i i=0
ห้องสมุดไป่ตู้(i+l )
軃) -y =
軃) 軃) y ) (x-x (τ (y ) -y dxdy=0 乙 乙ρ(x,
l 0
而序列的自相关函数值趋向于 0, 类似于 δ函数, 接近白噪声的
基金项目: 现代通信国家重点实验室基金项目 (No.9140c1102060702 ) ; 徐州工程学院科研资助项目 (No.XKY2007220 ) 。 作者简介: 燕善俊 (1978) , 男, 讲师, 主要研究领域: 信息安全、 图像加密; 余昭平 (1962) , 男, 教授, 硕士生导师, 主要研究领域: 密码理论与应用数学。 收稿日期: 2008-08-25 修回日期: 2008-10-27
1 1 1 1 1
6 仿真实验及算法分析 6.1 仿真实验
利用 MATLAB 7.0 软件, 结合上述算法, 对 “lena.jpg” 图像 进行了加/解密的仿真实验, 密钥选取为: K= (0.783 54, 4, 10 000, 20 000, 50, 50, 8, 8 ) , 结果如图 1 所示。
k
像, 设其为 G; (6 ) 令 k=k2, 重复步骤 (3 ) ~ (5 ) 。
5.2
解密算法
其中 pi, 1, 2, …, 255}, i=1, 2, …, m1; j=1, 2, …, n1。 矩阵 Pm ×n , j∈{0,
1 1
k
解密算法是加密算法的逆运算, 在解密算法中, 首先令 k= 异或矩阵与加密中的异或矩阵相同, 置换矩阵是加密算法 k2, 中置换矩阵的逆置换, 在解密图像的过程中, 先进行置换运算, 再进行异或运算。
1
引言
随着 Internet 技术与多媒体技术的飞速发展,多媒体通信 逐渐成为人们进行信息交流的重要手段。 而宽带网的发展使得 图像数据的应用更加广泛和方便, 与此同时, 图像数据的安全 在各种不同的图像加密技术中, 基于混 性变得越来越重要 。 沌理论的加密技术, 正成为图像加密研究的热点 [1-4]。文中以 Logistic 混沌系统为基础, 提出了一种新的图像加密算法, 通过 实验分析表明, 该算法具有良好的加密性能。
180
2008 ,44 (36 )
Computer Engineering and Applications 计算机工程与应用 (0, 1 ) , 3.569 945 6… <μ0≤4; k1、 k2、 m1、 n1、 m2、 n2 均为正整数, 且 m1 与 m2 不能互相整除, n1 与 n2 不能互相整除, 令 k=k1; (2 ) 对于一个图像的像素矩阵 F , 令 M=mul (m1, m2 ) , N= mul (n1, n2 ) (其中 mul (x, y ) 表示 x 与 y 的最小公倍数) , 在图像 矩阵的边界填充像素值 255 (白色) , 增加 F 的行数和列数, 使 它们分别是 M 和 N 的整数倍, 设生成的图像像素矩阵为 F1; ) 利用密钥和 Logistic 映射分别产生异或矩阵 Pm ×n 和置 (3
其中, 0≤μ≤4 称为分枝参数, xk∈ (0, 1 ) , 定义同上。混沌动力 系统的研究工作指出, 当 3.569 945 6…<μ≤4 时, Logistic 映射 工作于混沌态。也就是说, 由初始条件 x0 在 Logistic 映射的作 用下所产生的序列{xk}, k=0, 1, 2, …是非周期的、 不收敛的并对 初始值非常敏感。 对于一般的混沌映射 xk+1=( f xk ) , 概率密度 ρ (x ) 可由 Perron-Froenious 方程得到, 即 ρ (x ) =
1 1
特征。 Logistic 序列的以上特性表明,尽管混沌动力系统具有确 定性, 但其遍历统计特性接近于白噪声, 并具有形式简单, 对初 始条件敏感等诸多特性。
3 基于混沌序列的异或矩阵 3.1 异或矩阵的构造
由于灰度图像一般为 256 级, 其值在 0~255 之间, 为此, 要 将混沌序列做一些适当的修正, 把 (0, 1 ) 区间上的值映射到集 {0, 1, 2, …, 255}, 这可由 MATLAB 7.0 中的 floor ( )函数来完 成, 即: x′i=floor (256x) i 其中 xi 是由式 (1 ) 通过迭代所得到的混沌序列, floor ( ) 函数为 向负方向舍入取整函数。这样, 由混沌实数列和 floor ( ) 函数可 得到整数序列 x′1, x′2, x′3…其中 xi′∈{0, 1, 2, …, 255}, i=1, 2, …。 对于给定异或矩阵的大小 m1×n( n1 为大于 1 的整数) 1 m1、 和给定的正整数 k, 在所得的整数列 x′1, x′2, x′3… 中依次选取 x′ k+1, x′ k+2, …, x′ k+m ×n , 并将它们按长度 n1 逐段截取, 排成加密
{xk-f -1 (x ) }
Σ
ρ (xk ) |f ( ′ xk ) |
2
Logistic 混沌系统
混沌是一种非线性动力学规律控制的行为, 表现为对初始 值和系统参数的敏感性、白噪声的统计特性和区间遍历特性, 具有很好的密码学特性。 一个一维离散时间非线性动力系统定义如下: xk+1=τ (xk ) 其中, xk∈V (k=0, 1, 2, …) , 称为状态; 而 τ: V→V 是一个映射, 将当前状态 xk 映射到下一个状态 xk+1。 如果从一个初始值 x0 开 始, 反复应用 τ 就得到一个序列 {xk}, k =0, 1, 2, …, 这一序列称 为该离散时间动力系统的一条轨迹。 一类非常简单却被广泛研究的动力系统是 Logistic 映射, 其定义如下: xk+1=μx( ) (1 ) k 1-xk
2 2
lena.jpg
jiamihou.jpg
jiemihou.jpg
cuomiyao.jpg
图1
加密/解密结果
小到大的顺序进行排序, 由各个元素位置的变化可以得到一个 “sort ( ) ” 排序置换, 此置换可以在 MATLAB7.0 中利用排序函数 直接得到, 其长度为 m2×n2, 将此置换序列按长度 n2 逐段截取, 并排成置换矩阵 Zm ×n , 其中 zi, 2, 3, …, m2×n2}, i =1, 2, …, j∈{1,
1 1
k
换矩阵 Zm ×n ;
2 2
k
(4 ) 将像素矩阵 F1 按 m1×n1 的大小进行分块, 并利用异或 矩阵 Pm ×n 进行逐块加密,将得到的加密分块再组合成像素图
1 1
k
像, 设其为 F2; (5 ) 将像素矩阵 F2 按 m2×n2 的大小进行分块, 并利用置换 矩阵 Zm ×n 进行逐块置换,将得到的加密分块再组合成加密图
3.2 利用异或矩阵对图像加密/解密
异或加密算法可看作如下函数: Qm ×n =Cm ×n 茌Pm ×n
1 1 1 1 1 1 1
k
1
其中, Cm ×n 为待加密矩阵, Pm ×n 为异或矩阵, “茌” 为两个矩阵中
1 1
k
对应像素值的逐比特异或运算。 异或解密算法可看作如下函数: Cm ×n =Pm ×n 茌Qm ×n
当 μ=4, 则 Logistic 映射所生成的序列的概率分布函数为: 姨 1 姨 x∈ (0, 1 ) 姨 姨 ρ (x ) =姨 x ( ) π 姨 1-x 姨 姨 姨 0 else 姨 Logistic 映射所产生的混沌序列轨迹点的均值是:
1 1 軃 =lim 1 Σxi= xρ x (x ) dx= 0 N→∞ N 2 i=0 对于相关性, 独立选取两个初始值 x0 和 y0, 则相应序列的 互相关函数为: N-1
2 2
图 1 中, 图像 “jiamihou.jpg” 为图像 “lena.jpg” 的加密结果, 显然已看不出图像 “lena.jpg” 的任何信息, 加密取得了较好的 效果; 图像 “jiemihou.jpg” 为对图像 “jiamihou.jpg” 的解密结果, 通过比较得知, 两个图像的像素值完全相同, 说明文中提出的 加密算法没有任何信息丢失; 图像 “cuomiyao.jpg” 为 x0=0.783 55 时的解密结果, 显然, 对于 x0 仅仅相差 0.000 01 时, 由解密结 果得不到图像 “lena.jpg” 的任何信息, 说明该算法对 x0 具有高 度的敏感性。
k
1
4 基于混沌序列的置换矩阵 4.1 置换矩阵的构造
对于给定置换矩阵的大小 m2×n( n2 为大于 1 的整数) 2 m2、 和给定的正整数 k ,在整数列 x ′ 1, x ′ 2, x ′ 3… 中依次选取 x ′ k+1, x′k+2, …, x′k+m ×n , 组成一个长度为 m2×n2 的序列, 对此序列按从
Computer Engineering and Applications 计算机工程与应用 ◎ 图形 、 图像 、 模式识别 ◎
2008 ,44 (36 )
179
基于 Logistic 混沌序列的灰度图像加密算法
燕善俊 1, 余昭平 2 YAN Shan-jun1, YU Zhao-ping2
1.徐州工程学院 数学与物理科学学院, 江苏 徐州 221008 郑州 450004 2.解放军信息工程大学 电子技术学院, Xuzhou Institute of Technology, Xuzhou, Jiangsu 221008, China 1.Department of Mathematics and Physical Sciences, 2.Electronic Technology Institute, PLA Information Engineering University, Zhengzhou 450004, China YAN Shan -jun , YU Zhao -ping.Gray image encryption algorithm based on chaotic sequences of Logistic .Computer 2008, 44 (36 ) : 179-180. Engineering and Applications, Abstract:On the basis of chaos theory, a gray-scale image encryption algorithm is presented.It generates XOR matrixes and re - placement matrixes by using the Logistic Mapping, then divides the gray-scale image into pieces and encrypts them in turn.Ex - perimental simulation shows that the encryption algorithm has a good effect of encryption. Key words:Logistic chaotic sequence; XOR matrix; replacement matrix; image encryption 以混沌理论为基础, 提出了一种灰度图像加密算法, 该算法利用 Logistic 映射分别产生异或矩阵和置换矩阵, 然后对灰度 摘 要: 图像进行分块加密。实验仿真表明, 该加密算法具有良好的加密效果。 异或矩阵; 置换矩阵; 图像加密 关键词: Logistic 混沌序列; DOI: 10.3778/j.issn.1002-8331.2008.36.050 文章编号: 1002-8331 (2008 ) 36-0179-02 文献标识码: A 中图分类号: TP391.41
k
m2; j=1, 2, …, n2。
4.2 置换方法
置换算法可简单地看作如下函数: Bm ×n =E (Am ×n , Zm ×n )
2 2 2 2 2 2
乙
R (l ) =lim (x , y)
0 0
N→∞ 1
1 N
1 0
N-1
軃) (x -x (y Σ
i i=0
ห้องสมุดไป่ตู้(i+l )
軃) -y =
軃) 軃) y ) (x-x (τ (y ) -y dxdy=0 乙 乙ρ(x,
l 0
而序列的自相关函数值趋向于 0, 类似于 δ函数, 接近白噪声的
基金项目: 现代通信国家重点实验室基金项目 (No.9140c1102060702 ) ; 徐州工程学院科研资助项目 (No.XKY2007220 ) 。 作者简介: 燕善俊 (1978) , 男, 讲师, 主要研究领域: 信息安全、 图像加密; 余昭平 (1962) , 男, 教授, 硕士生导师, 主要研究领域: 密码理论与应用数学。 收稿日期: 2008-08-25 修回日期: 2008-10-27
1 1 1 1 1
6 仿真实验及算法分析 6.1 仿真实验
利用 MATLAB 7.0 软件, 结合上述算法, 对 “lena.jpg” 图像 进行了加/解密的仿真实验, 密钥选取为: K= (0.783 54, 4, 10 000, 20 000, 50, 50, 8, 8 ) , 结果如图 1 所示。