基于时变双边混沌符号系统的流密码算法设计
Design of One Stream Cipher Algorithm Based on a Time-Varying Generalized Symbolic Chaotic System
摘要: 在研究了一类时变广义符号动力系统的混沌性及其构造方法的基础上,首先对这类系统所产生的混沌序列进行了一些伪随机性能分析和测试。然后,再综合现有的JK触发器和该系统混沌解序列设计了一种流密码算法。最后,将该算法用于数字图像加密之中,并对加解密效果进行了仿真。仿真效果说明了所设计的序列密码算法在图像加密上具有良好效果。
Abstract: Based on the discussion of time-varying generalized symbolic chaotic systems and its construction method, pseudo-randomness of chaotic sequences produced by this system is firstly analyzed. Then, a stream cipher algorithm is designed based on chaotic sequences of this system and JK flip-flop. Finally, the designed algorithm is used in digital image encryption, and encryption and decryption effect is simulated. Simulation shows that the stream cipher algorithm has good effects in image encryption.
文章引用:田传俊, 黎杏玲, 林敬, 曾泉. 基于时变双边混沌符号系统的流密码算法设计[J]. 计算机科学与应用, 2018, 8(10): 1582-1588. https://doi.org/10.12677/CSA.2018.810173

1. 引言

众所周知,序列密码算法中的密钥流序列一般可利用具有伪随机性的离散系统来产生,而离散混沌系统是用来产生伪随机序列的一种常用方法。考虑到离散时变双边广义符号混沌系统还没有文献研究过,本文将会研究这类特殊系统的混沌性及其在序列密码算法设计上的应用。

Z = { , 1 , 0 , 1 , } 是一个双边整数集, N t = { t , t + 1 , } 是一个单边整数集,对任一 t Z 。文献 [1] - [8] 讨论了多种时变或时不变单边离散时空系统。本文将讨论一类新的时变双边离散时空系统:

x m + 1 , n = f ( m , x m , n 1 , x m , n , x m , n + 1 ) m = 0 , 1 , 2 , n = , 1 , 0 , 1 , (1)

其中,I是实数集R的一个有界子集,多元函数 f : N 0 × I 3 I 是系统(1)的系统函数。

显然,对任意 ϕ = { ϕ 0 , n } n = ,存在一个离散时空序列 x = { x m , n | m = 0 , 1 , 2 , , n Z } 满足(1),且 x 0 , n = ϕ 0 , n n Z 。称x为系统(1)初值为 ϕ 的一个解。参照文献 [5] ,当 I = Z q = { 0 , 1 , , q 1 } 时,将系统(1)称为(时变双边)广义符号动力系统,其中, q N 2

对于任一有界实数子集I,记

I = { { a n } n = = ( , a 1 , a 0 , a 1 , ) | a i I , i = , 1 , 0 , 1 , } (2)

x = { x m , n | m N 0 , n Z } 是系统(1)的一个解, x 0 , n I n Z ,且

x m = ( , x m , 1 , x m , 0 , x m , 1 , ) = { x m , n } n = m N 0 (3)

则系统(1)等价于如下的无穷维离散系统

x m + 1 = { f ( m , x m , n 1 , x m , n , x m , n + 1 ) } n = = g m + 1 ( x m ) m N 0 (4)

其中,该系统映射列 g 1 , g 2 , G = { g m } m = 1 是由f决定或导出的 I 上的一列映射。

上面介绍了本文所要研究的离散时空系统的基本知识,后续内容安排如下:第2节将介绍与Devaney混沌相关的基本概念;第3节将会构造出一类具体的时变双边广义符号混沌系统,将对该系统解序列的伪随机性进行一些常见的仿真分析,并将对所构造的一种混沌序列密码算法进行仿真。

2. 几个定义

一般地,利用度量空间 ( X , d ) 上的一列映射 g 1 , , g n , 都能产生如下形式的时变离散系统

x m + 1 = g m + 1 ( x m ) x 0 X m N 0 (5)

给定任一点 x 0 X ,都存在一个序列 O ( x 0 ) = { x m } m = 0 满足(5)。将 O ( x 0 ) 称为系统(5)初值为 x 0 的一个解或映射列 G = { g n } n = 1 的一条轨道。对任意 x X m = 0 , 1 , ,记

G m ( x ) = g m ( g m 1 ( ( g 1 ( x ) ) ) ) = g m g 1 ( x ) G 0 ( x ) = x (6)

对任一有界实数集I,设 I 由式(2)定义。可定义如下度量 d 1 而得到度量空间 ( I , d 1 )

d 1 ( x , y ) = n = | x n y n | 2 | n | ,对任意 x = { x n } n = , y = { y n } n = I (7)

下面将给出一列映射与混沌相关的几个概念,可参见文献 [4] [5] [6] 。

定义1. 如果 G = { g n } n = 1 的一条轨道 O ( x 0 ) = { x m } m = 0 是周期性的,即存在正整数p,使得 x m + p = x m m N 0 ,则称 x 0 为G或系统(5)的周期点,称p为 x 0 O ( x 0 ) 的周期。如果G的所有周期点组成的集合在X中是稠密的,则称G或系统(5)具有周期点的稠密性。

定义2. 对于度量空间 ( X , d ) 上的一列映射 g 1 , g 2 , ,如果对X的任意两个非空开子集U和V,都存在正整数n,使得 G n ( U ) V 不是空集,则称 G = { g n } n = 1 或系统(5)具有传递性。

另外,如果存在 δ > 0 ,使得对任意 x X 和x的任一邻域U,都存在一个正整数m和 y U ,使得 d ( G m ( x ) , G m ( y ) ) > δ ,则称 G = { g m } m = 1 或系统(5)具有对初值的敏感依赖性。

定义3. 称度量空间 ( X , d ) 上的一列映射 G = { g m } m = 1 或时变离散系统(5)在Devaney意义下是混沌的,简称为Devaney混沌,如果1) G或系统(5)具有传递性;2) G或系统(5)具有周期点的稠密性;(iii) G或系统(5)具有对初值的敏感依赖性。

定义4. 设I是有界实数集, f : N 0 × I 3 I 是一个四元函数,且 G = { g n } n = 1 是由系统(1)所导出的度量空间 ( I , d 1 ) 上的一列映射。如果系统(4)或映射列 G = { g n } n = 1 ( I , d 1 ) 上具有传递性或周期点的稠密性或对初值的敏感依赖性,则相应地称系统(1)或f在 ( I , d 1 ) 上具有传递性或周期点的稠密性或对初值的敏感依赖性。特别地,如果系统(4)或 G = { g n } n = 1 ( I , d 1 ) 上是Devaney混沌的,则称系统(1)在 ( I , d 1 ) 上是Devaney混沌的。

3. 广义符号混沌系统的构造

I = Z q = { 0 , 1 , , q 1 } f : N 0 × I 3 I 定义如下:对任意 x 1 , x 0 , x 1 I m N 0

f ( m , x 1 , x 0 , x 1 ) = a x 1 + c m x 0 + b x 1 mod q = a x 1 c m x 0 b x 1 (8)

其中, q > 1 是一个正整数, a , b Z q 是两个正整数, { c m } m = 是一个周期为p的周期整数数列,即对一切 m N 0 ,有 c m = c m + p Z ,以及a与q互素,且b与q互素。

不难发现,利用式(8)所定义的函数f可以生成如下的时变广义符号动力系统

x m + 1 , n = f ( m , x m , n 1 , x m , n , x m , n + 1 ) = a x m , n 1 c m x m , n b x m , n + 1 x m , n I m , n N 0 (9)

显然,系统(9)是系统(1)的特殊情形,因而它会等价于如下的一个无穷维离散系统:

x m + 1 = g m + 1 ( x m ) x 0 I m N 0 (10)

其中, x m = { x m , n } n = I g m + 1 : I I 是由f所导出的一个映射, m N 0 ,且对任意 α = { u n } n = I ,都有 m N 0

引理1. 式(10)所定义的 G = { g n } n = 1 是周期为p的一列映射,即 g m = g m + p m N 1

事实上,由已知条件和式(9)和(10),对任一 m N 0 和任意 u = { u n } n = I ,有

g m + 1 ( u ) = { a u n 1 c m u n b u n + 1 } n = = { a u n 1 c m + p u n b u n + 1 } n = = g m + 1 + p ( u )

推论1. 设 G = { g n } n = 1 是由系统(10)的一列系统映射,则对一切 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 (11)

利用自然数性质,容易证明如下结果。

引理2. 对任一正整数m和 u , v I = Z q ,存在 s , t I ,使得 u b m s = v a m t u = v

定理1. 系统(9)在度量空间 ( I , d 1 ) 上是Devaney混沌的,其中,度量 d 1 由式(7)定义。

证明:由定义4,只需要证明系统(10)是 ( I , d 1 ) 上的Devaney混沌系统。

首先,将证明系统(10)在 ( I , d 1 ) 上具有传递性。

设U和V是 I 中任意两个非空开子集,则对任一 α = { s n } n = U β = { t n } n = V ,存在常数 θ > 0 ,使得 B θ ( α ) = { x = { x n } n = 0 I | d 1 ( x , α ) < θ } U B θ ( β ) V 。因此,由式(7)可知,存在一个正整数M,使得

{ x = { x n } n = | x i = s i , | i | = 0 , 1 , , M 1 ; x j I ; | j | M } B θ ( α ) { y = { y n } n = | y i = t i , | i | = 0 , 1 , , M 1 ; y j I ; | j | M } B θ ( β ) (12)

对任一 x = { x n } n = I ,记

G 1 ( x ) = g 1 ( x ) = { a x n 1 c 0 x n b x n + 1 } n = = { x n ( 1 ) } n = = x ( 1 )

其中, x ( 1 ) = { x n ( 1 ) = f 0 ( x n 1 , x n ) b x n + 1 } n = = { x n ( 1 ) = a x n 1 h 0 ( x n , x n + 1 ) } n = ,且 f 0 ( x n 1 , x n ) = a x n 1 c 0 x n h 0 ( x n , x n + 1 ) = c 0 x n b x n + 1

一般地,利用递推法,对任意 m = 1 , 2 , x = { x n } n = I ,都有

G m ( x ) = g m ( x ( m 1 ) ) = g m ( ( g 1 ( x ) ) ) = { x n ( m ) } n = = x ( m ) x ( 0 ) = x

其中, G m 由式(6)定义,且

x ( m ) = { x n ( m ) = f m 1 ( x n m , , x n + m 1 ) b m x n + m = a m x n m h m 1 ( x n m + 1 , , x n + m ) } n = (13)

以及 f m 1 : I 2 m I h m 1 : I 2 m I 是由式(8)定义的函数f唯一决定的两个函数, m N 1

由引理2可知,对任一给定的 m N 1 和整数 w I ,都存在整数 u , v I ,使得

f m 1 ( x n m , , x n + m 1 ) b m u = w a m v h m 1 ( x n m + 1 , , x n + m ) = w (14)

对于 α = { s n } n = U β = { t n } n = V ,由式(12),(13)和(14),存在 η = { z n } n = I ,满足 z n = s n ,对 n = M , , 0 , 1 , , M 1 ,且依次选取 z M , z M + 1 , z M 1 , z M 2 , 满足

f M 1 ( z n M , , z n + M 1 ) b M z n + M = t n n = 0 , 1 , 2 ,

a M z n M h M 1 ( z n M + 1 , , z n + M ) = t n n = 1 , 2 ,

因此, G M ( η ) = g M g 1 ( η ) = β V ,且 η U 。于是,系统(10)在 ( I , d 1 ) 上是传递的。

其次,将证明系统(10)在 ( I , d 1 ) 上具有稠密的周期点集。

对任一 α = { s n } n = I α 的任意邻域U,都存在正数 ε 0 和某个充分大整数 M > 0 ,使得 B ε 0 ( α ) U

{ y = { x n } n = I | x i = s i ; x j I , | i | = 0 , 1 , , M 1 ; | j | M } B ε 0 ( α ) (15)

类似于上面传递性证明,一定存在 ρ = { z n } n = B ε 0 ( α ) ,使得

f M 1 ( z n M , , z n + M 1 ) b M z n + M = z n n = 0 , 1 , 2 ,

a M z n M h M 1 ( z n M + 1 , , z n + M ) = z n n = 1 , 2 ,

因此, ρ U G M ( ρ ) = g M g 1 ( ρ ) = ρ U

由式(11),可得 G 2 M ( ρ ) = g 2 M g M + 1 ( g M g 1 ( ρ ) ) = ρ U 。利用归纳法可证:对任意 s N 1 ,都有 G s M ( ρ ) = g s M g 1 ( ρ ) = ρ 。因此, ρ 是系统(10)或映射列 G = { g n } n = 1 的一个周期点。于是,系统(10)在 ( I , d 1 ) 上具有周期点的稠密性。

最后,将证明系统(10)在 ( I , d 1 ) 上具有对初值的敏感依赖性。

α = { s n } n = I ,且U是 α 的任一邻域,则存在 ε 0 > 0 和充分大整数 M N 1 ,使得 B ε 0 ( α ) U 和式(15)成立。因此,类似于上面证明,存在 λ = { t n } n = B ε 0 ( α ) ,使得 t i = s i ,对任意 i { M , , 1 , 0 , 1 , , M 1 } ,且依次选取任一 j { M , M + 1 , } { M 1 , M 2 , } ,存在 t j I ,使得 | t 0 ( m ) s 0 ( m ) | > δ ,以及

t 0 ( M ) = f M 1 ( t M , , t M 1 ) b M t M a 0 ( M ) = f M 1 ( s M , , s M 1 ) b M t M

于是, γ B ε 0 ( α ) U

d ( G M ( α ) , G M ( γ ) ) = i = | t i ( M ) s i ( M ) | 2 | i | | t 0 ( M ) s 0 ( M ) | δ = 0.1

因此,系统(10)在 ( I , d 1 ) 上具有对初值的敏感依赖性。

综合上面的证明过程可知,系统(10)在度量空间 ( I , d 1 ) 上是Devaney混沌的。证毕。

例1. 考虑如下时变离散时空系统

x m + 1 , n = 3 x m , n 1 r m x m , n x m , n + 1 = 3 x m , n 1 + r m x m , n + x m , n + 1 mod 2 (16)

其中, x 0 , n I = Z 2 = { 0 , 1 } r m = 2 m mod ( 5 ) ,对任意 m , n N 0 mod ( ) 表示模2加法运算。

由于系统(16)是时变广义双边符号系统,因此,现有的判断标准无法判断系统(16)是否是Devaney混沌的。但是,由于 { r m } m = 0 都是周期数列,因而系统(16)是系统(9)的特殊情形,且满足定理1中的各项条件。因此,由定理1,系统(16)在度量空间 ( I , d 1 ) 上是Devaney混沌的。

下面来分析系统(16)解的伪随机性能,并利用它来构造一种序列密码算法。

首先,考虑到系统(16)是Devaney混沌的,其解理论上应该是混乱和接近不相关的。下面对系统(16)解序列的混乱性和相关性进行数值计算,并与Logistic系统产生的混沌序列的混乱性和相关性作对比,可见图1,其中(a)和(b)分别为上述符号系统和Logistic系统的解的混乱性,(c)和(d)分别为上述符号系统和Logistic系统的解的相关性。直观上看,符号系统在三维空间中的混乱性比Logistic所在二维空间中的混乱性要更“乱”,且它们的相关性几乎相同。因此,仿真说明本文所研究的符号系统的解序列具有很好的类随机性。

其次,考虑文献 [9] 曾给出了多种序列随机性能的检测方法,下面再来对上述符号系统解序列进行其中的3种最常见随机性检测,即单比特、扑克和游程检验,其中,单比特检测主要用于序列中0和1的均匀分布性检测,扑克检测用于序列的多个连续比特的均匀分布性检测,游程检测用于游程总数的随机性检测。这些都能从某个方面分析序列的随机性能的好坏,其检测仿真效果见表1

最后,再利用系统(16)的解 z = { x m , n } m , n = I 中的数值构造如下的一种流密码系统:

Figure 1. Solution confusion and correlation

图1. 解的混乱性与相关性

Table 1. Three common random number detection results

表1. 三种常见随机数检测结果图

1) 选择一副数字灰度图像作为明文,利用Matlab语言将该图像表示为数字矩阵 I = ( m i j ) 256 × 256 ,其中,每个明文数值 m i j Z 256 = { 0 , 1 , , 255 }

2) 先选取一个JK序列,以它作为初始值,再利用系统(16)的某个解 z = { x m , n } 来产生密钥流序列,并将该二元密钥流序列转化为值为0~255的序列;

3) 加密变换: c i j = x i j m i j ,其中, c i j 表示密文数值, 表示逐比特异或运算;

4) 解密变换: m i j = x i j c i j

将上述简单加密算法与基于常见的Logistic系统加密算法进行对比,它们的Matlab仿真效果可参见图2

直观上,由图2可以看出,两种算法都能进行正确的加解密。而且,再对图2中两种算法加密效果图的3种方向的相关性进行仿真计算,计算结果可见表2

Figure 2. Add and decrypt renderings

图2. 加解密效果图

Table 2. Correlation coefficient between original image and encrypted image

表2. 原始图像和加密图像的相关系数

表2中,可以看出,原始图像在各个方向的相关系数都接近1,而加密图像各个方向的相关系数则都在0左右。而且,利用本文符号系统加密的效果比利用Logistic系统加密的效果略有改善。这说明本文符号加密系统更有利于有效抵御统计攻击。

4. 小结

本文研究了时变双边广义符号系统的混沌类随机性,并对该系统所产生的序列进行了多种伪随机性能分析,分析说明系统解序列的伪随机性能优良。在此基础上,构造了一种序列密码算法,仿真实验说明了该算法在数字图像加密中具有良好的效果。本文的研究在混沌序列密码算法研究领域具有一定的指导意义。

参考文献

[1] Devaney, R.L. (1989) An Introduction to Chaotic Dynamical Systems. 2nd Edition, Addision-Wesley, NY.
[2] Elaydi, S.N. (2000) Discrete Chaos. Chapman & Hall/CRC.
[3] Chen, G., Tian, C.J. and Shi, Y.M. (2005) Stability and Chaos in 2-D Discrete Systems. Chaos, Solitons and Fractals, 25, 637-647.
https://doi.org/10.1016/j.chaos.2004.11.058
[4] Tian, C.J. and Chen, G. (2006) Chaos of a Sequence of Maps in a Metric Space. Chaos Solitons and Fractals, 28, 1067-1075.
https://doi.org/10.1016/j.chaos.2005.08.127
[5] 田传俊, 陈关荣. 广义符号动力系统的混沌性[J]. 应用数学学报, 2008, 31(3): 440-446.
[6] Shi, Y.M. and Chen, G. (2009) Chaos of Time-Varying Discrete Dynamical Systems. Journal of Difference Equations and Applications, 15, 429-449.
https://doi.org/10.1080/10236190802020879
[7] 田传俊, 李佳佳, 曾泉, 刘明刚. 时变广义符号动力系统的混沌性及其在流密码中的应用[J]. 信息安全与技术, 2016, 7(9-10): 33-36.
[8] 田传俊, 刘明刚, 郝红建, 李佳佳. 二维时变离散时空系统的混沌性及其在流密码中的应用[J]. 信息安全与技术, 2015(7): 71-75.
[9] 李大为, 冯登国, 陈华, 等, 编. 随机性检测规范[S]. 国家密码管理局, 2009.