葛秀梅, 仲偉波, 李忠梅, 范東升
(江蘇科技大學(xué) 電子信息學(xué)院,江蘇 鎮(zhèn)江 212003)
隨著Internet的普及及其傳輸速率的提升,網(wǎng)絡(luò)傳輸語音已成為可能,但I(xiàn)nternet的開放性對(duì)語音通信的安全提出了更高的挑戰(zhàn)。語音信號(hào)具有數(shù)據(jù)量大、能量分布不均勻、冗余性高的特點(diǎn)[1],而混沌系統(tǒng)根據(jù)少量參數(shù)就可以產(chǎn)生滿足密碼學(xué)基本特性的混沌序列,且混沌序列具有短期內(nèi)可預(yù)測但長期不可預(yù)測的特點(diǎn),非常適合作為加密密鑰并已引起諸多學(xué)者的關(guān)注[2]。雖然近年研究發(fā)現(xiàn)基于混沌流同步加密的方法存在安全方面的問題[3],但混沌加、解密技術(shù)已成為目前加解密的應(yīng)用研究的熱點(diǎn)[4-5],并被成功用于語音和圖像加解密中[6-12]。本文把混沌序列作為密鑰,利用其他加密算法對(duì)語音進(jìn)行加密以有效避免混沌流密鑰帶來的失密危險(xiǎn)。
TI的5509A DSP由于其低功耗和快速計(jì)算能力常被用于語音信號(hào)處理中,本文基于該芯片設(shè)計(jì)并實(shí)現(xiàn)了一種混沌密鑰語音加密系統(tǒng),發(fā)送端先由根密鑰產(chǎn)生混沌加密密鑰,然后根據(jù)約定的IDEA(International Data Encryption Algorithm)加密算法對(duì)語音數(shù)據(jù)進(jìn)行加密,加密后的語音密文經(jīng)過傳輸?shù)竭_(dá)接收端。發(fā)送端同時(shí)也將根密鑰加密發(fā)送到接收端,接收端根據(jù)根密鑰和混沌系統(tǒng)自動(dòng)生成解密密鑰。接收端根據(jù)計(jì)算出來的解密密鑰對(duì)接收到的語音密文進(jìn)行解密得語音明文。經(jīng)測試,本文所給出的混沌語音加密系統(tǒng)具體較好的安全性和穩(wěn)定性,可用于語音保密通信中。
系統(tǒng)中混沌語音加、解密可分為混沌密鑰產(chǎn)生和IDEA加解密算法兩部分?;煦缑荑€的產(chǎn)生是將Henon映射和改進(jìn)后的Logistic映射級(jí)聯(lián)生成初始混沌序列,然后對(duì)其進(jìn)行非線性變換得到IDEA加密算法所需的128 b加密密鑰。IDEA是James Massey和來學(xué)嘉提出的數(shù)據(jù)塊加密算法,數(shù)據(jù)塊長度為64 b,密鑰長度為128 b[13]。IDEA算法相對(duì)來說是一個(gè)比較新的算法,其安全性研究也在不斷進(jìn)行,雖然已發(fā)現(xiàn)IDEA也存在諸多弱點(diǎn),但目前已在PGP,SSL等工程中大量應(yīng)用,仍不失為當(dāng)前最優(yōu)秀加解密算法之一[14]。
系統(tǒng)采用的Henon映射為:
(1)
其中:a=1.4;b=0.3。由于Henon序列取值在[-1.3,1.3],在DSP的C代碼中采用double類型保存所得的映射序列。系統(tǒng)根據(jù)用戶輸入初值x0,y0進(jìn)行2 000次Henon映射迭代計(jì)算得到長度為2 000的迭代序列,將序列最后一個(gè)分別與第1 800個(gè)和第1 900個(gè)值相乘并取其小數(shù)部分,得到d1=(x1999*x1799)mod1,d2=(y1999*y1799)mod1,其中d1,d2∈(0,1)。
系統(tǒng)采用的改進(jìn)的Logistic映射為:
xn+2=rxn+1(1-xn+1)+(4-r)xn(1-xn)
(2)
其中,xn∈0,1,當(dāng)r∈[0,1.284 9)∪(3.477 6,4]時(shí)除個(gè)別點(diǎn)外系統(tǒng)都處于混沌狀態(tài),且迭代結(jié)果中不存在空白窗、穩(wěn)定窗以及(0,1)范圍分布不均勻等安全問題[15]。改進(jìn)的Logistic映射的初值x0=d1,x1=d2,經(jīng)過2 000次迭代后,將最后16個(gè)值保存在數(shù)組d[16]={x1984,x1985,…,x1999}中。
為得到IDEA加密算法所需的128 b二進(jìn)制密鑰,需將所得到的混沌序列d[16]作如下非線性變換:將區(qū)間[0,1]分成256個(gè)子區(qū)間,每個(gè)區(qū)間依次用0到255之間的整數(shù)表示,混沌序列d[16]中某元素落在第i個(gè)區(qū)間中,將其置換成整數(shù)i并標(biāo)識(shí)該區(qū)間;若落入的區(qū)間i已標(biāo)識(shí)過,則將i加1模256,直到得到新的整數(shù)為止。如此迭代,即可獲得一個(gè)有16個(gè)不重復(fù)的序列{a0,a1,…,a15},其中ai∈{0,1,…,255},將其中元素用二進(jìn)制數(shù)表示,即可得128 b二進(jìn)制密鑰。由于DSP的C語言規(guī)范中unsigned char數(shù)據(jù)類型長度為16 b,將上面得到的16個(gè)8 b密鑰合并組成{b0,b1,…,b7},其中b0=a0?8+a1,…,b7=a14?8+a15。
IDEA算法是一個(gè)分組長度為64位,密鑰長度為128 b的分組加密算法,由于系統(tǒng)采用的5509A是16 b的定點(diǎn)處理器,為方便和效率考慮,將明文分成四個(gè)16 b的子分組:x1,x2,x3和x4并將其用unsigned short數(shù)據(jù)類型表示,這4個(gè)子分組作為第一輪的輸入并進(jìn)行運(yùn)算,每一輪的輸出作為下一輪的輸入,經(jīng)過8輪運(yùn)算之后,得到最終的輸出變換:y1,y2,y3,y4,將y2,y3兩組交換,得到最終的四個(gè)密文子分組,最后將這四個(gè)子分組重新連接到一起產(chǎn)生密文。IDEA解密過程和加密過程一樣,只是參與運(yùn)算的密鑰不同而已。IDEA具體每輪的計(jì)算過程如圖1所示。
圖1 IDEA加密流程圖
由IDEA加密算法可知,在整個(gè)加密運(yùn)算中總共需要52個(gè)16 b二進(jìn)制子密鑰,這52子密鑰是根據(jù)128 b二進(jìn)制混沌密鑰生成的。52個(gè)加密密鑰在DSP中實(shí)現(xiàn)過程如圖2所示。由IDEA算法可知其加密過程和解密過程相同,所不同的是參與運(yùn)算的密鑰,52個(gè)解密密鑰可由加密時(shí)所使用的52個(gè)加密子密鑰計(jì)算得到,在DSP中實(shí)現(xiàn)過程如圖3所示。其中inv()函數(shù)中要對(duì)65 537求余,因此該函數(shù)中所有變量的數(shù)據(jù)類型都為long,最后將inv()函數(shù)返回的數(shù)據(jù)強(qiáng)制轉(zhuǎn)換為unsigned short類型,由于返回?cái)?shù)據(jù)的取值在unsigned short類型表示的范圍,強(qiáng)制類型轉(zhuǎn)換不會(huì)產(chǎn)生錯(cuò)誤。
本文設(shè)計(jì)實(shí)現(xiàn)的混沌語音加、解密系統(tǒng)以DSP5509A為核心,使用CCStudio和XDS100V2仿真器進(jìn)行開發(fā)調(diào)試。DSP5509A完成語音信號(hào)的加密解密算法并控制整個(gè)系統(tǒng)的運(yùn)行,音頻編解碼芯片TLV320AIC23用來完成語音數(shù)據(jù)的采集和回放,模擬語音信號(hào)經(jīng)過麥克風(fēng)輸入或線輸入,通過TLV320AIC23使之轉(zhuǎn)換為PCM碼,PCM編碼通過多通道緩沖串口McBsp進(jìn)入DSP5509A,并存儲(chǔ)在外擴(kuò)SDRAM中。DSP5509A對(duì)語音PCM碼數(shù)據(jù)進(jìn)行混沌加密并將其通過以太網(wǎng)發(fā)送出去。接收端通過以太網(wǎng)得到語音數(shù)據(jù)密文和混沌根密鑰,先根據(jù)混沌根密鑰計(jì)算出IDEA解密密鑰,然后把語音密文解密成明文。
圖2 加密密鑰求解流程圖
圖3 解密密鑰求解流程圖
系統(tǒng)首先是初始化CSL庫,設(shè)置系統(tǒng)DSP的工作頻率為144 MHz,然后初始化IIC,主要包括設(shè)置地址模式為7 b地址模式、IIC傳輸速率為84 MHz、傳輸字節(jié)中包含16 b及打開數(shù)據(jù)環(huán)路模式,通過IIC對(duì)AIC23進(jìn)行配置和管理,AIC23復(fù)位后設(shè)置AIC23的采樣率為44.1 kHz。配置EMIF為全EMIF接口模式,并初始化DSP的外部SDRAM。對(duì)McBsp0的初始化后,打開McBsp0與AIC23進(jìn)行數(shù)據(jù)交換。
為驗(yàn)證所設(shè)計(jì)的語音加、解密方案的可行性和代碼的正確性與可靠性,先在CCS上進(jìn)行算法的調(diào)試驗(yàn)證,采集從PC播放的音樂數(shù)據(jù),隨機(jī)保存200個(gè)連續(xù)數(shù)據(jù),如圖4(a)所示,對(duì)其進(jìn)行混沌加密,加密結(jié)果如圖4(b)所示,此次加密中使用的混沌根密鑰,也即Henon映射的初值為0。將加密密文和根密鑰通過以太網(wǎng)發(fā)送到接收板,接收板根據(jù)根密鑰計(jì)算出解密密鑰并對(duì)數(shù)據(jù)密文進(jìn)行解密,解密后結(jié)果如圖4(c)所示,解密結(jié)果與其明文完全一致。若在解密過程中使用的根密鑰與加密根密鑰不一致,解密結(jié)果則與原明文相差甚遠(yuǎn),如圖4(d)所示。
圖4(a) 原始語音信號(hào)
圖4(b) 加密語音信號(hào)
圖4(c) 解密語音信號(hào) 圖4(d) 錯(cuò)誤解密語音信號(hào)
從以上結(jié)果可知,本文給出的基于混沌密鑰的IDEA加解密方法適合網(wǎng)絡(luò)語音加、解密,加密后的語音數(shù)據(jù)量不變,但數(shù)據(jù)本身變化很大,對(duì)語音網(wǎng)絡(luò)傳輸不會(huì)造成帶寬上的壓力,同時(shí)也證明了本文給出的基于混沌密鑰的語音加、解密算法對(duì)密鑰的敏感性和有效性。
本文設(shè)計(jì)實(shí)現(xiàn)的語音混沌加、解密系統(tǒng)實(shí)物圖如圖5所示。圖中左邊的DSP板卡是加密端,右邊的板卡是解密端,從PC機(jī)播放的wav格式的語音通過線輸入傳送到DSP板卡進(jìn)行加密處理后,加密后的數(shù)據(jù)包經(jīng)過以太網(wǎng)傳送到另一端,另一端對(duì)語音包和根密鑰包進(jìn)行解密,由線輸出連接到音響。
圖5 混沌語音加解密系統(tǒng)實(shí)物圖
本文中將混沌密鑰和IDEA加密算法相結(jié)合進(jìn)行語音加、解密處理以提供網(wǎng)絡(luò)語音的安全性,混沌密鑰的生成采用了Henon映射和改進(jìn)的Logistic映射兩種混沌映射級(jí)聯(lián)迭代,將迭代結(jié)果經(jīng)過非線性替換形成IDEA加密密鑰,采用IDEA加密算法對(duì)語音信號(hào)進(jìn)行了加解密。經(jīng)多次加、解密測試表明,本文中設(shè)計(jì)實(shí)現(xiàn)的混沌加密系統(tǒng)能夠滿足語音傳輸?shù)膶?shí)時(shí)性要求,使得該系統(tǒng)具有一定的民用價(jià)值和軍用價(jià)值,尤其在物聯(lián)網(wǎng)、海上捕魚漁船之間的通信、多媒體通信等方面有著廣泛的應(yīng)用。但在語音傳輸?shù)倪^程中,語音會(huì)出現(xiàn)丟包現(xiàn)象,說明該系統(tǒng)還有待進(jìn)一步優(yōu)化,才能達(dá)到更好的加密效果。
[1] 陸 洋,張 超,陸建華,等. IEEE802.11無線局域網(wǎng)接入環(huán)境下語音傳輸容量[J]. 清華大學(xué)學(xué)報(bào)(自然科學(xué)版), 2008, 48(1): 39-42.
LU Yang, ZHANG Chao, LU Jian-hua,etal. Voice transmission capacity under the IEEE802.11 wireless LAN access environments[J]. Journal of Tsinghua University (Natural Science), 2008, 48(1): 39-42.
[2] 楊義先,鈕心忻. 應(yīng)用密碼學(xué)[M]. 北京:北京郵電大學(xué)出版社, 2005: 295-360.
[3] 尹汝明,袁 堅(jiān),山秀明,等. 混沌密碼系統(tǒng)弱密鑰隨機(jī)性分析[J]. 中國科學(xué):信息科學(xué), 2011, 41(7): 777-788.
YIN Ru-ming, YUAN Jian, SHAN Xiu-ming,etal. Weak key randomness analysis of chaotic cryptosystems[J]. Science China: Information Sciences, 2011, 41(7): 777-788.
[4] 陳鐵明,蔣融融. 混沌映射和神經(jīng)網(wǎng)絡(luò)互擾的新型復(fù)合流密碼[J]. 物理學(xué)報(bào),2013, 62(4): 1-7.
CHEN Tie-ming, JIANG Rong-rong. A new composite stream cipher of chaotic mapping and neural network mutual interference[J]. Acta Physica Sinica, 2013, 62(4): 1-7.
[5] 樊 雷,茅耀斌,孫金生,等.一種結(jié)合貓映射與Logistic映射的語音加密算法[J].控制與決策, 2004, 19(10): 1167-1170.
FAN Lei, MAO Yao-bing, SUN Jin-sheng,etal. A voice encryption algorithm combination of cat map and Logistic map[J]. Control and Decision, 2004, 19(10): 1167-1170.
[6] WANG Xing-yuan, TENG Lin. An image blocks encryption algorithm based on spatiotemporal chaos[J].Nonlinear Dynamics, 2012, 67(1): 365-371.
[7] E.Mosa, N.W.Messiha, O.Zahran. Encryption of speech signal with multiple secret keys in time and transform domains[J]. International Journal of Speech Technology, 2010, 13(4): 231-242.
[8] Long Jye Sheu. A speech encryption using fractional chaotic systems[J]. Nonlinear Dynamics, 2011, 65(1/2): 103-108.
[9] E.Mosa, Nagy W. Messiha, Osama Zahran. Chaotic encryption of speech signals[J]. International Journal of Speech Technology, 2011, 14(4): 285-296.
[10] 田麗平. 基于混沌映射的真彩數(shù)字圖像安全通信[J].實(shí)驗(yàn)室研究與探索, 2006, 25(9): 1093-1095.
TIAN Li-ping. True color digital images for secure communication based on chaotic map[J]. Research and Exploration in Laboratory, 2006, 25(9): 1093-1095.
[11] Mirzaei, Yaghoobi, Irani. A new image encryption method: Parallel sub-image encryption with hyper chaos[J]. Nonlinear Dynamics, 2012, 67(1): 557-566.
[12] 汪永愛,王文海. 基于DSP嵌入式混沌密碼話音通信系統(tǒng)的設(shè)計(jì)[J]. 實(shí)驗(yàn)室研究與探索,2007,26(12):64-66.
WANG Yong-ai, WANG Ji-hai. The design of voice communication system based on DSP embedded chaos password[J]. Research and Exploration in Laboratory, 2007, 26(12): 64-66.
[13] LAI Xue-jia, James L. Massey. A Proposal for a New Block Encryption Standard[J]. Proceedings of Advances in Cryptology, 1991, 389-404.
[14] Alex Biryukov, Jorge Nakahara Jr, Bart Preneel,etal. New Weak-Key Classes of IDEA. F. Bao, R. H. Deng, S. Qing. Lecture Notes in Computer Science[C]. Springer-Verlag, 2002: 315-326.
[15] 萬佑紅,李俊剛. 一種基于Logistic的改進(jìn)混沌映射及其性能分析[J]. 信息與控制, 2012, 41(6): 675-680.
WAN You-hong, LI Jun-gang. The improvement and performance analysis of chaotic based on Logistic map[J]. Information and Control, 2012, 41(6): 675-680.