原晨 高勇
摘 要: 回聲信息隱藏是通過在載體語音中嵌入不同延時(shí)的回聲來實(shí)現(xiàn)信息隱藏的一種技術(shù)。介紹回聲隱藏算法的基本原理,分析回聲隱藏法秘密信息提取的關(guān)鍵步驟,即計(jì)算隱藏秘密信息后語音的倒譜,并結(jié)合線性卷積與循環(huán)卷積的關(guān)系,推導(dǎo)及總結(jié)了在高質(zhì)量信道上利用回聲隱藏法進(jìn)行隱蔽通信時(shí)秘密信息提取出錯(cuò)的原因。分析表明,實(shí)際應(yīng)用中可根據(jù)語音在延遲處的倒譜值自適應(yīng)地調(diào)節(jié)回聲衰減因子的大小,提高回聲隱藏法秘密信息恢復(fù)的準(zhǔn)確率。
關(guān)鍵詞: 回聲隱藏; 倒譜; 線性卷積; 循環(huán)卷積; 高質(zhì)量信道
中圖分類號: TN918?34 文獻(xiàn)標(biāo)識碼: 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 引 言
傳統(tǒng)的信息加密技術(shù)是通過加密算法將有意義的明文變?yōu)槊芪膩y碼,以達(dá)到保密通信的目的,但這一做法無疑已經(jīng)告訴攻擊者該信息的重要性。隱蔽通信則不同于傳統(tǒng)的加密通信,它結(jié)合了信息隱藏技術(shù)將秘密信息隱藏于可以公開的明文中,從而隱藏了信息的“存在性”,使得攻擊者失去了攻擊目標(biāo)[1?2]。在Internet技術(shù)高速發(fā)展的今天,人們可以更加方便地在網(wǎng)絡(luò)信道上傳輸高質(zhì)量音頻,以這些音頻為載體并結(jié)合語音隱藏技術(shù)可以有效地實(shí)現(xiàn)隱蔽通信,保障秘密信息的安全傳輸,因此語音隱藏技術(shù)已成為信息隱藏技術(shù)中的研究熱點(diǎn)。
常見的語音隱藏技術(shù)有:最低有效位隱藏法(LSB)[3]、相位隱藏法[4]、直接序列擴(kuò)頻法[5]以及回聲信息隱藏法[6]。其中回聲隱藏技術(shù)由Bender等人于1996年提出,由于其具有算法簡單、隱藏效果好且對同步要求不高等優(yōu)點(diǎn)而被廣泛使用。此后,許多學(xué)者在基本回聲隱藏法的基礎(chǔ)上對回聲核加以改進(jìn),提高了秘密信息的恢復(fù)率,如Oh等人提出的雙回聲核[7],以及Kim H J等人提出的前后向回聲隱藏算法[8]。但不足的是,這些算法即使在高質(zhì)量信道上應(yīng)用時(shí)秘密信息提取的準(zhǔn)確率也不一定能達(dá)到100%。
Yousof Erfani等人提出載體語音的倒譜是秘密信息提取出錯(cuò)的錯(cuò)誤源之一[9]。在此基礎(chǔ)上,本文分析了回聲隱藏法秘密信息提取的基本原理以及線性卷積與循環(huán)卷積的關(guān)系,進(jìn)一步探討了在Internet這一高質(zhì)量信道上利用回聲隱藏法進(jìn)行隱蔽通信時(shí),秘密信息恢復(fù)率達(dá)不到100%的原因。
1 回聲隱藏算法的基本原理
人耳的聽覺具有頻率掩蔽特性(同時(shí)掩蔽)以及時(shí)間掩蔽特性。所謂時(shí)間掩蔽特性是指在很近的時(shí)間間隔內(nèi)發(fā)出的兩個(gè)聲音會產(chǎn)生暫時(shí)掩蔽,且一個(gè)信號可以被之前發(fā)出的噪聲或信號掩蔽(前掩蔽),也可以被之后發(fā)出的噪聲或信號掩蔽(后掩蔽)[10]。回聲隱藏則利用上述特性,將代表不同秘密信息的不同延遲大小的回聲嵌入到原始語音中,以實(shí)現(xiàn)秘密信息的隱藏。
Bender等人提出的回聲核模型[4]如圖1所示。
該回聲核的單位沖激響應(yīng)[h(n)]可以表示為:
[h(n)=δ(n)+αδ(n-d)] (1)
式中:[d]為回聲延遲時(shí)間;[α]為回聲衰減因子;[δ(n)]為單位沖激響應(yīng)。則嵌入回聲后的語音信號[y(n)]可以表示為原始語音[x(n)]與回聲核[h(n)]的卷積,[?]表示信號的卷積,即:
[y(n)=x(n)?h(n)=x(n)+αx(n-d)] (2)
回聲隱藏法的具體步驟為:
(1) 對載體語音進(jìn)行分幀,每幀可隱藏1比特信息;
(2) 選取兩個(gè)延遲大小分別為[d0,][d1]的回聲,隱藏秘密比特0時(shí),根據(jù)式(2)嵌入延遲為[d0]的回聲;隱藏秘密比特1時(shí),根據(jù)式(2)嵌入延遲為[d1]的回聲;
(3) 將含有秘密信息的語音幀重新組合為一個(gè)完整的語音序列。
由此可以看出,嵌入回聲的延遲時(shí)間不同代表著不同的秘密信息,因此秘密信息的提取過程就是確定回聲延遲的過程。嵌入回聲后的語音信號是一個(gè)卷積信號,直接在時(shí)域或頻域上確定回聲延遲較為困難,實(shí)際中可以利用倒譜運(yùn)算來處理[5],將該卷積信號變?yōu)榧有孕盘枴?/p>
對于信號[s(n)],其倒譜[cs(n)]定義如下:
[cs(n)=F-1lnF(s(n))] (3)
式中:[F]表示離散時(shí)間傅里葉變換;[F-1]表示離散時(shí)間傅里葉反變換。據(jù)此對式(2)兩邊同時(shí)做倒譜運(yùn)算,可得嵌入回聲后語音信號的倒譜[cy(n)]為:
[cy(n)=F-1lnX(ejω)+F-1lnH(ejω)=cx(n)+ch(n)] (4)
式中:[X(ejω),][cx(n)]分別為純凈語音的離散時(shí)間傅里葉變換及倒譜;[H(ejω),][ch(n)]分別為回聲核的離散時(shí)間傅里葉變換和倒譜。由此可以看出,嵌入回聲后語音信號的倒譜可以表示為原始語音的倒譜與回聲核的倒譜之和。
對于回聲核[h(n)],其離散時(shí)間傅里葉變換[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]處的倒譜值會有一增量[α。]
設(shè)某幀語音嵌入延遲大小為[d1]的回聲,則含密語音在[d0,][d1]處的倒譜值如下所示:
[cy(d0)=cx(d0)cy(d1)=cx(d1)+α] (9)
適當(dāng)選取[α],可使[cy(d1)>cy(d0)]。因此在秘密信息提取時(shí),可比較[d0,][d1]處的倒譜值,根據(jù)較大者可判斷回聲延遲大小,進(jìn)一步確定其所代表的秘密信息。
2 高質(zhì)量信道上回聲隱藏算法秘密信息提取出
錯(cuò)的原因
由第一節(jié)可以知道,回聲隱藏法秘密信息提取的關(guān)鍵步驟是求得隱藏秘密信息后的語音的倒譜。
從式(2)~式(4)的推導(dǎo)中,利用了離散時(shí)間傅里葉變換的卷積特性,設(shè)[x1(n),][x2(n)]都是點(diǎn)數(shù)為[N]的有限長序列,其離散時(shí)間傅里葉變換為[X1(ejω),][X2(ejω),]則有:
[F[x1(n)?x2(n)]=X1(ejω)?X2(ejω)] (10)
而在計(jì)算機(jī)處理中,是采用離散傅里葉變換來分析信號與系統(tǒng)的。因此,式(2)~式(4)的推導(dǎo)也相應(yīng)地利用離散傅里葉變換的性質(zhì)。
設(shè)[x1(n),][x2(n)]的離散傅里葉變換為[X1(k),][X2(k),][D]表示對信號做離散傅里葉變換,[?]為循環(huán)卷積,則有:
[D[x1(n)?x2(n)]=X1(k)?X2(k)] (11)
該循環(huán)卷積定理可以描述為兩序列時(shí)域上循環(huán)卷積,頻域上相乘。而文中引入回聲延遲的隱藏方法實(shí)質(zhì)是一種線性卷積。
[x1(n),][x2(n)]的線性卷積[xl(n)]定義如下:
[xl(n)=x1(n)?x2(n)=m=0N-1x1(m)x2(n-m),0≤n≤N-1] (12)
二者的循環(huán)卷積[xc(n)]定義如下:
[xc(n)=x1(n)?x2(n)=m=0N-1x1(m)x2((n-m))N,0≤n≤N-1] (13)
式中[((·))N]表示將該信號以[N]為周期進(jìn)行周期延拓。
循環(huán)卷積與線性卷積的關(guā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]點(diǎn)循環(huán)卷積是其線性卷積以[N]為周期的周期延拓序列的主值。因此,將兩序列線性卷積的結(jié)果以[N]為長度分割成若干段,再將每一段按行排列,這樣可以構(gòu)成一個(gè)有若干行、[N]列的二維矩陣,將此二維矩陣按列相加,即可得到二者的循環(huán)卷積序列。其中空缺位用零補(bǔ)足。
下面對回聲隱藏法在無任何干擾下秘密信息提取出錯(cuò)的原因進(jìn)行分析及推導(dǎo)。設(shè)語音信號為[x(n),]回聲核單位沖激響應(yīng)為[h(n),]且二者長度均為[N。][yc(n)]為[x(n)]與[h(n)]循環(huá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]個(gè)點(diǎn)。且有:
[y2(n)=αx(m),N-d≤m≤N-1,0≤n≤d-10,others n] (16)
[y2(n)]的前[d]個(gè)點(diǎn)在大多數(shù)情況下不全為0。
根據(jù)式(14),語音信號與回聲核的循環(huán)卷積[yc(n)]為:
[yc(n)=y1(n)+y2(n),0≤n≤N-1] (17)
結(jié)合上式及離散傅里葉變換的卷積特性,該循環(huán)卷積序列的離散傅里葉變換[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)兩邊同時(shí)做倒譜運(yùn)算可得循環(huán)卷積序列的倒譜[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)
由以上推導(dǎo)可以看出,回聲隱藏法實(shí)質(zhì)上是將循環(huán)卷積序列在延遲處的倒譜增大了[α,]而線性卷積序列在延遲處的倒譜的增量不一定為[α]。
利用回聲隱藏法在高質(zhì)量信道上進(jìn)行隱蔽通信時(shí),若回聲0代表秘密比特0,其延遲時(shí)間為[d0,]回聲1代表秘密比特1,其延遲時(shí)間為[d1。]當(dāng)某一幀語音嵌入回聲1時(shí),該幀語音秘密信息提取出錯(cuò)的原因如下:
(1) 若[cx(d1)]相比于[cx(d0)]較小,且回聲衰減因子[α]選取不恰當(dāng),即使嵌入回聲后,[cy(d1)]在[cx(d1)]的基礎(chǔ)上數(shù)值大小有一定的增加,也不一定能超過[cy(d0)];
(2) 從式(16)、式(19)與式(20)可以看出,由于[y2(n)]的前[d]個(gè)點(diǎn)在大多數(shù)情況下不全為0,則其離散傅里葉變換[Y2(k)]也在大多數(shù)情況下不全為0,因此即使有[cyc(d1)>cyc(d0)],也不一定有[cy(d1)>cy(d0)]。而在實(shí)際應(yīng)用中是通過比較[cy(d1),][cy(d0)]來確定秘密信息的大小,因此秘密信息提取可能會出錯(cuò)。
3 實(shí)驗(yàn)結(jié)果
為驗(yàn)證上述分析的正確性,選取一段北京廣播學(xué)院標(biāo)準(zhǔn)語音進(jìn)行實(shí)驗(yàn),其采樣率為8 kHz,量化位數(shù)為16 b。實(shí)驗(yàn)中隱藏比特0時(shí),嵌入延遲[d0=60]個(gè)采樣點(diǎn)的回聲,隱藏比特1時(shí),嵌入延遲[d1=80]個(gè)采樣點(diǎn)的回聲。首先將該語音以幀長[N=160]進(jìn)行分幀,計(jì)算每幀語音的倒譜[cx(n)];然后在每幀語音中嵌入比特1,也就是將語音幀與延遲為[d1]的回聲核做線性卷積,計(jì)算該線性卷積序列的倒譜[cy(n)];最后將純凈語音幀與延遲為[d1]的回聲核做循環(huán)卷積,計(jì)算該循環(huán)卷積序列的倒譜[cyc(n)]。觀察三種倒譜在[d0,][d1]處的數(shù)值及[d0,][d1]處的倒譜值之差。其中[d0,][d1]處的倒譜值之差按下式進(jìn)行計(jì)算:
[dfx=cx(d1)-cx(d0)dfy=cy(d1)-cy(d0)dfyc=cyc(d1)-cyc(d0)] (21)
由第1節(jié)可知,當(dāng)[dfy>0]時(shí),判斷隱藏的秘密信息為比特1,此時(shí)秘密信息提取正確。
首先選取一較小回聲衰減因子[α=0.2]進(jìn)行上述實(shí)驗(yàn),觀察到某些語音幀秘密信息提取出錯(cuò),當(dāng)調(diào)整回聲衰減因子使其增大到[α=0.5]時(shí),秘密信息恢復(fù)率可以達(dá)到100%,對此分析如下:
(1) 實(shí)驗(yàn)中觀察到某一純凈語音幀在[d1]處的倒譜值相比于[d0]處倒譜值過小,當(dāng)回聲衰減因子為[α=0.2] 時(shí),線性卷積序列及循環(huán)卷積序列[d1]處倒譜均小于[d0]處倒譜值,秘密信息提取錯(cuò)誤。記該語音幀為語音幀a,計(jì)算其三種倒譜在[d0,][d1]處的數(shù)值及[d0,][d1]處的倒譜值之差列于表1中。增大回聲衰減因子[α=0.5],重新計(jì)算其三種倒譜在[d0,][d1]處的數(shù)值及[d0,][d1]處的倒譜值之差,同樣列于表1中。
從表1可以看出純凈語音幀[d1]處的倒譜值相比于[d0]處倒譜值過小,且回聲衰減因子不夠大,會導(dǎo)致秘密信息提取出錯(cuò),此錯(cuò)誤可通過增大回聲衰減因子來消除。
(2) 實(shí)驗(yàn)中還觀察到當(dāng)回聲衰減因子為[α=0.2]時(shí),某一純凈語音幀與延遲為[d1]的回聲核線性卷積序列[d1]處倒譜值小于[d0]處倒譜值,而循環(huán)卷積序列在[d1]處倒譜值大于[d0]處倒譜值,秘密信息提取錯(cuò)誤。記該語音幀為語音幀b,計(jì)算其三種倒譜在[d0,][d1]處的數(shù)值及[d0,][d1]處的倒譜值之差列于表2中。增大回聲衰減因子[α=0.5,]重新計(jì)算其三種倒譜在[d0,][d1]處的數(shù)值及[d0,][d1]處的倒譜值之差,同樣列于表2中。
觀察表1,表2中的數(shù)據(jù)可以看到,語音幀a、語音幀b與延遲為[d1]的回聲核循環(huán)卷積序列的倒譜為[cx(d1)+α,]而語音幀a、語音幀b與延遲為[d1]的回聲核線性卷積序列的倒譜則無上述關(guān)系,驗(yàn)證了回聲隱藏法實(shí)質(zhì)上是將循環(huán)卷積序列在延遲處的倒譜增大了[α,]線性卷積序列在延遲處的倒譜的增量不一定為[α,]而當(dāng)線性卷積序列的增量較小時(shí),會導(dǎo)致秘密信息提取出錯(cuò)。從表2可以看出,此錯(cuò)誤可通過增大回聲衰減因子來消除。
因此在實(shí)際應(yīng)用中進(jìn)行回聲隱藏時(shí),設(shè)嵌入回聲的延遲大小為[d1],可通過比較語音在[d0]、[d1]處的倒譜值自適應(yīng)地調(diào)整其回聲衰減因子的大小,使得[d1]處倒譜值大于[d0]處倒譜值。但出于隱蔽性的考慮,回聲衰減因子不能太大,當(dāng)回聲衰減因子增大到使語音質(zhì)量有明顯下降而語音倒譜仍不符合要求時(shí),可以結(jié)合糾錯(cuò)編碼技術(shù)來提高秘密信息恢復(fù)率。
4 結(jié) 語
本文通過分析回聲隱藏法的基本原理以及線性卷積與循環(huán)卷積的關(guān)系,推導(dǎo)出傳統(tǒng)的回聲隱藏算法在如Internet等高質(zhì)量信道上進(jìn)行隱蔽通信時(shí),秘密信息提取的準(zhǔn)確率達(dá)不到100%的原因。實(shí)驗(yàn)證明,在實(shí)際應(yīng)用中可根據(jù)語音在延遲處的倒譜值自適應(yīng)地調(diào)節(jié)回聲衰減因子的大小,從而使得隱藏秘密信息后的語音的倒譜滿足要求,以達(dá)到提高回聲隱藏秘密信息恢復(fù)率的目的。
參考文獻(xiàn)
[1] JOHNSON N F, JAJODIA S. Exploring steganography: seeing the unseen [J]. Computer, 1998, 31(2): 26?34.
[2] 康芳,譚薇,楊森斌.信息隱藏技術(shù)及其在軍事通信領(lǐng)域的應(yīng)用研究[J].現(xiàn)代電子技術(shù),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.