《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于Nios II的語音加密傳輸系統(tǒng)設(shè)計
基于Nios II的語音加密傳輸系統(tǒng)設(shè)計
嚴(yán)迎建,任 方,,付小兵,,王志新
(信息工程大學(xué) 電子技術(shù)學(xué)院,河南 鄭州450004)
摘要: 設(shè)計并實現(xiàn)了一個基于Nios II的語音加密傳輸系統(tǒng),。介紹了進行語音信號處理的功能模塊,,包括語音采集回放模塊、基于G.729A的語音壓縮與解壓縮模塊和基于AES的數(shù)據(jù)加解密模塊,。在控制模塊的協(xié)調(diào)下,,使得語音數(shù)據(jù)通過MODEM能夠在公共電話網(wǎng)中安全地傳輸,實現(xiàn)了語音的保密通信,。
Abstract:
Key words :

摘  要: 設(shè)計并實現(xiàn)了一個基于Nios II語音加密傳輸系統(tǒng),。介紹了進行語音信號處理的功能模塊,包括語音采集回放模塊,、基于G.729A的語音壓縮與解壓縮模塊和基于AES的數(shù)據(jù)加解密模塊,。在控制模塊的協(xié)調(diào)下,使得語音數(shù)據(jù)通過MODEM能夠在公共電話網(wǎng)中安全地傳輸,,實現(xiàn)了語音的保密通信,。
關(guān)鍵詞: Nios II;語音加密,;G.729A,;AES

  由于缺乏保密措施,使得電話竊聽事件不斷發(fā)生,,嚴(yán)重威脅著個人隱私,、軍事商業(yè)秘密甚至地區(qū)或國家的信息安全。因此,以語音壓縮和數(shù)據(jù)加密為基礎(chǔ)的語音加密傳輸技術(shù)受到人們關(guān)注,。G.729A是G.729(共軛結(jié)構(gòu)代數(shù)碼本激勵線性預(yù)測編碼方案CS-ACELP)的簡化方案[1,,2],降低了計算的復(fù)雜度以便于實時實現(xiàn),。美國國家標(biāo)準(zhǔn)和技術(shù)研究所(NIST)在眾多的分組密碼中經(jīng)過三輪篩選,,選中Rijndael算法[3,4]作為高級數(shù)據(jù)加密標(biāo)準(zhǔn)(AES),。
  本文基于G.729A和AES,,結(jié)合Nios II[5]設(shè)計了一種語音加密傳輸系統(tǒng),對通信內(nèi)容進行加密,,有效防止了因通話內(nèi)容被竊聽而引起的泄密,。
1 總體結(jié)構(gòu)
  語音加密傳輸系統(tǒng)主要包括語音處理模塊、語音傳輸模塊,、控制模塊及相應(yīng)語音輸入輸出設(shè)備。其中語音模塊由語音采集回放模塊,、語音編解碼模塊,、加解密模塊三部分組成。系統(tǒng)總體設(shè)計如圖1所示,,系統(tǒng)各部分功能如下,。

   (1)語音采集回放模塊:此模塊實現(xiàn)語音的采集及回放,一方面,,此模塊接收由麥克傳來的模擬語音,,通過A/D轉(zhuǎn)換,生成數(shù)字語音,;另一方面,,此模塊接收來自語音編解碼器傳來的解壓過的語音數(shù)據(jù),經(jīng)過D/A轉(zhuǎn)換,,將數(shù)字語音還原成模擬語音,,經(jīng)揚聲設(shè)備輸出。
  (2)語音編解碼模塊:對語音進行編解碼,,就是通過對語音的壓縮與還原,,能在較低速率下傳送優(yōu)質(zhì)的語音。語音編解碼器包括編碼器與譯碼器,。編碼器對采集回放模塊傳來的原始數(shù)字語音信息進行處理,,對數(shù)字語音信號進行分析,提取語音參數(shù),,將壓縮后的數(shù)據(jù)送到數(shù)據(jù)加密模塊,。譯碼器的作用是接收來自數(shù)據(jù)加解密模塊的數(shù)據(jù),經(jīng)過對數(shù)據(jù)的解壓,把這些數(shù)據(jù)恢復(fù)成原始的數(shù)字語音信息,,再傳送至語音采集回放模塊,。
  (3)加解密模塊:語音加解密模塊是保證語音通信安全的核心。加解密模塊接收來自數(shù)字語音解壓縮器的數(shù)據(jù),,并對其進行加密,,然后發(fā)送至通信傳輸模塊,將數(shù)據(jù)通過調(diào)制解調(diào)器傳送至公共電話網(wǎng),;同時,,加解密模塊要接收來自通信模塊的數(shù)據(jù),將其解密后傳送至數(shù)字語音解壓縮器,,進行數(shù)據(jù)的解壓,。
  (4)通信傳輸模塊:在控制模塊的控制下,當(dāng)系統(tǒng)一方的控制模塊檢測到撥號信息或者接收到另一方請求時,,與對方完成互聯(lián),;在雙方建立連接的基礎(chǔ)上,通信傳輸模塊將數(shù)據(jù)轉(zhuǎn)換為可以在公共電話網(wǎng)上傳輸?shù)臄?shù)據(jù),,進行加密語音數(shù)據(jù)的傳輸,。
  (5)Nios II系統(tǒng)控制模塊:當(dāng)通信一方發(fā)起或者接收到通信請求時,Nios II系統(tǒng)控制模塊控制整個系統(tǒng)的協(xié)調(diào)運行,,使通信雙方能夠安全地通信,。
2 系統(tǒng)設(shè)計
2.1 硬件功能模塊設(shè)計
  本設(shè)計以Nios II微處理器為核心,實現(xiàn)語音采集回放,、數(shù)字語音編解碼和加解密等功能,,通過調(diào)制解調(diào)器進行數(shù)據(jù)交換,實現(xiàn)了語音的加密傳輸,。經(jīng)過對設(shè)計的研究與分析,,結(jié)合DE1開發(fā)板,將整個系統(tǒng)硬件劃分為語音處理模塊和語音傳輸模塊,,系統(tǒng)總體硬件結(jié)構(gòu)框圖如圖2所示,。

2.1.1 語音采集回放模塊
  本模塊是語音加密通信的起點和終點,利用開發(fā)板上提供的24 bit CD-Quality Audio CODEC芯片完成系統(tǒng)的語音信號A/D,、D/A轉(zhuǎn)換,。CODEC芯片中封裝了WM8731編解碼器,其采樣率為8 kHz~96 kHz可變,。它是一款低電壓并集成有耳機驅(qū)動的編解碼器,,提供立體音和單一麥克風(fēng)音頻輸入,并具有降低輸入噪聲,、可編程音量控制以及適合于電氣型麥克風(fēng)的輸出電壓可增益的特點,。WM8731內(nèi)部有11個寄存器,,該芯片的初始化和內(nèi)部功能設(shè)置是通過I2C控制模塊對其內(nèi)部的這11個寄存器進行相應(yīng)的配置實現(xiàn)的。本設(shè)計中WM8731工作于從模式,,采樣頻率設(shè)為48 kHz,,轉(zhuǎn)換的數(shù)據(jù)位長度為16 bit,WM8731的寄存器參數(shù)(十六進制)設(shè)置如表1,。


  根據(jù)芯片寄存器的特點和功能,,要進行I2C控制模塊的設(shè)計,并以IP核的形式通過SoPC Builder連接到系統(tǒng)的Avalon總線上,。I2C控制模塊通過該模塊中I2C_SDAT數(shù)據(jù)端口,,向目標(biāo)寄存器寫入相應(yīng)的控制信息,達到對WM8731工作狀態(tài)的配置,。
2.1.2 G.729A語音編解碼模塊
  基于CELP編碼模型的G.729A處理語音幀,,以每秒8 000樣點進行采樣,每10 ms對應(yīng)80個樣點為1幀,,語音質(zhì)量與32 kb/s的ADPCM相當(dāng),。
   (1)編碼器
  G.729A編碼器的工作原理如圖3所示。在預(yù)處理塊中,,輸入的語音信號首先進行高通濾波并按比例放縮,,對預(yù)處理后的語音每10 ms計算一次LP濾波器系數(shù),把LP系數(shù)轉(zhuǎn)換成為線頻譜對系數(shù)LSP,,并將LSP系數(shù)利用預(yù)測式兩級矢量量化(VQ)量化為18 bit。激勵信號用分析合成(ABS)搜索算法進行選擇,,在該算法中,,依據(jù)感覺加權(quán)失真測度使原始與重建語音信號間的誤差最小。

      具體上是重構(gòu)語音與預(yù)處理后語音的誤差,,通過自適應(yīng)感覺加權(quán)濾波器,,搜索最小的濾波后誤差,感覺加權(quán)濾波器的自適應(yīng)系數(shù)由未量化的LP系數(shù)控制,。G.729A的激勵參數(shù)(自適應(yīng)和固定碼書)每5 ms(40個樣點)子幀確定一次,。首先一個開環(huán)基音延遲每10 ms幀基于感覺加權(quán)語音信號估算一次,使LP殘差信號通過加權(quán)合成濾波器獲得目標(biāo)信號,。濾波器的初始狀態(tài)是通過對LP殘差信與激勵之間的誤差進行濾波來更新的,。在得到加權(quán)合成濾波器的沖擊響應(yīng)后,就可以利用沖擊響應(yīng)和目標(biāo)信號進行閉環(huán)基音分析(尋找自適應(yīng)碼書的時延和增益),。在考慮自適應(yīng)碼書的影響后更新目標(biāo)信號,,用于搜索固定碼書。自適應(yīng)碼書和固定碼書搜索完成后用7 bit進行矢量量化,。最后濾波器的記憶值由已確定的激勵信號來更新,。
  (2)解碼器
  G.729A解碼器原理如圖4所示。首先,從接收到的比特流中提取參數(shù)標(biāo)號,,這些標(biāo)號被譯碼以獲得對應(yīng)一個10 ms語音幀的編碼參數(shù),。這些參數(shù)是LSP,2個分數(shù)基音延遲,,2個固定碼書矢量,,2組自適應(yīng)碼書和固定碼書增益。LSP系數(shù)在每一子幀中進行插值并轉(zhuǎn)化為LP濾波器系數(shù),。然后,,對每5 ms子幀進行如下操作: 將自適應(yīng)碼書和固定碼書乘以各自增益后相加,獲得激勵,;用LP合成濾波器對激勵濾波,,獲得合成語音;合成語音通過一個包括長時和短時合成濾波器的自適應(yīng)后濾波器進行增強,,然后經(jīng)高通濾波和定標(biāo)去除得到最終的重建語音,。

2.1.3 AES加解密模塊
        G.729A的語音編碼幀為80 bit/10 ms,根據(jù)對語音進行分幀編碼和傳輸?shù)奶攸c,,在利用該聲碼器構(gòu)造語音保密通信時選用分組密碼,。本文采用高級加密標(biāo)準(zhǔn)AES完成數(shù)字語音信號的加解密,為了提高AES加解密速度,,將AES加解密過程設(shè)計成Nios II的一條自定義指令,。
  (1)AES算法及硬件實現(xiàn)
        AES加密模塊工作原理如下:在運算控制模塊(Control)控制下,待加密明文與初始圈密鑰進行異或(AddRoundKey),,接著進行Nr次圈迭代變換,,除最后一圈(第Nr圈)省略列混合變換處,每圈包含字節(jié)代替變換(ByteSub),、行移位變換(ShiftRow),、列混合變換(MixColumn)和圈密鑰加法(AddRoundKey)四步變換。
        解密工作過程與加密相類似,,待脫密的密文與初始圈密鑰進行異或(AddRoundKey),,然后進行Nr圈迭代運算,除最后一圈(第Nr圈)省略逆列混合變換外,,每圈包含逆字節(jié)代替變換(InvByteSub),、逆行移位變換(InvShiftRow)、逆列混合變換(InvMixColumn),、圈密鑰加(AddRoundKey)四步變換,。
       G.729A的語音編碼幀為80 bit/10 ms,每秒所需加密的數(shù)據(jù)約為8 Kbit,,因此,,在滿足語音加密的情況下,,本文采用循環(huán)方式實現(xiàn)AES,節(jié)省硬件資源,。其硬件加解密結(jié)構(gòu)及其相關(guān)控制信號如圖5所示,。

        (2)自定義指令邏輯
  Nios II自定制AES加密指令的內(nèi)部硬件結(jié)構(gòu)如圖6所示。從圖6可以看到用戶自定義邏輯功能(AES)連接到了ALU的2個輸入端以及ALU的輸出端,,當(dāng)使用Nios II的自定義指令時,,Nios II內(nèi)部的ALU操作將被放棄,以用戶自定義邏輯的輸出結(jié)果作為有效結(jié)果,。

  AES加解密模塊設(shè)計得到的自定義邏輯在多個時鐘周期完成,,采用多周期自定義指令結(jié)構(gòu)。涉及的信號線在dataa,、datab,、result 的基礎(chǔ)上增加了clk、clk_en,、reset,、start 4個信號。其指令結(jié)構(gòu)如圖7所示,。

2.1.4 通信傳輸模塊
  通信傳輸模塊利用MODEM在公共電話網(wǎng)PSTN上實現(xiàn)通信,。PSTN網(wǎng)絡(luò)覆蓋面廣,用戶通過MODEM就可以方便地完成對接,,實現(xiàn)通信,,這在現(xiàn)有條件下非常實用。
  MODEM通過RS232接口與DE1相連,,通過RJ45與PSTN網(wǎng)絡(luò)相連,,解析來自Nios II控制系統(tǒng)的命令,來實現(xiàn)通信雙方的互連通信,。
  (1)工作原理
  通信發(fā)起方使用鍵盤撥對方號碼,Nios II控制系統(tǒng)采集到撥號信息,,組裝成為MODEM撥號的AT命令[6],,MODEM根據(jù)命令撥號;對方的MODEM接收到撥號信息,,發(fā)出來電提醒,,開啟語音處理功能,雙方便可通信,。MODEM對經(jīng)過加密的語音分組信息進行封裝,,使其適合在PSTN網(wǎng)絡(luò)上傳輸。接收方MODEM接收到數(shù)據(jù)包,,對其解封裝,,等待解密處理,。在本系統(tǒng)中,MODEM工作于半雙工方式,。
  (2)MODEM與Nios II控制模塊的連接
  系統(tǒng)要正常工作,,需要MODEM與Nios II控制系統(tǒng)間進行交互,用到的信號如圖8所示,,各信號的功能如下:

  DSR:表示MODEM電源已接上,,已處于可用的狀態(tài)。
  RTS:請求發(fā)送信號,,串行通信接口用RTS來向MODEM表示發(fā)送數(shù)據(jù)的請求,,該信號應(yīng)控制MODEM進入發(fā)送狀態(tài)或打開MODEM的發(fā)送器。
  CTS:清除發(fā)送信號,,又稱為允許發(fā)送,,是MODEM對RTS的響應(yīng)信號,表示MODEM已作好發(fā)送的準(zhǔn)備,,收到CTS后即可輸出發(fā)送的數(shù)據(jù),。
  DCD:數(shù)據(jù)載波檢測信號,向終端設(shè)備表示MODEM已收到通信鏈路上的數(shù)據(jù)載波信號,,通知另一方準(zhǔn)備接收,。
  TXD:發(fā)送數(shù)據(jù)信號,把終端欲發(fā)送的數(shù)據(jù)串行送往MODEM,。
  RXD:接收數(shù)據(jù)信號,,接收從MODEM串行發(fā)來的數(shù)據(jù)。
  SG:信號地,,連接設(shè)備和通信設(shè)備的信號地,。
  由于使用了公共電話網(wǎng)(PSTN),因此在上述7個信號的基礎(chǔ)上增加了DTR和RI兩個信號,。振鈴指示RI通知系統(tǒng),,MODEM已收到交換臺送來的振鈴呼叫信號;然后系統(tǒng)啟動數(shù)據(jù)準(zhǔn)備好DTR信號送給MODEM作為對RI的響應(yīng),。當(dāng)RI和DTR信號握手聯(lián)絡(luò)上以后,,MODEM才可以“接線”以建立通信鏈路;當(dāng)數(shù)據(jù)傳送結(jié)束后,,應(yīng)復(fù)位這些信號以指示“拆線”,,讓出通信鏈路。
2.2 Nios II控制模塊設(shè)計
  控制模塊利用Nios II IDE集成開發(fā)環(huán)境進行開發(fā),,控制從撥號(接聽),、語音采集、編解碼,、加解密,、傳輸,、掛機的整個系統(tǒng)工作。
2.2.1 建立通信
  撥號用的鍵盤連接在DE1開發(fā)板的PS2口上,,采用中斷方式與處理器進行交互,。當(dāng)控制模塊接收到鍵盤中斷后,讀取用戶按鍵信息,。根據(jù)撥號信息,,控制模塊通過RS232向MODEM發(fā)出相應(yīng)含有撥號信息的AT命令,MODEM撥相應(yīng)的號碼,;接聽方MODEM發(fā)出振鈴指示后,,根據(jù)命令為通話雙方建立連接。
2.2.2 語音處理控制
  Nios II控制模塊實現(xiàn)對語音處理的控制,,其主要功能是讀取一個語音處理模塊的結(jié)果,,并將其按將要進行的處理寫入下一個功能模塊??刂颇K操縱I2C控制語音采集回放模塊采集語音并數(shù)字化,,然后將數(shù)字語音信號送到編解碼模塊進行編解碼,進而調(diào)用Nios II自定義的AES指令,,對數(shù)據(jù)進行加密,,最后通過MODEM發(fā)送數(shù)據(jù)。在接收方,, MODEM讀取對方發(fā)送過來的語音數(shù)據(jù),,控制模塊調(diào)用Nios II自定義AES指令對數(shù)據(jù)進行解密,再將解密后的數(shù)據(jù)寫入語音編解碼模塊進行解碼,,最后調(diào)用語音采集回放模塊還原語音,。
2.2.3 通信結(jié)束控制
  在通話過程中,如果檢測到通信中斷或者通信一方結(jié)束通信的信息,,則向各功能模塊發(fā)出復(fù)位信號,,同時控制MODEM復(fù)位于待機狀態(tài),通信結(jié)束,。
  本設(shè)計適用于對語音保密通信有需求的政府機關(guān),、軍隊等,也適合需要保密的商業(yè)通信,。采用本系統(tǒng)用戶可以像使用普通電話機一樣,,實現(xiàn)語音保密通信,。本設(shè)計系統(tǒng)使用方便,,通過調(diào)制解調(diào)器進行連接,可以在現(xiàn)有的PSTN電話網(wǎng)上使用,。如果將調(diào)制解調(diào)器改進為CDMA DTU等無線調(diào)制方式,,則用戶還可以進行無線保密通信,。
參考文獻
[1] ITU-T Rec.G.729(03/96) Coding of Speech at 8 kbit/s Using Conjugate-Structure Algebraic-Code-Excited Linear-Prediction[S].
[2] ITU-T Rec.G.729 Annex A(11/96) Reduced Complexity 8 kbit/s CS-ACELP Speech CODEC[S].
[3] FIPS-197.Advanced Encryption Standard(AES)[S].2001.
[4] DAEMEN J ,RIJMEN V.The design of rijndael:AES-the  advanced encryption stand[M].Berlin:Springer-Verlag,,2002.
[5] 李蘭英.Nios II嵌入式軟核SOPC設(shè)計原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,,2006.
[6] Gilbred Held.調(diào)制解調(diào)器參考大全[M].田學(xué)鋒,王剛譯. 北京:電子工業(yè)出版社,,1996.
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。