邵京津,邵利平,任平安
(陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,陜西 西安 710119)
針對圖像音頻信息安全,人們已提出多種安全保護(hù)方法,如加密[1-3]、分存[4]、密寫[5]和偽裝等。相對于其他圖像音頻保護(hù)方法,偽裝是將機(jī)密圖像音頻偽裝成有意義的非機(jī)密圖像音頻,從而在傳輸時(shí)不易引起攻擊者的注意,減少潛在攻擊的可能性。
Tangram方法,也稱七巧法或中國拼圖方法[6-7],是一種典型的基于變換的圖像偽裝方法。但傳統(tǒng)Tangram方法在匹配過程中需全局搜索,計(jì)算復(fù)雜度高,等距變換數(shù)量少,制約了將密圖轉(zhuǎn)變?yōu)楣_圖像的匹配精度。
為降低Tangram方法的搜索時(shí)間和加快編碼速度,文獻(xiàn)[8]添加了塊均化操作,在減小計(jì)算代價(jià)的同時(shí)也減少了等距變換數(shù)量,導(dǎo)致匹配精度降低。為進(jìn)一步降低搜索代價(jià),提高編碼速度,文獻(xiàn)[9]將三角剖分用于對圖像三角區(qū)域近似重建,盡管免除了全局搜索,但也降低了密圖重構(gòu)精度。文獻(xiàn)[10-12]利用2維雙尺度矩形映射確定密圖子塊和公開圖像子塊間的對應(yīng)關(guān)系,通過直接最小2乘法匹配避免了全局匹配,編碼代價(jià)遠(yuǎn)低于傳統(tǒng)Tangram方法,但依然僅提供有限的等距變換,導(dǎo)偽裝圖像視覺質(zhì)量不高。
Tangram方法也被進(jìn)一步拓展為音頻偽裝方法。文獻(xiàn)[13-14]分別通過圖像子塊和音頻小段序列構(gòu)造旋轉(zhuǎn)向量來增加正交等距變換的數(shù)量,在提高匹配精度和公開載體偽裝質(zhì)量的同時(shí)保證了秘密信息的重構(gòu)精度,但等距變換所能提供的元素組合十分有限且非全部組合,因此無法找到所有向量元素組合的最優(yōu)解,同時(shí)由于向量旋轉(zhuǎn)所產(chǎn)生的多個(gè)等距變換向量都需進(jìn)行最小2乘匹配,從而提高了計(jì)算代價(jià)。為減少等距變換數(shù)量,文獻(xiàn)[15]引入排序線擬合使得排序后公開音頻元素和秘密音頻劃分的小段序列變化趨勢保持一致,在避免高昂匹配代價(jià)的同時(shí),也提高了擬合匹配精度。
但無論是標(biāo)準(zhǔn)Tangram算法[6-7],還是Tangram的改進(jìn)算法[8,10-15],這些方法所基于的變換模型都是仿射變換模型。對于圖像,仿射變換模型只有均值塊和差異塊,對于音頻,只有均值向量和差異向量,且無論是均值塊和差異塊還是均值向量和差異向量都不滿足基本的正交關(guān)系,導(dǎo)致變換精度低,不能有效地保證擬合精度,從而無法有效地進(jìn)行信道欺騙和保證秘密圖像音頻的重構(gòu)精度。除此以外,對于恒值塊或恒值序列,文獻(xiàn)[13-15]需添加擾動(dòng)來改善匹配性能,由此進(jìn)一步限制了仿射變換模型的變換精度。對于文獻(xiàn)[9],只能對密圖三角剖分區(qū)域進(jìn)行近似重構(gòu),其實(shí)際應(yīng)用價(jià)值較小。
針對以上問題,文中首先將秘密音頻和公開音頻劃分為同等數(shù)量的小段序列,利用密鑰來構(gòu)造隨機(jī)標(biāo)準(zhǔn)正交基;其次通過求取秘密音頻小段序列在隨機(jī)標(biāo)準(zhǔn)正交基上的投影來對秘密音頻小段序列進(jìn)行充分有效的線性表達(dá),從中選取幅值和能量較大且包含均值的前k個(gè)投影系數(shù)來表達(dá)秘密信息并記錄對應(yīng)的索引位置;再次將選定的投影系數(shù)和索引位置序列通過EMD-q嵌入方法嵌入到與之對應(yīng)的公開音頻小段序列中,從而形成信道公開傳輸音頻;最后通過公開傳輸音頻提取的變換參數(shù)并結(jié)合密鑰來對秘密音頻重構(gòu)。同現(xiàn)有方法相比,所提方法可實(shí)現(xiàn)秘密音頻不同精度的重構(gòu)并嚴(yán)格依賴于用戶密鑰,只有掌握正確密鑰的用戶才能進(jìn)行高精度的重構(gòu)。
文獻(xiàn)[6-15]基于的仿射變換模型僅包含均值向量和差異向量,且不滿足基本的正交關(guān)系,導(dǎo)致擬合精度較低;文獻(xiàn)[9]僅能對密圖三角剖分區(qū)域進(jìn)行近似重構(gòu),導(dǎo)致其實(shí)際應(yīng)用價(jià)值較??;文獻(xiàn)[13-15]添加擾動(dòng)來改善恒值塊或恒值序列的匹配性能,導(dǎo)致變換精度降低。針對上述問題,文中將秘密音頻小段與密鑰產(chǎn)生的隨機(jī)標(biāo)準(zhǔn)正交基進(jìn)行擬合投影,記錄幅值較大系數(shù)及其對應(yīng)的位置索引為變換參數(shù),再通過EMD-q密寫方法將變換參數(shù)嵌入到公開音頻小段中,不僅解決了均值向量和差異向量不滿足基本的正交關(guān)系所帶來的擬合精度較低的問題,還避免了恒值塊和恒值序列加噪處理,且所提方法可根據(jù)實(shí)際需要選取多個(gè)正交基對秘密音頻進(jìn)行表達(dá),從而可實(shí)現(xiàn)秘密音頻不同精度的重構(gòu)且所提方法嚴(yán)格依賴于密鑰,只有特定用戶才能對秘密音頻進(jìn)行高精度重構(gòu)。
將gu作為密鑰,生成n×n維隨機(jī)矩陣X',將X'的第0行所有元素置為1,按式1對X'進(jìn)行行標(biāo)準(zhǔn)施密特正交化,即將X'的每一行轉(zhuǎn)換為標(biāo)準(zhǔn)正交向量:
X=Schimidt(X')
(1)
其中,函數(shù)Schimidt()為行標(biāo)準(zhǔn)施密特正交化函數(shù)。
(2)
(3)
記lr為ri對應(yīng)的q進(jìn)制數(shù)序列長度,由式4確定:
lr=「logqn?
(4)
(5)
其中,“[]”為四舍五入取整函數(shù)。
lm=「logq2r?
(6)
(7)
(8)
(9)
(10)
lpow≤
?(N-(lr+lsign+lint)×(k-1)-lm)/(k-1)」
(11)
EMD-q(ri,Pu[lm+ilr,lm+(i+1)lr-1])
lsign)+lm+(i+1)lpow-1]=
(k-1)(lr+lsign)+lm+(i+1)lpow-1])
Pu[lm+(k-1)(lr+lsign+lpow)+ilint,lm+(k-1)(lr+lsign+lpow)+(i+1)lint-1]=
(12)
其中,函數(shù)EMD-q()即為EMD-q全方位擴(kuò)展嵌入函數(shù),其執(zhí)行的功能是在長度為d的10進(jìn)制數(shù)所構(gòu)成的元素序列中,通過對每個(gè)元素進(jìn)行±q/2范圍內(nèi)的調(diào)整嵌入d位q進(jìn)制數(shù),其具體定義見文獻(xiàn)[15]。
(13)
其中,EMD-q-1()為EMD-q()對應(yīng)的恢復(fù)函數(shù),用于從長度為d的10進(jìn)制數(shù)所構(gòu)成的元素序列中提取出d位q進(jìn)制數(shù),其具體定義見文獻(xiàn)[15]。
(14)
(15)
當(dāng)?shù)玫搅甩?,α1,…,αk-1和R=(ri)k-1,就可進(jìn)一步利用密鑰Key生成隨機(jī)序列G=(gu)l生成的標(biāo)準(zhǔn)正交矩陣X來重構(gòu)秘密音頻,其具體方法是:
首先由密鑰Key生成隨機(jī)序列G=(gu)l,將gu作為密鑰,生成n×n的隨機(jī)矩陣X',將X'的第0行置為1,對X'按式1進(jìn)行行標(biāo)準(zhǔn)正交化后得到X。
其次利用序列R=(ri)k-1從矩陣X中選取對應(yīng)的行Xri,得到k-1個(gè)1維序列,記為Yi,i=0,1,…,k-2,并將矩陣X中X0記為Yk-1。
最后按式16將Yi,αi,i=0,1,…,k-1轉(zhuǎn)換為秘密音頻對應(yīng)的小段序列Su:
(16)
結(jié)合第2節(jié)的工作,以下給出完整的結(jié)合密鑰和隨機(jī)標(biāo)準(zhǔn)正交基的音頻偽裝與恢復(fù)算法,記為算法1和算法2。
算法1:結(jié)合密鑰和隨機(jī)標(biāo)準(zhǔn)正交基的音頻偽裝算法。
(1)將長度為l·n的秘密音頻S和長度為l·N的公開音頻P分別劃分為長度為n和N的小段序列Su和Pu,由密鑰Key生成隨機(jī)序列G=(gu)l,初始化u=0;
(2)將gu作為密鑰,生成n×n的隨機(jī)矩陣X',將X'的第0行所有元素置為1,然后按式1對X'進(jìn)行行標(biāo)準(zhǔn)施密特正交化后得到X;
(5)將ri通過lr位q進(jìn)制數(shù)進(jìn)行表達(dá);
(6)按式7將αi,i=0,1,…,k-1進(jìn)行q進(jìn)制數(shù)表示;
算法2:結(jié)合密鑰和隨機(jī)標(biāo)準(zhǔn)正交基的音頻恢復(fù)算法。
(2)將gu作為密鑰,依次生成n×n的隨機(jī)矩陣X',將X'的第0行置為1,對X'按式1進(jìn)行行標(biāo)準(zhǔn)正交化后記為X;
(3)從Pu中按式13和式15提取出隱藏變換參數(shù)R=(ri)k-1和q進(jìn)制數(shù)表示的αi,i=0,1,…,k-1,并進(jìn)一步將其轉(zhuǎn)換為10進(jìn)制數(shù)αi,i=0,1,…,k-1,然后利用這些恢復(fù)出的變換參數(shù)按式16重構(gòu)秘密音頻小段序列Su,置u=u+1;
(4)重復(fù)第2到3步,直至u=l,然后將所有的小塊Su,u=0,1,…,l-1依次拼接作為解密后的秘密音頻S輸出。
同文獻(xiàn)[6-8,10-15]采用的仿射變換模型相比,所提方法的變換精度更高,且隨著選取的幅值系數(shù)增多,恢復(fù)的秘密音頻的聽覺質(zhì)量也越來越好;所提方法也避免了文獻(xiàn)[13-15]添加擾動(dòng)導(dǎo)致的變換精度降低,且所提方法嚴(yán)格依賴于密鑰,只有特定用戶才能對秘密音頻進(jìn)行高精度的重構(gòu)。
以下對所提策略進(jìn)行實(shí)驗(yàn)驗(yàn)證,操作系統(tǒng)為Windows 10,CPU為Intel(R) Core(TM) i5-6600 4核CPU,內(nèi)存為8.00 GB,編碼語言為JAVA jdk1.8.0_65。
測試音頻由百度隨機(jī)搜索的WAV音頻通過Audacity軟件轉(zhuǎn)碼得到,為采樣頻率為44 100 Hz,單聲道16位波形音頻:告白氣球和傾盡天下,并依次編號為A、B。采用信噪比(SNR)和方差(σ)來衡量音頻差異和聽覺質(zhì)量。其中SNR按式17計(jì)算,σ按式18計(jì)算。
(17)
(18)
為驗(yàn)證所提方法的有效性,首先將秘密音頻和公開音頻(見圖1)截取對應(yīng)長度的采樣數(shù)據(jù)按算法1進(jìn)行嵌入,并按算法2恢復(fù)秘密音頻。
圖1 實(shí)驗(yàn)測試音頻
圖2給出了實(shí)驗(yàn)測試音頻波形圖,與之對應(yīng)的實(shí)驗(yàn)參數(shù)和測試結(jié)果衡量如表1所示。
表1 不同劃分小段序列長度實(shí)驗(yàn)測試參數(shù)和實(shí)驗(yàn)測試結(jié)果
圖2 不同劃分小段序列長度實(shí)驗(yàn)測試音頻
從表1和圖2可看出,通過文中方法可將音頻A嵌入到音頻B中,且嵌入?yún)?shù)的偽裝頻音與原始公開音頻波形圖只有細(xì)微差別,并且從偽裝音頻中提取參數(shù)恢復(fù)出的秘密音頻與原秘密音頻的波形圖也極為相似。
從表1可看出,偽裝音頻的質(zhì)量相對于原公開音頻的值信噪比大于63 dB,方差在1.3左右,說明偽裝音頻質(zhì)量極好,且只嵌入了恢復(fù)秘密音頻的參數(shù),減少了數(shù)據(jù)嵌入量。而恢復(fù)音頻相對于原秘密音頻,編號1和2的信噪比為20 dB左右,方差在1 000左右,編號3和4的信噪比在27 dB左右,方差在400左右,恢復(fù)音頻依然具有較好的聽覺質(zhì)量,幾乎聽不到雜音。原因是文中對秘密音頻小段進(jìn)行擬合的是隨機(jī)標(biāo)準(zhǔn)正交基,保證向量嚴(yán)格正交,避免了投影存在交疊,從而擬合精度更高,因此提高了秘密音頻的重構(gòu)精度。
圖3給出了不同k取值對應(yīng)的不同精度重構(gòu)的測試音頻波形圖,與之對應(yīng)的實(shí)驗(yàn)參數(shù)和測試結(jié)果如表2所示。
表2 重構(gòu)精度實(shí)驗(yàn)測試參數(shù)和實(shí)驗(yàn)測試結(jié)果
圖3 重構(gòu)精度實(shí)驗(yàn)測試音頻
從圖3和表2可以看出,通過算法1和算法2可正確進(jìn)行音頻偽裝和恢復(fù),對于k的不同取值,音頻可進(jìn)行不同精度的重構(gòu),且k值越大,恢復(fù)的秘密音頻精度也越來越高。從表2中編號1、2可看出,對于同等長度劃分的小段序列,用以重構(gòu)的標(biāo)準(zhǔn)正交基越多,即k取值越大,重構(gòu)精度越高,方差越小,編號4中重構(gòu)精度有32 dB,遠(yuǎn)高于文獻(xiàn)[15]20 dB左右。對于信道中傳輸?shù)那睹芄_音頻,當(dāng)k值越大時(shí),嵌密音頻的聽覺質(zhì)量下降。原因是文中選取了更多的基用于重構(gòu),從而造成了更多參數(shù)的嵌入,由此嵌密音頻的信噪比隨k值增大而降低,但其仍保持在65 dB左右,方差也保持在1.3左右,仍具有良好的聽覺質(zhì)量。因此,文中在提高秘密音頻重構(gòu)精度的同時(shí),還有效平衡了嵌密公開音頻的聽覺質(zhì)量。
圖4 不同密鑰重構(gòu)精度實(shí)驗(yàn)測試音頻
表3 不同密鑰測試參數(shù)和實(shí)驗(yàn)測試結(jié)果
圖4給出了對于不同密鑰對重構(gòu)精度影響的實(shí)驗(yàn)測試音頻波形圖,與之對應(yīng)的實(shí)驗(yàn)參數(shù)和測試結(jié)果如表3所示。
從圖4和表3可以看出,只有掌握正確密鑰才能對秘密音頻實(shí)現(xiàn)高精度的重構(gòu)。對于錯(cuò)誤密鑰,重構(gòu)的密音頻信噪比僅在7.5 dB左右,方差高達(dá)4 600,說明恢復(fù)音頻聽覺質(zhì)量極低,具有大量雜音,且當(dāng)密鑰錯(cuò)誤時(shí),不管k取值多少,都無法正確高精度地恢復(fù)秘密音頻。而對于正確的密鑰,信噪比為27 dB左右,說明恢復(fù)的秘密音頻聽覺質(zhì)量較高,幾乎聽不到雜音。且在密鑰正確的前提下,可根據(jù)需求選取不同k值,實(shí)現(xiàn)不同精度的秘密音頻重構(gòu)。
傳統(tǒng)基于Tangram的音頻偽裝方法變換精度低且不滿足基本的正交關(guān)系,從而無法保證秘密音頻與公開音頻之間的擬合精度,同時(shí)當(dāng)分段變換音頻為恒值序列時(shí),需添加擾動(dòng)以保證變換后音頻的恢復(fù)質(zhì)量,由此會(huì)降低信道傳輸音頻質(zhì)量。為避免上述問題,提出一種結(jié)合密鑰和隨機(jī)標(biāo)準(zhǔn)正交基的音頻偽裝方法。首先對秘密音頻和公開音頻分段,利用密鑰構(gòu)造隨機(jī)標(biāo)準(zhǔn)正交基;其次通過秘密音頻小段在隨機(jī)標(biāo)準(zhǔn)正交基上的投影來對秘密音頻小段進(jìn)行表達(dá),從中選取包括均值幅值較大的前k個(gè)投影系數(shù),并記錄對應(yīng)的索引位置;再次通過EMD-q密寫方法嵌入到對應(yīng)的公開音頻小段中形成信道公開傳輸音頻并通過信道公開傳輸音頻提取變換參數(shù)和通過密鑰重構(gòu)秘密音頻。實(shí)驗(yàn)表明,所提方法可充分利用隨機(jī)標(biāo)準(zhǔn)正交基重構(gòu)不同精度的秘密音頻,且隨著選取的幅值系數(shù)增多,恢復(fù)的秘密音頻質(zhì)量也越來越高,同時(shí)所述策略嚴(yán)格依賴于密鑰,只有掌握正確密鑰的用戶才能進(jìn)行高精度的重構(gòu)。