高质量信道上回声隐藏法秘密信息提取出错原因分析
   来源:现代电子技术     2021年01月26日 17:38

原晨 高勇

摘 要: 回声信息隐藏是通过在载体语音中嵌入不同延时的回声来实现信息隐藏的一种技术。介绍回声隐藏算法的基本原理,分析回声隐藏法秘密信息提取的关键步骤,即计算隐藏秘密信息后语音的倒谱,并结合线性卷积与循环卷积的关系,推导及总结了在高质量信道上利用回声隐藏法进行隐蔽通信时秘密信息提取出错的原因。分析表明,实际应用中可根据语音在延迟处的倒谱值自适应地调节回声衰减因子的大小,提高回声隐藏法秘密信息恢复的准确率。

关键词: 回声隐藏; 倒谱; 线性卷积; 循环卷积; 高质量信道

中图分类号: TN918?34 文献标识码: A 文章编号: 1004?373X(2015)11?0103?04

Analysis on error reasons of secret information extraction

in high quality channel by echo hiding method

YUAN Chen, GAO Yong

(College of Electronics and Information Engineering, Sichuan University, Chengdu 610065, China)

Abstract: Echo information hiding is a technique to realize information hiding by embedding different delay echoes in carrier voice. The basic principle of echo hiding algorithm is introduced. The key steps of secret information extraction with echo hiding method is analyzed, that is the voice cepstrum after calculating the hiding secret information. According to the relation of linear convolution and cycle convolution, the error reasons of secret information extraction when the hiding communication is implemented with echo hiding method in high quality channel are deduced and summarized. The accuracy of secret information recovery with echo hiding method is improved by regulating the size of echo decay factor adaptively according to the cepstrum value in delay areas of the voice.

Keywords: echo hiding; cepstrum; linear convolution; cycle convolution; high quality channel

0 引 言

传统的信息加密技术是通过加密算法将有意义的明文变为密文乱码,以达到保密通信的目的,但这一做法无疑已经告诉攻击者该信息的重要性。隐蔽通信则不同于传统的加密通信,它结合了信息隐藏技术将秘密信息隐藏于可以公开的明文中,从而隐藏了信息的“存在性”,使得攻击者失去了攻击目标[1?2]。在Internet技术高速发展的今天,人们可以更加方便地在网络信道上传输高质量音频,以这些音频为载体并结合语音隐藏技术可以有效地实现隐蔽通信,保障秘密信息的安全传输,因此语音隐藏技术已成为信息隐藏技术中的研究热点。

常见的语音隐藏技术有:最低有效位隐藏法(LSB)[3]、相位隐藏法[4]、直接序列扩频法[5]以及回声信息隐藏法[6]。其中回声隐藏技术由Bender等人于1996年提出,由于其具有算法简单、隐藏效果好且对同步要求不高等优点而被广泛使用。此后,许多学者在基本回声隐藏法的基础上对回声核加以改进,提高了秘密信息的恢复率,如Oh等人提出的双回声核[7],以及Kim H J等人提出的前后向回声隐藏算法[8]。但不足的是,这些算法即使在高质量信道上应用时秘密信息提取的准确率也不一定能达到100%。

Yousof Erfani等人提出载体语音的倒谱是秘密信息提取出错的错误源之一[9]。在此基础上,本文分析了回声隐藏法秘密信息提取的基本原理以及线性卷积与循环卷积的关系,进一步探讨了在Internet这一高质量信道上利用回声隐藏法进行隐蔽通信时,秘密信息恢复率达不到100%的原因。

1 回声隐藏算法的基本原理

人耳的听觉具有频率掩蔽特性(同时掩蔽)以及时间掩蔽特性。所谓时间掩蔽特性是指在很近的时间间隔内发出的两个声音会产生暂时掩蔽,且一个信号可以被之前发出的噪声或信号掩蔽(前掩蔽),也可以被之后发出的噪声或信号掩蔽(后掩蔽)[10]。回声隐藏则利用上述特性,将代表不同秘密信息的不同延迟大小的回声嵌入到原始语音中,以实现秘密信息的隐藏。

Bender等人提出的回声核模型[4]如图1所示。

该回声核的单位冲激响应[h(n)]可以表示为:

[h(n)=δ(n)+αδ(n-d)] (1)

式中:[d]为回声延迟时间;[α]为回声衰减因子;[δ(n)]为单位冲激响应。则嵌入回声后的语音信号[y(n)]可以表示为原始语音[x(n)]与回声核[h(n)]的卷积,[?]表示信号的卷积,即:

[y(n)=x(n)?h(n)=x(n)+αx(n-d)] (2)

回声隐藏法的具体步骤为:

(1) 对载体语音进行分帧,每帧可隐藏1比特信息;

(2) 选取两个延迟大小分别为[d0,][d1]的回声,隐藏秘密比特0时,根据式(2)嵌入延迟为[d0]的回声;隐藏秘密比特1时,根据式(2)嵌入延迟为[d1]的回声;

(3) 将含有秘密信息的语音帧重新组合为一个完整的语音序列。

由此可以看出,嵌入回声的延迟时间不同代表着不同的秘密信息,因此秘密信息的提取过程就是确定回声延迟的过程。嵌入回声后的语音信号是一个卷积信号,直接在时域或频域上确定回声延迟较为困难,实际中可以利用倒谱运算来处理[5],将该卷积信号变为加性信号。

对于信号[s(n)],其倒谱[cs(n)]定义如下:

[cs(n)=F-1lnF(s(n))] (3)

式中:[F]表示离散时间傅里叶变换;[F-1]表示离散时间傅里叶反变换。据此对式(2)两边同时做倒谱运算,可得嵌入回声后语音信号的倒谱[cy(n)]为:

[cy(n)=F-1lnX(ejω)+F-1lnH(ejω)=cx(n)+ch(n)] (4)

式中:[X(ejω),][cx(n)]分别为纯净语音的离散时间傅里叶变换及倒谱;[H(ejω),][ch(n)]分别为回声核的离散时间傅里叶变换和倒谱。由此可以看出,嵌入回声后语音信号的倒谱可以表示为原始语音的倒谱与回声核的倒谱之和。

对于回声核[h(n)],其离散时间傅里叶变换[H(ejω)]可以表示为:

[H(ejω)=1+αe-jωd] (5)

由于回声衰减因子[α]介于0~1之间,可利用公式:

[ln(1+x)=x-x22+x33-…, x<1] (6)

将[lnH(ejω)]展开得:

[lnH(ejω)=αe-jωd-α22e-2jωd+α33e-3jωd] (7)

将式(7)代入式(4)可以得到:[cy(n)=cx(n)+αδ(n-d)-α22δ(n-2d)+α33δ(n-3d) ] (8)

由上式可以看出,嵌入回声后的语音信号在回声延迟[d]处的倒谱值会有一增量[α。]

设某帧语音嵌入延迟大小为[d1]的回声,则含密语音在[d0,][d1]处的倒谱值如下所示:

[cy(d0)=cx(d0)cy(d1)=cx(d1)+α] (9)

适当选取[α],可使[cy(d1)>cy(d0)]。因此在秘密信息提取时,可比较[d0,][d1]处的倒谱值,根据较大者可判断回声延迟大小,进一步确定其所代表的秘密信息。

2 高质量信道上回声隐藏算法秘密信息提取出

错的原因

由第一节可以知道,回声隐藏法秘密信息提取的关键步骤是求得隐藏秘密信息后的语音的倒谱。

从式(2)~式(4)的推导中,利用了离散时间傅里叶变换的卷积特性,设[x1(n),][x2(n)]都是点数为[N]的有限长序列,其离散时间傅里叶变换为[X1(ejω),][X2(ejω),]则有:

[F[x1(n)?x2(n)]=X1(ejω)?X2(ejω)] (10)

而在计算机处理中,是采用离散傅里叶变换来分析信号与系统的。因此,式(2)~式(4)的推导也相应地利用离散傅里叶变换的性质。

设[x1(n),][x2(n)]的离散傅里叶变换为[X1(k),][X2(k),][D]表示对信号做离散傅里叶变换,[?]为循环卷积,则有:

[D[x1(n)?x2(n)]=X1(k)?X2(k)] (11)

该循环卷积定理可以描述为两序列时域上循环卷积,频域上相乘。而文中引入回声延迟的隐藏方法实质是一种线性卷积。

[x1(n),][x2(n)]的线性卷积[xl(n)]定义如下:

[xl(n)=x1(n)?x2(n)=m=0N-1x1(m)x2(n-m),0≤n≤N-1] (12)

二者的循环卷积[xc(n)]定义如下:

[xc(n)=x1(n)?x2(n)=m=0N-1x1(m)x2((n-m))N,0≤n≤N-1] (13)

式中[((·))N]表示将该信号以[N]为周期进行周期延拓。

循环卷积与线性卷积的关系如下所示:

[xc(n)=m=0N-1x1(m)x2((n-m))NRN(n)=m=0N-1x1(m)r=-∞∞x2(n+rN-m)RN(n)=r=-∞∞m=0N-1x1(m)x2(n+rN-m)RN(n)=r=-∞∞xl(n+rN)RN(n)] (14)

其中:[RN(n)=1,0≤n≤N-10,othersn。]

由式(14)可以看出,两序列的[N]点循环卷积是其线性卷积以[N]为周期的周期延拓序列的主值。因此,将两序列线性卷积的结果以[N]为长度分割成若干段,再将每一段按行排列,这样可以构成一个有若干行、[N]列的二维矩阵,将此二维矩阵按列相加,即可得到二者的循环卷积序列。其中空缺位用零补足。

下面对回声隐藏法在无任何干扰下秘密信息提取出错的原因进行分析及推导。设语音信号为[x(n),]回声核单位冲激响应为[h(n),]且二者长度均为[N。][yc(n)]为[x(n)]与[h(n)]循环卷积后的信号,[yl(n)]为二者线性卷积后的信号,[y(n)]为嵌入回声[h(n)]后的语音。定义两信号[y1(n),][y2(n)]:

[y1(n)=yl(m),0≤m≤N-1,0≤n≤N-1y2(n)=yl(m),N≤m≤2N-2,0≤n≤N-2y2(n)=0,n=N] (15)

其中有[y1(n)=y(n),]即隐藏秘密信息后语音[y(n)]为[yl(n)]的前[N]个点。且有:

[y2(n)=αx(m),N-d≤m≤N-1,0≤n≤d-10,others n] (16)

[y2(n)]的前[d]个点在大多数情况下不全为0。

根据式(14),语音信号与回声核的循环卷积[yc(n)]为:

[yc(n)=y1(n)+y2(n),0≤n≤N-1] (17)

结合上式及离散傅里叶变换的卷积特性,该循环卷积序列的离散傅里叶变换[Yc(k)]为:

[Yc(k)=Y1(k)+Y2(k)=X(k)H(k)] (18)

其中[Y1(k),][Y2(k),][X(k),][H(k)]分别为[y1(n),][y2(n),][x(n),][h(n)]的离散傅里叶变换。

对式(18)两边同时做倒谱运算可得循环卷积序列的倒谱[cyc(n)]为:

[cyc(n)=D-1ln(Y1(k)+Y2(k))=cx(n)+ch(n)=cx(n)+αδ(n-d)-α22δ(n-2d)+α33δ(n-3d)] (19)

式中:[D-1]表示对信号做离散傅里叶反变换;[cx(n),][ch(n)]分别为[x(n),][h(n)]的倒谱。

而隐藏秘密信息后的语音的倒谱[cy(n)]为:

[cy(n)=D-1lnY1(k)] (20)

由以上推导可以看出,回声隐藏法实质上是将循环卷积序列在延迟处的倒谱增大了[α,]而线性卷积序列在延迟处的倒谱的增量不一定为[α]。

利用回声隐藏法在高质量信道上进行隐蔽通信时,若回声0代表秘密比特0,其延迟时间为[d0,]回声1代表秘密比特1,其延迟时间为[d1。]当某一帧语音嵌入回声1时,该帧语音秘密信息提取出错的原因如下:

(1) 若[cx(d1)]相比于[cx(d0)]较小,且回声衰减因子[α]选取不恰当,即使嵌入回声后,[cy(d1)]在[cx(d1)]的基础上数值大小有一定的增加,也不一定能超过[cy(d0)];

(2) 从式(16)、式(19)与式(20)可以看出,由于[y2(n)]的前[d]个点在大多数情况下不全为0,则其离散傅里叶变换[Y2(k)]也在大多数情况下不全为0,因此即使有[cyc(d1)>cyc(d0)],也不一定有[cy(d1)>cy(d0)]。而在实际应用中是通过比较[cy(d1),][cy(d0)]来确定秘密信息的大小,因此秘密信息提取可能会出错。

3 实验结果

为验证上述分析的正确性,选取一段北京广播学院标准语音进行实验,其采样率为8 kHz,量化位数为16 b。实验中隐藏比特0时,嵌入延迟[d0=60]个采样点的回声,隐藏比特1时,嵌入延迟[d1=80]个采样点的回声。首先将该语音以帧长[N=160]进行分帧,计算每帧语音的倒谱[cx(n)];然后在每帧语音中嵌入比特1,也就是将语音帧与延迟为[d1]的回声核做线性卷积,计算该线性卷积序列的倒谱[cy(n)];最后将纯净语音帧与延迟为[d1]的回声核做循环卷积,计算该循环卷积序列的倒谱[cyc(n)]。观察三种倒谱在[d0,][d1]处的数值及[d0,][d1]处的倒谱值之差。其中[d0,][d1]处的倒谱值之差按下式进行计算:

[dfx=cx(d1)-cx(d0)dfy=cy(d1)-cy(d0)dfyc=cyc(d1)-cyc(d0)] (21)

由第1节可知,当[dfy>0]时,判断隐藏的秘密信息为比特1,此时秘密信息提取正确。

首先选取一较小回声衰减因子[α=0.2]进行上述实验,观察到某些语音帧秘密信息提取出错,当调整回声衰减因子使其增大到[α=0.5]时,秘密信息恢复率可以达到100%,对此分析如下:

(1) 实验中观察到某一纯净语音帧在[d1]处的倒谱值相比于[d0]处倒谱值过小,当回声衰减因子为[α=0.2] 时,线性卷积序列及循环卷积序列[d1]处倒谱均小于[d0]处倒谱值,秘密信息提取错误。记该语音帧为语音帧a,计算其三种倒谱在[d0,][d1]处的数值及[d0,][d1]处的倒谱值之差列于表1中。增大回声衰减因子[α=0.5],重新计算其三种倒谱在[d0,][d1]处的数值及[d0,][d1]处的倒谱值之差,同样列于表1中。

从表1可以看出纯净语音帧[d1]处的倒谱值相比于[d0]处倒谱值过小,且回声衰减因子不够大,会导致秘密信息提取出错,此错误可通过增大回声衰减因子来消除。

(2) 实验中还观察到当回声衰减因子为[α=0.2]时,某一纯净语音帧与延迟为[d1]的回声核线性卷积序列[d1]处倒谱值小于[d0]处倒谱值,而循环卷积序列在[d1]处倒谱值大于[d0]处倒谱值,秘密信息提取错误。记该语音帧为语音帧b,计算其三种倒谱在[d0,][d1]处的数值及[d0,][d1]处的倒谱值之差列于表2中。增大回声衰减因子[α=0.5,]重新计算其三种倒谱在[d0,][d1]处的数值及[d0,][d1]处的倒谱值之差,同样列于表2中。

观察表1,表2中的数据可以看到,语音帧a、语音帧b与延迟为[d1]的回声核循环卷积序列的倒谱为[cx(d1)+α,]而语音帧a、语音帧b与延迟为[d1]的回声核线性卷积序列的倒谱则无上述关系,验证了回声隐藏法实质上是将循环卷积序列在延迟处的倒谱增大了[α,]线性卷积序列在延迟处的倒谱的增量不一定为[α,]而当线性卷积序列的增量较小时,会导致秘密信息提取出错。从表2可以看出,此错误可通过增大回声衰减因子来消除。

因此在实际应用中进行回声隐藏时,设嵌入回声的延迟大小为[d1],可通过比较语音在[d0]、[d1]处的倒谱值自适应地调整其回声衰减因子的大小,使得[d1]处倒谱值大于[d0]处倒谱值。但出于隐蔽性的考虑,回声衰减因子不能太大,当回声衰减因子增大到使语音质量有明显下降而语音倒谱仍不符合要求时,可以结合纠错编码技术来提高秘密信息恢复率。

4 结 语

本文通过分析回声隐藏法的基本原理以及线性卷积与循环卷积的关系,推导出传统的回声隐藏算法在如Internet等高质量信道上进行隐蔽通信时,秘密信息提取的准确率达不到100%的原因。实验证明,在实际应用中可根据语音在延迟处的倒谱值自适应地调节回声衰减因子的大小,从而使得隐藏秘密信息后的语音的倒谱满足要求,以达到提高回声隐藏秘密信息恢复率的目的。

参考文献

[1] JOHNSON N F, JAJODIA S. Exploring steganography: seeing the unseen [J]. Computer, 1998, 31(2): 26?34.

[2] 康芳,谭薇,杨森斌.信息隐藏技术及其在军事通信领域的应用研究[J].现代电子技术,2008,31(23):97?99.

[3] COOPERMAN M, MOSKOWITZ S A. Steganographic method and device: US, 5613004 [P]. 1997?03?18.

[4] BENDER W, GRUHL D, MORIMOTO N, et al. Techniques for data hiding [J]. IBM Systems Journal, 1996, 35(3/4): 313?336.

[5] LEE C U, MOALLEMI K, WARREN R L. Method and apparatus for transporting auxiliary data in audio signals: US, 5822360 [P]. 1998?10?13.

[6] ANDERSON Ross. Information hiding [M]. Berlin: Springer, 1996.

[7] OH H O, SEOK J W, HONG J W, et al. New echo embedding technique for robust and imperceptible audio watermarking [C]// Proceedings of 2001 IEEE International Conference on Acoustics, Speech, and Signal Processing. Sait Lake: IEEE, 2001, 3: 1341?1344.

[8] KIM H J, CHOI Y H. A novel echo?hiding scheme with backward and forward kernels [J]. IEEE Transactions on Circuits and Systems for Video Technology, 2003, 13(8): 885?889.

[9] ERFANI Y, MOIN M S, PARVIZ M. New methods for transparent and accurate echo hiding by using the original audio cepstral content [C]// 2007 IEEE International Conference on Computer and Information Science. [S.l.]: IEEE, 2007: 1087?1092.

[10] MITRA S, MANOHARAN S. Experiments with and enhancements to echo hiding [C]// 2009 IEEE International Conference on Systems and Networks Communications. Porto, Portugal: IEEE, 2009: 119?124.

回声 卷积 语音