本文研究了一类二维时变离散时空系统的混沌性,并分析了它的多种伪随机性能。在此基础上,结合拉丁方构造的基本密码系统,设计了一种新的多元流密码算法。将该算法应用于数字图像加密之中,并与二元流密码系统的加密效果进行了对比。实验结果表明新算法具有足够大的密钥空间,并具有良好的加密性能和安全性。 This paper studies the chaos of a class of two-dimensional time-varying discrete spatiotemporal systems and analyzes its several pseudorandom properties. On this basis, combined with a basic cipher system constructed by a Latin square, a new multi-bit stream cipher algorithm is designed out and is applied in digital image encryption. Compared with the encryption effect of the single-bit stream cipher algorithm, simulations show that the new algorithm has a large enough key space, good encryption performance and security.
本文研究了一类二维时变离散时空系统的混沌性,并分析了它的多种伪随机性能。在此基础上,结合拉丁方构造的基本密码系统,设计了一种新的多元流密码算法。将该算法应用于数字图像加密之中,并与二元流密码系统的加密效果进行了对比。实验结果表明新算法具有足够大的密钥空间,并具有良好的加密性能和安全性。
流密码算法,基本密码系统,拉丁方,时变离散时空混沌系统
Yao Zhang, Chuanjun Tian
College of Electronics and Information Engineering, Shenzhen University, Shenzhen Guangdong
Received: Dec. 28th, 2022; accepted: Jan. 24th, 2023; published: Jan. 31st, 2023
This paper studies the chaos of a class of two-dimensional time-varying discrete spatiotemporal systems and analyzes its several pseudorandom properties. On this basis, combined with a basic cipher system constructed by a Latin square, a new multi-bit stream cipher algorithm is designed out and is applied in digital image encryption. Compared with the encryption effect of the single-bit stream cipher algorithm, simulations show that the new algorithm has a large enough key space, good encryption performance and security.
Keywords:Stream Cipher Algorithm, Basic Cryptosystem, Latin Square, Time-Varying Discrete Spatiotemporal Chaotic System
Copyright © 2023 by author(s) and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
随着信息技术的发展,密码学已经成为防止数据泄露、保护数据安全的重要手段。流密码是密码学中常见的一种密码算法,在信息安全领域中有着广泛应用 [
另一方面,密钥流序列也会极大地影响流密码算法的安全性和性能,其中的一个关键问题是如何设计出随机性优良的密钥流生成器。一个良好的密钥流生成器应满足输出的密钥流具有较强的不可预测性以及抵抗统计分析的能力。当前,利用离散混沌系统来构造密钥流序列及其相应的流密码算法受到了广泛关注和研究。在混沌序列密码算法研究中,根据各类文献发现,离散混沌系统的构造类型多样且类随机性能优良,但对多维时变离散混沌时空系统的研究相对较少。因此,本文拟对一类二维时变离散时空系统的混沌性进行分析或研究其在流密码算法中的应用,可参见图1。
图1. 基于二维离散时空系统的密钥流生成器结构示意图
设Z为全体整数集, t ∈ Z , N t = { t , t + 1 , ⋯ } 为单边整数集,I为有界实数集,且
{ x m + 1 , n = f ( m , y m , n , x m , n + 1 ) y m + 1 , n = g ( m , x m , n , y m , n + 1 ) (1-1)
其中, m , n ∈ N 0 , f : N 0 × I 3 → I 和 g : N 0 × I 3 → I 是两个三元函数,称 ( f , g ) 为系统(1-1)的系统函数。不难验证:给定两个序列 ϕ = { ϕ 0 , n } n = 0 ∞ 和 φ = { φ 0 , n } n = 0 ∞ ,存在一个二维离散时空序列 z = { ( x m , n , y m , n ) } m , n = 0 ∞ 满足(1-1),且 x 0 , n = ϕ 0 , n 和 y 0 , n = φ 0 , n , n = 0 , 1 , 2 , ⋯ 。称z为系统(1-1)初值为 ( ϕ , φ ) 的一个解。为了方便,下面将列向量 ( a 0 , a 1 , ⋯ ) T 与行向量 ( a 0 , a 1 , ⋯ ) 不加区别。
记
I 2 ∞ = { { ( a n , b n ) T } n = 0 ∞ = ( a 0 a 1 ⋯ a n ⋯ b 0 b 1 ⋯ b n ⋯ ) | a i , b i ∈ I , i = 0 , 1 , 2 , ⋯ } (1-2)
不难验证,在 I 2 ∞ 上定义一个映射 d 1 : I 2 ∞ × I 2 ∞ → I 2 ∞ 可得到一个度量空间 ( I 2 ∞ , d 1 ) :
d 1 ( z 1 , z 2 ) = ∑ n = 0 ∞ | x 1 , n − x 2 , n | + | y 1 , n − y 2 , n | 2 n , z i = { ( x i , n , y i , n ) } n = 0 ∞ , i = 1 , 2 . (1-3)
设 z = { ( x m , n , y m , n ) } m , n = 0 ∞ 是系统(1-1)的一个解, x 0 , n , y 0 , n ∈ I , n ∈ N 0 ,且
z m = { ( x m , n , y m , n ) } n = 0 ∞ , m = 0 , 1 , 2 , ⋯ (1-4)
则系统(1-1)等价于下式(1-5)中的无穷维离散系统:
z m + 1 = { ( x m + 1 , n , y m + 1 , n ) = ( f ( m , y m , n , x m , n + 1 ) , g ( m , x m , n , y m , n + 1 ) ) } n = 0 ∞ = G m + 1 ( z m ) ,(1-5)
其中, m = 0 , 1 , 2 , ⋯ , G 1 , G 2 , ⋯ 是由 ( f , g ) 所决定的 I 2 ∞ 上的一列映射。称(1-5)或 G = { G m } m = 0 ∞ 是由系统(1-1)或 ( f , g ) 所导出的离散系统或映射列。
下面先给出一种拉丁方的构造方法,以便为基本系统设计做好准备。
定理2.1设n是一个自然数。对任意 m = m 1 m 2 ⋯ m 2 n ∈ Z 2 2 n 和 k = k 1 k 2 ⋯ k 2 n ∈ Z 2 2 n ,记
c m k = c 1 c 2 c 3 c 4 ⋯ c 2 n − 1 c 2 n = E ( m , k ) = E ( m 1 m 2 m 3 m 4 ⋯ m 2 n − 1 m 2 n , k 1 k 2 k 3 k 4 ⋯ k 2 n − 1 k 2 n ) = [ m 1 ( m ¯ 1 ⊕ m 2 ) m 3 ( m ¯ 3 ⊕ m 4 ) ⋯ m 2 n − 1 ( m ¯ 2 n − 1 ⊕ m 2 n ) + k 1 ( k ¯ 1 ⊕ k 2 ) k 3 ( k ¯ 3 ⊕ k 4 ) ⋯ k 2 n − 1 ( k ¯ 2 n − 1 ⊕ k 2 n ) ] mod 2 2 n = [ W ( m ) + W ( k ) ] mod 2 2 n (2-1)
则 L = ( c m k ) 2 n × 2 n 是一个2n阶拉丁方,其中, ⊕ 是异或运算, a ¯ = 1 − a 表示比特a的补运算,并将 Z 2 2 n 与 Z 2 2 n 对应的数不加区别,且对任意 u = u 1 u 2 ⋯ u 2 n − 1 u 2 n ∈ Z 2 2 n ,映射 W : Z 2 2 n → Z 2 2 n 定义为
W ( u ) = u 1 ( u ¯ 1 ⊕ u 2 ) u 3 ( u ¯ 3 ⊕ u 4 ) ⋯ u 2 n − 1 ( u ¯ 2 n − 1 ⊕ u 2 n ) ∈ Z 2 2 n .
证明:对任一固定的 m ∈ Z 2 2 n ,下面证明当k依次取遍 Z 2 2 n = { 0 , 1 , 2 , ⋯ , 2 2 n − 1 } 中的每一个整数时,L第m行的所有元素 c m 1 , c m 2 , ⋯ , c m , 2 n − 1 , c m , 2 n 将是互不相同的整数,即为 { 0 , 1 , 2 , ⋯ , 2 2 n − 1 } 。否则,将存在两个不同的整数 k = k 1 k 2 ⋯ k 2 n ∈ Z 2 2 n 和 k ˜ = k ˜ 1 k ˜ 2 ⋯ k ˜ 2 n ∈ Z 2 2 n ,使得
c m k = E ( m , k ) = E ( m , k ˜ ) = c m k ˜ ,
即 m + k 1 ( k ¯ 1 ⊕ k 2 ) ⋯ k 2 n − 1 ( k ¯ 2 n − 1 ⊕ k 2 n ) = m + k ˜ 1 ( k ˜ ¯ 1 ⊕ k ˜ 2 ) ⋯ k ˜ 2 n − 1 ( k ˜ ¯ 2 n − 1 ⊕ k ˜ 2 n ) mod 2 2 n 。因此,存在一个整数r,使得 k 1 ( k ¯ 1 ⊕ k 2 ) ⋯ k 2 n − 1 ( k ¯ 2 n − 1 ⊕ k 2 n ) = k ˜ 1 ( k ˜ ¯ 1 ⊕ k ˜ 2 ) ⋯ k ˜ 2 n − 1 ( k ˜ ¯ 2 n − 1 ⊕ k ˜ 2 n ) + r 2 2 n 。由于
0 ≤ k 1 ( k ¯ 1 ⊕ k 2 ) ⋯ k 2 n − 1 ( k ¯ 2 n − 1 ⊕ k 2 n ) < 2 2 n 和 0 ≤ k ˜ 1 ( k ˜ ¯ 1 ⊕ k ˜ 2 ) ⋯ k ˜ 2 n − 1 ( k ˜ ¯ 2 n − 1 ⊕ k ˜ 2 n ) < 2 2 n ,
因而 r = 0 和 k 1 ( k ¯ 1 ⊕ k 2 ) ⋯ k 2 n − 1 ( k ¯ 2 n − 1 ⊕ k 2 n ) = k ˜ 1 ( k ˜ ¯ 1 ⊕ k ˜ 2 ) ⋯ k ˜ 2 n − 1 ( k ˜ ¯ 2 n − 1 ⊕ k ˜ 2 n ) 。于是,依次可推出
k 1 = k ˜ 1 , ( k ¯ 1 ⊕ k 2 ) = ( k ˜ ¯ 1 ⊕ k ˜ 2 ) , ⋯ , k 2 n − 1 = k ˜ 2 n − 1 , ( k ¯ 2 n − 1 ⊕ k 2 n ) = ( k ˜ ¯ 2 n − 1 ⊕ k ˜ 2 n ) .
这样就有 k 1 = k ˜ 1 , k 2 = k ˜ 2 , ⋯ , k 2 n − 1 = k ˜ 2 n − 1 , k 2 n = k ˜ 2 n ,即 k = k ˜ ,矛盾!由此证明了方阵L的每一行取遍 Z 2 2 n = { 0 , 1 , 2 , ⋯ , 2 2 n − 1 } 中的每一个整数。类似可证明L的每一列也取遍 Z 2 2 n 中的每一个整数。因
此,L是一个2n阶拉丁方。证毕!
由定理2.1可知,当 n = 4 时可得到如下28阶拉丁方L:
L = [ 84 83 82 83 82 81 82 81 80 ⋯ 167 166 169 166 165 168 165 164 167 ⋮ ⋱ ⋮ 167 166 165 166 165 164 169 168 167 ⋯ 250 249 252 249 248 251 252 251 254 ] , H = [ 0 128 64 1 129 65 2 130 66 ⋯ 191 127 255 190 126 254 189 125 253 ⋮ ⋱ ⋮ 253 125 189 254 126 190 255 127 191 ⋯ 66 130 2 65 129 1 64 128 0 ]
其中,方阵是文献 [
m m k = D ( m , k ) = W [ ( c − W ( k ) ) mod 256 ] , W ( u ) = u 1 ( u ¯ 1 ⊕ u 2 ) ⋯ u 7 ( u ¯ 7 ⊕ u 8 ) ∈ Z 2 8 .
设 I = [ 0 , 1 ) ,并定义两个函数 f : N 0 × I 3 → I 和 g : N 0 × I 3 → I :
f ( m , y , x ) = 〈 s m y 2 + a m x 〉 和 g ( m , x , y ) = 〈 t m x 2 + b m y 〉 , (3-1)
其中, { a m } m = 0 ∞ , { b m } m = 0 ∞ , { s m } m = 0 ∞ 和 { t m } m = 0 ∞ 都是周期数列,即存在正整数p,使得 a m = a m + p , b m = b m + p , s m = s m + p 和 t m = t m + p ,对一切 m ∈ { 0 , 1 , 2 , ⋯ } ,且 〈 u 〉 表示实数u的小数。
不难发现,上述映射 ( f , g ) 可产生如下的二维时变离散时空系统
{ x m + 1 , n = f ( m , y m , n , x m , n + 1 ) = 〈 s m y m , n 2 + a m x m , n + 1 〉 y m + 1 , n = g ( m , x m , n , y m , n + 1 ) = 〈 t m x m , n 2 + b m y m , n + 1 〉 (3-2)
其中, x m , n , y m , n ∈ I = [ 0 , 1 ) ,对任一 m , n = 0 , 1 , 2 , ⋯ 。参照现有文献可以发现,该二维时变离散时空系统(3-2)
的Devaney混沌性还没有被研究过。参照系统(1-1)和系统(1-5)之间的关系可知,系统(3-2)会等价于如下
离散系统:对 z = { ( x m , n , y m , n ) } m , n = 0 ∞ ∈ I 2 ∞ ,
z m + 1 = { ( x m + 1 , n , y m + 1 , n ) = ( 〈 s m y m , n 2 + a m x m , n + 1 〉 , 〈 t m x m , n 2 + b m y m , n + 1 〉 ) } n = 0 ∞ = G m + 1 ( z m ) ,(3-3)
其中, G m + 1 : I 2 ∞ → I 2 ∞ 是由f和g决定的映射,即对任一 β = { ( u m , v m ) } m = 0 ∞ ∈ I 2 ∞ ,都有
G m + 1 ( β ) = { 〈 s m v n 2 + a m u n + 1 〉 , 〈 t m u n 2 + b m v n + 1 〉 } n = 0 ∞ , m = 1 , 2 , ⋯ . (3-4)
参照文献 [
引理3.1式(3-3)中映射列 G = { G m } m = 1 ∞ 是周期为p的周期序列,即 G m = G m + p , m = 1 , 2 , ⋯ 。而且,对一切 m , s , t ∈ N 1 ,都有
G s + m p − 1 ∘ G s + m p − 2 ∘ ⋯ ∘ G s = G t + m p − 1 ∘ G t + m p − 2 ∘ ⋯ ∘ G t .
记式(3-3)定义的映射列 G = { G m } m = 1 ∞ 所确定的复合映射为
H m = G m ∘ G m − 1 ∘ ⋯ ∘ G 1 , m = 1 , 2 , ⋯ . (3-5)
引理3.2对任一给定的常数 c m ≥ 1 , h , r ∈ I 和 m = 1 , 2 , ⋯ ,存在 u ∈ I ,使得 〈 h + c m u 〉 = r 。
定义3.1若式(1-1)的系统函数 ( f , g ) 所确定的映射列 G = { G m } m = 1 ∞ 或系统(1-5)在度量空间 ( I 2 ∞ , d 1 ) 上具有传递性、周期点的稠密性和初值敏感依赖性,则称 G = { G m } m = 1 ∞ 或系统(1-5)是Devaney混沌的,也称与系统(1-5)相应的等价系统(1-1)在 ( I 2 ∞ , d 1 ) 上是Devaney混沌的。
定理3.1在上述条件下,离散系统(3-2)是 ( I 2 ∞ , d 1 ) 上的Devaney混沌系统。
证明:由定义3.1可知,只需证明系统(3-3)在 ( I 2 ∞ , d 1 ) 上是Devaney混沌的,即该系统具有周期点的稠密性、传递性和初值的敏感依赖性。首先将证明该系统具有周期点的稠密性。
对于给定的任一点 α = { ( u n , v n ) } n = 0 ∞ ∈ I 2 ∞ 和 α 的任一邻域 U ⊆ I 2 ∞ ,都存在 δ > 0 ,使得
B δ ( α ) = { x = { ( x n , y n ) } n = 0 ∞ ∈ I 2 ∞ | d 1 ( x , α ) < δ } n = 0 ∞ ⊆ U .
根据式(1-3)中 d 1 的定义知,存在整数 M ∈ { 1 , 2 , ⋯ } ,使得
{ x = { ( x n , y n ) } n = 0 ∞ ∈ I 2 ∞ | x i = u i , y i = v i ; i = 0 , 1 , ⋯ , M − 1 ; ∀ x j , y j ∈ I , j ≥ M } n = 0 ∞ ⊆ B δ ( α ) (3-6)
对任意一点 x = { ( x n , y n ) } n = 0 ∞ ∈ I 2 ∞ ,记
H 1 ( x ) = G 1 ( x ) = { ( x n ( 1 ) , y n ( 1 ) ) = ( 〈 s 0 y n 2 + a 0 x n + 1 〉 , 〈 t 0 x n 2 + b 0 y n + 1 〉 ) } n = 0 ∞ = x ( 1 ) ,
H 2 ( x ) = G 2 ( x ( 1 ) ) = { ( x n ( 2 ) , y n ( 2 ) ) = ( 〈 s 1 ( y n ( 1 ) ) 2 + a 1 x n + 1 ( 1 ) 〉 , 〈 t 1 ( x n ( 1 ) ) 2 + b 1 y n + 1 ( 1 ) 〉 ) } n = 0 ∞ = x ( 2 ) ,
其中, x n ( 2 ) = 〈 s 1 ( t 0 x n 2 + b 0 y n + 1 ) 2 + a 1 s 0 y n + 1 2 + a 1 a 0 x n + 2 〉 = 〈 f 1 ( x n , x n + 1 , y n , y n + 1 ) + a 1 a 0 x n + 2 〉 ,且
f 1 ( x n , x n + 1 , y n , y n + 1 ) = 〈 s 1 ( t 0 x n 2 + b 0 y n + 1 ) 2 + a 1 s 0 y n + 1 2 〉 ,
以及 y n ( 2 ) = 〈 g 1 ( y n , y n + 1 , x n , x n + 1 ) + b 1 b 0 y n + 2 〉 和 g 1 ( y n , y n + 1 , x n , x n + 1 ) = 〈 t 1 ( s 0 y n 2 + a 0 x n + 1 ) 2 + b 1 t 0 x n + 1 2 〉 。
由递推法可知,对任意 m = 1 , 2 , ⋯ 和 x = { ( x n , y n ) } n = 0 ∞ ∈ I 2 ∞ ,有
H m ( x ) = G m ( x ( m − 1 ) ) = G m ∘ ⋯ ∘ G 1 ( x ) = { ( x n ( m ) , y n ( m ) ) } n = 0 ∞ = x ( m ) ,
其中, f m ( x n , ⋯ , x n + m , y n , ⋯ , y n + m ) = f m ( λ n ) 和 g m ( y n , ⋯ , y n + m , x n , ⋯ , x n + m ) = g m ( ρ n ) 是两个多元函数, λ n = ( x n , ⋯ , x n + m , y n , ⋯ , y n + m ) 和 ρ n = ( y n , ⋯ , y n + m , x n , ⋯ , x n + m ) ,且
x ( m + 1 ) = { ( 〈 f m ( λ n ) + a m ⋯ a 0 x n + m + 1 〉 , 〈 g m ( ρ n ) + b m ⋯ b 0 y n + m + 1 〉 ) } n = 0 ∞ . (3-7)
由已知条件可知,对任一 m = 1 , 2 , ⋯ ,都有 a m ⋯ a 0 ≥ 1 和 b m ⋯ b 0 ≥ 1 。由引理3.2,对任一固定的 η ∈ I , λ , ρ ∈ I 2 ( m + 1 ) 和 m = 1 , 2 , ⋯ ,都存在实数 c = c m , e = e m ∈ I ,使得
〈 f m ( λ ) + a m ⋯ a 0 c 〉 = η 和 〈 g m ( ρ ) + b m ⋯ b 0 e 〉 = η . (3-8)
对于 α = { ( u n , v n ) } n = 0 ∞ ∈ U ,由式(3-6)、(3-7)、(3-8),存在一点 β = { ( σ n , τ n ) } n = 0 ∞ ∈ U ,使得 σ n = u n , τ n = v n , n = 0 , 1 , ⋯ , M − 1 ,且 σ M , τ M , σ M + 1 , τ M + 1 , ⋯ 依次满足:
〈 f M − 1 ( λ n ) + a M ⋯ a 0 σ n + M + 1 〉 = σ n , 〈 g M − 1 ( ρ n ) + b M ⋯ b 0 τ n + M + 1 〉 = τ n , n = 0 , 1 , 2 , ⋯ .
因此, H M ( β ) = G M ∘ ⋯ ∘ G 1 ( β ) = β ∈ V 和 β ∈ U ,即 β 是 G = { G m } m = 1 ∞ 的一个周期点。于是,系统(3-3)在 ( I 2 ∞ , d 1 ) 上具有周期点的稠密性。同样地,可利用与上述类似的方法证明系统(3-3)还具有传递性和初值敏感依赖性。故系统(3-3)在 ( I 2 ∞ , d 1 ) 上是Devaney混沌的。证毕!
例1:设二维时变离散时空系统为
{ x m + 1 , n = f ( m , y m , n , x m , n + 1 ) = 〈 4 y m , n 2 + a m x m , n + 1 〉 y m + 1 , n = g ( m , x m , n , y m , n + 1 ) = 〈 4 x m , n 2 + b m y m , n + 1 〉 (3-9)
其中, a m = 3 + ( − 1 ) m 和 b m = 3 + ( − 1 ) m + 1 ,对任意 m = 0 , 1 , 2 , ⋯ 。
基于现有文献无法断定上述系统是否具有Devaney混沌性。但由于该系统是(3-2)的特殊情形,结合定理3.1可知,该系统是 ( I 2 ∞ , d 1 ) 上的Devaney混沌系统。
下面通过SP800-22Rvlla标准系统检验例1系统混沌解序列的伪随机性能,其中,SP800-22Rvlla标准由美国国家标准技术研究所提出的专门针对随机数或伪随机数发生器产生的二进制随机序列的统计测试法。对长度为1×106的混沌序列进行伪随机性检验,设置比特序列长度为106,显著性水平为0.01,当测试p值大于显著性水平时,检验通过,测试结果见表1,且混乱性可见图2。
测试方法 | P值 | 测试结果 |
---|---|---|
Approximate Entropy | 0.0930 | 通过 |
Block Frequency | 0.2779 | 通过 |
Cumulative Sums | 0.0180 | 通过 |
FFT | 0.7550 | 通过 |
Frequency | 0.0194 | 通过 |
Linear Complexity | 0.4882 | 通过 |
Longest Run | 0.0751 | 通过 |
Non Overlapping Template | 0.4914 | 通过 |
Overlapping Template | 0.2427 | 通过 |
Random Excursions | 0.6105 | 通过 |
Random Excursions Variant | 0.5293 | 通过 |
Rank | 0.2576 | 通过 |
Runs | 0.4560 | 通过 |
Serial | 0.2563 | 通过 |
Universal | 0.7750 | 通过 |
表1. SP800-22Rvlla测试结果
图2. 解的混乱性和自相关性
先将基本系统设计为上述8比特的拉丁方基本系统 ( M = C = K = Z 2 8 , E , D ) ,再结合定理3.1,将完整的加解密变换具体设计如下:
1) 取一幅数字图像作为明文m (如Lena图像),并将m转换为二元序列 m = m 1 m 2 ⋯ , m j ∈ Z 2 ,将该二元序列按每8比特进行分组,将分组后得到的明文单元序列设为 m ˜ = m ˜ 1 m ˜ 2 ⋯ ,其中 m ˜ 1 = m 11 m 12 ⋯ m 18 ∈ Z 2 8 ,等等。必要时可对m的最后一个分组填充而组成一个8比特分组。
2) 加密变换E: c ˜ j = E ( k ˜ j , m ˜ j ) , j = 1 , 2 , ⋯ ,其中,将系统(3-9)的一个解序列作为256元密钥流序列 k ˜ = k ˜ 1 k ˜ 2 ⋯ ,可得到256元密文单元序列 c ˜ = c ˜ 1 c ˜ 2 ⋯ 。
3) 解密变换D: m ˜ j = D ( k ˜ j , c ˜ j ) , j = 1 , 2 , ⋯ ,可得到明文256元序列 m ˜ = m ˜ 1 m ˜ 2 ⋯ 。然后将每个明文单元 m ˜ j 表示为8比特明文分组就得到解密后的原始二元明文序列 m = m 1 m 2 ⋯ 。最后可恢复出原数字图像m。
将上述流密码算法用于数字图像加解密,从直方图、相邻像素相关性、密钥敏感性以及信息熵四个方面将它与单比特流密码系统进行比较,仿真效果一一介绍如下。
直方图可以直观地反映一幅图像的像素值分布特征。如果密文图像的像素值分布越均匀,那么其抵抗统计攻击的能力越强,算法的安全性越高。在Matlab中,两种流密码算法仿真的加解密效果图及直方图如下图3所示:
图3. 算法仿真效果图
模2加法或单比特流密码算法密文图像的像素分布区间为[0, 255],分布近似呈现周期性或不具有均匀分布,且周期内分布杂乱;密文图像(d)的像素在区间[0, 255]接近均匀分布。因此,与单比特算法密文图像相比,本加密算法加密后的统计特性更好,因而抵抗统计攻击的能力会更强。
像素相关性表示一幅图像中相邻像素之间的关联程度。当数字图像的原图或加密图像相邻像素点之间有较高相关性时,可利用相邻像素预测该点的像素值,进而有可能获取图像信息。可靠的加密算法应保证加密之后的密文图像具有足够弱的像素相关性。衡量图像相邻像素间的相关性主要有定性和定量两种方法:定性的方法是指从水平、垂直以及对角三个方向上直观地显示像素相关性分布图;定量的方法可通过计算相邻像素的相关系数,可利用该量化指标进行衡量。
从Lena原图像和两种加密算法得到的密文图像中随机选取4000相邻像素对,并从水平、垂直以及对角三个方向绘制像素分布图,结果见图4。
图4. 像素相关性分布图
从像素间相关性分布图来看,原图像的像素点在水平、垂直和对角方向上都分布在对角线附近,表明这些方向上相邻像素间的相关性较强;模2算法的密文图像像素点分布在250 × 250整个平面区域内,但像素点在45˚方向上表现出较强的线性关系;本文算法的密文图像像素点在整个区域内均匀分布,相邻像素点的相关性大大减弱,可较好地掩盖原始图像的相关特征。
为定量测试密文图像的相邻像素相关性,在图像各个方向上选取4000个相邻像素点,根据下面的式(4-1)和(4-2)计算100组相邻像素的相关系数,其均值结果如表2所示。
r x y = c o v ( x , y ) D ( x ) × D ( y ) (4-1)
{ c o v ( x , y ) = 1 N ∑ i = 1 N ( x i − E ( x ) ) ( y i − E ( y ) ) E ( x ) = 1 N ∑ i = 1 N x i D ( x ) = 1 N ∑ i = 1 N ( x i − E ( x ) ) 2 (4-2)
方向 | 明文图像 | 模2加法算法 | 本文算法 |
---|---|---|---|
水平方向 | 0.9698 | 0.0367 | 0.0001 |
竖直方向 | 0.9365 | 0.0261 | 0.0004 |
对角方向 | 0.9137 | 0.0016 | −0.0015 |
表2. 相关性仿真数据
对比单比特流密码算法得到的密文图像,本文加密算法得到的密文图像在各个方向上的相邻像素相关系数都更接近0,几乎不存在相关性。
一个好的加密算法应对密钥的变化极其敏感。当密钥仅发生微小变化时,也无法还原出明文图像。为了评估本文所提出的加密算法的密钥敏感度,利用单一变量法,每次仅改变密钥 x 0 、 y 0 、 u 1 和 u 2 其中一个密钥值,改动幅度为1 × 10−14,得到key1、key2、key3和key4四个新密钥。当攻击方获取原密钥加密的原加密图像后,分别利用四个微小改变的新密钥对原加密图像进行解密也无法恢复出明文图像,且解密图像中无有效信息。因此,本文加密系统具有良好的密钥敏感性,可保证密钥空间具有足够多的密钥量(图5)。
图5. 密钥敏感性测试
信息熵为图像所含信息量,可以反映图像的随机性或不确定性。一幅图像的不确定性越强,信息量越大,且信息熵越大。根据图像信息熵的计算公式(4-3)和最大熵原理 [
H ( x ) = − ∑ i = 1 256 P ( x i ) log 2 P ( x i ) (4-3)
其中, x i = i , P ( x i ) 为像素 x i 出现的概率。
明文图像 | 模2加法加密图像 | 本文算法加密图像 | |
---|---|---|---|
信息熵 | 7.4442 | 7.4442 | 7.9971 |
表3. 信息熵对比结果
明文图像和单比特流加密算法得到的密文图像信息熵均为7.4442,而本文加密算法得到的密文图像信息熵为7.9971,接近理想值8。因此,本文加密算法可以更好地抵御信息熵的攻击,具有更好的加密性能。
本文构建了一类新的时变离散时空混沌系统,基于该系统和高阶拉丁方构造了与常见模2加法或1比特流密码算法明显不同的一种多比特流密码算法。通过对数字图像加解密的多种效果分析与对比,验证了本文提出的算法具有可行性和良好的性能与安全性,具有一定的实际应用参考价值。不过,也要指出:复杂度适中的拉丁方及其变换组的流密码系统性构造方法还值得今后进一步研究。
张 瑶,田传俊. 基于拉丁方的混沌图像加密算法设计Design of a Chaotic Image Encryption Algorithm Based on Latin Squares[J]. 计算机科学与应用, 2023, 13(01): 143-153. https://doi.org/10.12677/CSA.2023.131015
https://doi.org/10.1002/j.1538-7305.1949.tb00928.x
https://doi.org/10.1142/S0218127417500602