GSM手機(jī)端到端安全加密通信系統(tǒng)
令分組長度為T,那么時(shí)域語音幀置亂的加密強(qiáng)度(密鑰空間)為T!。由于我們采用的是兩級(jí)加密技術(shù),結(jié)合前面頻域置亂,整個(gè)加密算法的加密強(qiáng)度(密鑰空間)為M*f(M)*T!。
3.4 算法參數(shù)選擇
通過大量實(shí)驗(yàn)研究,發(fā)現(xiàn)對測試結(jié)果有較大影響的因素有兩個(gè):語音分解幀尺寸和分組長度。我們主要選擇語音分解幀長為5ms、10ms、20ms、分組長度為15幀、20幀、25幀共九種情況進(jìn)行了研究分析。
通過測試和比較,發(fā)現(xiàn)以20ms作為語音分解幀長,加密語音可以基本解密恢復(fù),而且所恢復(fù)的語音可以很好地滿足人耳的可懂度要求。同時(shí)根據(jù)聲碼器的編解碼原理,20ms作為單位幀長能保持信號(hào)的語音特性。因此本方案將選擇20ms作為語音分解幀長。
對于分組長度(用n表示),從整個(gè)加密算法的加密強(qiáng)度公式,可以發(fā)現(xiàn)n越大,算法的加密強(qiáng)度就越大,但考慮整個(gè)加解密系統(tǒng)的延時(shí)等因素,n必須取一個(gè)合適的值。通過大量仿真測試結(jié)果發(fā)現(xiàn),分組長度取20或25可以在這對矛盾間取得一個(gè)好的平衡。
總之,本算法結(jié)合了語音信號(hào)處理和分組密碼加密運(yùn)算的特點(diǎn),具有對RPE-LTP壓縮編碼很好的恢復(fù)性,其加密強(qiáng)度也可滿足需求。
4 同步算法研究
對于一個(gè)通信系統(tǒng)而言,接收端的同步是一個(gè)必須考慮的問題;對于語音加解密系統(tǒng)而言,它將會(huì)直接關(guān)系到接收端解密的準(zhǔn)確性。
要精確完成同步,考慮在語音幀中插入同步幀,對于同步幀有以下幾點(diǎn)要求:
1)要求同步幀能順利通過GSM的語音編碼器,并且經(jīng)過聲碼器后還能順利被檢測出來。
2)同步幀是插在數(shù)據(jù)幀中的,并不用于攜帶話音信息,所以如果同步幀取得較長,將會(huì)帶來較大延時(shí),影響通信系統(tǒng)的性能。因此在確保精確同步的情況下,同步幀應(yīng)取的盡量短。
3)同步幀的波形經(jīng)自相關(guān)運(yùn)算后的峰值須足夠高,以便和普通語音信號(hào)區(qū)別出來,否則會(huì)影響同步位置的判決,造成誤判。
鑒于以上三點(diǎn)考慮,選擇正弦波序列作為同步幀。正弦波序列能夠順利通過GSM系統(tǒng)的聲碼器不發(fā)生大的波形畸變。此外,正弦波序列的自相關(guān)函數(shù)峰值等參數(shù)符合作為同步幀的要求,能夠在較短的長度內(nèi)完成精確同步。對于同步幀的插入位置,采用在算法中固定下來的方式,在每個(gè)置亂單元的起始位置插入同步幀,較之隨機(jī)插入的方法,簡單但同樣有效。
5 系統(tǒng)實(shí)現(xiàn)
系統(tǒng)具體實(shí)現(xiàn)分硬件和軟件兩部分,具體架構(gòu)如圖5.1所示:
圖5.1 系統(tǒng)具體架構(gòu)
為了實(shí)現(xiàn)全雙工通信,我們設(shè)計(jì)并制作了一塊拓展電路板,通過開發(fā)板拓展槽插口實(shí)現(xiàn)連接。兩路語音通道均使用McBSP傳輸ADDA數(shù)據(jù),開發(fā)板上語音芯片使用I2C總線初化,拓展板上的語音芯片采用McBSP時(shí)鐘停止模式下的SPI總線進(jìn)行初始化。
圖5.2拓展板上AIC23B的接口示意圖
圖5.3 拓展音頻模塊實(shí)物圖
此外,為了實(shí)現(xiàn)作品能夠通過手機(jī)的語音接口實(shí)現(xiàn)即插即用,我們對手機(jī)配件的耳麥線路進(jìn)行了改造。
整個(gè)語音加解密軟件包括語音分解算法模塊,語音加解密算法模塊,類語音合成算法模塊三部分。其中語音分解幀大小為20ms,加解密處理幀數(shù)為28,最后實(shí)現(xiàn)抗RPE-LTP壓縮的語音加解密。語音信號(hào)同步模塊用于為加密后的語音提供同步。我們選取一幀正弦波序列作為同步頭,每196幀數(shù)據(jù)插入一幀同步頭序列,在接收端用相同正弦波序列進(jìn)行檢測。
此外,我們通過減小加解密算法的復(fù)雜度并采用DMA技術(shù)以減小通話時(shí)延。回聲抑制和自適應(yīng)同步檢測算法的應(yīng)用可以提高通話語音的質(zhì)量。
6 結(jié)果與測試
本作品測試時(shí)需兩部手機(jī),測試地點(diǎn)需有中國移動(dòng)或中國聯(lián)通的信號(hào)覆蓋。測試工具為Cool Edit軟件以及matlab軟件,前者主要用于錄音及時(shí)域分析,后者則用于頻域分析。
測試點(diǎn)位置參見圖6.1。其中的語音加密模塊包含了語音分解、加密和合成算法。我們對抽樣量化后的語音A、加密后的語音B、經(jīng)RPE-LTP編解碼后的語音C,以及解密后的語音D分別進(jìn)行了測試比較。
評論