《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 设计应用 > 基于FPGA和PSoC的混沌音频加解密系统
基于FPGA和PSoC的混沌音频加解密系统
2014年电子技术应用第7期
刘卫玲1,常晓明2,王云才1
1.太原理工大学 物理与光电工程学院,山西 太原030024; 2.太原理工大学 计算机科学与技术学
摘要: 针对软件加解密易被攻击、硬件加解密开发难度大的问题,提出了一种基于FPGA和PSoC的混沌保密通信的硬件实现方案。该方案采用线性反馈移位寄存器(LFSR)产生混沌伪随机序列,利用PSoC完成模/数、数/模转换,并采用FPGA实现了混沌伪随机序列产生、同步控制及音频信号加解密等功能。介绍了混沌伪随机序列的产生方法和加解密原理,并给出了系统设计思想和实现方案。测试证明,该系统实现了混沌音频加解密功能,对混沌保密通信领域的应用开发具有一定的参考价值。
中图分类号: TN918
文献标识码: A
文章编号: 0258-7998(2014)07-0054-04
中文引用格式:刘卫玲,常晓明,王云才.基于FPGA和PSoC的混沌音频加解密系统[J].电子技术应用,2014,40(07):54-57.
Chaos encryption system for audio based on FPGA and PSoC
Liu Weiling1,Chang Xiaoming2,Wang Yuncai1
1.College of Physics and Optoelectronics,Taiyuan University of Technology,Taiyuan 030024,China;2.College of Computer Science and Technology,Taiyuan University of Technology,Taiyuan 030024,China
Abstract: Aiming at problems of vulnerability of software encryption and difficult development of hardware encryption, a hardware implementation scheme about chaotic secure communication is presented in this paper,which is based on FPGA and PSoC. The scheme uses linear feedback shift register(LFSR) to generate chaos pseudo-random sequence and takes PSoC to finish A/D and D/A transformation. The scheme realizes the functions of chaos pseudo-random sequence generation,synchronous control,audio encryption and decryption through FPGA. The way to generate chaos pseudo-random sequence and the principle of encryption and decryption are introduced. And the system design method and implementation program are presented. The experimental results indicate that the system realizes the function of encryption and decryption for audio by chaos. The scheme has a certain reference value for application and development in the field of chaotic secure communication.
Key words : FPGA;PSoC;chaotic secure communication;encryption and decryption for audio

       随着信息技术和计算机网络技术的高速发展,人们对通信安全的要求越来越高,信息加解密技术也因此越来越重要。混沌加密技术是近几年发展很快的一种非线性加密技术[1],该技术依托于混沌系统对初始条件极端敏感[2]和高度随机性[3]的特点,具有类噪声、连续宽频带和长期不可预测等优点,因此,特别适用于保密通信等领域。

        目前国外在混沌保密通信方面的研究较为成熟,而国内在该领域虽做了大量的研究工作,但大多数停留在软件层面上,存在着信息易被攻击和窃取等问题。而基于硬件层的加解密在专用硬件中进行,加解密信息存储在专用设备中[4]。因此,相比于软件加解密技术,硬件加解密更加安全可靠。

        本文提出了一种基于FPGAPSoC的混沌音频加解密系统硬件实现方案。FPGA采用流水线技术和并行运算[3],在数据处理速度上比单片机和DSP更具优势。可编程片上系统PSoC(Programmable System-on-Chip)是一种可编程的混合信号阵列构架,采用图形化编程方式,接口资源丰富,方便用户开发。因此,本文采用FPGA和PSoC开发板构建混沌音频加解密系统。

        本文首先介绍了系统工作原理,然后给出硬件及软件实现方案,并从时域和频域的角度对系统进行了测试和分析。

1 混沌加解密原理

1.1 混沌伪随机序列

        系统采用线性反馈移位寄存器(LFSR)[5]产生混沌序列Qm-1…Q1Q0,m级LFSR电路由m个D触发器和若干个异或门构成,在脉冲CP的上升沿到来时,输出m bit混沌序列Qm-1…Q1Q0,因LFSR的输出序列具有周期性,故被称作混沌伪随机序列。LFSR电路结构如图1所示,其中gi表示反馈系数,若反馈支路存在,则gi取值为1,否则gi为0。

 

 

        混沌伪随机序列Qm-1…Q1Q0的产生从种子(以Dm-1…D1D0表示)开始。当种子Dm-1…D1D0=0…00时,输出序列Qm-1…Q1Q0将保持全零状态;当种子Dm-1…D1D0≠0…00,且反馈系数gm…g1g0满足一定条件[5]时,输出序列周期T取最大值2m-1。本系统处理的数字音频信号为8 bit,故设计的混沌伪随机序列为8级LFSR,反馈系数g0g1…g8取值为100011101。经实测,输出序列周期T=28-1=255。

1.2 加解密原理

        异或是一种简单的逻辑运算,如果变量A与变量B连续进行2次异或运算,则输出F等于A本身,其数学原理[6]如式(2)所示:

       

        依据式(2)可知,异或是一种初级的加解密方案,因其实现速度快,已成为目前较流行的加解密方法之一。本系统加解密逻辑框图如图2所示。

        在生成混沌序列DCHAOS后,系统开始加密,将数字音频信号DADC与其做异或运算(Xor_1),便生成被打乱的序列即密文DXOR1;解密只需将密文DXOR1再次与混沌序列DCHAOS进行异或(Xor_2),从而可得明文DXOR2,理论上明文DXOR2与音频信号DADC一致。

2 系统方案设计

        混沌音频加解密系统由同步控制模块、ADC模块、DAC模块、混沌序列发生模块、信号加密与解密模块及输出切换模块等组成。其中同步控制模块是系统加解密的关键,该模块产生3个分频脉冲fS、PEDC及PXOR,fS控制混沌序列的产生和音频信号的ADC转换,PEDC、PXOR分别触发加密和解密的启动。系统逻辑框图如图3所示。

        在同步脉冲的控制下,音频信号Vin经ADC模块转换为数字信号DADC,与混沌序列DCHAOS依次进行加密和解密,生成的密文DXOR1和明文DXOR2可通过输出切换模块选择输出,然后DAC模块将输出结果DXOR1或DXOR2转化为模拟信号Vo。混沌加解密系统的具体过程可用图4中的时序图来描述。

        混沌音频加解密系统的工作过程具有周期性,其一周期内的工作原理如下:

        (1)在t1时刻,时钟源CLK的上升沿到来,产生脉冲fS,紧接着在fS的作用下,混沌序列DCHAOS开始产生,同时音频信号ADC转换启动;

        (2)混沌序列DCHAOS和音频信号DADC均稳定后,在t2时刻时钟源CLK的上升沿到来时,数据加密启动脉冲PEDC产生,密文DXOR1开始生成;

        (3)密文DXOR1处于稳定状态期间,分频脉冲PXOR在t3时刻CLK上升沿的触发下产生,解密过程启动,即可得明文DXOR2

        (4)明文DXOR2稳定后,在t4时刻开始进行DAC转换,最终输出模拟信号Vo

3 系统实现

3.1 硬件平台构建

        本系统采用的FPGA开发板是Altera公司的DE2-115。开发板采用Cyclone IV EP4CE115芯片,芯片含有114 480 个逻辑单元、3.9 Mbit随机存储器、266个乘法器。开发板的外围接口资源丰富,满足用户对视频、音频、高品质图像等多类型的开发需求。

        本系统采用的PSoC开发板是CYPRESS公司的CY8CKIT-050。开发板采用基于ARM Cortex-M3内核的芯片CY8C5868AXI-LP035,该芯片整合可组态的模拟和数字电路阵列,模拟电路包括ADC、DAC、放大器等,数字电路包括PWM、定时器、计时器、UART等。

        系统硬件模块间的连接关系如图5所示。

        因音乐播放器输出的音频信号约为-0.5~0.5 V,而PSoC的ADC模块仅支持0~2.048 V电压输入,故需对音乐播放器输出的信号进行调理。系统中采用串联一节1.5 V干电池的方法提高输入信号偏移量,可达到ADC模块电压输入标准。

3.2 软件设计

        FPGA端的软件流程如图6所示。

        FPGA端负责混沌序列的产生、同步控制及数据加解密,其开发环境是Altera公司QUARTUSⅡ。软件采用自顶向下的设计方法及模块化的编程思想,开发方式采用Verilog HDL硬件描述语言和模块/原理图(Block Diagram/Schematic)两种方式,各模块采用Verilog HDL进行设计,模块间集成运用模块/原理图方式。经仿真验证后将程序下载到开发板中。

        PSoC端完成音频信号的ADC和DAC转换,其开发环境是CYPRESS公司PSoC Creator 2.2,软件采用图形化编程方式,即从元件库中选择相应的模数器件进行配置,然后调用相关API函数。与传统的编程模式相比,该开发环境简化了大量底层代码的编写,缩短了项目开发周期。PSoC端软件流程如图7所示。

4 系统测试与结果分析

4.1 数字域测试

        由于PSoC的ADC模块转换时间最快为10 μs,为使混沌序列DCHAOS与音频信号DADC保持同步,分频脉冲fS的周期应大于10 μs。本系统中FPGA时钟CLK周期设置为1 μs,分频脉冲fs、PEDC及PXOR的周期均为13 μs。对数字域内的加解密数据进行实测,其结果如图8所示。

        由图8可得出如下结论:

        (1)混沌序列DCHAOS与音频信号DADC基本保持同步。

        (2)信号加密运算正确,由图8(a)可知,混沌序列DCHAOS与音频信号DADC进行异或运算,可得密文DXOR1

        (3)信号解密运算正确,由图8(b)可知,数字域内解密输出的明文DXOR2与输入的音频信号DADC延时2~3 μs,数值上则完全一致。

        (4)经实测,混沌序列DCHAOS、音频信号DADC、密文DXOR1与明文DXOR2等信号与分频脉冲fS、PEDC及PXOR的周期均为13 μs,频率均为77 kHz左右。

4.2 模拟域测试

        实际测试发现,加密后的声音发出刺耳的“滴”声,解密后声音的听觉效果良好。对录制的音频信号波形进行测试与频谱分析,其波形及频谱如图9所示。

        由图9可知,加密信号的频谱在各个频段的分布均匀,类似噪声;解密信号与原始信号的频谱分布规律基本一致,因DAC转换输出的电压是原始信号的2倍,故二者的幅度略有差异。

        本文介绍了一种基于FPGA和PSoC的混沌音频加解密硬件实现方案。该方案采用LFSR的方法产生混沌伪随机序列,并结合FPGA和PSoC开发板实现了音频信号的加解密。

参考文献

[1] 袁小于.数字图像非线性加密算法研究[D].重庆:重庆师范大学,2001.

[2] 赵耿,方锦清.现代信息安全与混沌保密通信应用研究的进展[J].物理学进展,2003,23(2):212-214,232-233.

[3] 刘景亚,季晓勇.基于FPGA的CPRS混沌加解密算法高效实现[J].电子测量技术,2008,31(11):175-176.

[4] 贾立恺,黄国庆,赵敬,等.基于FPGA的PCI硬件加解密卡设计[J].电子设计工程,2010,18(5):142-145.

[5] 束礼宝,宋克柱,王砚方.伪随机数发生器的FPGA实现与研究[J].电路与系统学报,2003,8(3):121-122.

[6] 王毓银.数字电路逻辑设计[M].北京:高等教育出版社,1999.

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