隱寫算法(DE: Diamond Encoding)

1. DE直譯過來爲鑽石編碼,以下稱鑽石編碼。其模型公式

S_{k}(p,q)=\left \{ (a,b) | \left | p-a \right | + \left\ | q-b \right\ | \leq k \right\}

根據上面的公式可以得到鑽石編碼模型的圖形大致如下:

2. 鑽石編碼編碼的進制確定l=|S_{k}|=2k^{2}+2k+1,則

|S_{1}(p,q)|=5, |S_{2}(p,q)|=13

 

3. 鑽石特徵值的計算公式(DCV):f(p,q)=((2k+1)\times p + q)mod\,\, l

 

4. 列舉,祕密信息s_{t}與鑽石特徵值的距離:d_{t} = (s_{t} - f(p,q)) mod \,\, l,其中d_{t}決定着選擇的位置,若d_{t}=4,則祕密信息嵌入的在D1,D2,D3中對應的位置如下圖紅色方框所示。

於是相應的像素值的改爲如下:D_{1}(p,q)\rightarrow p,q-1D_{2}(p,q)\rightarrow p+1,q-1D_{3}(p,q)\rightarrow p-3,q

其中(p,q)爲兩個連續的像素值,通過嵌入密碼信息得到像素對爲(p^{'},q^{'})

5. 祕密信息的提取還是通過鑽石特徵值DCV:f(p^{'},q^{'})=((2k+1)\times p^{'} + q^{'})mod\,\, l

 

鑽石編碼的Matlab代碼實現源https://github.com/YMilton/steganography/blob/master/DE.m

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章