發(fā)布時間:2022-04-02所屬分類:計算機職稱論文瀏覽:1次
摘 要: 摘 要:本文設(shè)計了基于 CL-LSB 的數(shù)字圖像信息隱藏算法,并使用 Python 編程實現(xiàn)了信息隱藏和信息提取功能。首先對載體圖像應用 Chui-Lian(CL) 多小波變換理論生成信息隱藏區(qū)域,對秘密信息進行哈希、加密和編碼等預處理,然后對信息隱藏區(qū)域進行位平面分解,在由最低
摘 要:本文設(shè)計了基于 CL-LSB 的數(shù)字圖像信息隱藏算法,并使用 Python 編程實現(xiàn)了信息隱藏和信息提取功能。首先對載體圖像應用 Chui-Lian(CL) 多小波變換理論生成信息隱藏區(qū)域,對秘密信息進行哈希、加密和編碼等預處理,然后對信息隱藏區(qū)域進行位平面分解,在由最低有效位(LSB)組成的位平面實施秘密信息嵌入,最后對圖像進行 CL 多小波反變換以生成含密圖像。實驗結(jié)果表明,算法的最大嵌入率可達 0.25 bpp,在最大嵌入容量范圍之內(nèi),峰值信噪比(PSNR)均大于 55 dB,平均結(jié)構(gòu)相似性指數(shù)(SSIM)維持在 0.99,含密圖像與原始圖像相比保持較高的相似度,算法在容量性和不可見性上具有一定的優(yōu)越性。
關(guān)鍵詞:信息隱藏;信息安全;圖像處理;隱私保護
0 引言
目前,在諸多關(guān)于信息隱藏技術(shù)的研究中,基于數(shù)字圖像的信息隱藏技術(shù)應用最為廣泛 [1],并且多數(shù)信息隱藏算法都是基于運算域的,基于空間域的信息隱藏算法的設(shè)計思想主要有:直接修改圖像的某些像素值來隱藏信息、通過直方圖移位來生成隱藏區(qū)域、在顏色空間運用顏色遷移理論和組合位平面理論實現(xiàn)信息隱藏、通過將圖像插值放大后在插值空間嵌入隱藏信息等 [2]。基于空間域的算法實現(xiàn)簡單,在嵌入容量和不可檢測性上都有較好的性能,但是這類算法的抗攻擊魯棒性較差。變換域算法通過修改圖像載體的頻率參數(shù)來隱藏信息,常見的變換域有離散余弦變換、離散小波變換、多小波變換等。這類算法的抗攻擊魯棒性會比空間域算法好。
上述算法為信息隱藏技術(shù)的發(fā)展提供了新思路,本文在現(xiàn)有理論的基礎(chǔ)上,應用 CL 多小波變換和最低有效位理論設(shè)計并實現(xiàn)了一種新的數(shù)字圖像信息隱藏算法:首先對載體圖像進行 CL 多小波變換生成信息隱藏區(qū)域,對輸入的隱藏信息按照信息隱藏規(guī)則進行哈希、加密和編碼,然后對隱藏區(qū)域進行位平面分解,在由最低有效位組成的位平面實施隱藏信息的嵌入,最后對載體圖像進行重構(gòu)生成含密圖像。實驗證明:本算法在容量和不可見性上具有較好的表現(xiàn)。
1 基于 CL 多小波變換與 LSB 的信息隱藏算法
1.1 隱藏區(qū)域
隱藏區(qū)域的性質(zhì)是影響信息隱藏算法的關(guān)鍵因素,隱藏區(qū)域的好壞主要從區(qū)域的能量分布特性和復雜度兩個角度來考慮 。在低能量區(qū)域進行信息隱藏能夠滿足信息隱藏不可見性的指標,而在能量高的區(qū)域進行信息隱藏能夠使隱藏信息的能量較為均勻地分布在整個區(qū)域,能夠滿足信息隱藏算法的魯棒性指標。此外,人對亮度較高的區(qū)域和紋理較為密集的區(qū)域的敏感性低,在這類區(qū)域隱藏信息可以嵌入較多的信息內(nèi)容并且能夠滿足不可見性的要求。
本文使用 CL 多小波變換對載體圖像進行預處理,使其形成分量子圖分布,再將能量權(quán)重相對較大的 LL1 分量子圖進行位平面分解,把由 LSB 組成的位平面作為本算法的信息隱藏區(qū)域。
1.2 隱藏規(guī)則
在進行信息隱藏之前需要根據(jù)信息隱藏規(guī)則進行預處理,在制定信息隱藏規(guī)則時需要考慮隱藏信息的數(shù)據(jù)組織方式、信息編碼和使用的嵌入技術(shù)問題。
具體隱藏規(guī)則如下。規(guī)則 1:對于所有文本數(shù)據(jù),默認使用 UTF-8 字符集編碼。規(guī)則 2:對隱藏信息校驗數(shù)據(jù)的生成和提取信息的校驗使用 SHA-256 算法完成。規(guī)則 3:使用 AES 加密算法對隱藏信息進行加密,加密模式為 CBC,為防止用戶使用弱密碼,加密密鑰由系統(tǒng)隨機生成。規(guī)則 4:二進制數(shù)據(jù)轉(zhuǎn)換為文本數(shù)據(jù)時使用 Base64 編碼。規(guī)則 5:由系統(tǒng)處理得到的密文、初始向量、校驗數(shù)據(jù)等統(tǒng)一組織為 JSON 字符串的格式。規(guī)則 6:由載體圖像生成的信息隱藏區(qū)域 LL1,將各通道分量轉(zhuǎn)換為灰度圖像,像素值的數(shù)據(jù)類型統(tǒng)一為 8 位無符號整型;隱藏信息轉(zhuǎn)換為由“0,1”組成的比特序列,前 4 個字節(jié)存放數(shù)據(jù)大小,其后為隱藏數(shù)據(jù);在嵌入數(shù)據(jù)時將隱藏區(qū)域的像素值和隱藏信息的比特序列轉(zhuǎn)換為一維向量,對隱藏區(qū)域進行位平面分解,將隱藏信息按順序嵌入由 LSB 組成的位平面中。
1.3 隱藏算法的運行步驟
如圖 1 所示,信息隱藏算法由載體圖像解析系統(tǒng)、隱藏信息預處理系統(tǒng)和 LSB 嵌入系統(tǒng)組成,下面對隱藏算法的運行步驟進行詳細介紹。
步驟 1:由載體圖像解析系統(tǒng)讀取載體圖像,對圖像進行 CL 多小波變換,生成信息隱藏區(qū)域,然后將載體圖像交由 LSB 嵌入系統(tǒng)處理。
步驟 2:由隱藏信息預處理系統(tǒng)讀取隱藏信息,對隱藏信息進行 UTF-8 字符編碼。
步驟 3:對隱藏信息進行 SHA-256 哈希運算,生成校驗數(shù)據(jù)。
步驟 4:生成隨機密鑰,使用密鑰對隱藏信息進行 AES 加密,得到密文和初始向量。
步驟 5:對密文、密鑰、初始向量和校驗數(shù)據(jù)進 Base64 編碼,然后轉(zhuǎn)換為JSON字符串,輸入LSB嵌入系統(tǒng)進行處理。
相關(guān)期刊推薦:《信息與電腦》是一本關(guān)注計算機及其應用的學術(shù)雜志。提供一個政府及相關(guān)職能部門、高校、研究機構(gòu)、經(jīng)濟及技術(shù)專家、信息化軟硬件及解決方案供應商、流通業(yè)信息化需求企業(yè)以及科技人才共同交流的平臺。雜志的主要特點就是匯集流通業(yè)IT業(yè)內(nèi)專家和企業(yè)管理者最新的言論和觀點,以及他們的實踐經(jīng)驗與體會分享,為流通領(lǐng)域的企業(yè)提供理論指導和實踐參考。
步驟 6:在 LSB 嵌入系統(tǒng)中,計算圖像隱藏區(qū)域大小和隱藏數(shù)據(jù)大小,將隱藏區(qū)域的各個通道分量轉(zhuǎn)換為一維列向量,并進行位平面分解;將隱藏信息和隱藏數(shù)據(jù)大小轉(zhuǎn)換為 “0100101…”形式的比特向量,將隱藏大小數(shù)據(jù)填充至 4 個字節(jié),然后拼接到隱藏數(shù)據(jù)之前作為數(shù)據(jù)頭,然后將比特序列轉(zhuǎn)換為一維向量,在隱藏區(qū)域的 LSB 位平面進行數(shù)據(jù)嵌入,最后對隱藏區(qū)域的位數(shù)據(jù)進行打包,并恢復隱藏區(qū)域圖像原來的維數(shù)。步驟 7:對嵌入隱藏信息的載體圖像進行 CL 多小波反變換,生成含密圖像并輸出。
1.4 提取算法的運行步驟
步驟 1:由載體圖像解析系統(tǒng)讀取含密圖像,對含密圖像進行 CL 多小波變換,生成信息隱藏區(qū)域并交由 LSB 嵌入系統(tǒng)進行處理。步驟 2:在 LSB 嵌入系統(tǒng)中,將圖像隱藏區(qū)域的各個通道分量轉(zhuǎn)換為一維列向量,然后進行位平面分解,在 LSB 位平面先提取 4 個字節(jié)數(shù)據(jù),解析隱藏數(shù)據(jù)的大小,然后按隱藏數(shù)據(jù)大小提取出隱藏數(shù)據(jù),將隱藏數(shù)據(jù)交由隱藏信息后處理系統(tǒng)操作。步驟 3:在隱藏信息后處理系統(tǒng)中,對提取數(shù)據(jù)進行解碼,從中解析出密文、校驗數(shù)據(jù)和初始向量。步驟 4:讀取解密密鑰,使用密鑰和初始向量對密文進行解密,得到明文數(shù)據(jù)。步驟 5:對明文進行 SHA-256 運算,并與校驗數(shù)據(jù)比較,若數(shù)據(jù)校驗一致,則對明文進行 UTF-8 解碼并輸出,秘密信息恢復成功;否則秘密信息恢復失敗。
2 實驗結(jié)果與分析
本文設(shè)計的算法在 Windows 10 1809 操作系統(tǒng)中進行了實現(xiàn)和實驗測試,使用的編程語言為 Python 3.6.7rc1,主要使用 NumPy 庫提供的 n 維數(shù)組功能處理圖像數(shù)據(jù)。
2.1 測試結(jié)果
本文算法最終以 Python 包的形式實現(xiàn),編寫的程序可以在 Python shell 里面導入相應的功能模塊并直接使用,也可以通過 Python 的包管理工具 pip 從源碼安裝到自己的電腦,通過 cmd 以命令行的方式使用。測試使用的載體圖像為大小 512*512*3 的 RGB 彩色圖像 Peppers。載體圖像原圖和完成信息嵌入的含密圖如圖 2 所示,通過人的肉眼基本上無法察覺二者之間的差異,含密圖基本上保留了原圖的表征特性,從主觀評價的角度來看,本文算法是可行的,并且具有一定的不可見性。
2.2 性能分析
為定量分析算法的性能,本文采用峰值信噪比(PSNR)、結(jié)構(gòu)相似度指數(shù)(Structural Similarity Index,SSIM)和嵌入率(bits per pixel,bpp)作為算法性能的客觀評價指標。 PSNR 和 SSIM 的值越大,說明載體圖像與含密圖像的相似度越高,算法的不可見性越好。嵌入率的值越大,表明可嵌入信息的容量越多,算法的容量性能越好。
對于信息嵌入量與不可見性的測試,使用的測試圖像為 512*512*3 的 RGB 彩色圖像 Peppers,圖像隱藏區(qū)域的最大嵌入率為 0.25 bpp,數(shù)據(jù)大小為 192 kbit,相當于一篇一萬字左右的中文文章經(jīng)過本算法的加密和信息編碼等處理后得到的數(shù)據(jù)大小,算法在嵌入容量上有較好的表現(xiàn)。嵌入量與算法的不可見性測試結(jié)果如圖 3 所示,隨著嵌入數(shù)據(jù)的增加,圖片的不可見性隨之降低。在嵌入數(shù)據(jù)量小于 25 kbit 時,圖片的不可見性受嵌入數(shù)據(jù)量的影響較為顯著,而當嵌入數(shù)據(jù)量大于 25 kbit 時,圖片的不可見性隨嵌入數(shù)據(jù)量的增加而降低的趨勢有所減緩。當嵌入數(shù)據(jù)量接近本圖的最大嵌入數(shù)據(jù)大小時,對應的 PSNR 大于 55 dB,可見本算法具有較好的不可見性。
3 結(jié) 語
本文提出了一種基于 CL-LSB 的數(shù)字圖像信息隱藏算法,對載體圖像進行 CL 多小波變換處理,利用其分量子圖的區(qū)域分布特點,選擇能量權(quán)重較高的子圖分量 LL1 進行位平面分解,生成信息隱藏區(qū)域;對于隱藏信息的加密、校驗等預處理工作,制定了信息隱藏規(guī)則;算法的實現(xiàn)使用 Python 編程語言,完成了信息隱藏和信息提取的功能。實驗結(jié)果表明,本文算法在容量和不可見性上具有良好的性能表現(xiàn)。——論文作者:趙全友 朱新強
參考文獻
[1] 魏程程 . 數(shù)字圖像隱寫與隱寫分析技術(shù)的研究 [J]. 信息與電腦 ( 理論版 ),2018(12):213-215.
[2] 張弢 , 慕德俊 , 任帥 .lαβ 與組合位平面技術(shù)在信息隱藏算法中的應用 [J]. 計算機工程與應用 ,2009,45(20):10- 12,22.