《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于嵌入式系统的混沌数字图像加密研究
基于嵌入式系统的混沌数字图像加密研究
来源:电子技术应用2012年第3期
凌大旺,禹思敏
广东工业大学 自动化学院,广东 广州510006
摘要: 常用的PC级加密算法运算量过大,不适合在嵌入式设备上运行。为了使嵌入式设备的数据存储及传输能够安全地进行,利用混沌信号对数据进行加密以提高嵌入式设备数据的安全性。在ARM2440+Linux平台上实现了混沌信号生成功能并利用混沌信号对数字图像进行加密的实验,最终生成加密后的一份密文信息。
中图分类号: TP751
文献标识码: A
文章编号: 0258-7998(2012)03-0020-03
Research on chaotic encryption of digital image based on embedded systems
Ling Dawang,Yu Simin
Faculty of Automation, Guangdong University of Technology, Guangzhou 510006,China
Abstract: The ordinary encryption algorithm based on the computer is not suitable for the embedded devices due to considerable computation. But in order to protect the data in embedded system when saving or transmitting, encrypt the data with chaotic characteristic as well as porting it in the embedded devices improves the security of data transmission. Do some experiment which include chaotic signals and encrypt the data with chaotic signals in the ARM2440 + Linux platform, at last create an encrypt file.
Key words : chaotic encryption;embedded system;ARM;image encryption;Linux

    随着信息技术的飞速发展,人们使用手机、PDA处理电子商务、金融证券的网上交易、手机银行和平板电脑进行数据传输的频率也在不断地提高。但是用户的个人重要信息(如密码、身份认证、交易信息等)并没有得到很好的保护,信息一旦被非法入侵者窃取,就有可能造成巨大的损失。因此,信息安全对这类设备来说极其重要,这就要求此类的嵌入式系统设备应该具有很好的数据保密功能。但是目前很多加密算法都是针对PC级的并不适合在嵌入式设备中运行[1]。

    混沌信号对初始条件高度敏感,即使是两个完全相同的混沌系统从几乎相同的初始条件开始演化,而它们的轨道将很快变得互不相关,这使混沌信号具有长期不可预测性和抗截获能力。同时混沌系统本身又是确定性的,完全由非线性系统的方程、参数和初始条件所决定,因此又使混沌信号易于产生和复制。混沌信号的隐蔽性、不可预测性、高复杂度和易于实现等特性都特别适用于保密通信[2]。而且混沌具有的初值敏感、参数可控性和伪随机性的特性,正好吻合数据加密的两条原则:扩散和混乱。故混沌算法很适合用来进行数据加密[3]。
1 嵌入式系统图像混沌加密实现原理[4]
1.1 混沌加密原理

    混沌信号用于数据保密通信中有多种形式,混沌保密是利用混沌信号的各种特性来实现的。在数据的发送端将其作为密钥明文信息和混沌信号经加密变换后形成密文,然后在信道中传送,在接收端知道解密密钥和解密变换的合法用户,能够得到正确的明文。这种加密原理主要是源于传统的对称密钥加密算法。
    混沌加密中一个重要的因素是混沌同步,其决定混沌信号能不能运用到加密中,用能够同步的混沌信号加密才能正确解密。所谓混沌同步是指一个系统的混沌动力学轨道收敛于另一个系统的混沌动力学轨道,以致两个系统在以后的时间里始终保持步调的一致。目前常用的混沌同步方法主要有以下几种:驱动-响应同步及串联同步法、主动-被动同步法、互耦合混沌同步法、自适应同步方法和神经网络同步方法等[5]。本文所用的Chen系统是使用系统中的X作为驱动变量来实现驱动-响应同步。下面以Chen系统为例对系统进行研究。

2 ARM 嵌入式Linux系统的软硬件平台
2.1 系统的硬件平台

    加密系统平台采用三星公司的32 bit微处理器S3C2440A。该处理器内部集成了ARM920T内核,能够实现MMU、AMBA、BUS和Harvard高速缓冲体系结构。带有独立的16 KB指令Cache和16 KB数据Cache,并且集成了很多外围设备接口,如RAM控制器、Nand Flash控制器、10/100 M以太网接口、LCD控制器、并行I/O口,主频最高可达533 MHz[6]。
    硬件平台配置了256 MB 8 bit NAND Flash、64 MB 32 bit的SDRAM。通过以太网控制器芯片DM9000扩展了一个网口、一个SD卡接口、I/O扩展接口、触摸屏接口、RS-232串行通信接口。另外,硬件平台上还有一些扩展模块:一个I/O扩展电路接口,用于现场数据的采集;GPRS模块接口,用于发送和接收加密后的数据。主板也可以通过以太网接口与外界通信,在实验中主要是通过以太网以NFS来挂载加密系统在平台上运行。系统硬件结构图如图2所示。

 

 

2.2 嵌入式Linux系统
    目前市面上很多嵌入式设备特别是消费类产品都移植了嵌入式Linux系统。因为Linux系统是开源的,运用到商业中不需要支付庞大的版权费,而且Linux系统的可靠性高。因此,本实验中的平台移植的是嵌入式Linux系统[7]。
    整个系统的架构如图3所示:最底层是引导加载Linux内核程序的bootloader,系统中采用的是三星公司自行研发的Supervivi;中间的是Linux 2.6.32.2 版本的内核,在移植Linux系统时考虑到暂时不需要使用太多的资源,同时为减少CPU资源的开销,将内核做了充分的裁剪,在内核中包含了初始化平台的各个函数、串口终端、LCD、以太网及相关的设备驱动等;根文件系统也是嵌入式Linux中不可缺少的一部分,这一层中包涵了嵌入式平台的必不可少的bin文件;最顶层是用户应用程序,用于产生混沌信号,加解密程序都放在其中。


3 数字图像混沌加解密系统的设计
    混沌加密系统中,混沌加密算法的设计至关重要,它决定了混沌加密系统的安全性以及执行效率。实验中设计的加密算法采用传统的置乱算法和混沌加密相结合的方法,传统的置乱加密并不能改变图像的灰度统计特性,而在置乱的同时如果加上混沌加密就能够很好地改变图像的灰度统计特性。混沌加密所需的密码流是采用Chen系统产生的混沌序列。
3.1 加密算法的设计
    根据参考文献[3]提出的思想,结合传统加密技术,本文提出的实现算法是基于传统置乱与混沌加密相结合的方法,其加密原理框图如图4所示。


使得各分量的灰度值遍历整个灰度空间,使混沌的扩散现象在加密中得到充分的体现,满足了加密文件的安全性能要求。正是由于混沌的这种特性使得入侵者很难通过加密图像的灰度值统计特性破译文件,从而增加了密文图像的安全性。
    实验中设计了一种在嵌入式Linux系统上实现对BMP图像进行混沌加密与传统加密相结合的算法并且在MINI2440平台上实现。实验结果达到了设定的目标,加密性能满足实际应用中的标准。将该算法移植到嵌入式系统设备中运行,可使用户的数据得到较好的保护。下一步还需要对该算法进行改进,同时利用更为复杂的混沌系统作为密码流对信息进行加密,使得该算法在嵌入式设备加密的速度更高,达到实时的效果。
参考文献
[1] 张慧源,禹思敏.基于混沌加密的嵌入式通信系统的研究[J].微计算机信息,2005,21(11):31-32.
[2] PECORA L M,CARROLL T L.Synchronization in chaotic systems[J].Physical Review Letters,1990,64(8):821-824.
[3] 禹思敏.混沌系统与混沌电路:原理、设计及其在通信中的应用[M].西安:西安电子科技大学出版社,2011.
[4] 王培荣,徐酷,付冲,等.复合混沌数字图像加密算法[J]. 通信学报,2006,27(z1):285-289.
[5] 禹思敏,丘水生,罗伟民.混沌同步通信系统若干问题的实验研究与分析[J].华南理工大学学报,2000,28(10):87-91.
[6] Samsung公司.S3C2440A user's manual revision 1.0.2004.
[7] 韦东山.嵌入式Linux应用开发完全手册[M].北京:人民邮电出版社,2008.

此内容为AET网站原创,未经授权禁止转载。