非同步加密算法之濾波帶加密
基于濾波帶的非同步加密算法通過(guò)減少冗余數(shù)據(jù),可以對(duì)同步加密算法進(jìn)行改進(jìn),由于減少了對(duì)冗余數(shù)據(jù)多次重復(fù)加密的時(shí)間開(kāi)銷;在同等條件下,一次性加密算法的時(shí)間開(kāi)銷只有原來(lái)的20%左右,同時(shí)恢復(fù)語(yǔ)音效果更好。
一、加密模型
用數(shù)字信號(hào)處理的方法來(lái)實(shí)現(xiàn)模擬信號(hào)的非同步加密,原始語(yǔ)音信號(hào)采樣的樣本信號(hào)x(n)經(jīng)過(guò)映射T變換為y(n)。在討論異步方法前,一個(gè)問(wèn)題是傳統(tǒng)的加密方法為什么一定需要同步。所有的數(shù)字信號(hào)處理的模擬加密方法,每N個(gè)樣本定義一個(gè)分割片Xr,用N個(gè)樣本的窗w(n)濾波。

r是分割片的下標(biāo),向量x'r,{x'r(k),k=0,1,...,N-1),窗函數(shù)w(n)在n=0,1,2….,N-1之外全為0。x'r經(jīng)過(guò)矩陣T映射:
![]()
這里

向量yr,{yr(k),k=0,1,...,N-1}是加密后的語(yǔ)音數(shù)據(jù)分割片。所有模擬的數(shù)字信號(hào)加密方法的不同在于w(n)和T的選取。所有的加密過(guò)程和解密過(guò)程需要處理同一語(yǔ)音數(shù)據(jù)幀,才能得到原來(lái)的語(yǔ)音信號(hào),并且實(shí)現(xiàn)同步處理。不同步,就是說(shuō)加密過(guò)程和解密過(guò)程處理的幀數(shù)據(jù)不一樣,這可能由延遲造成,這也就是需要同步的原因。
現(xiàn)在的問(wèn)題是在失步的情況下,如何還原得到原始語(yǔ)音幀。一種解決方法就是擴(kuò)展分割片的長(zhǎng)度到N',鄰接的分割片的數(shù)據(jù)部分重疊,一個(gè)條件就是N'>N。通過(guò)引入冗余數(shù)據(jù)和壓縮變換實(shí)現(xiàn)同步處理。但是,這種方法會(huì)增加計(jì)算的復(fù)雜度和成本,并且語(yǔ)音的效果不是很理想。下面的方法可以在不增加數(shù)據(jù)冗余的情況下,解決語(yǔ)音數(shù)據(jù)幀加密同步的問(wèn)題。這可以通過(guò)濾波帶的概念來(lái)分析解決這個(gè)問(wèn)題。
二、濾波帶
現(xiàn)在的問(wèn)題就是選擇合適的N樣本窗函數(shù)w(n)和加密矩陣T保證加密同步過(guò)程,一種可能的解決方法就是用濾波帶的方法。濾波帶的方法為語(yǔ)音信號(hào)的分解和復(fù)原提供了一種極佳的解決方案。
一個(gè)理想的濾波帶有N-1理想帶通濾波器,Hk(ejw),k=1,2,…,N-1和一個(gè)低通濾波器H0(ejw),均勻分布在整個(gè)頻譜上,ω分布在0到π。分割的濾波器不重疊。所有的濾波器形成一個(gè)寬大的全通濾波器。對(duì)于第k個(gè)濾波器,Hk(ejw),k=1,2,...,N一1,中心在ωK(2π/n)k=2π/n,帶寬等,如果原始的語(yǔ)音數(shù)據(jù)用濾波帶,可得到分割子帶的頻率分量。
![]()
hk (n)是Hk (ejw)的沖激響應(yīng),“*”是卷積。由于Y (k)是頻帶小于原來(lái)的語(yǔ)音信號(hào),因此,可以用更低的采樣率下采樣得到Y(jié)rR(k),只要滿足條件R≤N。這里r=1,2,…。原始語(yǔ)音信號(hào)可以從YrR (k)直接得到。首先,插值YrR(k)得到原始序列yn(k),再把各分量相加就得到原始語(yǔ)音。
![]()
式(4)是濾波帶分解方程,式(5)是濾波帶合成方程。Schafer,Rabiner和portnof'f給出濾波帶的一種算法實(shí)現(xiàn),主要過(guò)程如下:
![]()
h(n)是總的系統(tǒng)函數(shù)的沖激響應(yīng),長(zhǎng)度為N:

h(n)長(zhǎng)度為N,因此,得到近似表達(dá):

三、同步分析

圖1示出了語(yǔ)音加密流程,其中h和f分別是濾波和插_值濾波器,h等于f。w和w-1分別是傅立葉變換矩陣和逆傅立葉變換矩陣。由于通過(guò)濾波帶分析,可以實(shí)現(xiàn)語(yǔ)音信號(hào)的分解和復(fù)原,因此實(shí)現(xiàn)同步加密的關(guān)鍵問(wèn)題就是,如何選取頻率加密矩陣M和解密矩陣M-1,以及時(shí)域矩陣T和T-1最終滿足什么條件。當(dāng)系統(tǒng)完全同步,可以從Yn(k)中恢復(fù)得到x(n);但如果系統(tǒng)處于失步,即假設(shè)系統(tǒng)加密處理與解密處理是不同的語(yǔ)音幀。同步形式表示為{Yn(k),k=1,2,...,N-1);失步形式表示為{X十。{Yn+s(k),k=1,2,...,N-1),s是時(shí)間滯后。由于
在頻域的采樣頻率一樣,由采樣理論可知,時(shí)間延遲引起的失步并不會(huì)改變Yn(k)的形式,因此可以恢復(fù)得到原始語(yǔ)音信號(hào)x(n)。為了方便實(shí)現(xiàn),降低運(yùn)算開(kāi)銷,并減少有限長(zhǎng)效應(yīng)
對(duì)語(yǔ)音信號(hào)的影響,而且看到圖1中的加密過(guò)程可以合并為一個(gè)映射,加密頻域矩陣和兩個(gè)傅立葉變換矩陣組合到一起。
![]()
通過(guò)選取合適的參數(shù)T,同步可以不加考慮,從而實(shí)現(xiàn)非同步加密,并可省掉兩次傅立葉變換的開(kāi)銷。T需要滿足的條件是一定要可逆?,F(xiàn)在的問(wèn)題是找是否存在這樣的矩陣。在頻域失步將引起相位失真,由于相位失真對(duì)聲音的效果影響很小,因此可以不管延遲在頻域產(chǎn)生的效果。
頻率如果為實(shí)數(shù),變換到時(shí)域就為復(fù)數(shù)。為了減少運(yùn)算,并且避免相位失真在不同濾波子帶傳播。一種比較簡(jiǎn)單的方法就是選取均勻置換矩陣。一個(gè)矩陣滿足下面的條件,就是均勻置換矩陣。

如果T為均勻置換矩陣,則M也是,反之一樣。M是均勻置換矩陣,T也是。此外,并不是所有的都T可逆,因此需要選擇合適的l,m,才能滿足T可逆條件,如果不滿足這個(gè)條件,將不能夠恢復(fù)語(yǔ)音或恢復(fù)后失真會(huì)很大。到這里確定了參數(shù)W,W-1,M,M-1,T,T-1。
四、基于濾波帶的非同步加密算法仿真
置換矩陣就是每一行,只有唯一的一個(gè)1。這里選取置換矩陣的維數(shù)為32×32,l=7,m=6進(jìn)行模擬,加密矩陣T可逆。仿真的結(jié)果如圖2所示。

圖2的時(shí)域波形只是語(yǔ)音信號(hào)波形中的一部分。分別為原始語(yǔ)音,加密后語(yǔ)音和16樣本點(diǎn)的失步解密后語(yǔ)音。對(duì)于時(shí)域?qū)?yīng)的頻域,圖2中原始語(yǔ)音信號(hào)的頻域和解密后的語(yǔ)音信號(hào)頻域基本一致,加密后語(yǔ)音信號(hào)頻域被置亂后,頻譜的能量均勻分布(白化處理)。
為了說(shuō)明本文加密算法加密的效率,對(duì)于同一數(shù)據(jù)塊分別使用本文的算法加密和傳統(tǒng)的數(shù)據(jù)加密算法DES進(jìn)行加密,加密時(shí)間的比較結(jié)果如表1所示,從加密時(shí)間看,本文加密算法加密4輪的開(kāi)銷才與DES加密開(kāi)銷接近。

小知識(shí)之異步
異步:一種通訊方式,對(duì)設(shè)備需求簡(jiǎn)單。我們的PC機(jī)提供的標(biāo)準(zhǔn)通信接口都是異步的。










