基于单片机的灰度图像混沌保密通信
所谓保密通信,就是为了防止通信秘密被窃取,在通信的过程中对秘密信息及其传输方式采取隐蔽的手段,从而达到保密的目的。混沌是非线性动力学系统所特有的一种运动形式。自从1990年提出混沌同步的原理并在电路中得以实现以来,混沌控制与同步及其应用迅速成为非线性研究领域的研究热点。同时,混沌现象具有遍历性、非周期性、连续宽带频谱、类噪声等特性,特别适用于保密通信及图像加密领域。现在混沌保密通信大致分为3类:第1类是直接利用混沌进行保密通信,如基于单片机利用LogisTIc映射对语音信号进行加解密实验[1]、基于PC机利用LogisTIc映射和Henon映射对图像信号进行加解密实验[2];第2类是利用混沌同步进行保密通信[3-4];第3类是混沌数字编码的异步通信。其中,第2类混沌同步保密通信是当前国际上研究的一大热点。
本文根据细胞神经网络(CNN)混沌同步的原理,基于单片机进行灰度图像的保密通信实验。通过无噪声、不同程度噪声干扰及同步性能的比较验证了该方案的可行性。
1 CNN混沌模型
4元CNNs混沌同步保密通信如图1所示[4]。
发射系统:
传输信号:
s(t)=KX+200y4+i(t)
通过同一个驱动变量s(t),实现同步误差e=x-x′,当e=0时候,也就是平衡状态稳定时,构建的接收方程如下:
接收系统:
式中,取K=[80.190 0、20.154 6、11.936 3、-89.800 0]。
2 系统设计
2.1 单片机及开发工具
本文使用的单片机为AT89S52,在此基础上实现灰度图像混沌保密通信。AT89S52是一种低功耗、高性能CMOS集成电路芯片8位微控制器,具有8 KB系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51单片机指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52可为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
本文使用的单片机开发工具为Keil C51,版本为808A。此开发工具支持汇编/C语言编程。并且提供各种模拟芯片供软件仿真使用。Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编语言相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,易学易用。
2.2 设计流程
灰度图像为二维信号,而本次设计所需的信号为一维信号,因此,实验前必须如图2所示将灰度图像的二维点阵数组(m×n)转换为一维数组,作为输入信号i(t)。
整个实验流程如图3所示。需要说明的是,由于单片机存储单元有限,混沌算法经过多次乘加,中间参量生成较多,为了获得完整的数据结果以及单片机的运转正常,特设定了5个数据为1次算法循环。一旦结束1次算法循环,便将结果数据发送至计算机,下次循环结果覆盖保存在相同的存储单元。这样,保证了数据的完整性以及实验的流畅性。
3 实验结果
实验界面如图4所示,功能如下:
噪声参数:通信噪声,模拟实际环境外界干扰下实验结果。
同步参数X:4元CNN混沌算法,X初始值,表示通信的同步性,X为0时,表示同步;大于零时表示欠同步,X值越大,同步性能越差。
通行测试:测试单片机是否连接正确。
运行:在通行测试正常情况下,点击运行,显示如图4所示。
输入不同的噪声参数以及同步参数获得的结果如图5所示。
本文基于CNN混沌同步原理,在单片机上实现了灰度图像的保密通信。在噪声系数和同步系数不同的情形下分别对实验结果进行了对比,实验结果如图5所示。在理想情况下(即噪声为0,完全同步情况下),验证了在单片机上混沌保密的可行性。而在噪声逐渐增大的情况下,图像的失真度越来越高,这符合实际情况。在同步参数改变的情况下,图像出现欠同步现象,印证了在单片机上同步算法的运行正确性。单片机作为小型芯片设备,可嵌入在各种电子产品中,应用领域、成本低、效益高,并且保密通信效果稳定。