基于滤波带的非同步加密算法通过减少冗余数据,可以对同步加密算法进行改进,由于减少了对冗余数据多次重复加密的时间开销;在同等条件下,一次性加密算法的时间开销只有原来的20%左右,同时恢复语音效果更好。

一、加密模型

用数字信号处理的方法来实现模拟信号的非同步加密,原始语音信号采样的样本信号x(n)经过映射T变换为y(n)。在讨论异步方法前,一个问题是传统的加密方法为什么一定需要同步。所有的数字信号处理的模拟加密方法,每N个样本定义一个分割片Xr,用N个样本的窗w(n)滤波。

非同步加密算法之滤波带加密

r是分割片的下标,向量x'r,{x'r(k),k=0,1,...,N-1),窗函数w(n)在n=0,1,2….,N-1之外全为0。x'r经过矩阵T映射:

非同步加密算法之滤波带加密

这里

非同步加密算法之滤波带加密

向量yr,{yr(k),k=0,1,...,N-1}是加密后的语音数据分割片。所有模拟的数字信号加密方法的不同在于w(n)和T的选取。所有的加密过程和解密过程需要处理同一语音数据帧,才能得到原来的语音信号,并且实现同步处理。不同步,就是说加密过程和解密过程处理的帧数据不一样,这可能由延迟造成,这也就是需要同步的原因。

现在的问题是在失步的情况下,如何还原得到原始语音帧。一种解决方法就是扩展分割片的长度到N',邻接的分割片的数据部分重叠,一个条件就是N'>N。通过引入冗余数据和压缩变换实现同步处理。但是,这种方法会增加计算的复杂度和成本,并且语音的效果不是很理想。下面的方法可以在不增加数据冗余的情况下,解决语音数据帧加密同步的问题。这可以通过滤波带的概念来分析解决这个问题。

二、滤波带

现在的问题就是选择合适的N样本窗函数w(n)和加密矩阵T保证加密同步过程,一种可能的解决方法就是用滤波带的方法。滤波带的方法为语音信号的分解和复原提供了一种极佳的解决方案。

一个理想的滤波带有N-1理想带通滤波器,Hk(ejw),k=1,2,…,N-1和一个低通滤波器H0(ejw),均匀分布在整个频谱上,ω分布在0到π。分割的滤波器不重叠。所有的滤波器形成一个宽大的全通滤波器。对于第k个滤波器,Hk(ejw),k=1,2,...,N一1,中心在ωK(2π/n)k=2π/n,带宽等,如果原始的语音数据用滤波带,可得到分割子带的频率分量。

非同步加密算法之滤波带加密

hk (n)是Hk (ejw)的冲激响应,“*”是卷积。由于Y (k)是频带小于原来的语音信号,因此,可以用更低的采样率下采样得到YrR(k),只要满足条件R≤N。这里r=1,2,…。原始语音信号可以从YrR (k)直接得到。首先,插值YrR(k)得到原始序列yn(k),再把各分量相加就得到原始语音。

非同步加密算法之滤波带加密

式(4)是滤波带分解方程,式(5)是滤波带合成方程。Schafer,Rabiner和portnof'f给出滤波带的一种算法实现,主要过程如下:

非同步加密算法之滤波带加密

h(n)是总的系统函数的冲激响应,长度为N:

非同步加密算法之滤波带加密

h(n)长度为N,因此,得到近似表达:

非同步加密算法之滤波带加密

三、同步分析

非同步加密算法之滤波带加密

图1示出了语音加密流程,其中h和f分别是滤波和插_值滤波器,h等于f。w和w-1分别是傅立叶变换矩阵和逆傅立叶变换矩阵。由于通过滤波带分析,可以实现语音信号的分解和复原,因此实现同步加密的关键问题就是,如何选取频率加密矩阵M和解密矩阵M-1,以及时域矩阵T和T-1最终满足什么条件。当系统完全同步,可以从Yn(k)中恢复得到x(n);但如果系统处于失步,即假设系统加密处理与解密处理是不同的语音帧。同步形式表示为{Yn(k),k=1,2,...,N-1);失步形式表示为{X十。{Yn+s(k),k=1,2,...,N-1),s是时间滞后。由于
在频域的采样频率一样,由采样理论可知,时间延迟引起的失步并不会改变Yn(k)的形式,因此可以恢复得到原始语音信号x(n)。为了方便实现,降低运算开销,并减少有限长效应
对语音信号的影响,而且看到图1中的加密过程可以合并为一个映射,加密频域矩阵和两个傅立叶变换矩阵组合到一起。

非同步加密算法之滤波带加密

通过选取合适的参数T,同步可以不加考虑,从而实现非同步加密,并可省掉两次傅立叶变换的开销。T需要满足的条件是一定要可逆。现在的问题是找是否存在这样的矩阵。在频域失步将引起相位失真,由于相位失真对声音的效果影响很小,因此可以不管延迟在频域产生的效果。

频率如果为实数,变换到时域就为复数。为了减少运算,并且避免相位失真在不同滤波子带传播。一种比较简单的方法就是选取均匀置换矩阵。一个矩阵满足下面的条件,就是均匀置换矩阵。

非同步加密算法之滤波带加密

如果T为均匀置换矩阵,则M也是,反之一样。M是均匀置换矩阵,T也是。此外,并不是所有的都T可逆,因此需要选择合适的l,m,才能满足T可逆条件,如果不满足这个条件,将不能够恢复语音或恢复后失真会很大。到这里确定了参数W,W-1,M,M-1,T,T-1。

四、基于滤波带的非同步加密算法仿真

置换矩阵就是每一行,只有唯一的一个1。这里选取置换矩阵的维数为32×32,l=7,m=6进行模拟,加密矩阵T可逆。仿真的结果如图2所示。

非同步加密算法之滤波带加密

图2的时域波形只是语音信号波形中的一部分。分别为原始语音,加密后语音和16样本点的失步解密后语音。对于时域对应的频域,图2中原始语音信号的频域和解密后的语音信号频域基本一致,加密后语音信号频域被置乱后,频谱的能量均匀分布(白化处理)。

为了说明本文加密算法加密的效率,对于同一数据块分别使用本文的算法加密和传统的数据加密算法DES进行加密,加密时间的比较结果如表1所示,从加密时间看,本文加密算法加密4轮的开销才与DES加密开销接近。

非同步加密算法之滤波带加密

小知识之异步

异步:一种通讯方式,对设备需求简单。我们的PC机提供的标准通信接口都是异步的。