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