基于嵌入式系统的混沌数字图像加密研究
扫描二维码
随时随地手机看文章
摘 要: 常用的PC级加密算法运算量过大,不适合在嵌入式设备上运行。为了使嵌入式设备的数据存储及传输能够安全地进行,利用混沌信号对数据进行加密以提高嵌入式设备数据的安全性。在ARM2440+Linux平台上实现了混沌信号生成功能并利用混沌信号对数字图像进行加密的实验,最终生成加密后的一份密文信息。
关键词: 混沌加密;嵌入式系统;ARM;图像加密;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所示。