門限圖像隱藏技術(shù)的實施與改進
首先選取一幅欲隱藏的8位256色的灰度圖像,稱之為目標圖像,然后選取若干幅(這里假設(shè)為n幅)普通圖像,稱之為影子圖像。把目標圖像信息通過一定的方式保存到這些影子圖像中,從而達到隱藏的目的。這些影子圖像都是24位的彩圖,且圖像大小、長寬都不小于目標圖像。
對于目標圖像中的每一個像素的像素值M(x,y)(x、y分別代表該像素點位于目標圖像中的位置),根據(jù)以下方程:
其中,a1,…,an-1都是小于p的隨機數(shù),p可取253。
對于目標圖像中的每一個像素都作此變化,只是不同的影子圖像對應(yīng)的一個數(shù)字ui不同。這樣,把經(jīng)過計算后的值f(ui)變成8位二進制的值填入到每幅影子圖像對應(yīng)像素的每種顏色分量的最后3位中。由于改變的是R、G、B顏色分量的末3位,對于整幅圖像的改變從肉眼一般是無法辨認出來的,因此起到了很好的欺騙作用。圖1所示為兩幅隨機改變R、G、B每種顏色分量最后3位后所得圖像前后的對比。
經(jīng)過以上處理后,由于只填充了8位,n幅影子圖像的低位還會有一位像素的空余,對于這一位像素,填入一個奇偶校驗位,這樣就可以檢測出那些在傳送過程中可能受到破壞的子圖。對于這樣的子圖放棄不用,從而可以防止由于像素受到破壞而對后面解方程組造成干擾。
3.2 目標圖像的恢復(fù)
在獲得n幅影子圖像中的t幅后,首先判斷每一個奇偶校驗位是否正確,然后可以就每一位像素組成一個方程組:
可以通過拉格朗日插值法求解出該方程組中的
M(x,y),這樣,求解完每一個像素相對應(yīng)的一個方程組后就可以得到原目標圖像所有像素的像素值,目標圖像就得以恢復(fù)。
4 算法的改進
由于隱藏圖像時經(jīng)常會遇到比較大的圖像,因此在逐個隱藏目標圖像的每個像素時,算法的效率會顯得很重要。如果算法的效率低、時間復(fù)雜度高,整個隱藏算法所用的時間就會比較長。為此,特提出了以下改進方案:
將每幅圖像按行分成1×t個像素的小塊,每個塊中的像素值作為式(5)的序數(shù)a0,a1,…,at-1(M(x,y)看作a0)的值,然后針對所有的圖像給出一個對外保密的未知數(shù)u值序列。這樣,每解一次方程組(5)時就可以一次解出t個目標圖像像素的值,算法的時間復(fù)雜度幾乎下降為原來的1/t。
在影子圖像的9個最低位被填充了8位后,還剩下一位空余,可以填入奇偶校驗位,這樣就可以檢驗出影子圖像在傳輸過程中是否被損壞,從而不會因為損壞后被改變的像素值而計算出錯誤的目標圖像像素值。
本文提出了新的算法思路,從而大幅加快了隱藏算法的速度。在處理器酷睿雙核2.0 GHz內(nèi)存2.0 GB,VC6.0平臺下實驗,CHEN Chang Chin[4]以及陳繼超[7] 等人的算法完成一幅1 000×1 000圖像的隱藏需要時間大概為1.4 s,本文的方法平均約只需要0.5 s,速度的提升非常明顯;其次,提出了簡單易行的奇偶校驗方法,從而對算法的魯棒性有了很大的提高。因此,本文提出的基于門限方案的圖像隱藏方法高效、強壯且具有很強的實踐性。
評論