石杰 李子臣



摘 要:針對現有一些誤碼率高且不具有圖像認證功能的魯棒水印算法,論文提出了一種基于離散余弦變換(DCT)、糾錯編碼和可恢復數字簽名水印算法。算法利用具有消息恢復的數字簽名和Reed-Solomon糾錯編碼生成水印信息,然后對載體圖像進行分塊DCT變換,選取每塊中頻區域,按照一定規則嵌入水印。實驗結果表明,結合糾錯編碼技術算法對常見的如JPEG有損壓縮、噪聲、濾波等攻擊均具有強魯棒性。利用具有消息恢復的數字簽名方案,提取出水印信息經驗證,進而達到水印圖像認證的目的。
關鍵詞:數字圖像水印;離散余弦變換;消息恢復;數字簽名;Reed-Solomon糾錯編碼
中圖分類號:TP274+.2 文獻標識碼:B
Abstract: Aiming at some robust watermarking algorithms with high bit error rate and no image authentication function, this paper proposes a discrete cosine transform (DCT), error correction coding and recoverable digital signature watermarking algorithm. The algorithm uses the digital signature with message recovery and Reed-Solomon error correction coding to generate watermark information, then performs block DCT transformation on the carrier image, selects each IF region, and embeds the watermark according to certain rules. The experimental results show that the algorithm combined with error correction coding technology is robust to common attacks such as JPEG lossy compression, noise and filtering. The digital signature scheme with message recovery is used to verify the extracted watermark information to achieve the purpose of watermark image authentication.
Key words: digital image watermarking; discrete cosine transform; message recovery; digital signature; reed-solomon error correcting code
1 引言
隨著計算機網絡和多媒體技術的發展, 人們可以方便快捷地收發多媒體信息,但也存在潛在的安全問題, 如信息在信道傳輸過程中會被他人截獲。在數字版權保護領域, 數據可能被非法復制、損壞,甚至篡改作者的身份。因此,如何在水印作品遭到破壞后,還能較完整的提取出水印信息,并且接收到的數字作品能進行真假鑒別是數字水印技術研究的關鍵問題之一。
文獻[1]提出了一種基于DCT的自適應盲數字水印,該算法利用奇偶量化在DCT塊的DC分量重嵌入水印。文獻[2]提出一種DCT變換域的魯棒數字水印算法,該算法為使嵌入的水印具有強魯棒性,把水印每個子塊同時嵌入到多個載體圖像的子塊中,按照奇數塊和偶數快分別將水印嵌入到直流分量和交流分量的中頻系數中,經過實驗驗證,該算法具有一定的魯棒性。文獻[3]利用DC系數的形成過程,不對載體圖像進行DCT變換,在空域中計算8×8分塊的DC系數,根據DC系數修改量的分布特點,在空域中完成水印嵌入,該算法抵抗一般的噪聲、JPEG壓縮等攻擊,但水印圖像的PSNR值較低,水印透明性較差。文獻[4]用哈希函數對水印圖像進行處理生成消息摘要,嵌入到宿主圖像中,但嵌入水印后的載體圖像經過惡意或非惡意的攻擊后,若提取不了完整的消息摘要,就驗證不了其真偽。文獻[5]提出一種基于糾錯編碼和RSA數字簽名的盲數字水印算法。文獻[6]提出一種基于DCT變換域的改進LSB算法嵌入帶RS糾錯碼的數字水印算法。
針對DCT域嵌入水印信息的水印圖像,水印信息具有認證性,但魯棒性較差的問題,論文提出了一種基于DCT、Reed-Solomon編碼和具有消息恢復的數字簽名算法。該算法嵌入的水印信息只是簽名,減少了嵌入容量,并且能保有數字簽名的特性。對水印信息進行RS糾錯編碼能有效提高水印提取的正確率。在中頻區域利用多個系數分塊能量值的大小關系來嵌入水印,這樣更能保證水印信息的穩健性。從而水印圖像在應對常見攻擊時,能完整的提取出經過簽名后的水印信息,達到圖像認證的目的。
2 相關知識
2.1離散余弦變換
2.2 具有消息恢復的數字簽名方案
具有消息恢復的數字簽名方案分為四個步驟。
第一是系統初始化:選取大素數,哈希函數等。
第二是生成用于簽名和驗證的私鑰和公鑰。
第三是利用選取的公用參數和私鑰對水印信息m進行簽名。
第四是通過水印提取算法和RS譯碼、得到水印簽名信息后,利用公用參數和公鑰,對簽名信息進行驗證(水印恢復)[9]。
將具有消息恢復的數字簽名方案用在數字水印技術中,不需要把原始水印信息和簽名進行綁定嵌入,用戶從接收到的簽名信息就可以恢復出消息。與傳統的數字簽名算法相比,減少了水印嵌入的長度,水印圖像的PSNR有效提升,對原始水印信息進行數字簽名可保證水印信息的完整性和真實性,簽名信息嵌入到載體圖像中,所以也間接保證了載體圖像的不可偽造性。
2.3 Reed-Solomon糾錯編碼
RS編碼是一類具有較強糾錯能力的多進制BCH編碼,也是一種低速率的向前糾錯信道編碼,RS編碼具有較高的糾錯能力和編碼效率,相同的效率下RS編碼的糾錯能力在短、中等碼長近似接近于理論值[10]。在有限域基礎上可以得到RS糾錯編碼,有限域指的是元素個數有限域,有限域元素的個數叫做域的階,可以用 表示 階有限域。RS糾錯碼最主要的特點是在 階有限域取得碼元,同時它生成多項式的根在 階有限域上,因此RS糾錯碼可以看做是特殊的BCH碼,它的碼元符號域和根域是一致的。
在 碼中,一組輸入信息包含 比特,也就是一組包括 個符號,一個符號包含m個比特。RS碼最小碼距是 ,糾錯能力為 [11]。在一個碼元中一個或多個比特發生錯誤記為一個碼元發生錯誤。當q=2時,有限域內內每個碼元都對應一個 比特的多進制數,當m=8時一個碼元就可以用一個字節來表示。
論文實驗中,先對水印信號源用RS糾錯碼來進行誤碼修正,在傳輸過程中產生的誤碼就可以用RS碼修正原始信號,進而達到誤碼率有效降低的目的。
3 水印的嵌入和提取
本文提出的基于DCT-RS糾錯編碼和可恢復數字簽名水印算法主要細分為幾個塊:載體圖像的DCT和IDCT、水印信息簽名和驗證、RS編碼和解碼、水印嵌入和提取算法。
3.1 水印嵌入算法
嵌入步驟和嵌入流程圖如圖1所示。
(1)對載體圖像進行二維離散余弦變換得到頻域圖像。
(2)簽名系統初始化,選取大素數p,n是p-1的因子,且n=p'q',p'和q'是兩個大素數。g∈GF(p)且ord(g)=n,G是由g生成的乘群。選取哈希函數h:Zn→Zn,選用當前應用廣泛的國密SM3雜湊算法作為哈希函數h(x)。將上述參數p, n, g,和h公開。
(3)選取t=[logn]個ui∈[1,n](i=1,…,t)作為私鑰,并計算相應的公鑰滿足。選取一個u∈[1,n],也作為私鑰,并計算相應的公鑰z=gkmod p,ku2=-1(mod n) 。用戶A和B秘密保存私鑰,并將公鑰公開。
3.4 簽名算法安全性分析
假定攻擊者很容易計算出離散對數,任意選取K,從消息恢復方程,借助離散對數求解解出R,可得方程,借助離散對數求解從公鑰z解出私鑰k,其中,則上述方程變為:其中,從上述方案中求解x , y相當于攻擊修改的OSS方案,因此即使攻擊者容易地計算離散對數,也不能產生m的有效簽名。
3.5 水印算法魯棒性分析
水印嵌入的過程中不用把原始水印信息和摘要一起嵌入至載體圖像中,只需嵌入數字簽名后的簽名信息。接受者得到水印圖像,提取出簽名信息后就可恢復水印信息,與文獻[4]的數字水印嵌入算法相比,論文算法無需再空域中嵌入水印圖像,僅在頻域中嵌入簽名信息,有效的降低嵌入信息量。另外,由于水印圖像在信道傳輸的過程中會遭到非惡意的攻擊,使用Reed-Solomon編碼技術,水印圖像被非惡意攻擊后,一定程度上依舊能完整提取出水印信息,繼而利用數字簽名技術能驗證水印信息的完整性和對身份鑒別。
4 實驗結果與分析
算法仿真使用MATLAB 14b和Microsoft Visual Studio 2012軟件混合編程實現。512×512的載體圖像分為64塊進行DCT變換,所以能提取出64個DC分量及AC分量,組成量個矩陣。按照嵌入算法,給這兩組分量矩陣分塊,每4×4的塊可以嵌入一個Bit,所以最大嵌入容量為512Bit。
實驗結果采用512×512的灰度圖作為載體,選取128位二值水印作為初始水印信息,水印信息經簽名及糾錯編碼后,以512位的長度進行水印嵌入。
選用Lena、Babbon和Man三幅8位載體圖像作為實驗圖像,使用PSNR(峰值信噪比)來表示嵌入后的載體圖像與與原始圖像的失真程度,用BER(誤碼率)值來表示提取的水印信息與原始水印信息的相似程度。嵌入水印選用加法準則[15],嵌入強度分別為150、120、90、60、30。水印圖像未經過攻擊、用和不用RS糾錯編碼的測試數據如表1所示。
對表1的數據分析可知,測試用的三幅載體圖像在不同嵌入強度的情況下,PSNR值都在42以上,保證了水印的透明性。使用RS糾錯編碼的情況下,誤碼率全都為0,保證譯碼出的簽名信息得到驗證。
為驗證論文水印算法的魯棒性和認證性,對嵌入后的水印圖像進行不同類型的攻擊,論文對水印算法的測試采用常見的非惡意攻擊,其中包括JPEG壓縮攻擊、中值濾波攻擊、高斯濾波攻擊、高斯噪聲攻擊及椒鹽噪聲攻擊,嵌入強度為60,以Lena圖為例,實驗結果如表2所示。
分析表2實驗數據可知幾種攻擊。
(1)JEPG有損壓縮攻擊
水印圖像分別經過90%-50%的JPEG有損壓縮的情況下PSNR值較高,并且誤碼率都為0。水印圖像分別經過70%和60%的有損壓縮后,當使用RS糾錯編碼時,可有效降低水印信息的誤碼率,僅當水印圖像經過50%的有損壓縮后,水印圖像才無法具有簽名認證的效果。
(2)噪聲攻擊
水印圖像分別經過不同參數的高斯噪聲及椒鹽噪聲攻擊,不使用RS糾錯編碼的情況下,提取出的水印信息都會有誤碼率,但經過糾錯編碼后,提取的水印信息誤碼率大多下降至0只有椒鹽噪聲,參數為0.001的情況下具有誤碼率,且誤碼率極低。
(3)濾波攻擊
水印圖像分別經過不同類別和參數的濾波攻擊,不實用RS糾錯編碼的情況下,提取出的水印信息都會有較高的誤碼率,但經過糾錯編碼后,窗口為3×3的情況下誤碼率可降至0,窗口為5×5的情況下,誤碼率雖有大幅度的降低,使得水印信息無法具有認證的效果。
5 結束語
論文針對最常用的JPEG圖像格式,設計具有消息恢復的數字簽名方案、RS糾錯編碼和DCT的數字水印算法。
(1)使用具有消息恢復的數字簽名方案,一是可以保證水印圖像的接收者通過驗證水印信息來確定水印圖像的完整性、真實性,可有效解決版權糾紛問題,二是與已有的具有認證功能的數字水印算法,嵌入位數的下降,保證水印圖像的PSNR有效提升的同時,水印圖像還具有數字簽名的特性。
(2)使用糾錯能力最強的RS糾錯編碼,有效保證提取水印的正確率,并且在頻域的中頻區域嵌入水印信息,保證了水印信息的不可見性。
綜上所述,該算法的創新點為把數字簽名技術應用在魯棒水印技術中,保證了水印圖像的安全性和不可偽造性。利用糾錯編碼的特性保證了載體圖像的強魯棒性,在數字版權保護和數字作品傳輸交易方面,具有良好的應用前景。
參考文獻
[1] 季燕.基于DCT的自適應盲數字水印[J].計算機科學, 2013, 40(7):129-130.
[2] 黃西娟,王冰.一種DCT變換域的魯棒數字水印[J].計算機工程, 2011, 37(20):145-148.
[3] Parah S A, Sheikh J A, Loan N A, et al. Robust and blind watermarking technique in DCT domain using inter-block coefficient differencing[J]. Digital Signal Processing, 2016, 53(C):11-24.
[4] 閆濤,王夢媛,李子臣.一種基于NTRU數字簽名的圖像認證方案[J].北京印刷學院學報, 2016, 24(6):56-60.
[5] 劉可,劉杰,劉尚麟.一種基于RS糾錯碼的關系型數據庫水印算法[J].通信技術, 2016, 49(6):764-768.
[6] 林寶源,周建欽.基于糾錯編碼和RSA數字簽名的盲水印算法[J].保密科學技術, 2011(6):68-71.
[7] 孫圣和,陸哲明.數字水印處理技術[J].電子學報, 2000, 28(8):85-90.
[8] Pandey R, Singh A K, Kumar B, et al. Iris based secure NROI multiple eye image watermarking for teleophthalmology[J]. Multimedia Tools & Applications, 2016, 75(22):1-17.
[9] 李子臣,楊義先.具有消息恢復的數字簽名方案[J].電子學報, 2000, 28(1):125-126.
[10] Liu S C, Lin S D. BCH Code-Based Robust Audio Watermarking in the Cepstrum Domain.[J]. Journal of Information Science & Engineering, 2008, 22(3):535-543.
[11] Uludag U, Pankanti S, Prabhakar S, et al. Biometric cryptosystems: issues and challenges[J]. Proceedings of the IEEE, 2015, 92(6):948-960.
[12] 丁海洋.基于人眼視覺特性的頻域圖像水印改進算法[J].北京印刷學院學報, 2013, 21(4):37-42.
[13] Gao, Lingyun, Wang, Dong, Hamadou, Ali. New Fragile Database Watermarking Scheme with Restoration Using Reed-Solomon Codes[J]. Journal of Computational and Theoretical Nanoscience, 2013, 10(1):147-153.
[14] 黨百振,梁政,王煒發,等.一種基于BCH+RS級聯糾錯編碼方法及系統:CN 105024706 A[P]. 2015.
[15] Urvoy M, Goudia D, Autrusseau F. Perceptual DFT Watermarking With Improved Detection and Robustness to Geometrical Distortions[J]. IEEE Transactions on Information Forensics & Security, 2014, 9(7):1108-111.