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