《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于DSP的混沌数字图像加密与硬件设计
基于DSP的混沌数字图像加密与硬件设计
电子科技
徐小云,禹思敏,徐礼国
摘要: 介绍了在DSP基础上,实现数字图像的混沌加密及硬件实现方法。根据离散化和数字化处理技术,对三维Lorenz混沌系统作离散化处理,用C语言和DSP技术产生三维Lorenz混沌迭代序列,分别对数字图像的红、绿、蓝三基色信号进行混沌加密和解密。基于芯片型号为TMS32 0VC5509A的DSP开发平台,以bmp格式的灰度图像为例,设计了Lorenz混沌序列对数字图像进行加密与解密算法,给出了DSP硬件实现结果表明,改善了安全性、提高了速度、满足了实时性要求。
Abstract:
Key words :

摘要 介绍了在DSP" title="DSP">DSP基础上,实现数字图像的混沌加密" title="混沌加密">混沌加密及硬件实现" title="硬件实现">硬件实现方法。根据离散化和数字化处理技术,对三维Lorenz混沌系统作离散化处理,用C语言和DSP技术产生三维Lorenz混沌迭代序列,分别对数字图像的红、绿、蓝三基色信号进行混沌加密和解密。基于芯片型号为TMS32 0VC5509A的DSP开发平台,以bmp格式的灰度图像为例,设计了Lorenz混沌序列对数字图像进行加密与解密算法,给出了DSP硬件实现结果表明,改善了安全性、提高了速度、满足了实时性要求。
关键词  Lorenz系统" title="Lorenz系统">Lorenz系统;图像加密" title="图像加密">图像加密;DSP;混沌加密;硬件实现

    随着计算机及通信技术的发展,图像处理及应用愈加广泛。现代DSP技术的发展和应用为实现图像处理奠定了基础。高性能的DSP处理器作为图像处理首选的核心器件,并能通过软件编程实现各种处理算法,提高系统处理能力和扩展系统功能。
    近来混沌的同步控制理论日趋成熟,为混沌在通信中的应用提供了理论基础。混沌信号的非周期性连续宽带频谱,类似噪声的特性。另外,混沌信号对初始条件的高度敏感,即使两个完全相同的混沌系统从近乎相同的初始条件开始演化,其轨道将很快变得互不相关,这使得混沌信号具有长期不可预测性和抗截获能力。而且具有多个正李氏指数的超混沌系统,及复杂的运动轨迹,这使得混沌信号具有较高的复杂度。同时混沌系统本身具有确定性,由非线性系统的方程、参数和初始条件所决定,因此,混沌信号易于产生复制。混沌信号的隐蔽性、不可预测性、高复杂度和易于实现等特性都适合于保密通信。与其他加密方法不同的是,混沌加密是一种动态加密方法,由于其处理速度和密钥长度无关,因此这种方法的计算效率高、可用于实时信号处理和静态加密场合。且用此方法加密的信息很难破译,具有很高的保密度。即使在连续摄动存在的情况下,混沌同步效应过程也是稳定的。特别是在混沌信号上加上一个较小的信息源,当混合信号传到接收器上后,由接收器上参数相同的混沌电路捕捉其中主要的混沌分量,可以较好地恢复输送的信息源。
    目前对混沌加密的实现还局限于计算机仿真,有关硬件实现的报道也很少。而用于混沌加密的系统,通常是一维或二维,如Logistic映射等,这类系统的方程形式简单且易于实现,但存在密钥空间小、抵御穷举攻击能力差、容易被相空间重构方法进行混沌系统识别等问题。针对上述问题本文提出了用三维Lorenz混沌系统和DSP技术实现混沌数字图像加密及其硬件实现的新方法。根据离散化和数字化处理技术,对三维Lorenz系统作离散化处理后,能产生混沌迭代序列。在设计图像红、绿、蓝三基色信号混沌加密与解密算法的基础上,利用芯片型号为TMS320VC5509A" title="TMS320VC5509A">TMS320VC5509A的DSP开发平台,进行了8×8的bmp格式灰度图像加密与解密的硬件实验研究,并给出了实验结果,其系统框图如图1所示。

a.JPG



1 Lorenz系统离散化及DSP硬件实现
    Lorenz系统作为经典三维混沌系统,生成的混沌序列有其自身的特点。与一维和二维等低维混沌系统相比,具有更为复杂的混沌动力学行为,产生的混沌序列更不可预测。系统的3个初始值和3个参数都可以作为生成加密混沌序列的种子密钥,产生的密钥空间大于一维和二维的混沌系统。如果对系统输出的混沌序列进行处理,还可以采用单变量或多变量组合的加密混沌序列,使得序列密码的设计和应用更加灵活方便。
    由于Lorenz系统是三维连续混沌系统,而DSP只能处理数字信号或离散信号,所以要先对连续混沌系统作离散化处理。对混沌系统离散化通常有3种方法。Euler算法、改进Euler算法和Runge—Kutta算法。这3种离散化的方法各有优缺点,一些较简单的一维和二维混沌系统,常使用精度较高的Runge—Kutta算法,由于受到硬件资源的限制,一般用Euler算法在型号为TMS320VC5509A的DSP平台上产生Lorenz混沌序列。
    在选择存储器时应从以下方面考虑:首先图像压缩算法中间数据量大,要求处理器的片上内存尽可能大,尽量避免对外部存储器读写操作。TMS320VC5509A的片上存储器包括32 k位×16位DARAM,96 k位×16位SARAM,共128 k位的存储空间。其中DARAM为双地址,在每个周期内可以对其进行2次操作(2次读,2次写,1次读和1次写),这样增加片上存储器的利用率。其次,VC5509A片上资源丰富,包括I2C总线,3个Mc-BSPs。VC5509A采用144引脚LQFP封装,便于安装、调试;VC5509A功耗小,工作在200 MHz主频下,功耗仅100 mW,适合嵌入式应用。
    DSP基本系统由独立的电源系统供电,而硬件平台的其他器件共用另一套电源供电系统。为了降低系统功耗,DSP一般采用低电压供电,并且采用I/O和CPU内核分开供电方式。TMS320VC5509A不同的工作频率要求不同的核电压,200 MHz为1.6 V,144 MHz为1.35V,108 MHz为1.2 V。DSP的I/O电压为3.3 V。
    高速DSP芯片主要特性如下:
    (1)低功耗设计,比上一代C54XX器件功耗低约30%。处理速度快,双核结构,处理速度400MI·s-1。采用超长指令结构(VLIW),单指令字长32位。外部时钟40 MHz,内部时钟20 MHz,所有指令均单周期完成,处理器内部采用高度并行机制,可同时进行多达11项各类操作。
    (2)两套相同的外部数据、地址总线,支持局部存储器和全局共享存储器。
    (3)6个高速并行通信口,采用异步传输方式,最大速率可达20 Mb·s-1。通过令牌传递可灵活实现数据双向传输,这种结构适合DM642之间的互连。
    (4)6个DMA通道,每个通道的最大速率可达20 Mb·s-1。DMA内部总线与CPU的地址、数据、指令总线完全分开,避开了总线使用上的瓶颈。
    综上所述,在选用DSP芯片时,应考虑性能是否满足快速判读算法的要求,即选择那些指令周期短、数据吞吐率高、通信能力强、指令集功能完备的处理器,同时还要兼顾功耗和开发支持环境等因素。本设计采用TI公司的TMS320VC5509A芯片,选择TMS320VC5509A作为主处理器芯片。
    Lorenz混沌连续系统的无量纲状态方程为
    f.jpg
    根据Euler算法,将Lorenz方程离散化,用Matlab仿真验证产生多涡卷,利用DSP技术实现离散混沌系统。
    由式(1)可得其离散化和变量比例压缩后的方程为
    g.jpg
    式(2)中的T为离散化的取样时间;k为变量比例压缩因子;参数a=10、b=30、c=8/3。依据式(2)得仿真结果如图2所示。在DSP上用C语言编程实现其迭代序列,经D/A转换输出后,可以在示波器上看到Lorenz混沌吸引子的相图如图3所示。

b.JPG



2 基于Lorenz系统的数字图像加密
    用驱动一响应同步对DSP中存储的数字图像进行混沌加密。考虑n维自治动力系统du/dt=f(u),把它分解为两个子系统v和w:dv/dt=g(v,w);dw/dt=g(v,w)。其中,v=(u1,u2,…,um),w=(um+1,um+2,…,un)按照加的形式复制1个子系统w’,即dw'/dt=g(v,w’),则构造了1个新的系统dv/dt=g(v,w),dw/dt=g(v,w),dw'/dt=g(v,w’),其中,系统(v,w)为驱动系统;(v,w’)为响应系统。当响应系统的条件李亚谱诺夫指数都为负值时,可实现混沌系统的同步。对于驱动一响应同步,并不是任何变量都可以用作驱动变量来实现混沌同步。显然,同步的要求是条件李氏指数均为负、或者可用李氏稳定性理论来证明其同步。同步的理论证明需要构造李氏函数,在一般情况下,李氏函数的构造并不容易。此外,条件李氏指数的计算也比较困难。为判断混沌是否同步,在工程实用方面,可通过相图来判断是否达到同步,即在同步情况下,同步相图为对角线,同步误差为0,从实际应用的角度,可通过仿真来确定用哪些变量驱动可同步,哪些不可同步。对于Lorenz系统,分别用X,Y,Z作为驱动变量来实现驱动-响应同步,通过Matlab仿真以后,发现用X,Y作为驱动变量时相图均如图4所示,达到同步时,同步相图为对角线,误差趋于0。而用Z作为驱动变量时,其相图如图5所示,同步相图不是对角线,误差不为0,不能实现同步。也就是说,对于Lorenz系统,用X,Y都可实现驱动-响应同步,用Z实现不了,在本文中用Y来驱动实现驱动-响应同步,其同步原理图,如图6所示。

c.JPG


    发送信号与接收信号均受同一信号P(t)驱动,在方程参数匹配的情况下,可实现严格的同步,这种严格的同步不受信号S0(t)幅度大小的影响。混沌信号与图像信号相叠加时,混沌信号要大于图像信号,但不能太大,否则将破坏系统的混沌状态。一般应满足,混沌信号与图像信号的比值在10~100之间。不同的混沌系统,比值的要求也不同。此外,在保密性要求较高时,一般取比值>100。
    DSP5509允许用户通过图像窗口观测图像,具体操作步骤如下:
    (1)首先选取一幅静止的图像,将图像转换成80×80的bmp格式文件,通过Matlab工具将图像数据转换成矩阵形式储存。
    (2)在CCS3.3中进行C语言编程,将图像转存进DSP的SARAM中。通过编译、运行,将数据下载到硬件DSP5509中。
    (3)在CCS3.3界面上打开View里面的Graph中的image窗口进行相关的配置,设置如图7所示,点击“OK”使配置生效。于是CCS3.3的界面上出现了一幅的bmp图像如图8所示。

d.JPG


    在对图像进行混沌加密前,必须保证在三基色图像信号溶入后Lorenz混沌吸引子不会发散。可通过编程,将3个基色信号分别溶人到混沌吸引子中,在示波器上通过观察到3个信号分别溶入后的混沌吸引子相图与原混沌吸引子相图几乎一致,说明图像的三基色信号被加密在混沌信号之中。

3 硬件实验结果
    将程序下载到DSP实验板上运行,得到如图9所示的加密图像。当发送端与接收端参数完全匹配时,加入解密程序,将会得到如图10所示的解密图像,其还原质量较好。若解密时稍改动一下Lorenz系统初始值,例如,将c=8/3改变成c=3,其余参数不变,将解不出原图像,会得到与图9相近的图像。同理,若接收端的某个参数略有失配,则也将无法还原出原图像信号,这说明该系统的安全性来自于对发送端与接收端参数失配的高度敏感性,在事先不知道发送端系统参数的情况下,要想破译出原图像信号难度较大。

e.JPG


    由于开始混沌还没有完全进入同步,所以在图像的上部分出现一点模糊现象,但总体来说,解密的效果较好。

4 结束语
    采用三维Lorenz混沌系统对数字图像加密,能改善低维混沌加密时密钥空间的不足。用DSP作为数字信号处理器件,实现发送端与接收端的混沌迭代参数完全匹配,图像的还原质量较好。在三维Lorenz混沌系统的图像加密中,采用了闭环方案,并且用DSP硬件进行实现,图像信息经多次迭代后,使得初始明文图像的微小差异在加密过程中得到不断的扩散,能进一步抵御选择明文攻击,安全性能得到了改善。此外,这种利用DSP硬件实现图像加密与解密的方法,与软件加密与解密相比,在速度上有了较大的提高,能满足实时性的要求。
    由于混沌信号具有信号频谱宽,形似噪声,状态不可预估等特点,攻击者很难从中提取真实信号。此外,接收端真实信号的恢复依赖于驱动系统和响应系统的同步,这要求二者具有相同的参数,微小的差异将导致同步失败,而不能在接收端恢复真实信号。这使非法接收者难以用统计分析方法估计系统的参数,从而不能破译真实信号,使系统具有较好的保密性能。然而,目前尽管混沌保密通信技术的研究仍处于实验室阶段,但由于混沌保密通信具有实时性强、保密性高、运算速度快等明显优点,已显示出其在保密通信领域中的优势。

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