混沌同步保密通信和信息加密是近年发展起来的新研究领域,利用混沌变量的宽带、似噪声特性、以及对初始状态极为敏感的特点,可以设计出超混沌加密算法。由于其处理速度和密钥长度无关,因此超混沌加密算法的计算效率较高,安全性好。那么今天,就给大家介绍一下这种超混沌加密算法。

一、超混沌加密算法描述

1、超混沌加密算法原理

一般混沌系统是一种典型的三维现象,其特点是只有一个正的李雅普诺夫指数,其运动轨迹只在某个方向上产生不稳定性。在自然界中普遍存在高维非线性系统,它们有不止一个正的李雅普诺夫指数,其运动轨迹在两个以上的方向出现指数型的发散轨迹,这种混沌态被称为超混沌。

从安全性的角度考虑,因为超混沌系统比低维混沌系统具有更复杂的相空间,用它设计的加密算法不易被一类基于混沌同步的分析方法破译。

2、超混沌加密算法实现过程

以用Rossler系统和Lorenz系统构造的超混沌系统为例,加密端方程式:

式中,s——中间变量,s—m+3x2;c——密文,c一10x5+30s/x6; m——明文。

解密端方程式:

式中,s1为解密端方程中的中间变量,s1=(c-10y5)y6/30;c——密文。

恢复的明文为mr=s1-3y2

如果加密端方程与解密端方程的参数、初始状态完全相等,且没有信道传输差错,则密文能精确恢 复到明文,即有mr=m。

二、超混沌加密算法的软件实现

对超混沌系统采用欧拉法进行数值积分,步长取0.01。程序用Vc++6.0编写。加密软件面向二进制数,使之适用于任何文件类型。以64位为一个单元进行处理。加密时,将读入的二进制数和经放大的混沌信号进行异或运算,解密时作同样处理。处理前后的文件字节数不变。

程序根据用户输入的口令对混沌系统的参数、初始状态和程序运行参数进行重载。将口令通过安全通道传送给接收方。接收方输入相同的口令才能解密。设置了高、标准、低三档保密级别,默认值为标准。

程序的主要流程如下:

1、启动程序进入主窗口,内部预置为标准加密强度,允许打开文件操作;

2、用户选定加密/解密功能、加密级别,并打开文件后,允许输入口令操作;

3、输入口令并检查合格后,界面线程启动,允许“开始处理”按钮;

4、工作者线程启动,根据从界面线程处获得的信息开始加密或解密,并允许中断操作,此时界面线程等待用户中断和工作者线程消息;

5、若收到用户中断命令,立即中断工作者线程的执行,否则直到加密/解密完成;

6、界面线程收到工作者线程加密/解密完成消息后,终止工作者线程,整理界面,恢复界面初始状态,并准备好下一次加密/解密前的工作。

三、超混沌加密算法的安全性分析

经过加密,真实信号完全被混沌信号淹没,在信号通道传送的是混沌信号。由于混沌信号的频谱宽、形似噪声等特点,使攻击者很难从中提取真实信号。

真实信号和混沌信号不是进行简单的相加运算,而是异或运算,得到的结果已偏离原来的混沌吸引子,因此用统计分析方法,或用相空间重构等方法估计混沌系统的参数,都是无效的。此外,超混沌系统的相对空间较复杂,增加了破译的难度。

通过以上分析说明,超混沌加密算法能抵御一类针对混沌的分析破译方法。

综上所述,超混沌加密算法可用于任何类型文件的加、解密,超混沌算法的安全性好,解密精确恢复,速度满足一般文件加密系统的要求。

小知识之欧拉法:

欧拉法(euler method)是以流体质点流经流场中各空间点的运动即以流场作为描述对象研究流动的方法