LSB算法的基本原理
LSB算法的基本原理是:對(duì)空域的LSB做替換,用來(lái)替換LSB的序列就是需要加入的水印信息、水印的數(shù)字摘要或者由水印生成的偽隨機(jī)序列。由于水印信息嵌入的位置是LSB,為了滿足水印的不可見(jiàn)性,允許嵌入的水印強(qiáng)度不可能太高。然而針對(duì)空域的各種處理,如游程編碼前的預(yù)處理,會(huì)對(duì)不顯著分量進(jìn)行一定的壓縮,所以LSB算法對(duì)這些操作很敏感。因此LSB算法最初是用于脆弱性水印的。
文獻(xiàn)[1]提出了第1個(gè)水印模型,它把N×M大小的原始圖像Z分解為n個(gè)8×8塊Zi(1≤i≤n),把Zi的LSB部分置零,對(duì)各個(gè)塊做數(shù)字摘要。同時(shí)把作為水印的logo圖像A變換為N×M,進(jìn)行同樣的分塊,數(shù)字摘要和Ai對(duì)應(yīng)異或,得到嵌入水印的數(shù)字摘要。然后對(duì)它用私鑰加密,結(jié)果嵌入到相應(yīng)塊的LSB部分。檢驗(yàn)過(guò)程要用到A,并且用戶得到的圖像有任何的改變,水印都不可能檢測(cè)出來(lái)。
由于聯(lián)合攝影專家組(Joint Photographic Experts Group,JPEG)是一種常用的圖像壓縮算法,當(dāng)把這種處理看成是合法時(shí),文獻(xiàn)[2]對(duì)LSB算法做了改進(jìn),提出了抵抗JPEG的半脆弱水印系統(tǒng)。該系統(tǒng)基于公鑰密碼系統(tǒng)和hash函數(shù)特點(diǎn),能反映彩色圖像在紅色(R)、藍(lán)色(B)、綠色(G)層的哪部分受到攻擊。RGB圖像在B部分對(duì)應(yīng)的頻率響應(yīng)最低,所以把原始圖像分為R、G、B三部分,對(duì)于R、G的LSB部分用一個(gè)公鑰密碼系統(tǒng)以外的密鑰(簡(jiǎn)稱k1)加密,再和原始水印W作XOR運(yùn)算,得到的M用公鑰密碼系統(tǒng)加密,得到E。同時(shí)把B部分的LSB部分清零。最后,把E加入到B的LSB部分。
評(píng)論