音频隐写术:分析剑桥大学提出的MP3Stego算法
目錄
前言
一. 語音頻隱寫分析
二. 修改量化步長
(1)普通的MP3Stego算法
(2)改進后的MP3Stego算法
三. MP3Stego算法分析
3.1 塊長度part2_3_length的方法統計量
3.2 量化步長差分的方法統計量
3.3 邊信息中main_data_begin值的均值統計量
2.4 大值區系數的方法統計
總結
系列文章
前言
從信號處理的角度來看,隱寫思想的本質就是將載密的噪聲信號疊加到載體信號上,并且使得處理后的載體信號仍然保持感知透明性和統計不可檢測性。音頻隱寫技術的發展經歷了五個階段:樸素的語音頻隱寫、編碼內聯的語音頻隱寫、自適應的語音頻隱寫和語音頻隱寫的新方向。如下圖:
一. 語音頻隱寫分析
第三方截獲者的分析系統有不同的分類方法,包含:兩類和三層次。
兩類包含:通用隱寫分析和專用隱寫分析。
三層次包含:
三個層次主要使用的技巧與方法可見下圖:
二. 修改量化步長
量化和熵編碼是音頻編碼的核心組件,基于量化步長修改方法本質是一種內置式隱寫方法,通過調整量化步長大小或奇偶性來實現秘密信息的嵌入。
(1)普通的MP3Stego算法
最經典的基于量化步長修改的嵌入方法就是MP3Stego算法。此算法是劍橋大學計算機實驗室安全組開發的針對MP3編碼的隱寫軟件。結合MP3的編碼格式,該算法就是在MP3編碼的內層循環中實現秘密信息的嵌入,通過調節量化誤差的大小,將量化編碼后Part23 塊長度part2_3_length的奇偶性作為隱秘消息嵌入的依據。
如下圖:
?
MP3Stego算法的嵌入過程類似編碼的過程,共有三步:
步驟1:使用量化步長對MDCT系數量化后進行哈夫曼編碼,計算哈夫曼碼流中 Part23 塊長度為 part2_3__length。
步驟2:計算 embedRule=(part2_3_length%2)?m,m代表當前待嵌入的消息比特。
步驟3:利用代表最大可用比特數,如果 embedRule=0 且 part2_3_length,則消息嵌入成功;否則,令并跳轉執行步驟1。
優點:MP3Stego算法引入的隱寫失真需要通過編碼器的失真控制,所以該算法的不可感知性較好。
缺點:該算法隱寫容量偏低,平均每幀只能隱藏2比特的消息;而且,如果在較低編碼碼率情況下(例如96Kbps以下),很容易導致編碼器陷入死循環。
(2)改進后的MP3Stego算法
解決的主要思想為:將隱寫的對象由塊長度調整為量化步長,通過修改量化步長使得量化步長的奇偶性與消息比特相同。
改進后的MP3Stego算法的具體嵌入步驟如下:
步驟1:在嵌入操作之前,對原始秘密信息進行壓縮去除冗余,并通過密鑰對壓縮后的秘密信息進行加密,獲得壓縮加密信息M(結合密碼學)。
步驟2:令代表M的長度,將和M連接在一起,形成最終待嵌入的秘密信息S,即。
步驟3:利用密鑰產生偽隨機序列產生器的種子,由偽隨機序列產生器產生個比特來選擇需要進行隱藏的顆粒,其中表示信息S的長度。
步驟4:輸入一幀音頻數據,其包含兩個顆粒,對每個顆粒進行MDCT變換,得到576個MDCT系數。
步驟5:對MDCT系數進行量化。如果當前顆粒為不需要隱藏的顆粒,則使用常規的內循環結束條件;否則,在內循環中增加量化步長,直到滿足且part2_3_length≤,其中m代表S中一個待嵌入的比特。
步驟6:不斷重復操作步驟4和5,直到所有的顆粒均處理完畢。
三. MP3Stego算法分析
隱寫算法的分析本質上就是尋找一些統計量或者統計分析特征,使得盡可能的區分正常樣本和隱寫樣本。在MP3Stego算法分析中,主要關注四個方面:塊長度part2_3_length的方差統計量、量化步長差分的方差統計量、邊信息中main_data_begin值的均值統計量和大值區系數的方差統計量。
3.1 塊長度part2_3_length的方法統計量
MP3Stego算法在隱寫前后,part2_3_length的統計量是有很大差異的,如下圖:
利用n代表統計塊長度的總個數,x代表每個塊長度的值。由此,塊長度方差的計算公式可得如下:
分母處因為要表示無偏估計,所以使用n-1。?
3.2 量化步長差分的方法統計量
量化步長是嵌入操作中被直接修改的一個重要參數,考察量化步長的差分統計量一共有三個步驟:
①利用代表第i個顆粒的量化步長,N代表顆粒總數。由此可計算量化步長的一階差分和二階差分,如下:
②利用代表一階差分序列的均值,代表二階差分序列的均值,可計算兩者對應的標準差和,如下:
?③將作為分析檢測算法的特征向量。
3.3 邊信息中main_data_begin值的均值統計量
MP3使用9比特的變量來記錄每幀主數據的開始位置,音頻楨長度改變同時將改變main_data_begin的值。由此,利用N代表待測MP3音頻的總幀數,對應第i幀的main_data_begin的值,可設計檢測特征為main_data_begin值的均值函數,如下計算公式:
在給定編碼率的情況下,編碼器分配給每幀的比特數是恒定的,而MP3Stego算法嵌入將會產生更多的比特數剩余,進而導致下一幀的main_data_begin值比未隱寫的音頻要大,如下圖所示:
左圖為未隱寫,有圖為隱寫之后
2.4 大值區系數的方法統計
隱寫后,大值區系數的頻次變化更加劇烈。利用代表音頻的總顆粒數,代表對應第i個顆粒的大值區系數的個數,代表顆粒序列大值區系數的均值,結合隱寫后QMDCT大值區系數的稀疏性,可以計算重壓縮前后大值區系數方差的差值,如下:
此值也可以作為隱寫分析特征。采用重壓縮矯正的方法也可以進行載體估計,如下計算公式:
總結
MP3Stego算法主要集中于編碼參數域的隱寫,此教程還對算法進行了分析。后續教程會進行實際的實驗操作。
系列文章
隱寫術基礎_嘮嗑!的博客-CSDN博客前言隱寫術是一門關于信息隱藏的技巧與科學,所謂信息隱藏指的是不讓第三者知曉信息的傳遞。隱寫術的英文名叫做Steganography,起源于德國的一位修道士特里特米烏斯的著作《steganographia》。隱寫技術提供對秘密信息存在性的保護,可以看成是一種保密通信技術和安全存儲技術。數字隱寫的載體包括音頻、圖像、視頻、文本、網絡包。一. 隱寫系統模型音頻隱寫對抗模型包括三個實體和兩個系統。三個實體:隱寫者、接收方和隱寫分析者。隱寫者和接收方利用隱寫系統來傳遞信息。隱寫分析者利用隱寫分析系https://blog.csdn.net/forest_LL/article/details/123953611?spm=1001.2014.3001.5501
總結
以上是生活随笔為你收集整理的音频隐写术:分析剑桥大学提出的MP3Stego算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自动化方法模拟Android手机点击、触
- 下一篇: 六大常见聚类方法