kaiyun官方注册
您所在的位置: 首页> 嵌入式技术> 设计应用> 基于改进DEA算法的声波加密传输系统
基于改进DEA算法的声波加密传输系统
2019年电子技术应用第4期
单慧琳,张银胜
南京信息工程大学,江苏 南京210044
摘要:系统采用改进的数据加密算法(Data Encryption Algorithm,DEA),由复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)芯片EPM570构建硬件系统。声波信号经频率调制后,经密钥加密后发送给接收端,接收端先经过滤波,再由密钥解密后还原出原信号,从而实现近距离加密传输。硬件电路分为发送端和接收端两部分,由主控器、CPLD、直接数字式频率合成器(Direct Digital Synthesizer,DDS)、滤波器和里所(Reed-solomon,RS)码模块电路构成。实验表明该系统具有较高的安全性,可应用于机密信号或敏感信号的传输。
中图分类号:TN710
文献标识码:A
DOI:10.16157/j.issn.0258-7998.183193
中文引用格式:单慧琳,张银胜. 基于改进DEA算法的声波加密传输系统[J].电子技术应用,2019,45(4):104-108.
英文引用格式:Shan Huilin,Zhang Yinsheng. The acoustic encryption transmission system based on improved DEA[J]. Application of Electronic Technique,2019,45(4):104-108.
The acoustic encryption transmission system based on improved DEA
Shan Huilin,Zhang Yinsheng
Nanjing University of Information Science & Technology,Nanjing 210044,China
Abstract:The system adopts the improved data encryption algorithm(DEA), and the hardware encryption system is constructed by complex programmable logic device(CPLD) chip EPM570. After frequency modulation, the acoustic signal is encrypted by key and sent to the receiving end. The receiving end is filtered and the original signal is restored after key decryption, so that the close-range encrypted transmission can be realized. The hardware circuit is divided into two parts: the sender and the receiver, which are composed of the main controller, CPLD, direct digital synthesizer(DDS),filter and reed-solomon(RS) codes module circuits. Experiments show that the system has high security and can be applied to the transmission of confidential or sensitive signals.
Key words :acoustic encryption transmission;CPLD;DEA;RS code;filter

0 引言

声波传输的研究由来已久,1948年,SUN OIL公司首先提出通过声波进行数据实时传输[1];1972年,BARNES T等人首次分析了在钻柱等特定环境下声波传输特性[2];近年来MASHSA M提出基正交频分复用的多载波调制的声波传输模型等[3]。以上研究表明声波具有抗干扰能力强、设备简单、成本低廉等特点,其应用越来越广泛[4]。声波信号与成熟的算法相结合,能够极大地提高信息传输的精确度。

本文研制一种近距离声波加密传输系统,该系统采用硬件加密,发送端由CPLD构建加密系统[5-6],一个密钥对应一种系统,信息经过加密系统后生成加密信息。输出端也由CPLD构建解密系统,解密系统通过密钥匹配,是发送端的逆系统,输出端将接收到的信号通过此解密系统得到原信号。DEA算法加密效率高且非常实用,其中含有大量的置换运算,非常适合硬件实现[7]。本系统基于一种改进的DEA加密算法,能极大地降低数据加密的成本,DEA加密和解密系统大致相同,只有子密钥放置顺序不同,只需一套系统,可同时实现加密解密两个功能。

1 算法分析

1.1 理论基础

本系统主要测量声波的物理量有位移量X和声压级LP。声波是一种机械波,位移X表示震源或介质离开静止位置的距离,如式(1)所示:

jsj2-gs1.gif

其中,A表示振幅,f表示声音的频率,频率范围为16 Hz~20 000 Hz,θ表示初相角。

声压级LP表征声音的强度,如式(2)所示:

jsj2-gs2.gif

其中,P表示声压,单位为帕斯卡(Pa),P0为常数2×10-5Pa。本系统中控制声压在0.02 Pa~0.2 Pa之间,声压过小会增加接收和处理的难度,声压过大将失去本系统的实用性。

系统采用分组密码,将明文划分成固定位数的字符分组,一组一组地进行加密,安全性高,易于标准化,加密与解密速度快,应用非常广泛[8]

1.2 改进型DEA加密算法

加密算法采用改进的DEA加密算法,从节省资源角度,本系统采用10 bit密钥,每8 bit为一个加密/解密块对数据进行加密或解密,明文和密文长度都为8 bit。

1.2.1 改进型DEA加密过程

初始置换通过固定的置换IP重新排列8 bit明文的各个比特,将明码顺序打乱,如:初始置换使第2位明文置换到第1位,第4位明文置换到第2位。初始IP置换如表1所示。

jsj2-b1.gif

改进的DEA算法从简化和安全两方面考虑,其核心是两轮迭代运算,每轮迭代的运算结构相同,每轮迭代以用户密钥和上一轮迭代结果作为迭代函数的输入量。将8 bit明文分割成低4位L1-4和高4位H5-8,每一轮迭代运算的低4位变为上一轮迭代结果的高4位,而高4位等于上一轮迭代结果的高4位经过一个与密钥相关的函数f后与上一轮迭代结果的低4位相异或。最后一轮迭代后将低4位和高4位互换。高jsj2-b1-x1.gif表示第n轮迭代的高4位,jsj2-b1-x2.gif表示第n+1轮迭代的高4位,K表示密钥。第n轮迭代过程用式(3)、式(4)表示。

jsj2-gs3-4.gif

为保证安全性,函数f(M,N)为非线性函数,输入为长度为4 bit的二进制数字,函数f(M,N)的执行过程可分为4个步骤,即扩展置换、与子密钥异或、S盒代换和P盒置换。

1.2.2 改进型DEA解密过程

DEA解密和加密过程基本相同,只是子密钥使用顺序不同,加密过程中第一轮迭代使用子密钥K1,第二轮迭代使用子密钥K2,而解密过程中第一轮迭代使用K2,第二轮迭代使用子密钥K1。子密钥是由用户输入的密钥生成的,本系统用户输入的密钥为10 bit二进制代码。子密钥的生成过程分为以下4个步骤。

(1)10 bit的密钥经过一次置换,将原来的10 bit二进制序列变成新的10 bit二进制序列。

(2)将置换后的10 bit二进制密钥分成两个等长度的两个小组,分别为低5位L1-5和高5位H6-10

(3)将每个分组的二进制数分别左移一位,将两组左移后的密钥连接起来,原来低位还在低位,高位还在高位。

(4)将第(3)步获得的10 bit二进制数置换成8 bit二进制代码,即子密钥。而子密钥K2的生成过程与K1生成过程除了第(3)步左移位数不一样外,其他完全相同,密钥K2的生成过程的第(3)步向左移3位。

1.3 RS编码

RS编码是一种前向纠错的信道编码,声波采用RS编码能有效纠错降低误码率[8]RS码字多项式的n-1次到n-k次的系数就是信息位,p式为本原多项式,式(5)生成矩阵左边部分IK是一个k×k阶的单位矩阵。

jsj2-gs5-7.gif

多项式(6)、式(7)相乘时,结合MATLAB,RS编码的实现步骤如下:(1)将所有的寄存器清零;(2)将多项式A(x)最高次系数ak存入寄存器第一级,同时乘法器输出乘积的最高次项系数;(3)将多项式A(x)的第二个系数ak-1送入寄存器的第一级,而之前存入寄存器的最高次系数ak由寄存器的第一级进入第二级,同时第二级系数ak-1与br-1相乘,乘积xk+r-1的系数等于多项式A(x)第二级系数乘多项式B(x)的第一级系数加上多项式A(x)第一级系数乘以多项式B(x)的第二级系数;(4)重复第(3)步过程,直到k+r+1次移位后,乘法器输出多项式A(x)的常数项与多项式B(x)的常数项的乘积。

多项式相除的具体步骤和相乘类似。g(x)为RS码的生成多项式,m(x)·xn-k表示在信息组的后面插入n-k个监督码。

jsj2-gs8-9.gif

1.4 RS译码

RS译码过程分为5个步骤,具体过程如下。

(1)由接收码字多项式R(x)求得伴随多项式S,ST为S的变换矩阵,α为接收码矩阵的元素,n为分组长度,H为商式,公式如下:

jsj2-gs10-11.gif

(2)由S求错误位置多项式Δ(x)。

jsj2-gs12.gif

其中jsj2-gs12-x1.gif为错误位置数对应的错误值。

(3)由Δ(x)解出错误多项式的根,从而确定错误位置。具体如下:首先检验初始位置数x0位置是否有错误,如果把x=1/α0n代入错误位置多项式Δ(x)结果与0不相等,则可以验证第一个码元为正确的;反之则有错误,以此方法依次检验其余各位是否有错误。

(4)由错误位置数和所得错误值得到错误图样,相关参数为jsj2-2-s1.gif,根据接收码多项式的错误多项式的根r和错误图样关系r-jsj2-2-s1.gif完成纠错,得到最可能发送的码字,从而完成译码。

2 硬件电路设计

2.1 系统总体设计

发送端由主控器、加密系统、RS编码器、DDS模块、扬声器等部件组成。其硬件原理框图如图1所示,发送端主控器采用TI的MSP430F149,通过4×4的矩阵键盘与主控器连接,实现基本的控制和数据输入。显示部分用LCD12864液晶屏,可以显示8×4个汉字。主控器与CPLD构建的加密系统之间由8位数据输入端和10位密码输入端相连接,用于与加密系统之间的数据传输。加密系统采用Altera公司的CPLD芯片EPM570T100C5N。DDS与主控器连接,主控器将加密信息通过频率调制加载到一定频率的正弦波信号中,DDS发送正弦信号,DDS采用AD9850芯片,DDS输出端接功率放大器,最终输出至扬声器。

jsj2-t1.gif

接收端由主控器、滤波器、电压比较器、解密系统、RS译码器等部件组成,其原理框图如图2所示。接收端通过麦克风采集声波信号,麦克风与滤波器相连,滤波器过滤杂波后提取出有用信号。滤波器与滞回电压比较器相连,用于将正弦波信号转换成同频率的方波信号,滞回电压比较器由555定时器实现。滞回电压比较器将生成的方波信号输入给主控器处理。主控器与基于CPLD芯片的加密系统之间有8 bit数据输入和10 bit密码输入,加密系统的8 bit数据输出回送给主控器。

jsj2-t2.gif

本系统中声波信号传输采用十六进制,频率范围为1 400 Hz~4 400 Hz,相邻频率间隔为200 Hz。采用十六进制有利于提高信息传输速率。

2.2 滤波器设计

本系统需要两类滤波器:带通滤波器和低通滤波器。

带通滤波器设计主要基于声波频率在1 400 Hz~4 400 Hz之间,该滤波器可设计为两个单独的滤波器,其中低通滤波器的截止频率等于4 400 Hz,高通滤波器的截止频率等于1 400 Hz,将二者级联可得到。

低通滤波器设计主要目是消除高频杂音,一般低通滤波器对大于4 600 Hz而小于20 kHz的噪声过滤效果不明显,甚至只有1 dB的衰减。综合考虑,设计有源低通滤波器在频率4 600 Hz处衰减小于0.1 dB,在20 kHz处衰减大于15 dB。其陡度系数AS为:

jsj2-gs13.gif

根据切比雪夫滤波器衰减特性图可知,通带波纹0.1 dB的切比雪夫滤波器在4.347 8 rad/s处有超过15 dB的阻带衰减至少需要二阶滤波器,本设计采用二阶切比雪夫低通滤波器,在截止频率附近的截止特性最好,幅频特性曲线最陡。根据通带波纹0.1 dB等波纹切比雪夫滤波器极点位置表,获得归一化二阶0.1 dB切比雪夫滤波器极点位置为λ=0.610 4,ψ=0.710 6。

低通滤波器或者高通滤波器以3 dB点作为参考频率,频率变化系数计算得FSF=2π×fc=2π×4 600=28 902.65,滤波器中的电抗性元件的值除以频率变化系数FSF是滤波器归一化的基础。

低通滤波器采用状态变量全极点低通滤波器电路结构,该结构能够通过状态变量逼近,独立调整极点和零点坐标的特性,克服一般有源低通滤波器不能有效调整极点和零点位置的缺陷。λ和ψ为极点位置的实部和虚部。本滤波器电容值C选择0.01 μF,基准电阻R值选择10 kΩ,其余电阻R1~R4为外接电阻,调整后的实部λ′和虚部ψ′计算得到:

jsj2-gs14-17.gif

图3是Filter Solutions软件设计的有源低通滤波器和幅频特性曲线,图中电阻R12和R17可改为可变电阻,实现通过可变电阻在一定程度上改变电路属性。本系统采用高精度的电阻和电容,克服电阻电容精度不高带来的失真。

jsj2-t3.gif

高通滤波器的作用主要消除以人声为主的中低频杂音信号,常人说话声音频率为200 Hz~800 Hz。高通滤波器设计满足以下要求,在频率1 200 Hz处衰减小于0.1 dB,在200 Hz处衰减大于12 dB。本系统中的高通滤波器采用有源切比雪夫高通滤波器设计,高通滤波器设计过程与低通滤波器基本相同,图4为高通滤波器及其幅频特性图。

jsj2-t4.gif

2.3 系统资源分配

系统4×4矩阵键盘接主控器P2口,DDS模块采用并行数据输入方式,DDS模块数据输入接P6口,DDS模块控制端接P1.5、P1.6、P1.7口,显示模块接P4口和P5口;P3口为8位二进制数据输出,用于向CPLD构建的加密系统输入待加密的数据;P6口为8位二进制数据输入,用于接收加密后的数据信息。数据输入输出采用并行方式,基于CPLD的加密系统采用10 bit二进制密钥输入,主控器剩余P1.1~P1.7口,5 bit密钥输入采取分组输入,分成两组,每组5 bit二进制分别通过P1.3~P1.7输入到加密系统。

2.4 DEA加密算法实现

DEA加解密算法大量使用置换运算,按照一定的规则打乱原二进制各位的顺序。使用CPLD构建硬件DEA加密系统执行置换运算只需要改变接线方法即可,执行置换运算不需要时间,如8 bit二进制输入为a1a2a3a4a5a6a7a8,经初始置换IP将变成a2a6a3a1a4a8a5a7。在CPLD中实质上就是将一号输入脚连接到四号位置,二号输入脚连接到一号位置,以此类推,可以完成加密算法中的所有置换运算。根据真值表得出函数表达式,最终可采用基于CPLD芯片的八选一选择器实现时间S盒置换功能。

3 软件设计

3.1 发送端软件设计

首先进行系统的初始化,包括关闭看门狗、定时器初始化、各端口的初始化、液晶显示屏初始化等。然后程序进入循环以等待键盘选择系统的工作模式,通过键盘选择工作模式后,跳出循环执行对应的工作流程。

3.2 接收端软件设计

该部分首先进行系统的初始化,之后进入循环等待键盘选择系统的工作模式,以便跳出循环执行对应的工作流程。

发送端系统初始化后,提示输入密码和待发送的数据,将数据输入到加密系统的密码输入端,加密系统分次完成数据加密,DDS将加密后信息发送。接收端系统在初始化后提示输入密码,等待发送端发送信号,将接收到的信号进行显示。实验数据测得本系统错误率约为0.1%,系统相对稳定,有一定的实用价值,同时存在一定的误差,主要原因是信道干扰和时序出错。

4 结论

本声波信号加密传输系统稳定安全,达到了预期的目标,系统传输出错率较低,信息加密后传输,在一定程度上保证了信息的安全性,其硬件加密系统与软件加密系统相比有其固有的优势。本系统也存在着数据速度较慢的缺点,但在一些不需要大量数据传输场合,例如无线支付领域只需要传输简单的控制信号,一般只有几字节,目前智能手机的type-C接口为拓展硬件加密模块创造了条件,这些便利条件使该系统的推广成为可能。

参考文献

[1] COX W H,CHANEY P E.Telemetry system,U.S.Patent No.4293936[P].1981.

[2] BARNES T G,KIRKWOOD B R.Passbands for acoustic transmission in an ideanlized drill string[J].Journal of the Acoustical Society of America,1972,51(5):1606-1608.

[3] MAHSA M.Optimal borehole communication using multicarrier modulation[D].Houston:Rice University,2007.

[4] 马东,师帅兵.随钻数据声波NC-OFDM传输及噪声抑制的研究[J].仪器仪表学报,2017,38(1):8-17.

[5] 姜宇程,关添,王佳飞.窄带噪声主动控制系统的FPGA实现[J].电子技术应用,2009,43(9):61-63.

[6] 张捍东,朱明慧.基于FPGA的改进DES算法的实现[J].电子技术应用,2011,37(4):138-141.

[7] 于敬超,杨昌盛,严迎建,等.DES算法差分电磁攻击及区分函数的选择[J].电子技术应用,2014,40(3):48-51.

[8] 王平,曾伟涛,陈健,等.一种利用本原元的快速RS码盲识别算法[J].西安电子科技大学学报,2013,40(1):105-110.



作者信息:

单慧琳,张银胜

(南京信息工程大学,江苏 南京210044)

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