文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.183193
中文引用格式: 單慧琳,,張銀勝. 基于改進(jìn)DEA算法的聲波加密傳輸系統(tǒng)[J].電子技術(shù)應(yīng)用,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.
0 引言
聲波傳輸?shù)难芯坑蓙?lái)已久,,1948年,SUN OIL公司首先提出通過(guò)聲波進(jìn)行數(shù)據(jù)實(shí)時(shí)傳輸[1],;1972年,,BARNES T等人首次分析了在鉆柱等特定環(huán)境下聲波傳輸特性[2];近年來(lái)MASHSA M提出基正交頻分復(fù)用的多載波調(diào)制的聲波傳輸模型等[3],。以上研究表明聲波具有抗干擾能力強(qiáng),、設(shè)備簡(jiǎn)單、成本低廉等特點(diǎn),,其應(yīng)用越來(lái)越廣泛[4],。聲波信號(hào)與成熟的算法相結(jié)合,能夠極大地提高信息傳輸?shù)木_度,。
本文研制一種近距離聲波加密傳輸系統(tǒng),,該系統(tǒng)采用硬件加密,發(fā)送端由CPLD構(gòu)建加密系統(tǒng)[5-6],,一個(gè)密鑰對(duì)應(yīng)一種系統(tǒng),,信息經(jīng)過(guò)加密系統(tǒng)后生成加密信息。輸出端也由CPLD構(gòu)建解密系統(tǒng),,解密系統(tǒng)通過(guò)密鑰匹配,,是發(fā)送端的逆系統(tǒng),輸出端將接收到的信號(hào)通過(guò)此解密系統(tǒng)得到原信號(hào),。DEA算法加密效率高且非常實(shí)用,,其中含有大量的置換運(yùn)算,非常適合硬件實(shí)現(xiàn)[7],。本系統(tǒng)基于一種改進(jìn)的DEA加密算法,,能極大地降低數(shù)據(jù)加密的成本,DEA加密和解密系統(tǒng)大致相同,,只有子密鑰放置順序不同,,只需一套系統(tǒng),可同時(shí)實(shí)現(xiàn)加密解密兩個(gè)功能,。
1 算法分析
1.1 理論基礎(chǔ)
本系統(tǒng)主要測(cè)量聲波的物理量有位移量X和聲壓級(jí)LP,。聲波是一種機(jī)械波,位移X表示震源或介質(zhì)離開靜止位置的距離,,如式(1)所示:
其中,,A表示振幅,,f表示聲音的頻率,,頻率范圍為16 Hz~20 000 Hz,,θ表示初相角。
聲壓級(jí)LP表征聲音的強(qiáng)度,,如式(2)所示:
其中,,P表示聲壓,單位為帕斯卡(Pa),,P0為常數(shù)2×10-5 Pa,。本系統(tǒng)中控制聲壓在0.02 Pa~0.2 Pa之間,聲壓過(guò)小會(huì)增加接收和處理的難度,,聲壓過(guò)大將失去本系統(tǒng)的實(shí)用性,。
系統(tǒng)采用分組密碼,將明文劃分成固定位數(shù)的字符分組,,一組一組地進(jìn)行加密,,安全性高,易于標(biāo)準(zhǔn)化,,加密與解密速度快,,應(yīng)用非常廣泛[8]。
1.2 改進(jìn)型DEA加密算法
加密算法采用改進(jìn)的DEA加密算法,,從節(jié)省資源角度,,本系統(tǒng)采用10 bit密鑰,每8 bit為一個(gè)加密/解密塊對(duì)數(shù)據(jù)進(jìn)行加密或解密,,明文和密文長(zhǎng)度都為8 bit,。
1.2.1 改進(jìn)型DEA加密過(guò)程
初始置換通過(guò)固定的置換IP重新排列8 bit明文的各個(gè)比特,將明碼順序打亂,,如:初始置換使第2位明文置換到第1位,,第4位明文置換到第2位。初始IP置換如表1所示,。
改進(jìn)的DEA算法從簡(jiǎn)化和安全兩方面考慮,,其核心是兩輪迭代運(yùn)算,每輪迭代的運(yùn)算結(jié)構(gòu)相同,,每輪迭代以用戶密鑰和上一輪迭代結(jié)果作為迭代函數(shù)的輸入量,。將8 bit明文分割成低4位L1-4和高4位H5-8,每一輪迭代運(yùn)算的低4位變?yōu)樯弦惠喌Y(jié)果的高4位,,而高4位等于上一輪迭代結(jié)果的高4位經(jīng)過(guò)一個(gè)與密鑰相關(guān)的函數(shù)f后與上一輪迭代結(jié)果的低4位相異或,。最后一輪迭代后將低4位和高4位互換。高表示第n輪迭代的高4位,,
表示第n+1輪迭代的高4位,,K表示密鑰。第n輪迭代過(guò)程用式(3),、式(4)表示,。
為保證安全性,,函數(shù)f(M,N)為非線性函數(shù),,輸入為長(zhǎng)度為4 bit的二進(jìn)制數(shù)字,,函數(shù)f(M,N)的執(zhí)行過(guò)程可分為4個(gè)步驟,,即擴(kuò)展置換,、與子密鑰異或、S盒代換和P盒置換,。
1.2.2 改進(jìn)型DEA解密過(guò)程
DEA解密和加密過(guò)程基本相同,,只是子密鑰使用順序不同,加密過(guò)程中第一輪迭代使用子密鑰K1,,第二輪迭代使用子密鑰K2,,而解密過(guò)程中第一輪迭代使用K2,第二輪迭代使用子密鑰K1,。子密鑰是由用戶輸入的密鑰生成的,,本系統(tǒng)用戶輸入的密鑰為10 bit二進(jìn)制代碼。子密鑰的生成過(guò)程分為以下4個(gè)步驟,。
(1)10 bit的密鑰經(jīng)過(guò)一次置換,,將原來(lái)的10 bit二進(jìn)制序列變成新的10 bit二進(jìn)制序列。
(2)將置換后的10 bit二進(jìn)制密鑰分成兩個(gè)等長(zhǎng)度的兩個(gè)小組,,分別為低5位L1-5和高5位H6-10,。
(3)將每個(gè)分組的二進(jìn)制數(shù)分別左移一位,將兩組左移后的密鑰連接起來(lái),,原來(lái)低位還在低位,,高位還在高位。
(4)將第(3)步獲得的10 bit二進(jìn)制數(shù)置換成8 bit二進(jìn)制代碼,,即子密鑰,。而子密鑰K2的生成過(guò)程與K1生成過(guò)程除了第(3)步左移位數(shù)不一樣外,其他完全相同,,密鑰K2的生成過(guò)程的第(3)步向左移3位,。
1.3 RS編碼
RS編碼是一種前向糾錯(cuò)的信道編碼,聲波采用RS編碼能有效糾錯(cuò)降低誤碼率[8],。RS碼字多項(xiàng)式的n-1次到n-k次的系數(shù)就是信息位,,p式為本原多項(xiàng)式,式(5)生成矩陣左邊部分IK是一個(gè)k×k階的單位矩陣,。
多項(xiàng)式(6),、式(7)相乘時(shí),結(jié)合MATLAB,RS編碼的實(shí)現(xiàn)步驟如下:(1)將所有的寄存器清零,;(2)將多項(xiàng)式A(x)最高次系數(shù)ak存入寄存器第一級(jí),,同時(shí)乘法器輸出乘積的最高次項(xiàng)系數(shù);(3)將多項(xiàng)式A(x)的第二個(gè)系數(shù)ak-1送入寄存器的第一級(jí),,而之前存入寄存器的最高次系數(shù)ak由寄存器的第一級(jí)進(jìn)入第二級(jí),,同時(shí)第二級(jí)系數(shù)ak-1與br-1相乘,,乘積xk+r-1的系數(shù)等于多項(xiàng)式A(x)第二級(jí)系數(shù)乘多項(xiàng)式B(x)的第一級(jí)系數(shù)加上多項(xiàng)式A(x)第一級(jí)系數(shù)乘以多項(xiàng)式B(x)的第二級(jí)系數(shù),;(4)重復(fù)第(3)步過(guò)程,直到k+r+1次移位后,,乘法器輸出多項(xiàng)式A(x)的常數(shù)項(xiàng)與多項(xiàng)式B(x)的常數(shù)項(xiàng)的乘積,。
多項(xiàng)式相除的具體步驟和相乘類似。g(x)為RS碼的生成多項(xiàng)式,,m(x)·xn-k表示在信息組的后面插入n-k個(gè)監(jiān)督碼,。
1.4 RS譯碼
RS譯碼過(guò)程分為5個(gè)步驟,具體過(guò)程如下,。
(1)由接收碼字多項(xiàng)式R(x)求得伴隨多項(xiàng)式S,,ST為S的變換矩陣,α為接收碼矩陣的元素,,n為分組長(zhǎng)度,,H為商式,公式如下:
(2)由S求錯(cuò)誤位置多項(xiàng)式Δ(x),。
其中為錯(cuò)誤位置數(shù)對(duì)應(yīng)的錯(cuò)誤值,。
(3)由Δ(x)解出錯(cuò)誤多項(xiàng)式的根,從而確定錯(cuò)誤位置,。具體如下:首先檢驗(yàn)初始位置數(shù)x0位置是否有錯(cuò)誤,,如果把x=1/α0=αn代入錯(cuò)誤位置多項(xiàng)式Δ(x)結(jié)果與0不相等,則可以驗(yàn)證第一個(gè)碼元為正確的,;反之則有錯(cuò)誤,,以此方法依次檢驗(yàn)其余各位是否有錯(cuò)誤。
(4)由錯(cuò)誤位置數(shù)和所得錯(cuò)誤值得到錯(cuò)誤圖樣,,相關(guān)參數(shù)為,,根據(jù)接收碼多項(xiàng)式的錯(cuò)誤多項(xiàng)式的根r和錯(cuò)誤圖樣關(guān)系r-
完成糾錯(cuò),得到最可能發(fā)送的碼字,,從而完成譯碼,。
2 硬件電路設(shè)計(jì)
2.1 系統(tǒng)總體設(shè)計(jì)
發(fā)送端由主控器、加密系統(tǒng),、RS編碼器,、DDS模塊、揚(yáng)聲器等部件組成。其硬件原理框圖如圖1所示,,發(fā)送端主控器采用TI的MSP430F149,,通過(guò)4×4的矩陣鍵盤與主控器連接,實(shí)現(xiàn)基本的控制和數(shù)據(jù)輸入,。顯示部分用LCD12864液晶屏,,可以顯示8×4個(gè)漢字。主控器與CPLD構(gòu)建的加密系統(tǒng)之間由8位數(shù)據(jù)輸入端和10位密碼輸入端相連接,,用于與加密系統(tǒng)之間的數(shù)據(jù)傳輸,。加密系統(tǒng)采用Altera公司的CPLD芯片EPM570T100C5N。DDS與主控器連接,,主控器將加密信息通過(guò)頻率調(diào)制加載到一定頻率的正弦波信號(hào)中,,DDS發(fā)送正弦信號(hào),DDS采用AD9850芯片,,DDS輸出端接功率放大器,,最終輸出至揚(yáng)聲器。
接收端由主控器,、濾波器,、電壓比較器、解密系統(tǒng),、RS譯碼器等部件組成,,其原理框圖如圖2所示。接收端通過(guò)麥克風(fēng)采集聲波信號(hào),,麥克風(fēng)與濾波器相連,,濾波器過(guò)濾雜波后提取出有用信號(hào)。濾波器與滯回電壓比較器相連,,用于將正弦波信號(hào)轉(zhuǎn)換成同頻率的方波信號(hào),,滯回電壓比較器由555定時(shí)器實(shí)現(xiàn)。滯回電壓比較器將生成的方波信號(hào)輸入給主控器處理,。主控器與基于CPLD芯片的加密系統(tǒng)之間有8 bit數(shù)據(jù)輸入和10 bit密碼輸入,,加密系統(tǒng)的8 bit數(shù)據(jù)輸出回送給主控器。
本系統(tǒng)中聲波信號(hào)傳輸采用十六進(jìn)制,,頻率范圍為1 400 Hz~4 400 Hz,,相鄰頻率間隔為200 Hz。采用十六進(jìn)制有利于提高信息傳輸速率,。
2.2 濾波器設(shè)計(jì)
本系統(tǒng)需要兩類濾波器:帶通濾波器和低通濾波器,。
帶通濾波器設(shè)計(jì)主要基于聲波頻率在1 400 Hz~4 400 Hz之間,該濾波器可設(shè)計(jì)為兩個(gè)單獨(dú)的濾波器,,其中低通濾波器的截止頻率等于4 400 Hz,,高通濾波器的截止頻率等于1 400 Hz,,將二者級(jí)聯(lián)可得到。
低通濾波器設(shè)計(jì)主要目是消除高頻雜音,,一般低通濾波器對(duì)大于4 600 Hz而小于20 kHz的噪聲過(guò)濾效果不明顯,,甚至只有1 dB的衰減。綜合考慮,,設(shè)計(jì)有源低通濾波器在頻率4 600 Hz處衰減小于0.1 dB,,在20 kHz處衰減大于15 dB。其陡度系數(shù)AS為:
根據(jù)切比雪夫?yàn)V波器衰減特性圖可知,,通帶波紋0.1 dB的切比雪夫?yàn)V波器在4.347 8 rad/s處有超過(guò)15 dB的阻帶衰減至少需要二階濾波器,,本設(shè)計(jì)采用二階切比雪夫低通濾波器,在截止頻率附近的截止特性最好,,幅頻特性曲線最陡,。根據(jù)通帶波紋0.1 dB等波紋切比雪夫?yàn)V波器極點(diǎn)位置表,,獲得歸一化二階0.1 dB切比雪夫?yàn)V波器極點(diǎn)位置為λ=0.610 4,,ψ=0.710 6。
低通濾波器或者高通濾波器以3 dB點(diǎn)作為參考頻率,,頻率變化系數(shù)計(jì)算得FSF=2π×fc=2π×4 600=28 902.65,,濾波器中的電抗性元件的值除以頻率變化系數(shù)FSF是濾波器歸一化的基礎(chǔ)。
低通濾波器采用狀態(tài)變量全極點(diǎn)低通濾波器電路結(jié)構(gòu),,該結(jié)構(gòu)能夠通過(guò)狀態(tài)變量逼近,,獨(dú)立調(diào)整極點(diǎn)和零點(diǎn)坐標(biāo)的特性,克服一般有源低通濾波器不能有效調(diào)整極點(diǎn)和零點(diǎn)位置的缺陷,。λ和ψ為極點(diǎn)位置的實(shí)部和虛部,。本濾波器電容值C選擇0.01 μF,基準(zhǔn)電阻R值選擇10 kΩ,,其余電阻R1~R4為外接電阻,,調(diào)整后的實(shí)部λ′和虛部ψ′計(jì)算得到:
圖3是Filter Solutions軟件設(shè)計(jì)的有源低通濾波器和幅頻特性曲線,圖中電阻R12和R17可改為可變電阻,,實(shí)現(xiàn)通過(guò)可變電阻在一定程度上改變電路屬性,。本系統(tǒng)采用高精度的電阻和電容,克服電阻電容精度不高帶來(lái)的失真,。
高通濾波器的作用主要消除以人聲為主的中低頻雜音信號(hào),,常人說(shuō)話聲音頻率為200 Hz~800 Hz。高通濾波器設(shè)計(jì)滿足以下要求,,在頻率1 200 Hz處衰減小于0.1 dB,,在200 Hz處衰減大于12 dB。本系統(tǒng)中的高通濾波器采用有源切比雪夫高通濾波器設(shè)計(jì),,高通濾波器設(shè)計(jì)過(guò)程與低通濾波器基本相同,,圖4為高通濾波器及其幅頻特性圖。
2.3 系統(tǒng)資源分配
系統(tǒng)4×4矩陣鍵盤接主控器P2口,DDS模塊采用并行數(shù)據(jù)輸入方式,,DDS模塊數(shù)據(jù)輸入接P6口,,DDS模塊控制端接P1.5、P1.6,、P1.7口,,顯示模塊接P4口和P5口;P3口為8位二進(jìn)制數(shù)據(jù)輸出,,用于向CPLD構(gòu)建的加密系統(tǒng)輸入待加密的數(shù)據(jù),;P6口為8位二進(jìn)制數(shù)據(jù)輸入,用于接收加密后的數(shù)據(jù)信息,。數(shù)據(jù)輸入輸出采用并行方式,,基于CPLD的加密系統(tǒng)采用10 bit二進(jìn)制密鑰輸入,主控器剩余P1.1~P1.7口,,5 bit密鑰輸入采取分組輸入,,分成兩組,每組5 bit二進(jìn)制分別通過(guò)P1.3~P1.7輸入到加密系統(tǒng),。
2.4 DEA加密算法實(shí)現(xiàn)
DEA加解密算法大量使用置換運(yùn)算,,按照一定的規(guī)則打亂原二進(jìn)制各位的順序。使用CPLD構(gòu)建硬件DEA加密系統(tǒng)執(zhí)行置換運(yùn)算只需要改變接線方法即可,,執(zhí)行置換運(yùn)算不需要時(shí)間,,如8 bit二進(jìn)制輸入為a1a2a3a4a5a6a7a8,經(jīng)初始置換IP將變成a2a6a3a1a4a8a5a7,。在CPLD中實(shí)質(zhì)上就是將一號(hào)輸入腳連接到四號(hào)位置,,二號(hào)輸入腳連接到一號(hào)位置,以此類推,,可以完成加密算法中的所有置換運(yùn)算,。根據(jù)真值表得出函數(shù)表達(dá)式,最終可采用基于CPLD芯片的八選一選擇器實(shí)現(xiàn)時(shí)間S盒置換功能,。
3 軟件設(shè)計(jì)
3.1 發(fā)送端軟件設(shè)計(jì)
首先進(jìn)行系統(tǒng)的初始化,,包括關(guān)閉看門狗、定時(shí)器初始化,、各端口的初始化,、液晶顯示屏初始化等。然后程序進(jìn)入循環(huán)以等待鍵盤選擇系統(tǒng)的工作模式,,通過(guò)鍵盤選擇工作模式后,,跳出循環(huán)執(zhí)行對(duì)應(yīng)的工作流程。
3.2 接收端軟件設(shè)計(jì)
該部分首先進(jìn)行系統(tǒng)的初始化,,之后進(jìn)入循環(huán)等待鍵盤選擇系統(tǒng)的工作模式,,以便跳出循環(huán)執(zhí)行對(duì)應(yīng)的工作流程,。
發(fā)送端系統(tǒng)初始化后,提示輸入密碼和待發(fā)送的數(shù)據(jù),,將數(shù)據(jù)輸入到加密系統(tǒng)的密碼輸入端,,加密系統(tǒng)分次完成數(shù)據(jù)加密,DDS將加密后信息發(fā)送,。接收端系統(tǒng)在初始化后提示輸入密碼,,等待發(fā)送端發(fā)送信號(hào),將接收到的信號(hào)進(jìn)行顯示,。實(shí)驗(yàn)數(shù)據(jù)測(cè)得本系統(tǒng)錯(cuò)誤率約為0.1%,,系統(tǒng)相對(duì)穩(wěn)定,有一定的實(shí)用價(jià)值,,同時(shí)存在一定的誤差,,主要原因是信道干擾和時(shí)序出錯(cuò)。
4 結(jié)論
本聲波信號(hào)加密傳輸系統(tǒng)穩(wěn)定安全,,達(dá)到了預(yù)期的目標(biāo),,系統(tǒng)傳輸出錯(cuò)率較低,信息加密后傳輸,,在一定程度上保證了信息的安全性,,其硬件加密系統(tǒng)與軟件加密系統(tǒng)相比有其固有的優(yōu)勢(shì),。本系統(tǒng)也存在著數(shù)據(jù)速度較慢的缺點(diǎn),,但在一些不需要大量數(shù)據(jù)傳輸場(chǎng)合,例如無(wú)線支付領(lǐng)域只需要傳輸簡(jiǎn)單的控制信號(hào),,一般只有幾字節(jié),,目前智能手機(jī)的type-C接口為拓展硬件加密模塊創(chuàng)造了條件,這些便利條件使該系統(tǒng)的推廣成為可能,。
參考文獻(xiàn)
[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] 馬東,,師帥兵.隨鉆數(shù)據(jù)聲波NC-OFDM傳輸及噪聲抑制的研究[J].儀器儀表學(xué)報(bào),2017,,38(1):8-17.
[5] 姜宇程,,關(guān)添,王佳飛.窄帶噪聲主動(dòng)控制系統(tǒng)的FPGA實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,,2009,,43(9):61-63.
[6] 張捍東,,朱明慧.基于FPGA的改進(jìn)DES算法的實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2011,,37(4):138-141.
[7] 于敬超,,楊昌盛,嚴(yán)迎建,,等.DES算法差分電磁攻擊及區(qū)分函數(shù)的選擇[J].電子技術(shù)應(yīng)用,,2014,40(3):48-51.
[8] 王平,,曾偉濤,,陳健,等.一種利用本原元的快速RS碼盲識(shí)別算法[J].西安電子科技大學(xué)學(xué)報(bào),,2013,,40(1):105-110.
作者信息:
單慧琳,張銀勝
(南京信息工程大學(xué),,江蘇 南京210044)