为了保护电子邮件传输的安全性,我们提出了一种级联加密的保密通信技术。基于预处理和量化处理对超混沌系统产生的序列进行了改进,改进后的序列通过了NIST随机性测试,具有更理想的相关性、更强的伪随机性及不可逆性。级联加密技术可发挥两者各自的优势,提高电子邮件传输的安全性。
一、超混沌序列的改进
我们提出了一个新的四维超混沌系统,其状态方程表示为:
式中,a,b,c,d为系统控制参数。当a=35,b=3,c=35,d=8,4个Lyapunov指数分别为λ1=0.2788,λ2=0.1470,λ3=O,λ4=38.429,有2个正的Lyapunov指数,4个Lyapunov指数之和小于零,是一个超混沌系统。
1、超混沌序列的预处理
当两个同构系统的初态与参数相差较大时,两混沌系统之间的相应变量是互不相干的浮点数序列。然而,当两个同构系统的初态及参数具有微小差异(10-14)时,与单维混沌相比,超混沌得到的两组序列数之间就会存在一定的互相关性,将经过这两组序列量化后得到的O-I序列也存在较强的互相关性,因此有必要对超混沌变量进行预处理,来得到更适合产生序列密码的原始浮点数值序列。
本文采用经典的四阶Runge-Kutta来求解方程(1),系统初始值:x0= 10,Yo =11,zo =12,r=13,控制参数:a=35,b=3,c=35,d=8,积分步长h=0.01,迭代次数n=40000。以x序列的特性为例,得到x序列的3540()~35900项、x的自相关性和x-z的互相关性如图1所示。
按照Golomb公设,理想的伪随机序列应具有3个特性:均匀分布、自相关是δ函数、互相关是零。而在上述条件下,x,y,z,u实数值混沌序列值域分别为(-28,25>,(一32,28),(8,61),(- 82,75),其数学期望分别是Ex -0.0602,Ey—0. 0515.Eu =33. 7305,Eu一-0.0550从图l中可以看出,序列在局部呈现一定的单词性,其均匀分布较差,序列的自相关不是δ函数,互相关也不是理想的零。因此,为了得到更好的伪随机序列,有必要对实数值超混沌序列做如下预处理:
(1)将序列的小数点向右移动志位(k-0,1,2,3,4…);
(2)将序列映射到值域(-0.5,0.5);
整个预处理过程可由下式实现:
式中,round(x)为取最接近整数的运算。
对超混沌序列采用式(2)进行预处理,l值取2,改进后的x序列的35400~35900项、z的自相关性和xz的互相关性如图2所示。
预处理后的结果为:x,y,z,u实数值混沌序列值域均为( -0.6,o.5),其数学期望分别为Ex一0.0013,Ey一2.2918e—005,最后Ex=0. 0014,E一8.8572e- 004,说明序列分布均匀;自相关尖峰值是1,旁瓣的最大值Rj~一0.0162,Rx一0.0152,R .x=0. 0154,Rvx一0163,说明是自相关较理想的占函数;互相关的最大值R-0.0163,R枷ax一0.0191,R-0. 0161,Rnx一0.0173,RWmax -Q.0188,说明互相关近似为理想的零。比较图l和图2可以看出,预处理后的超混沌序列具有良好的均匀分布特性、随机统计特性和相关特性,是非常理想的伪随机序列。
2、量化处理
一般对离散混沌系统的量化方法是设定一个阈值,大于该阈值,量化值取1,否则取0。这种量化方法简单,一步就可产生一位二进制数。对于连续混沌系统,由于系统方程的数值算法较复杂,因此采用两分区间量化时,产生序列密码的速度太慢。综合考虑快速性和随机性两个因素,设计了下述量化方法。
将区间(-0-5,O:S)均分为连续的16等份,每个区间标号为Q~15,相应区间的=进制值为oooo~iiii,如区间6对应的三进制序列为0110。选择序列x'',u''将预处理后的超混沌序列x',u'值映射到相应区间并生成三进制序列x'',u'',在同一步内产生的二值序列按照(x'',n'')的顺序分别映射到密钥序列的相应位置,最终密钥序列的长度为原序列长度的8倍。相比一般离散混沌系统采取的两分Ⅸ间量化方法,该方法提高了产生序列的速度和随机性。
3、伪随机性检验分析
根据Shannon理论,若加密密码序列是完全随机的,则该加密系统是不可破解的。在数字实现方式下,由于存在有限精度效应,因此得到的序列并非是完全随机的,而是伪随机序列。为了确保伪随机序列尽量接近真随机序列,本文采用美国国家标准技术研究院开发的NIST测试组件,它包括16项测试,选取其中相对重要的5项:频数测试、分组频数测试、游程测试、频谱测试和近似熵测试。每个被测二进制序列的长度为10万位,取100组进行测试。每项测试的结果均以P-value表示,若P-value.01,则说明该项测试未通过;否则,说明该项测试通过,测试结果如表1所列。
从测试结果可知,超混沌实值序列经过预处理和量化后产生的O~l二进制密钥流完全通过了随机性测试。
二、级联加密技术的电子邮件保密通信
1、电子邮件保密通信原理
结合常规加密技术,提出本算法的电子邮件保密通信的原理框图,如图3所示。
2、加解密算法
由原理框图3可见,加解密算法按以下几个步骤进行:
(1)用户输入口令字,使用hash算法将口令字和一段随机数结合生成8个double类型的数字,用其小数点后的部分替换原有超混沌系统初始值和控制参数的小数点后的数字,这样,不同的口令将对应不同的初始参数,从而产生不同的超混沌序列;
(2)将第(1)步中获取的参数代入超混沌系统,取迭代次数以-50000,舍弃前10000次迭代产生的序列值,将序列值预处理和量化后得到的二进制序列与电子邮件的明文进行按位异或操作,得到异或后的密文c;
(3)将最后3次迭代产生的z作为3DES加密算法的3个密钥值Kl,K2,K3,对密文G进行3DES加密得密文。
(4)将d送到信道传送;
(5)接收端收到密文矗后,输入一个与加密相同的口令字,采用相同的算法获得4个初始值和4个控制参数;
(6)与第(2)步相同,同样进行n-50000次迭代,取最后3次迭代产生的z,,即为3DES算法的3个密钥值K1,K2,K3,对密文d进行解密得密文c;
(7)再将密文c与二值化处理后的超混沌序列(舍弃前面10000次迭代产生的序列)按位进行异或操作,完成最终解密过程,得到明文。
步骤(1)一(3)是发送端加密过程,步骤(5)一(7)是接收端解密过程,采用因特网传送信号,只要保证加密和解密的密钥相同,迭代次数相同,就能在接收端正确解密出明文。
3、级联加密系统在Outlook电子邮件中的应用
Outlook是应用广泛的电子邮件客户端程序,本文通过Outlook com加载项来实现级联加密系统对电子邮件的加解密功能,软件实现主要包括两个部分:一部分是用VisualBasic开发的ActivcX DLL COM组件,用于加载到Outlook程序中,并通过Outlook的对象模型访问Outlook中的数据;另一部分是用Visual C开发的DLL,包括用于对电子邮件内容进行加密和解密的函数。
具体实现流程如下:
(l)在Outlook 2007中新建一封邮件,输入要发送的邮件内容,加密前的邮件如图4(a)所示;
(2)点击“加载项>>级联加密”按钮,电子邮件内容加密后如图4(b)所示,加密完成后发送电子邮件;
(3)在接收端,接收到经互联网传输后的加密邮件,解密前的邮件如图4(c)所示;
(4)点击“加载项>>级联解密”按钮,完成对邮件的解密操作,如图4(d)所示。可以看出,邮件解密后的内容与加密前的内容完全一致。
4、密钥敏感性分析
一个好的加密系统,其密文必须对密钥很敏感,即密钥很小的一点变化,就会导致密文发生很大的变化。为了测试密钥敏感性,做了以下对比实验:从超混沌系统的4个控制参数和4个变量中任选一个(本文测试中选择6),当参数b-3.387654321时,对明文“这是一封密钥敏感性测试邮件”进行加密,如图5(a)所示,加密后的密文如图5(b)所示;其他条件不变,仅将参数6改为3.387654322,对同样的明文进行加密,加密后的密文如图5 (c)所示。由图5(b)和图5(c)对比可以得出:密钥稍微有点改变后,密文将完全不同。
三、安全性分析
基于提出的超混沌系统,其结构较低维混沌系统复杂,产生的实数值序列更不可预测;系统中有4个变量和4个控制参数,这些都可以用来作为序列系统的种子密钥,算法的密钥空间大大高于应用低维混沌方程构造的序列;对系统输出的实值混沌序列进行处理,可采用单变量或多变量组合的加密混沌序列(本文中选取z和“两个序列进行组合),这样序列的设计灵活,有更大的设计空间,可以提高安全性,为改善有限精度造成的短周期效应提供了解决的可能性。
预处理后的超混沌序列是非常理想的伪随机序列,密钥集合中不存在大量的弱密钥(密钥与输出之间存在超出一个好密码所应具有的相关性)和等效密钥(由一个密钥与输出能推导出另一个密钥与输出)。量化处理采用一种通过均分区间一次迭代生成多比特二进制序列的方法,提高了生成序列的速度和随机性。预处理和量化过程是一种不可逆变换,破译者无法根据截取的密文去重构产生序列密码的混沌系统动力学模型、初始状态等,从而基于相空间重构的攻击、基于回归映射的攻击和基于混沌同步的分析方法都将不起作用,这一加密算法有很高的抗破译能力。
本文中的超混沌加密属于流加密,对分组加密的攻击方法是无效的。同时,对选择明文/密文攻击方法,由于混沌的单向性和混沌信号的迭代处理,异或操作后密钥流的推断几乎不可能。该加密算法没有SrbOX空间,临时变量也比较少,而且通过循环产生密钥流,循环过程中需要寄存的变量有限,运行时占用的空间很少,另外,加密和解密过程是可以重用的,这样所占用的空间就大大缩小。
采用3DES加密算法,解决了DES算法密钥太短的问题,同时也克服了DES中存在的弱密钥和半弱密钥的缺陷;另外,将超混沌序列加密后的密文作为3DES加密级的输入,使得3DES算法的输入和输出间不存在唯一的明文一密文对,从而提高了保密性。在信道中传输的密文是经过双重加密的,可以对抗提出的对混沌系统的识别和对初始值确定的破译方法,从而发挥了两者各自的优势,提高了加密的复杂度。
小知识之Outlook
Microsoft Office Outlook是微软办公软件套装的组件之一,它对Windows自带的Outlook express的功能进行了扩充。Outlook的功能很多,可以用它来收发电子邮件、管理联系人信息、记日记、安排日程、分配任务。目前最新版为Outlook 2016。