1. 引言
随着信息技术的发展,密码学已经成为防止数据泄露、保护数据安全的重要手段。流密码是密码学中常见的一种密码算法,在信息安全领域中有着广泛应用 [1] [2] [3]。根据现代密码学可知,常见的流密码算法都是以模加法运算所建立的完善保密通信模型为理论基础,这导致了近几十年以来模2加法或2元加法或单比特流密码算法得到广泛研究和应用。但是,常见的二元流密码算法的基本加解密变换或运算过于简单而导致其性能存在一些不足 [4] [5]。近几年中,文献 [2] 将模加法流密码的理论模型推广为更一般的基于拉丁方变换的理论模型,将会极大促进流密码算法的理论及其应用的研究。文献 [2] 明确指出流密码算法设计分为两个部分:基本系统和密钥流生成器设计(或主密钥空间设计),且任意阶拉丁方都可用于设计基本系统,并有可能实现理想安全的完善保密通信。不难发现,二元加法流密码的基本加解密变换本质上是由2阶拉丁方决定的。由于拉丁方的阶数决定了基本系统的复杂度和加解密难度,因而寻求高于2阶或1比特的拉丁方基本密码系统将有利于设计出安全性更高和性能更好的密码算法。然而,当前利用高阶或多比特拉丁方来设计基本密码系统和流密码算法的研究还未充分发展,有许多问题都值得进一步研究。
另一方面,密钥流序列也会极大地影响流密码算法的安全性和性能,其中的一个关键问题是如何设计出随机性优良的密钥流生成器。一个良好的密钥流生成器应满足输出的密钥流具有较强的不可预测性以及抵抗统计分析的能力。当前,利用离散混沌系统来构造密钥流序列及其相应的流密码算法受到了广泛关注和研究。在混沌序列密码算法研究中,根据各类文献发现,离散混沌系统的构造类型多样且类随机性能优良,但对多维时变离散混沌时空系统的研究相对较少。因此,本文拟对一类二维时变离散时空系统的混沌性进行分析或研究其在流密码算法中的应用,可参见图1。

Figure 1. Schematic diagram of key flow generator based on discrete spatiotemporal system
图1. 基于二维离散时空系统的密钥流生成器结构示意图
设Z为全体整数集, 
 ,
  为单边整数集,I为有界实数集,且
  (1-1)
其中, 
 ,
  和 
  是两个三元函数,称 
  为系统(1-1)的系统函数。不难验证:给定两个序列 
  和 
 ,存在一个二维离散时空序列 
  满足(1-1),且 
  和 
 ,
 。称z为系统(1-1)初值为 
  的一个解。为了方便,下面将列向量 
  与行向量 
  不加区别。
记
  (1-2)
不难验证,在 
  上定义一个映射 
  可得到一个度量空间 
  :
 ,
 ,
 . (1-3)
设 
  是系统(1-1)的一个解, 
 ,
 ,且
 ,
  (1-4)
则系统(1-1)等价于下式(1-5)中的无穷维离散系统:
 ,(1-5)
其中, 
 ,
  是由 
  所决定的 
  上的一列映射。称(1-5)或 
  是由系统(1-1)或 
  所导出的离散系统或映射列。
2. 拉丁方的构造方法
下面先给出一种拉丁方的构造方法,以便为基本系统设计做好准备。
定理2.1设n是一个自然数。对任意 
  和 
 ,记
  (2-1)
则 
  是一个2n阶拉丁方,其中, 
  是异或运算, 
  表示比特a的补运算,并将 
  与 
  对应的数不加区别,且对任意 
 ,映射 
  定义为
 .
证明:对任一固定的 
 ,下面证明当k依次取遍 
  中的每一个整数时,L第m行的所有元素 
  将是互不相同的整数,即为 
 。否则,将存在两个不同的整数 
  和 
 ,使得
 ,
即 
 。因此,存在一个整数r,使得 
 。由于
  和 
 ,
因而 
  和 
 。于是,依次可推出
 ,
 ,
 ,
 ,
 .
这样就有 
 ,
 ,
 ,
 ,
 ,即 
 ,矛盾!由此证明了方阵L的每一行取遍 
  中的每一个整数。类似可证明L的每一列也取遍 
  中的每一个整数。因
此,L是一个2n阶拉丁方。证毕!
由定理2.1可知,当 
  时可得到如下28阶拉丁方L:
 ,
 
其中,方阵是文献 [6] 中所构造的28阶拉丁方,且L比H 的构造方法要更复杂一些。本文将基于L 所设计的基本密码系统设为 
 ,其中,L的第k行是将基本明文空间 
  依次作加密变换所得到的基本密文单元,即对任一 
 ,按照式(2-1)中当 
  时的公式加密可得到密文 
 ,且基本解密变换如下:对任意 
 ,
 ,
 .
3. 新混沌离散系统及其伪随机性分析
设 
 ,并定义两个函数 
  和 
  :
  和 
 , (3-1)
其中, 
 ,
 ,
  和 
  都是周期数列,即存在正整数p,使得 
 ,
 ,
  和 
 ,对一切 
 ,且 
  表示实数u的小数。
不难发现,上述映射 
  可产生如下的二维时变离散时空系统
  (3-2)
其中, 
 ,对任一 
 。参照现有文献可以发现,该二维时变离散时空系统(3-2)
的Devaney混沌性还没有被研究过。参照系统(1-1)和系统(1-5)之间的关系可知,系统(3-2)会等价于如下
离散系统:对 
 ,
 ,(3-3)
其中, 
  是由f和g决定的映射,即对任一 
 ,都有
 ,
 . (3-4)
参照文献 [7] [8] [9] [10],易得如下引理及推论。
引理3.1式(3-3)中映射列 
  是周期为p的周期序列,即 
 ,
 。而且,对一切 
 ,都有
 .
记式(3-3)定义的映射列 
  所确定的复合映射为
 ,
 . (3-5)
引理3.2对任一给定的常数 
 ,
  和 
 ,存在 
 ,使得 
 。
定义3.1若式(1-1)的系统函数 
  所确定的映射列 
  或系统(1-5)在度量空间 
  上具有传递性、周期点的稠密性和初值敏感依赖性,则称 
  或系统(1-5)是Devaney混沌的,也称与系统(1-5)相应的等价系统(1-1)在 
  上是Devaney混沌的。
定理3.1在上述条件下,离散系统(3-2)是 
  上的Devaney混沌系统。
证明:由定义3.1可知,只需证明系统(3-3)在 
  上是Devaney混沌的,即该系统具有周期点的稠密性、传递性和初值的敏感依赖性。首先将证明该系统具有周期点的稠密性。
对于给定的任一点 
  和 
  的任一邻域 
 ,都存在 
 ,使得
 .
根据式(1-3)中 
  的定义知,存在整数 
 ,使得
  (3-6)
对任意一点 
 ,记
 ,
 ,
其中, 
 ,且
 ,
以及 
  和 
 。
由递推法可知,对任意 
  和 
 ,有
 ,
其中, 
  和 
  是两个多元函数, 
  和 
 ,且
 . (3-7)
由已知条件可知,对任一 
 ,都有 
  和 
 。由引理3.2,对任一固定的 
 ,
  和 
 ,都存在实数 
 ,使得
  和 
 . (3-8)
对于 
 ,由式(3-6)、(3-7)、(3-8),存在一点 
 ,使得 
 ,
 ,且 
  依次满足:
 ,
 ,
 .
因此, 
  和 
 ,即 
  是 
  的一个周期点。于是,系统(3-3)在 
  上具有周期点的稠密性。同样地,可利用与上述类似的方法证明系统(3-3)还具有传递性和初值敏感依赖性。故系统(3-3)在 
  上是Devaney混沌的。证毕!
例1:设二维时变离散时空系统为
  (3-9)
其中, 
  和 
 ,对任意 
 。
基于现有文献无法断定上述系统是否具有Devaney混沌性。但由于该系统是(3-2)的特殊情形,结合定理3.1可知,该系统是 
  上的Devaney混沌系统。
下面通过SP800-22Rvlla标准系统检验例1系统混沌解序列的伪随机性能,其中,SP800-22Rvlla标准由美国国家标准技术研究所提出的专门针对随机数或伪随机数发生器产生的二进制随机序列的统计测试法。对长度为1×106的混沌序列进行伪随机性检验,设置比特序列长度为106,显著性水平为0.01,当测试p值大于显著性水平时,检验通过,测试结果见表1,且混乱性可见图2。

Table 1. Test results of SP800-22Rvlla
表1. SP800-22Rvlla测试结果

Figure 2. Confusion and autocorrelation of solutions
图2. 解的混乱性和自相关性
4. 基于拉丁方的多比特流密码算法
4.1. 算法描述
先将基本系统设计为上述8比特的拉丁方基本系统 
 ,再结合定理3.1,将完整的加解密变换具体设计如下:
1) 取一幅数字图像作为明文m (如Lena图像),并将m转换为二元序列 
 ,
 ,将该二元序列按每8比特进行分组,将分组后得到的明文单元序列设为 
 ,其中 
 ,等等。必要时可对m的最后一个分组填充而组成一个8比特分组。
2) 加密变换E: 
 ,
 ,其中,将系统(3-9)的一个解序列作为256元密钥流序列 
 ,可得到256元密文单元序列 
 。
3) 解密变换D: 
 ,
 ,可得到明文256元序列 
 。然后将每个明文单元 
  表示为8比特明文分组就得到解密后的原始二元明文序列 
 。最后可恢复出原数字图像m。
4.2. 实验结果及分析
将上述流密码算法用于数字图像加解密,从直方图、相邻像素相关性、密钥敏感性以及信息熵四个方面将它与单比特流密码系统进行比较,仿真效果一一介绍如下。
4.2.1. 直方图分析
直方图可以直观地反映一幅图像的像素值分布特征。如果密文图像的像素值分布越均匀,那么其抵抗统计攻击的能力越强,算法的安全性越高。在Matlab中,两种流密码算法仿真的加解密效果图及直方图如下图3所示:

Figure 3. Simulation renderings of two algorithms
图3. 算法仿真效果图
模2加法或单比特流密码算法密文图像的像素分布区间为[0, 255],分布近似呈现周期性或不具有均匀分布,且周期内分布杂乱;密文图像(d)的像素在区间[0, 255]接近均匀分布。因此,与单比特算法密文图像相比,本加密算法加密后的统计特性更好,因而抵抗统计攻击的能力会更强。
4.2.2. 相邻像素相关性分析
像素相关性表示一幅图像中相邻像素之间的关联程度。当数字图像的原图或加密图像相邻像素点之间有较高相关性时,可利用相邻像素预测该点的像素值,进而有可能获取图像信息。可靠的加密算法应保证加密之后的密文图像具有足够弱的像素相关性。衡量图像相邻像素间的相关性主要有定性和定量两种方法:定性的方法是指从水平、垂直以及对角三个方向上直观地显示像素相关性分布图;定量的方法可通过计算相邻像素的相关系数,可利用该量化指标进行衡量。
从Lena原图像和两种加密算法得到的密文图像中随机选取4000相邻像素对,并从水平、垂直以及对角三个方向绘制像素分布图,结果见图4。

Figure 4. Pixel correlation distribution
图4. 像素相关性分布图
从像素间相关性分布图来看,原图像的像素点在水平、垂直和对角方向上都分布在对角线附近,表明这些方向上相邻像素间的相关性较强;模2算法的密文图像像素点分布在250 × 250整个平面区域内,但像素点在45˚方向上表现出较强的线性关系;本文算法的密文图像像素点在整个区域内均匀分布,相邻像素点的相关性大大减弱,可较好地掩盖原始图像的相关特征。
为定量测试密文图像的相邻像素相关性,在图像各个方向上选取4000个相邻像素点,根据下面的式(4-1)和(4-2)计算100组相邻像素的相关系数,其均值结果如表2所示。
  (4-1)
  (4-2)

Table 2. Correlation simulation data
表2. 相关性仿真数据
对比单比特流密码算法得到的密文图像,本文加密算法得到的密文图像在各个方向上的相邻像素相关系数都更接近0,几乎不存在相关性。
4.2.3. 密钥敏感性
一个好的加密算法应对密钥的变化极其敏感。当密钥仅发生微小变化时,也无法还原出明文图像。为了评估本文所提出的加密算法的密钥敏感度,利用单一变量法,每次仅改变密钥 
  、 
  、 
  和 
  其中一个密钥值,改动幅度为1 × 10−14,得到key1、key2、key3和key4四个新密钥。当攻击方获取原密钥加密的原加密图像后,分别利用四个微小改变的新密钥对原加密图像进行解密也无法恢复出明文图像,且解密图像中无有效信息。因此,本文加密系统具有良好的密钥敏感性,可保证密钥空间具有足够多的密钥量(图5)。
4.2.4. 信息熵分析
信息熵为图像所含信息量,可以反映图像的随机性或不确定性。一幅图像的不确定性越强,信息量越大,且信息熵越大。根据图像信息熵的计算公式(4-3)和最大熵原理 [11], 当图像灰度值范围为[0, 255]时,理论最大信息熵达到8。明文图像和密文图像的信息熵结果如表3所示。
  (4-3)
其中, 
 ,
  为像素 
  出现的概率。

Table 3. Comparison of information entropy
表3. 信息熵对比结果
明文图像和单比特流加密算法得到的密文图像信息熵均为7.4442,而本文加密算法得到的密文图像信息熵为7.9971,接近理想值8。因此,本文加密算法可以更好地抵御信息熵的攻击,具有更好的加密性能。
5. 小结
本文构建了一类新的时变离散时空混沌系统,基于该系统和高阶拉丁方构造了与常见模2加法或1比特流密码算法明显不同的一种多比特流密码算法。通过对数字图像加解密的多种效果分析与对比,验证了本文提出的算法具有可行性和良好的性能与安全性,具有一定的实际应用参考价值。不过,也要指出:复杂度适中的拉丁方及其变换组的流密码系统性构造方法还值得今后进一步研究。