錢言玉 吳友情
(合肥師范學(xué)院公共計算機教學(xué)部 安徽 合肥 230061)
?
一種基于多數(shù)字基整數(shù)的數(shù)字水印分存算法
錢言玉 吳友情
(合肥師范學(xué)院公共計算機教學(xué)部 安徽 合肥 230061)
針對一般水印算法功能單一,而現(xiàn)有水印分存算法中只能實現(xiàn)二進制水印圖像分存的問題,將多數(shù)字基整數(shù)應(yīng)用到數(shù)字水印分存技術(shù)中,提出一種灰度水印圖像的分存方法。實驗結(jié)果表明,該方法可以有效防止外部欺詐和內(nèi)部欺詐,實現(xiàn)了在多個用戶間的秘密共享,也可以應(yīng)用于身份認(rèn)證,且可以抵抗多種常用圖像的處理攻擊,具有一定的魯棒性。
水印分存 多數(shù)字基整數(shù) 灰度水印 秘密共享 身份認(rèn)證
在網(wǎng)絡(luò)技術(shù)的發(fā)展下,國內(nèi)外學(xué)者提出了很多數(shù)字水印算法,但是這些算法中能解決數(shù)字水印分存的問題的很少。因為在這些算法中只有一個密鑰,任何人只要他擁有這個密鑰,就可以重構(gòu)數(shù)字水印,就會被默認(rèn)為是作品的擁有者。如果多人協(xié)同合作擁有一個數(shù)字水印,可以運用某種方法設(shè)計出n份不同的子水印,分配給n位參與者。當(dāng)獲取其中的t(t0≤t≤n,t0是指定秘密共享方案固有的閾值)份子水印,共享的數(shù)字水印就可以被恢復(fù);反之則無法恢復(fù)出共享的數(shù)字水印。這就是秘密共享的問題。
數(shù)字水印分存是在數(shù)字水印的基礎(chǔ)上,將秘密共享[1-5]的思想用于數(shù)字水印技術(shù)中。姚惠明、牛少彰等人[6,7]提出的數(shù)字水印分存技術(shù)將分存后的子水印嵌入在LSB上,只能抵抗剪切攻擊,不能抵抗其他類型攻擊,健壯性差?;谑噶抗蚕矸桨窪CT域上的數(shù)字水印分存算法[8]提出在DCT變換域中嵌入分存子水印,這在一定程度上增強了子水印的健壯性,但對剪切和壓縮之外的攻擊效果仍很不理想。基于視覺的秘密共享方案[9]不需要復(fù)雜的密碼機制和數(shù)學(xué)運算,可以由人眼直接解碼,但這種方案在秘密共享的過程中容易產(chǎn)生噪聲?;趫D像的多用戶共享的數(shù)字水印系統(tǒng)[10],把秘密嵌入載體圖像,沒有產(chǎn)生明顯的噪聲,但仍只能實現(xiàn)二進制圖像的秘密共享。
本文提出的基于多數(shù)字基整數(shù)的數(shù)字水印分存算法,可以實現(xiàn)灰度數(shù)字水印圖像的共享[11]。多數(shù)字基整數(shù)[12]用來將灰度數(shù)字水印分裂成n個沒有意義的子水印,分派給n個用戶再分別嵌入到載體圖像的不同區(qū)域。本算法可用來實現(xiàn)在多個用戶間的秘密共享,也可以應(yīng)用于身份認(rèn)證[13,14],且可以抵抗多種常用圖像的處理攻擊,具有一定的魯棒性。
定義1稱整數(shù)dn-1dn-2…d0為單數(shù)字基整數(shù),如果此整數(shù)的所有系數(shù)di(0≤i≤n-1)均以十進制數(shù)a為基底,其中di的取值為0到a-1的十進制整數(shù)。則dn-1dn-2…d0轉(zhuǎn)化為十進制整數(shù)為:
dn-1dn-2…d0=d0+…+dn-2×an-2+
dn-1×an-1
(1)
定義2稱整數(shù)dn-1dn-2…d0為多數(shù)字基整數(shù),di為此整數(shù)的第i位系數(shù),如果每位系數(shù)di以十進制常數(shù)bi>0(i=0,1,…,n-1)為基底,其中di的取值范圍是0到bi-1的十進制整數(shù)。多數(shù)字基數(shù)dn-1dn-2…d0同樣可以表示成dn-1(bn-1)dn-2(bn-2)…d2(b2)d1(b1)d0(b0),它的十進制結(jié)果可以按如下公式進行計算:
dn-1(bn-1)dn-2(bn-2)…d2(b2)d1(b1)d0(b0)
=dn-1×(bn-2×bn-3×…×b0)+
dn-2×(bn-3×bn-4×…×b0)+…+
d2×(b1×b0)+d1×b0+d0
=((…((dn-1×bn-2+dn-2)×bn-3+dn-3)×
…+d2)×b1+d1)×b0+d0
(2)
定義3稱以十進制常數(shù)bn-1bn-2…b0為基底,由定義2定義的多數(shù)字基整數(shù)的集合為多數(shù)字基整數(shù)系統(tǒng)。
性質(zhì)1任何一個十進制整數(shù)都可以轉(zhuǎn)化成一個多數(shù)字基整數(shù)dn-1(bn-1)dn-2(bn-2)…d0(b0),其逆命題也真。
性質(zhì)2一個n位的多數(shù)字基數(shù)dn-1(bn-1)dn-2(bn-2)…d0(b0),可以表示m bit二值信息,如果其基底bn-1,bn-2,…,b0滿足:
(3)
將灰度數(shù)字水印圖像通過多數(shù)字基整數(shù)分成n(n≥2)份子水印后,需要將這些子水印嵌入到載體圖像中,這里的水印嵌入與提取算法不限定,只要適合就行。本文采用在小波域上結(jié)合人眼視覺特性的灰度水印自適應(yīng)嵌入與提取算法[15],將數(shù)字水印分成2(n=2)份。分派給2(n=2)個用戶再分別嵌入到載體圖像的不同區(qū)域,基于多數(shù)字基整數(shù)的數(shù)字水印分存算法實現(xiàn)了灰度數(shù)字水印圖像的分存,提高了水印的嵌入容量,且與以前的算法相比,具有更強的健壯性和魯棒性。
2.1 灰度數(shù)字水印的分塊
我們用多數(shù)字基整數(shù)將原始數(shù)字水印分成若干份,這里SI表示原始灰度水印,分開后的子水印用PI0,PI1,…,PIn-1表示,SI和PI0,PI1,…,PIn-1可以定義如下:
SI={s(i,j)|0≤s(i,j)≤255 0≤i,j≤N-1}
(4)
PIk={pk(i,j)|0≤pk(i,j)≤dk0≤i,j≤N-1}
(5)
PIk(k=0,1,…,n-1)的大小同SI,dk=bk-1,bk為對應(yīng)用戶所取的整數(shù)基底。若取兩位基底為b1=18,b0=22,則整數(shù)200可以被如下系數(shù)表示d1=9,d0=2,即200=d1×b0+d0=9×22+2。
如圖1所示,PIi(i=0,1)是原始數(shù)字水印SI分塊后的2塊子水印,它們是分別對應(yīng)系數(shù)di(i=0,1)的矩陣。這樣我們就可以將這些分塊的矩陣,也就是子水印嵌入到載體圖像的不同區(qū)域中。
圖1 多數(shù)字基整數(shù)的數(shù)字轉(zhuǎn)換
2.2 子水印的嵌入與提取
本算法的流程如圖2所示,其主要步驟如下:
步驟1為了增強安全性,在原始灰度數(shù)字水印圖像分裂前,采用基于隊列變換的數(shù)字圖像置亂算法[16]對其進行置亂預(yù)處理?;陉犃兄脕y變換有四個參數(shù):s_key(Type,I,J,L),其中Type表示置亂變換類型,(I,J)表示置亂變換的參照點,L表示置亂變換迭代的次數(shù)。
步驟2用多數(shù)字基整數(shù)將置亂后的灰度數(shù)字水印圖像分裂成n(n≥2)份子水印圖像。相應(yīng)的多數(shù)字基基底可以作為密鑰,被對應(yīng)的用戶所擁有。
步驟3將各子水印圖像嵌入載體圖像的不同區(qū)域中。
步驟4提取各子水印圖像,原始數(shù)字水印圖像可以按照定義2進行恢復(fù)后再進行逆置亂獲得。
圖2 基于多數(shù)字基整數(shù)的數(shù)字水印分存算法
為測試本文算法的有效性,在仿真實驗中,水印采用256級的大小為64×64的灰度圖像。為了提高水印的安全性和抗剪切攻擊能力,采用隊列變換的置亂算法先對原始水印進行預(yù)處理,再采用合適的基底將置亂后的數(shù)字水印表達為兩組不同的多數(shù)字基整數(shù),即兩塊子水印。這里的載體圖像采用256級灰度,大小為512×512的“Lena”、“Goldhill”、“Camera”、“Airplane”和“Peppers”圖像分別試驗。限于篇幅,本文以Lena圖像為代表,將其進行三級小波變換,兩塊子水印分別嵌入到對應(yīng)的載體圖像的低頻域中和中頻域中。原始水印、置亂后的水印如圖3所示。
圖3 原始水印和置亂水印
圖4為原始載體圖像,圖5為嵌入2個子水印后的帶水印圖像,從視覺效果看,很難感覺到水印的存在,說明該水印算法具有較好的不可見性。
圖4 原始載體圖像
圖5 嵌入兩塊子水印后的圖像PSNR=34.5578
3.1 魯棒性與安全性分析
為驗證基于多數(shù)字基整數(shù)的數(shù)字水印分存算法的抵抗攻擊能力,實驗中對嵌入水印后的圖像進行一些處理,然后提取子水印。歸一化互相關(guān)系數(shù)NC來判斷提取水印的魯棒性,用來定量評價提取水印Wextract與原始水印W兩者之間的相似度[15]。
(4)
如表1所示,“子水印1+子水印2”表示兩個子水印都被提取,“子水印1”表示只有第一塊子水印被提取,第二塊子水印的密鑰未知?!白铀?” 表示只有第二塊子水印被提取,第一塊子水印的密鑰未知。為了分析基于多數(shù)字基整數(shù)的數(shù)字水印分存算法的安全性,我們從外部欺詐和內(nèi)部欺詐兩個方面來考慮:就外部欺詐而言,敵手很難獲得2份子水印,再完成逆置亂,從而恢復(fù)原始數(shù)字水??;就內(nèi)部欺詐來說,內(nèi)部子水印合法擁有者在不知道其他子水印的情況下,即使提取出了自己的子水印,也變得毫無價值。所以本文提出的數(shù)字水印分存算法,不僅能防止外部欺詐,也能防止內(nèi)部欺詐,達到了秘密共享的目的。
表1 水印抗攻擊實驗結(jié)果
3.2 實驗結(jié)果比較及分析
運用數(shù)字水印技術(shù)來分享一個秘密,同種類型的算法并不多。一般說來,不容易在這類算法中來比較彼此性能的優(yōu)劣,因為它們使用不同的規(guī)則用不同的方法來達到秘密共享的目的。在表2中我們列出了幾條一般性能的比較。
表2 與相關(guān)系統(tǒng)的性能比較
對于數(shù)字水印系統(tǒng),像不可見性和魯棒性是考慮的重點,但秘密共享能力一般并不考慮。視覺密碼學(xué)主要考慮的是秘密共享能力,為了達到這個目的,恢復(fù)出的秘密的質(zhì)量欠考慮,恢復(fù)的效果往往也不理想?;诙鄶?shù)字基整數(shù)的數(shù)字水印分存算法能實現(xiàn)秘密的共享,同時能克服上述缺陷。表2中“○”表示“重要”或“擁有”,“×”表示“不考慮”或“不重要”。
數(shù)字水印分存是將秘密共享的思想引入數(shù)字水印技術(shù)中,秘密共享在重要信息和秘密數(shù)據(jù)的安全保存、傳輸及合法利用中起著關(guān)鍵的作用。共享方案在使用的時候,一方面可以防止外部欺詐獲得秘密;另一方面可以防止內(nèi)部欺詐,內(nèi)部子秘密合法擁有者在不知道其他分存水印的情況下,即使提取出了自己的分存水印,也變得毫無價值。這在現(xiàn)實中是非常有意義的,可以防備子秘密合法擁有者盜竊秘密。本文提出了一種能簡單有效實現(xiàn)灰度數(shù)字水印圖像分存的算法,利用多數(shù)字基整數(shù)將原始數(shù)字水印分裂成多個子水印,當(dāng)且僅當(dāng)獲得t(t0≤t≤n,t0為閾值)份子水印時(本文中t=2,t0=2),原始數(shù)字水印才可以恢復(fù)。實驗表明,基于多數(shù)字基整數(shù)的數(shù)字水印分存算法能有效抵抗外部欺詐和內(nèi)部欺詐,同時實驗結(jié)果表明,該算法具有很強的魯棒性和不可見性,實現(xiàn)了灰度數(shù)字水印圖像的多用戶共享。
[1] 劉海,彭長根,田有亮,等.(2,2)貝葉斯理性秘密共享方案[J].電子學(xué)報,2014,42(12):2481-2488.
[2] Zhang Zhifang,Liu Mulan.Rational secret sharing as extensive game[J].Scinece China Information Sciences,2013,56(3):1-13.
[3] 沈剛,郁濱.基于異或的(k,n)多秘密視覺密碼[J].小型微型計算機系統(tǒng),2013,34(9):2116-2119.
[4] Harn L,Fuyou M,Chang C C.Verifiable secret sharing based on the Chinese remainder theorem[J].Security and Communication Networks,2014,7(6):950-957.
[5] 藍才會,王彩芬.一個新的基于秘密共享的條件代理重加密方案[J].計算機學(xué)報,2013,36(4):895-902.
[6] 姚惠明,隋愛芬,牛少彰,等.基于矢量共享方案的數(shù)字水印分存算法[J].電子與信息學(xué)報,2003,25(12): 1612-1616.
[7] 牛少彰,鈕心忻,楊義先,等.基于拉格朗日插值公式的數(shù)字水印分存算法[J].北京郵電大學(xué)學(xué)報,2003,26(3):8-11.
[8] 姚惠明,周冠玲,楊義先,等.一種基于矢量共享方案的DCT域上數(shù)字水印分存算法[J].計算機學(xué)報,2004,27(7):998-1003.
[9] Fuhgwo Jeng,Kaisiang Lin,Chihhung Lin,et al.Visual multi-secret sharing with friendliness [J].Journal of Shanghai Jiaotong University (Science),2014,19(4):455-465.
[10] Wang F H,Yen K K,Jain L C,et al. Multiuser-based shadow watermark extraction system [J].Information Sciences,2007,177(12): 2522-2532.
[11] 羅斌,吳友情,呂皖麗,等.一種基于相位相關(guān)拼接的數(shù)字水印分存算法[J].中國科技論文,2009,4 (2):103-108.
[12] Wu D C,Tsai W H.Data hiding in images via multiple-based number conversion and lossy compression [J].IEEE Transactions on Consumer Electronics,1998,44(4): 1406-1412.
[13] 周曉斌,許勇,張凌.一種開放式PKI身份認(rèn)證模型的研究[J].國防科技大學(xué)學(xué)報,2013,35(1):169-174.
[14] 劉云芳,左為平.基于身份無可信中心的指定驗證人代理多重簽名方案[J].計算機應(yīng)用與軟件,2013,30(4):316-318.
[15] 向德生,熊岳山,朱更明.基于視覺特性的灰度水印自適應(yīng)嵌入與提取算法[J].中國圖象圖形學(xué)報,2006,11(7):1026-1035.
[16] 李敏,費耀平.基于隊列變換的數(shù)字圖像置亂算法[J].計算機工程,2005,31(1):148-152.
A WATERMARKING SHARING SCHEME BASED ON MULTIPLE-BASED NUMBER
Qian Yanyu Wu Youqing
(Department of Public Computer Teaching,Hefei Normal University,Hefei 230061, Anhui, China)
Aiming at the problems that general watermarking algorithms only have single function,while existing watermark sharing algorithms can only realise binary watermark image sharing,we proposed a gray-level watermarking image sharing scheme,which applies the multiple-based number to digital watermarking sharing technology.Experimental results showed that the proposed scheme can effectively prevent external and internal frauds,and achieve the secret sharing among multiple users,it can be also applied to authentication,can resist a couple of processing attacks on common images,and has certain robustness.
Watermarking sharing Multiple-based number Gray-scale watermark Secret sharing Identity authentication
2015-07-18。錢言玉,實驗師,主研領(lǐng)域:信息安全。吳友情,講師。
TP391.41
A
10.3969/j.issn.1000-386x.2016.11.072