基于嵌入式系统的混沌数字图像加密研究*

2012-09-15 06:17凌大旺禹思敏
电子技术应用 2012年3期
关键词:数字图像加密算法嵌入式

凌大旺,禹思敏

(广东工业大学 自动化学院,广东 广州510006)

基于嵌入式系统的混沌数字图像加密研究*

凌大旺,禹思敏

(广东工业大学 自动化学院,广东 广州510006)

常用的PC级加密算法运算量过大,不适合在嵌入式设备上运行。为了使嵌入式设备的数据存储及传输能够安全地进行,利用混沌信号对数据进行加密以提高嵌入式设备数据的安全性。在ARM2440+Linux平台上实现了混沌信号生成功能并利用混沌信号对数字图像进行加密的实验,最终生成加密后的一份密文信息。

混沌加密;嵌入式系统;ARM;图像加密;Linux

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

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

1 嵌入式系统图像混沌加密实现原理[4]

1.1 混沌加密原理

混沌信号用于数据保密通信中有多种形式,混沌保密是利用混沌信号的各种特性来实现的。在数据的发送端将其作为密钥明文信息和混沌信号经加密变换后形成密文,然后在信道中传送,在接收端知道解密密钥和解密变换的合法用户,能够得到正确的明文。这种加密原理主要是源于传统的对称密钥加密算法。

混沌加密中一个重要的因素是混沌同步,其决定混沌信号能不能运用到加密中,用能够同步的混沌信号加密才能正确解密。所谓混沌同步是指一个系统的混沌动力学轨道收敛于另一个系统的混沌动力学轨道,以致两个系统在以后的时间里始终保持步调的一致。目前常用的混沌同步方法主要有以下几种:驱动-响应同步及串联同步法、主动-被动同步法、互耦合混沌同步法、自适应同步方法和神经网络同步方法等[5]。本文所用的Chen系统是使用系统中的X作为驱动变量来实现驱动-响应同步。下面以Chen系统为例对系统进行研究。

1.2 Chen系统的状态方程

Chen系统的无量纲状态方程的数学表达式为:

式中,a、b、c 为系统参数,a=35,b=3,c=28。

式中,T=0.002,n为迭代数。

根据式(2)及相关的参数,在Matlab中仿真得到Chen系统的混沌吸引子的相图以及用x变量驱动的同步相图如图1所示。

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所示。

(1)原始图像信息P首先被传送到传统加密器中,经过置乱技术置乱像素,在密匙k0加密下得到加密密文C;

(2)将经过置乱后生成的密文C传送到混沌加密器中,利用Chen系统产生的混沌序列k1进行加密得到混沌加密密文D,同时生成了加密图像P′。

3.2 基于高维混沌系统的图像加密程序流程

根据本文的加密算法对其进行嵌入式C语言的编程。首先对相关的函数进行初始化,初始化完成之后紧接着判断用户的使用规则符不符合函数用法规则(这里面包括原图像和加密图像的文件名)。在进行混沌加密前对图像进行传统的置乱加密,是因为Chen系统已经过Euler离散化,通过迭代产生混沌序列同时将经过传统置乱加密的信息加入到混沌序列中,以此来达到加密的最好效果。根据嵌入式系统的开发原则,对跨平台开发的程序进行交叉编译,系统中使用arm-linux-gcc交叉编译工具。因此在交叉编译前需要在PC机上安装arm-linux-gcc交叉编译工具,使用交叉编译工具编译后生成目标板可执行的目标代码。加密算法的流程图如图5所示。

4 系统实现结果与安全性能分析

4.1 实现结果

基于Chen系统的数字图像加密算法在嵌入式Linux平台上的实现结果如图 6所示。图 6(a)为 16 bit深度的BMP图像,选取16 bit深度的原因是在嵌入式Linux平台中设备驱动framebuffer只支持RGB565格式的BMP图像,同时为了与MINI2440平台上的TFT LCD匹配,使之能够完美地显示出原始图像的色彩;图 6(b)为加密信号经过转换后得到的图像,由于经过混沌加密后的图像是32 bit的,不能够直接显示出来,所以需要转换成RGB565格式的BMP图像才能够正常显示;图 6(c)为经过逆运算后得到的解密图像。

4.2 安全性能分析

安全性能分析主要是针对BMP图像灰度值的统计特性。利用MATLAB计算出原图像与加密后的灰度信息进行对比。

原图像的RGB分量灰度值的统计直方图如图7所示。由图可知,各个分量所在的灰度值的取值范围各有区别。如果利用传统的置乱方法进行加密,图像的灰度值统计特性并没有发生改变,几乎与原始图像的灰度值统计特性保持一致。

加密图像RGB分量灰度值的统计直方图如图8所示,从图7与图8的对比中可以得出:经过置乱与混沌加密的图像其灰度值统计特性已经发生了明显的改变,

使得各分量的灰度值遍历整个灰度空间,使混沌的扩散现象在加密中得到充分的体现,满足了加密文件的安全性能要求。正是由于混沌的这种特性使得入侵者很难通过加密图像的灰度值统计特性破译文件,从而增加了密文图像的安全性。

实验中设计了一种在嵌入式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.

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)

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.

chaotic encryption;embedded system;ARM;image encryption;Linux

TP751

A

0258-7998(2012)03-0020-03

广东省“211工程”资助(粤发改[431])

2011-09-14)

凌大旺,男,1985年生,硕士研究生,主要研究方向:嵌入式系统设计与混沌保密通信。

禹思敏,男,1957年生,博士,教授,博士生导师,主要研究方向:混沌理论与保密通信。

猜你喜欢
数字图像加密算法嵌入式
ARGUS-100 艺术品鉴证数字图像比对系统
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
HES:一种更小公钥的同态加密算法
基于小波变换和混沌映射的图像加密算法
基于块效应测度的JPEG数字图像盲取证
数字图像修补技术的研究进展与前景展望
Altera加入嵌入式视觉联盟
倍福 CX8091嵌入式控制器
对称加密算法RC5的架构设计与电路实现