張沛哲 馮立杰
(1、武警工程學(xué)院研究生管理大隊36隊,陜西 西安 710078 2、武警工程學(xué)院通信工程系聲像教研室,陜西 西安 710078)
語音是人們獲取信息的重要手段,語音通信是現(xiàn)代通信中最常用、最方便的通信手段之一。隨著通信技術(shù)的發(fā)展,針對語音通信的攻擊也越來越嚴重,如竊聽、“電話跟蹤”、電話劫持和拒絕服務(wù)等對語音通信安全構(gòu)成了極大威脅,因此,研究語音加密,對保障語音通信的安全十分重要。在研究語音通信保密性的同時,也要考慮通話的實時性。本文所提出的語音保密通信系統(tǒng)設(shè)計方案,首先將語音信號壓縮,以減少數(shù)據(jù)量,而后用一種基于數(shù)字混沌序列的快速加密算法對壓縮后的數(shù)據(jù)進行加密。此種方案能較好地滿足我們在實際中對語音通信安全性和實時性的要求。
該系統(tǒng)主要由語音編解碼模塊、加密模塊這兩大模塊組成,系統(tǒng)框圖如圖1所示。
圖 1系統(tǒng)框圖
在發(fā)送端,系統(tǒng)首先將接收到模擬語音信號經(jīng)A/D轉(zhuǎn)換芯片轉(zhuǎn)換成數(shù)字信號,而后編解碼芯片對轉(zhuǎn)換后的數(shù)字語音信號進行壓縮編碼輸出給加密模塊,最后加密模塊完成對信號的加密操作。在接收端,系統(tǒng)對信號的處理流程與發(fā)送端相反。
在此模塊中,本文采用AD73311模數(shù)/數(shù)模轉(zhuǎn)換器芯片和AMBE-2000語音壓縮/解壓芯片對輸入的語音信號進行編解碼。
AD73311是美國AD公司推出的低成本、低功耗的數(shù)模轉(zhuǎn)換器件。它具有可變增益的輸入、輸出放大器,采樣頻率可通過編程改變,小的轉(zhuǎn)換群延時,允許8個芯片級聯(lián),自身帶參考電壓和低功耗等許多優(yōu)良特性,可廣泛應(yīng)用于信號處理、無線通信、數(shù)據(jù)通信等領(lǐng)域。
AD73311包括四個部分:A/D轉(zhuǎn)換通道,D/A轉(zhuǎn)換通道,串行輸入/輸出端口和片內(nèi)參考電壓電路。有5種工作模式:程序模式、數(shù)據(jù)模式、混合模式、模擬環(huán)路模式、數(shù)字環(huán)路模式。 其中前三種是正常的工作模式;后兩種是調(diào)試模式,僅在調(diào)試時使用。AD73311啟動或者重置后即工作于程序模式,此時可以通過串口往芯片內(nèi)的控制寄存器寫控制字,來設(shè)定工作狀態(tài)。設(shè)定完成后,寫“進入數(shù)據(jù)模式”的命令進入數(shù)據(jù)模式,此時AD73311串行口輸出的是A/D轉(zhuǎn)換的16位數(shù)據(jù),輸入的是D/A轉(zhuǎn)換的16位數(shù)據(jù)。
AMBE-2000是一種高性能、低功耗的單片實時語音壓縮解壓芯片,其壓縮率可在2kbps~9.6kbps范圍內(nèi)由軟件調(diào)節(jié),且具有FEC(前向糾錯) 、VAD(語音激活檢測)功能和DTMF信號檢測功能。AMBE2000可以分為兩個獨立的元件-編碼器和解碼器。編碼器從語音串行接口接收8KHZ的語音采樣數(shù)據(jù)流(16位線性,8位A律,8位μ率)并且在給定速率下輸出通道數(shù)據(jù)流。解碼器接收通道數(shù)據(jù)流,然后合成語音數(shù)據(jù)流。AMBE-2000編碼器和解碼器接口時序是完全異步的。語音串行接口接A/D、D/A轉(zhuǎn)換器,我們選用的AD73311轉(zhuǎn)換器配合AMBE2000使用,在實際應(yīng)用中取得了良好的效果。如圖2所示是AMBE2000與AD73311的連接圖
圖2 AMBE2000與AD73311的連接圖
語音信號經(jīng)過AD73311轉(zhuǎn)換后的數(shù)據(jù)和控制信息,以串行的方式送到聲碼器。聲碼器中的編碼器接收到8KHZ的采樣數(shù)據(jù)流,然后輸出壓縮數(shù)據(jù)流給解碼器;解碼器對其進行解壓縮,同樣輸出8KHZ的語音數(shù)據(jù)流,該數(shù)據(jù)流隨后進入AD73311進行D/A轉(zhuǎn)換,并以差分的形式輸出原始的語音信號。
該模塊以AT89C51單片機為核心來完成對數(shù)據(jù)的加解密操作。它接收到來自AMBE-2000的數(shù)據(jù)后用設(shè)計好的加解密算法對其進行加解密操作。為確保數(shù)據(jù)通信的保密性,加解密算法的設(shè)計是關(guān)鍵。本文所設(shè)計的加密的算法是,讓輸入的語音信號與一個混沌序列進行模2運算,即:Yt=Xt茌St其中,St為發(fā)送端的數(shù)字語音信號,Xt為發(fā)送端的混沌加密序列,Yt為加密后的信號。解密算法是,讓經(jīng)加密處理后的語音數(shù)字信號與同樣一個混沌序列進行模2運算。即:Sr=Yr茌Xr;Yr=St+Nr其中,Sr為解密后的語音信號,Yr為接收端收到的加密信號,Nr為通道噪聲。顯然,當收方與發(fā)方采用同一初始條件相同的混沌系統(tǒng)時,Xt=Xr;若雙方在通信過程中信號傳輸無誤,Nr=0,則有St=Sr,此時信號得以還原。
混沌序列的生成:
一類非常簡單卻被廣泛研究的動力系統(tǒng)是Logistic映射,其定義如下:
其中,0<μ≤4 稱為分支參數(shù),Xk∈(0,1)。當 3.5699…<μ≤4時,Logistic映射工作于混沌態(tài)。也就是說,由初始值Xk在Logistic映射的作用下所產(chǎn)生的序列j是非周期的、不收斂的,并對初始值非常敏感。
由于Xk∈(0,1),因此在計算機中采用浮點運算。但在實際的應(yīng)用中,浮點數(shù)運算內(nèi)存需求大,運算速度慢。又由于單片機對浮點數(shù)的運算能力十分有限,用此生成序列幾乎難以實現(xiàn)數(shù)字語音信號加密的實時性。研究發(fā)現(xiàn),我們可以通過關(guān)系式(1):
使混沌序列的浮點迭代過程變?yōu)檫m合單片機指令的整點迭代過程。轉(zhuǎn)換過程如下:
從上式可知:X是十進制整數(shù)。由此就完成了從小數(shù)到整數(shù)的轉(zhuǎn)換。
該方法運算量明顯小于浮點運算,它降低了對計算精度的要求。加快了運算速度。從而降低了對硬件電路的要求。
在數(shù)字語音加密通信系統(tǒng)中,最重要的是加解密密鑰的產(chǎn)生,本文所采用的混沌序列生成方法,減少了運算量,加快了運算速度,降低了對硬件電路的要求。使得加解密算法可在單片機上實現(xiàn)。理論分析表明,該系統(tǒng)很好地滿足了我們對語音保密通信的要求。
[1]AD73311 Datasheet,Analog Devices,Inc.,1998.
[2]AMBE-2000TM Vocoder Chip User's Manual Version 4.8,2007.
[3]Frey D R.Chaotic digital encoding:An approach to secure communication.IEEE Trans.on CAS,1993;CAS-40(10):660~666.