徐麗云,閆 濤,錢宇華
(1.山西大學大數據科學與產業研究院,太原 030006;2.山西大學計算機與信息技術學院,太原 030006)
(*通信作者電子郵箱xuliyun@sxu.edu.cn)
密碼技術作為信息安全領域的研究核心,具有保障數據信息安全的重要作用。語音加密早期主要應用于軍事保密領域,保障軍事信息的安全傳遞。信息加密之后,能有效地防止保密信息被人竊取破譯,目前信息加密技術在個人應用領域逐步深入。近年來,通信技術飛速發展,其中便捷的語音通信成為人們信息交流的最常用方式之一,這也促使語音通信的安全性逐漸受到個人關注[1]。盡管目前針對語音加密方法已經有諸多研究,但是破解技術也在不斷發展,研究更方便快捷且具有更高安全性能的語音加密方法依然是通信安全中的重要內容之一。
混沌系統因其隨機性、不可預測性、低計算復雜度,以及對初值和參數極度敏感等良好特性,被廣泛應用于通信安全、信息隱蔽等領域中[2-5]。隨著對混沌理論的深入研究可知,基于單純的混沌系統的加密技術在安全性方面表現出一定的局限性,比如易被選擇性明文攻擊破解等。為了在混沌系統基礎上進一步提高加密技術的安全性,研究者們提出了一些改進方法:一方面是對混沌系統進行安全性能的提升,如多個混沌系統疊加使用、利用混沌系統級聯方案等。針對級聯混沌系統,文獻[6-7]對其進行了詳細的研究和性能的推導,結果表明級聯方案能夠提高混沌的Lyapunov 指數,擴大混沌映射及滿映射參數范圍,具有良好的動力學特性,能夠優化系統的安全性能。目前基于級聯混沌系統的加密技術已經有研究應用于語音、圖像、視頻等加密領域,并取得了較好的加密效果[8-10]。另一方面是將混沌系統與其他方法相結合,如對信號進行變換后在變換域進行混沌加密等,從而擴大了密鑰空間,提高了安全性能。
針對數字化的語音信號的加密方法主要可分為時域加密、頻域加密和時頻域組合加密。其中,時域加密方法以置亂和單純混沌加密為主,密文有時會攜帶原信號的部分信息,易受選擇明文攻擊,語音恢復有時不理想、安全性低。頻域加密方法通常是對信號進行傅里葉變換,在頻域進行置亂加密等,并逐漸發展到在小波變換、余弦變換等變換域實現加密效果[11-13]。變換域加密方法在一定程度上增加了算法的復雜性,在密碼分析者不熟悉的變換域進行加密處理能提高保密性能。分數傅里葉變換是經典傅里葉變換的廣義形式,在對復雜信號進行處理以及時頻分析中能得到更精細的特征[14-15]。近年來,基于分數傅里葉變換的分數域信號處理方法及應用飛速發展,得到廣泛關注。已經有許多學者將分數傅里葉變換應用于加密技術,并對分數傅里葉變換在加密中的作用和優勢進行了詳細的實驗與分析[16-20]。然而基于分數傅里葉變換的加密研究主要集中于圖像加密和視頻加密,在語音通信加密中的研究比較有限。金建國等[20]研究了基于混沌調制分數旋轉因子的語音加密方法,但是僅使用了單純的混沌序列對分數變換階次進行加密,有一定的安全缺陷,旋轉因子易受明文攻擊。而針對視頻圖像的基于級聯混沌的分數域加密方法中,需要先進行固定階次的分數傅里葉變換,分數變換階次與混沌系統相互獨立,并且過程中包括二次加密和解密[9]。以上基于分數傅里葉變換的加密算法中,在進行分數傅里葉變換時利用的是特征分解型離散算法,此算法雖然具有旋轉相加性,但計算量較大,在數據量較大情況下,對于實時通信加密有一定的制約作用。
結合級聯混沌系統和分數傅里葉變換的優勢,本文提出了一種改進的分數域語音加密算法。該算法將級聯混沌與分數傅里葉的變換階次相耦合,即分數變換階次取決于級聯混沌系統,并在分組語音傳輸過程中呈動態變化,進而增大密鑰空間,加強安全性。另外,在對語音信號進行離散分數傅里葉變換時,利用計算量更小的采樣型離散算法,為實時通信加密提供更強的安全性和便利性。
為更清晰地描述本文提出的語音加密算法,本章首先對算法中所使用的級聯混沌系統及分數傅里葉變換的離散算法進行詳細介紹。
離散混沌系統算法簡單,具有運算速度快、序列碼率高的優點,但是其Lyapunov 指數小、密鑰空間較小,使得其安全性極大降低。級聯混沌系統能夠提高系統的初值敏感性,成倍提高Lyapunov 指數,并且能夠擴大混沌映射及滿映射參數范圍,因而能夠很大程度改善系統的隨機性或安全性[6-7]。用Hm(x)表示由m個Logistics 混沌模型組成的級聯系統函數,則其可以表示為:
其中:xi+1=fj(μj,xi)=μjxi(1-xi),j=1,2,…,m,表示第j級子系統函數,在之后描述中用xi(j)表示第j級子系統的第i個輸入。從函數表達可以看出,級聯混沌中第j級子系統的第i個輸出是第j+1 級子系統的第i個輸入,并且最后一個子系統即第m級子系統的第i個輸出是第1 級子系統的第i+1 個輸入,從而達到循環驅動的效果。級聯混沌模型的圖形表達如圖1所示。
分數傅里葉變換的離散算法主要有三種類型:采樣型、線性加權型和特征分解型[14]。線性加權型離散算法因其不能逼近連續分數傅里葉變換,因此使用率不高。特征分解型離散算法滿足旋轉相加性且表達式簡單,并且在已有的語音信號加密相關算法中被采用;然而與其他類型的離散算法相比,其計算復雜度相對較高,為O(N2)。在采樣型算法中以Pei 等[15]提出的采樣型算法使用最普遍,雖然其不滿足旋轉相加性,但是具有正交性和可逆性,并且通過一定轉換能夠從一個分數域得到另一個分數域的結果,具有O(NlogN)的計算復雜度,與快速傅里葉變換具有相同的計算復雜度。與特征分解型離散算法相比,計算速度更快,這對于實時通信來說更具有便利性,因此,本文在語音信號加密中使用采樣型離散算法對信號進行分數傅里葉變換處理,以減少算法的計算量。
分數傅里葉變換的采樣型離散算法的正變換和逆變換表達式如下:
其中:α表示分數變換階次;Δt和Δu分別為時域和分數域的采樣間隔;n=-N,-N+1,…,N為時域采樣點數;m=-M,-M+1,…,M為分數域采樣點數。
根據第1 章描述的級聯混沌系統和分數傅里葉變換,設計基于級聯混沌系統的分數域語音加密算法,信號加密和解密模塊總體模型如圖2所示。

圖2 語音信號加密/解密模塊Fig.2 Audio signal encryption/decryption module
系統中,將輸入的語音信號首先進行模數轉換,得到數字語音信號y。語音信號y通過加密系統,同時完成基于級聯混沌系統驅動的分數傅里葉變換及加密處理,得到密文C。將密文通過信道傳輸到接收端,利用級聯混沌對密文進行分數傅里葉逆變換及解密操作,得到解密后的語音信號y′。通過數模轉換系統,可得到模擬的語音信號,再由播放器進行輸出。
具體加密算法步驟如下:
步驟1 對數字語音信號采用分組加密的思想,每組語音信號包含N個數據,原則上N為級聯混沌系統個數m的整數倍,即為整數。
步驟2 設置m個級聯混沌系統的初值參數,級聯混沌系統的驅動量由初始混沌系統x1(0)=f0(μ0,x0)=μ0x0(1-x0)獲取,即給定參數x0、μ0及μ(jj=1,2,…,m)。
步驟3 初始混沌系統迭代N1次得到(0),達到充分混沌狀態。令α1=(0)?π作為分數傅里葉變換的變換階次,利用式(2)對第一組語音信號y=y(1),y(2),…,y(N)獲取α1階次的分數域序列,即分數域譜數據序列。
步驟4 由xN1(0)驅動級聯混沌系統,循環迭代級聯系統次,利用得到的混沌偽隨機序列對語音信號分數域譜進行異或操作加密,獲取第1組語音信號對應的密文序列如下:

其中:密文序列表示為C1=C1(1),C1(2),…,C1(j),…,C1(N);f l=f1(μ1,xl(1)),f2(μ2,xl(2)),…,fm(μm,xl(m)) 表 示第l次循環的級聯混沌系統,l=0 表示由初始值驅動的級聯系統;⊕表示逐位異或運算。
步驟5 第一組語音數據加密完成后,利用最后一個子系統輸出的混沌數xN/m(m)作為新的初始值驅動下一組語音數據的級聯加密序列,此時分數域語音序列的分數變換階次變更為α2=xN/m(m)?π,并根據后續循環迭代得到的混沌序列獲取下一組語音密文。
步驟6 重復步驟5,獲得后續所有分組語音信號的加密密文,直到語音信號加密傳輸結束。
上述對基于級聯混沌系統的分數域語音信號加密算法進行了詳細的描述,具體的加密過程如圖3 所示。接收端在獲取密文以及混沌系統的參數即密鑰之后,可對密文序列進行解密恢復原語音信號。解密過程即為加密過程的逆過程,可實現密文傳輸過程中分組語音數據的實時解密。

圖3 基于級聯混沌系統的分數域語音信號加密過程Fig.3 Encryption process of fractional domain radio signal based on cascaded chaotic system
為驗證本文設計的語音加密算法的有效性,本章選取一段語音信號進行加解密的數值實驗。實驗通過Matlab軟件實現,信號的加解密效果除了主觀評價之外,利用均方誤差和平均失真程度兩個指標進行客觀分析。
為更方便清晰地展示加密算法的加解密效果,實驗中截取語音信號的6 675個采樣點數據作為明文數據,并將數據分成3 組進行級聯混沌加解密。圖4 為語音信號明文波形。初始混沌系統的初值參數設為x0=0.1,μ0=3.95。設置級聯混沌系統包含5 個子系統,其混沌參數分別為μ1=3.81,μ2=3.90,μ3=4.00,μ4=3.70,μ5=3.93。

圖4 原始語音信號波形Fig.4 Original audio signal waveform
在初始混沌系統達到充分混沌狀態后,得到第一組語音數據的分數變換階次,利用采樣型離散分數傅里葉變換獲取語音信號的分數域譜數據。驅動級聯混沌系統,獲取的混沌序列對分數域語音信號加密,得到第一組語音密文。繼續迭代級聯混沌,獲取后續兩組數據的變換階次及其密文。圖5為語音信號加密前的分數域譜,圖6 為加密后的分數域譜,圖7 為加密后的時域語音信號。對比圖5 和圖6 可看出,加密后的分數域譜具有相對均勻分布的特點,不再具有原語音信號分數域譜特征。相應地,對比圖7 和圖4 可以看出,加密后的時域語音信號波形與原信號波形也具有較大差距,加密信號所殘留的原信號信息很少,因此能達到較好的保密效果。

圖5 語音信號的分數域譜Fig.5 Fractional domain spectrum of audio signal

圖6 加密后的分數域譜Fig.6 Encrypted fractional domain spectrum

圖7 加密后的語音信號波形Fig.7 Encrypted audio signal waveform
加密過程結束之后,加密后的語音信號分數域譜作為密文傳輸,在接收端對密文進行解碼處理。當密鑰正確時,可得到正確的解密后的分數域譜及對應的語音信號,如圖8和圖9所示。當密鑰具有一定誤差時,解密出的語音信號如圖10 所示。將圖10與原信號波形圖4相對比,從直觀上來看,當密鑰不正確時,解密語音信號波形變化較大,已經嚴重失真。

圖8 解密后的分數域譜Fig.8 Decrypted fractional domain spectrum

圖10 錯誤解密后的語音信號波形Fig.10 Incorrectly decrypted audio signal waveform
加密算法的加解密效果除了直觀上的評價之外,可以通過客觀數據進一步衡量表達。這里采用信號的均方誤差(Mean Square Error,MSE)和平均失真(Normal Average Distortion Metric,NADM)兩個指標來客觀評價加解密效果,均方誤差和平均失真的計算式如下:

其中:y'(n)和y(n)分別表示解密的語音信號和原始語音信號的幅度;N表示信號長度即總的采樣點數。
為更清晰客觀地表達對比效果,除了計算和對比上述實驗中圖9~10 正確解密和錯誤解密的均方誤差和平均失真之外,又增加了三段不同語音數據進行實驗對比,計算結果如表1所示。

表1 正確解密和錯誤解密信號的均方誤差和平均失真對比Tab.1 Comparison of MSE and NADM between correctly and incorrectly decrypted signals
從表1 可以看出,正確解密后信號的均方誤差與錯誤解密時的均方誤差結果至少相差兩個數量級。從平均失真程度來看,錯誤解密信號的失真程度相較正確解密來講,也相差一個數量級。兩個客觀指標數據的對比表明,錯誤解密時獲取的信號失真程度較大,不能得到原信號的有用信息,因此所設計的加密算法具有較好的安全性。
算法的性能分析主要包括對算法的加密密鑰敏感度分析、統計分析、密鑰空間分析和復雜性分析。在密鑰空間分析和算法復雜性分析中,將本文算法與文獻[10,20]中的加密算法進行了對比分析。多角度的性能分析結果表明,本文所設計的加密算法對密鑰具有極高的敏感度,能夠擴大密鑰空間,有效抵御統計性攻擊,節省了加密開銷,提高了加密系統安全性。
4.1.1 混沌系統密鑰敏感度分析
級聯混沌系統的參數作為加密密鑰,對系統的安全性起著至關重要的作用。對初始混沌系統的初值和參數及級聯系統中各子系統的參數分別進行波動變化,其中一個參數波動,其余參數保持不變,對算法的解密效果進行分析。其中,參數的波動變化為Δμ=10-(nn=8,9,…,17),計算對應解密信號的均方誤差,變化曲線如圖11 所示(因各個參數波動變化具有相似的結論和效果圖,這里不再重復給出)。可以看出,當n<16,即混沌參數波動大小Δμ>10-16時,解密語音信號具有較大的均方誤差,信號出現失真效果,加密方法對混沌系統參數具有極大的敏感性。對于包含多個參數的級聯混沌系統而言,任何一個參數的波動都會引起解密誤差,因此整個級聯系統對算法是具有極大敏感度的,這也突出了級聯混沌系統的一個優點。

圖11 混沌參數波動數量級與均方誤差關系Fig.11 Relationship between order of magnitude of chaos parameter fluctuation and MSE
另一方面,級聯混沌系統包含多個混沌參數,當獲取系統的所有參數以后,如果級聯系統的級聯次序不正確,也無法對加密信號進行正確解密。將第3 章實驗中級聯系統的后兩個參數進行順序調換,僅對第一組信號進行實驗對比,得到的解密信號與原信號的對比結果如圖12 所示,解密后的信號與原信號相比完全失真。可見級聯系統參數次序對解密效果有嚴重影響,即使獲取了級聯混沌系統的所有參數,在次序不正確的情況下也無法進行正確解密。因此級聯混沌系統的存在,進一步提高了密文的破解難度,同時也提高了安全性能。

圖12 參數次序錯誤時解密語音信號與原信號波形對比Fig.12 Waveform comparison of decrypted audio signal and original signal when order of parameters is incorrect
4.1.2 分數變換階次敏感度分析
在加密算法中,語音信號分數傅里葉變換的變換階次依賴于混沌系統,并隨著數據增大不斷變化。為測試分數階次的敏感度,僅對第一組語音信號的加解密進行分析。分數階次的偏差范圍在[-0.01,0.01],分數階次每改變0.001,對解密信號的均方誤差記錄一次,由此得到分數階次偏差與均方誤差的關系圖,如圖13 所示。由圖13 可以看出,隨著分數階次偏差的增大,解密信號與原信號的均方誤差迅速增大,解密語音信號失真程度增大,加密算法對分數變換階次具有極大的敏感度。

圖13 分數階次偏差與均方誤差關系Fig.13 Relationship between deviation of fractional order and MSE
4.1.3 分組數據采樣點數敏感度分析
在加密算法設計中,分數變換階次不僅與級聯混沌系統相關,也與每組語音數據的采樣點數相關,由此實現語音傳輸過程中各組數據的變換階次不同,使其呈現動態變化趨勢。即使竊密者截獲密文數據,并且在已知級聯混沌系統參數的情況下,如果每組語音數據的采樣點數未知,最多可以解密第一組語音數據。而后續語音數據的分數階次密鑰將產生偏差,并且呈現連鎖反應,每組語音信號都會出現解碼失真現象并且向后傳遞,誤差不斷擴散。圖14 顯示,在第一組語音信號僅僅減少1 個采樣點的情況下,引起后續密文分數階次的偏差,從而造成后續解密語音信號解碼錯誤。從圖14 與圖4的對比波形可以看出,僅有開始部分語音信號解密正確,后續語音波形變化較大,均方誤差達到RMSE=1.40 × 10-3,解密信號已經嚴重失真。

圖14 分組數據采樣點個數變化時的解密信號波形Fig.14 Decrypted signal waveform when grouped data sampling point number changes
4.2.1 直方圖對比分析
將原語音信號及加密后的信號對應的時域波形圖4 和圖7,分數域譜圖5和圖6進行直方圖顯示,結果如圖15~16所示。通過對比加密前后幅值的直方圖可以看出,加密前信號時域波形的幅值集中分布在區間(-0.2,0.2),而加密后的信號時域幅值范圍顯著增大,集中分布在區間(-1 000,1 000),加密前后波形幅值分布具有顯著差異。

圖15 原信號和加密信號波形直方圖對比Fig.15 Comparison of waveform histogram between original signal and encrypted signal
加密算法中,實際執行加密操作是在分數傅里葉變換域中。對加密前后信號的分數域譜直方圖進行對比,如圖16 所示,加密前的分數域譜集中分布于區間(-0.2,0.2),而加密后的分數域譜范圍顯著增大,并在區間范圍內呈現均勻分布特點,能掩蓋有效頻譜信息,增強信息安全性。

圖16 原信號和加密信號的分數域譜直方圖對比Fig.16 Comparison of fractional domain spectrum histogram between original signal and encrypted signal
通過直方圖的對比可知,語音信號在加密前后時域波形及分數域譜都具有顯著差異,加密后的直方圖分布特征表明加密算法能有效地抵御統計攻擊,具有較好的安全性。
4.2.2 相關性分析
語音信號在相鄰的幅值之間通常具有一定的相關性,加密的目的之一就是減少相關性,打亂有用信息,提高安全性。相關系數可用來衡量幅值之間的相關性,對語音信號加密前后的相鄰幅值之間的相關系數進行如下計算:

其中:xi和yi表示第i對相鄰幅值,和分別為二者的均值;N表示信號長度即采樣點數。對4 組不同語音信號計算加密前后的相關系數,結果如表2 所示,可以看出加密前相關系數接近于1,信號幅度具有高度相關性,加密后的相關系數接近于0,幾乎不相關,信號在時域達到了充分混亂的效果。圖17 為加密前后相鄰信號波形的相關性圖,其中橫坐標表示信號第n點的幅值,縱坐標表示其相鄰點第n+1 點的幅值,n=1,2,…,N。可以看出,加密前信號具有線性相關性,而加密后的這種相關性不再顯著。

圖17 原信號和加密信號波形的相關性對比Fig.17 Correlation comparison between waveforms of original signal and encrypted signal
用上述方法繼續分析語音信號分數域譜在加密前后的相關性,相關系數計算結果如表2所示,相關性圖對比如圖18所示,橫縱坐標分別對應相鄰點的分數域譜。信號的分數域譜相較于時域信號幅度而言,不再具有強相關性,具有比較集中分布的特點,而加密后的分數域譜相關性呈現出更為顯著的均勻隨機分布狀態。

表2 加密前后相鄰幅值相關系數對比Tab.2 Correlation coefficient comparison of adjacent amplitude before and after encryption

圖18 原信號和加密信號分數域譜的相關性對比Fig.18 Correlation comparison between fractional domain spectrums of original signal and encrypted signal
通過相關性的分析和比較可知,無論是時域語音信號還是信號的分數域譜,在加密前后的相關性都具有顯著的變化,這使得語音的統計信息在加密后能得到充分隱藏,從而可以更有效地抵御統計攻擊。
本文算法的密鑰包括級聯混沌系統的初始系統的初值x0、參數μ0和所有子系統的參數μ,以及分組數據采樣點數N。混沌系統狀態值x0的取值范圍一般為(-1,1),采用精確到小數點后15 位的雙精度浮點型數據時,密鑰空間可達到2 ×1015。根據對級聯混沌系統參數的敏感度分析可知,當對其中一個參數值變化超過10-16時,或級聯系統的次序不正確時,加密信號都不能正確解密,因此整個級聯混沌系統使得算法的空間大小達到2 × 1015× 1016×6× 6!=2 × 6!× 10111(以本文實驗包含1個初始系統和5個子系統為例)。再加上算法對分數變換階次的敏感度在10-3以上,以及對分組采樣點數的敏感度,將進一步增大算法的密鑰空間大小,從而可以有效抵御窮舉攻擊,增大算法的破譯難度,提高算法的安全性能。
可以看出,級聯混沌系統的子系統個數越多,密鑰空間越大,安全性越好。文獻[20]算法中用單個混沌系統對分數變換階次調制,其密鑰空間僅包含一個混沌系統參數。文獻[10]算法雖然使用了級聯混沌系統,但是在傅里葉變換域也就是頻域加密。本文算法在級聯混沌系統調制下,在動態變化的分數域進行加密,由于分數階次的存在及其敏感度的影響(已在4.1.2 節進行分析),將進一步增大密鑰空間,因此與上述兩種已有算法相比,基于級聯混沌系統的分數域加密算法具有更好的安全性。
分數域加密算法與時域加密相比,在算法實現上需要進行變換操作,雖然有變換操作的增加,但敏感度和密鑰空間分析也表明安全性有一定提高。另外,本文使用的分數域加密算法是基于分數傅里葉變換的采樣型離散算法,具有與快速傅里葉變換相同的計算復雜度即O(NlogN),而文獻[20]中基于分數傅里葉變換的加密算法通常選用特征分解型算法,其復雜度為O(N2)。為更直觀體現本文算法的計算優勢,對文獻[10]算法、文獻[20]算法、本文算法(使用采樣型離散算法)以及用特征分解型離散變換實現本文算法(記為特征分解型算法)進行算法加解密耗時分析對比。實驗中選擇對兩段采樣數分別為3 600 和6 000 的語音信號進行加解密,通過10 次實驗計算平均時間,實驗對比結果如表3所示。

表3 不同算法加解密耗時對比Tab.3 Encryption/decryption time comparison of different algorithms
從耗時對比可以看出,使用采樣型離散變換的本文算法在計算量上相較特征分解型具有一定的計算優勢,能夠節省加密開銷,并且這種優勢會隨著采樣點數也就是數據量的增大表現更為明顯。盡管采樣型離散變換復雜度與快速傅里葉變換相同,但是與文獻[10]中單純的在傅里葉變換域加密算法相比,分數域加密算法因為分數階次的存在,其較強的敏感度使得密鑰空間進一步增大,提高了算法的安全性,相較在頻域加密更有優勢。
為使語音信息可以在信道中安全傳輸,本文提出了一種新的基于級聯混沌系統的分數域語音加密算法。該算法設計中將分數傅里葉變換階次與混沌系統相耦合,并采用采樣型離散算法,數值實驗結果驗證了所提加密算法的有效性,算法性能分析也從多角度表明了該算法具有較好的安全性。該算法在級聯混沌系統和分數傅里葉變換的共同作用下,對密鑰具有極高的敏感度,在擴大密鑰空間的同時能抵御統計攻擊并降低算法復雜度,且在保證系統安全性的同時能更好地匹配實時通信需求,具有較好的應用前景。此外,算法性能分析結果也表明分組加密的采樣點數對算法具有較強敏感度,在本文給出的加密算法中對于每組語音信號采用了相同的采樣點數,在接下來的應用中如果分組語音信號的采樣點數動態變化,將會進一步增大密鑰空間并提高算法的安全性能。