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