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