GSM手機(jī)端到端安全加密通信系統(tǒng)
2 系統(tǒng)方案設(shè)計(jì)
基于上述的分析與設(shè)計(jì)原則,本作品的系統(tǒng)框圖如圖2.1所示,左側(cè)的麥克風(fēng)與耳機(jī),通過(guò)A/D、D/A輸入/輸出正常的語(yǔ)音信號(hào)。在A/D、D/A后加入一個(gè)加解密模塊,完成語(yǔ)音加解密。同步模塊在加解密模塊之后,能實(shí)現(xiàn)同步信號(hào)的產(chǎn)生與檢測(cè)?;芈曇种颇K起到消回聲作用。右側(cè)的麥克風(fēng)與耳機(jī),完成與加密語(yǔ)音發(fā)送,以及密文語(yǔ)音接收功能。系統(tǒng)需要兩端手機(jī)均安裝同樣的系統(tǒng)模塊。系統(tǒng)加載在GSM手機(jī)的麥克風(fēng)、耳機(jī)前端,功能為:
1)本系統(tǒng)麥克風(fēng)采集原始語(yǔ)音,通過(guò)本系統(tǒng)加密后將密文語(yǔ)音傳輸原始手機(jī)麥克風(fēng);
2)原始手機(jī)耳機(jī)獲得密文語(yǔ)音,通過(guò)本系統(tǒng)解密后將明文語(yǔ)音本系統(tǒng)耳機(jī)。
圖2.1 作品系統(tǒng)框圖
工作流程為:
* 加密過(guò)程:輸入語(yǔ)音信號(hào)由麥克風(fēng)輸入AD變換模塊,再經(jīng)語(yǔ)音加密模塊處理,接著插入同步信息,DA變換后通過(guò)手機(jī)麥克風(fēng)插口輸入手機(jī),經(jīng)手機(jī)中的聲碼器壓縮后射頻輸出。
* 解密過(guò)程:加密語(yǔ)音信號(hào)由手機(jī)中聲碼器解壓后,通過(guò)手機(jī)耳機(jī)插口輸出到AD模塊,做回聲抑制后進(jìn)行同步檢測(cè),接著送到解密模塊解密處理,最終DA變換后輸出對(duì)方原始的語(yǔ)音信號(hào)。
為了快速語(yǔ)音加解密,需要設(shè)計(jì)適用于硬件架構(gòu)的、安全快速的加解密算法,本作品設(shè)計(jì)了抗RPE-LTP壓縮編碼的語(yǔ)音加解密算法。
3 抗RPE-LTP壓縮編碼的語(yǔ)音加解密算法研究
3.1 算法總體框架
本算法針對(duì)RPE-LTP壓縮編解碼的特性,對(duì)人類(lèi)自然語(yǔ)音信號(hào)進(jìn)行變換處理,使之成為不可懂的聲音信號(hào),實(shí)現(xiàn)加密;同時(shí)保證加密語(yǔ)音信號(hào)在通過(guò)RPE-LTP編碼器后能被對(duì)方的解碼器恢復(fù),且經(jīng)過(guò)解密可成為可懂原始語(yǔ)音信號(hào),從而完成全部加解密過(guò)程。
算法的主要思路為:
1、 首先把原始語(yǔ)音分解成符合RPE-LTP編解碼要求的單位幀;
2、 接著根據(jù)分組密碼的原理,通過(guò)選擇合適的加密矩陣對(duì)分解后的單位幀依次在頻域和時(shí)域上進(jìn)行置亂;
3、 最終合成的不可懂語(yǔ)音信號(hào)通過(guò)RPE-LTP編碼后送入GSM傳輸信道,在接收端進(jìn)行逆向解密即可。
圖2.2 GSM系統(tǒng)語(yǔ)音信號(hào)加密原理圖
如圖2.2所示,整個(gè)語(yǔ)音加密過(guò)程在虛線框部分,由語(yǔ)音分解、頻域置亂、語(yǔ)音幀置亂和類(lèi)語(yǔ)音合成四部分組成。反之,語(yǔ)音解密過(guò)程由類(lèi)語(yǔ)音分解、幀置亂解密、頻域置亂解密和語(yǔ)音合成四部分組成。其中各模塊的功能與加密過(guò)程相對(duì)應(yīng)。
其中語(yǔ)音分解算法的要求是找到一種合適的分解方法,便于進(jìn)行后續(xù)的加密置亂運(yùn)算,并且易于合成符合RPE-LTP壓縮編碼要求的模擬語(yǔ)音。另外,類(lèi)語(yǔ)音合成算法將加密置亂后的信號(hào)合成符合RPE-LTP壓縮編碼要求的類(lèi)似語(yǔ)音信號(hào)。
下面重點(diǎn)介紹本設(shè)計(jì)中頻域置亂、語(yǔ)音幀置亂與算法參數(shù)選擇的設(shè)計(jì)。
3.2 頻域置亂
在時(shí)域加密置亂之前加上一步頻域置亂,可以提高整個(gè)加密算法的強(qiáng)度。本設(shè)計(jì)具體的做法是:首先對(duì)一定長(zhǎng)度語(yǔ)音數(shù)據(jù)作N點(diǎn)FFT(N可以取2的冪次以提高運(yùn)算速度),得到一個(gè)頻譜序列,取在語(yǔ)音頻率范圍(300~3400Hz)內(nèi)的M點(diǎn),組成M行×1列的矩陣x,然后對(duì)這個(gè)序列進(jìn)行置亂,這相當(dāng)于乘上一個(gè)M行×M列的置亂矩陣P,那么置亂后的序列為Px,最后對(duì)此序列求IFFT,即從頻域返回到時(shí)域。
令M為明文信息,k1、r為算法密鑰,由k1、r產(chǎn)生的加密矩陣為Pk1、r,Qk1、r為解密矩陣(即Pk1、r-1),C為密文,則有:
置亂矩陣P的選取有以下幾點(diǎn)限制:1)保證置亂后的序列再求IFFT得到的是實(shí)序列;2)保證只對(duì)300~3400 Hz范圍內(nèi)的點(diǎn)進(jìn)行置亂;3)保證最后得到的語(yǔ)音的剩余可懂度很小。
滿(mǎn)足上述限制條件的矩陣有很多,其中有一種比較簡(jiǎn)單的形式是這樣的[4]:
M=N*(3400-300) / fs =3100N / fs(fs是采樣頻率),表示頻率在300~3400Hz內(nèi)的點(diǎn)數(shù),稱(chēng)為有效FFT點(diǎn)數(shù)。k1和r都是密鑰,k1可以取與M互質(zhì)并且小于M的自然數(shù),r可以取小于M的自然數(shù)。
這樣頻域置亂的加密強(qiáng)度(本文中指密鑰空間)就是M*f(M)(f(M)表示滿(mǎn)足條件的k1的個(gè)數(shù))。由此可見(jiàn),采樣頻率一定,N的大小會(huì)影響該算法的加密強(qiáng)度,所以N的選取應(yīng)該同時(shí)考慮運(yùn)算速度和加密強(qiáng)度兩方面的因素。
3.3 語(yǔ)音幀置亂
令M為明文信息,k2為算法密鑰,由k2產(chǎn)生的加密矩陣為Pk2’, Qk2’為解密矩陣(即Pk2’-1),C為密文,則有:
評(píng)論