《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 兼顧可用性和可靠性的可視密碼最佳方案
兼顧可用性和可靠性的可視密碼最佳方案
喬明秋,趙振洲
(北京政法職業(yè)學(xué)院 信息技術(shù)系,北京 102628)
摘要: 自1994年Naor和Shamir提出可視密碼被提出以來,可視密碼的像素?cái)U(kuò)展和圖像對(duì)比度差一直是需要解決的問題。在m點(diǎn)加密的基礎(chǔ)上,在兼顧可用性和可靠性的前提下,提出了實(shí)現(xiàn)可視密碼的最佳方案,一方面能夠使分存圖像像素不產(chǎn)生擴(kuò)展,即分存圖像與加密圖像一樣大;另一方面,通過重構(gòu)使恢復(fù)后的圖像達(dá)到最好的對(duì)比度。
中圖分類號(hào):TP309.7
文獻(xiàn)標(biāo)識(shí)碼: A
DOI: 10.19358/j.issn.2096-5133.2019.04.010
引用格式:喬明秋,趙振洲.兼顧可用性和可靠性的可視密碼最佳方案[J].信息技術(shù)與網(wǎng)絡(luò)安全,2019,38(4):46-49.
Optimal visual cryptography scheme considering availability and reliability
Qiao Mingqiu, Zhao Zhenzhou
(IT Department, Beijing College of Politics and Law, Beijing 102628, China)
Abstract: Since visual cryptography was proposed in 1994,pixel expansion and poor image contrast of visual cryptography have been a problem to be solved.On the basis of m-points encryption,on the premise of both availability and reliability,this paper proposes an optimal visual cryptography scheme.On the one hand,it can make the shared image pixels not expand,the shared image is as large as the encrypted image;on the other hand,it can achieve the best image contrast by reconstructing.
Key words : visual cryptography;secret sharing;m-points encode;reconsitution

0    引言     


SHAMIR A[1]和BLAKELY于1979年分別提出了秘密共享的概念,其主要思想是在n個(gè)參與者之間分享一個(gè)秘密,k個(gè)(或k個(gè)以上)參與者可以恢復(fù)秘密,而少于k個(gè)參與者則無法恢復(fù)秘密,所以,秘密共享也稱為(k,n)門限方案。可視密碼[2-3]是一種依靠人眼解密的秘密共享方法,它是將一個(gè)秘密圖像加密成n張分存圖像,n張分存圖像可以打印到膠片上、存入電腦或移動(dòng)存儲(chǔ)器中,且分別由n個(gè)人保存。解密時(shí)只需k個(gè)人(或k個(gè)以上)將各自的分存圖像疊加,秘密圖像就會(huì)呈現(xiàn)出來,而少于k個(gè)人無法獲得秘密圖像的一點(diǎn)信息。

傳統(tǒng)可視密碼方法都是使用像素?cái)U(kuò)展的方法來進(jìn)行加密,因此使得分存圖像被擴(kuò)展為秘密圖像的好多倍,這樣不但造成存儲(chǔ)空間的浪費(fèi),也使得攜帶更為不方便。

在傳統(tǒng)(k,n)可視密碼中,秘密圖像中的每個(gè)像素都單獨(dú)處理,由n個(gè)人共享,每個(gè)共享由m個(gè)黑白子像素組成。構(gòu)建一個(gè)n×m布爾矩陣B=[Bij],當(dāng)且僅當(dāng)Bij=1時(shí)第i個(gè)共享者的第j個(gè)子像素為黑;當(dāng)且僅當(dāng)Bij=0時(shí)第i個(gè)共享者的第j個(gè)子像素為白。當(dāng)把投影片疊放在一起時(shí),就相當(dāng)于對(duì)于每一行都做了或運(yùn)算。疊放后圖像的灰度值與進(jìn)行或運(yùn)算之后的向量V的漢明重量H()成正比。使用者利用視覺系統(tǒng)解釋灰度值如下,如果H()≥d該點(diǎn)像素為黑,如果H()≤d-αm該點(diǎn)像素為白。


1    像素不擴(kuò)展的方案


ITO R[5]等人針對(duì)黑白可視密碼提出了一種不擴(kuò)展的(k,n)-threshold可視密碼方案,當(dāng)要分享一個(gè)黑(白)點(diǎn)時(shí),便從對(duì)應(yīng)于黑(白)點(diǎn)的基礎(chǔ)矩陣中隨機(jī)選擇列,并且將這個(gè)列向量的第i行分配給第i個(gè)分存圖像。由于不論是黑點(diǎn)或白點(diǎn)的基礎(chǔ)矩陣,其每一行0與1分布的比例都相同,因此分存圖像上每一個(gè)像素,會(huì)填上黑點(diǎn)或白點(diǎn)的幾率也都一樣,依次無法從分存圖像上猜測到有關(guān)秘密圖像的信息。而還原圖像則靠式(1)來產(chǎn)生對(duì)比。在式(1)中,p0和p1分別代表白點(diǎn)和黑點(diǎn)在疊加圖像上產(chǎn)生黑點(diǎn)的概率。只要這兩個(gè)概率值差別夠大,人眼便可自動(dòng)區(qū)分疊加圖像上黑色與白色的區(qū)域。

微信截圖_20190508163959.png(1)

ITO R[5]等所提出的不擴(kuò)展模型,在分享一個(gè)像素時(shí),是完全隨機(jī)地從基礎(chǔ)矩陣中選擇行,雖然在整張疊加圖像上,能夠達(dá)到式(1)的對(duì)比,但是在小區(qū)域上,黑點(diǎn)與白點(diǎn)的分布就可能無法達(dá)到式(1)的對(duì)比。侯永昌等人提出了像素不擴(kuò)展之灰階密碼方案[6]及像素不擴(kuò)展之彩色視覺密碼技術(shù)[7],其提出m點(diǎn)同時(shí)加密的概念,即用m點(diǎn)同時(shí)加密來保證分存圖像的像素不擴(kuò)展。


2     舉例說明m點(diǎn)加密


微信截圖_20190508165436.png


因?yàn)榛A(chǔ)矩陣Bm×n的列數(shù)m=2,所以選擇秘密圖像上的連續(xù)兩個(gè)點(diǎn)為加密對(duì)象,稱這兩點(diǎn)為加密序列,加密方法如下:


(1)當(dāng)加密序列為兩個(gè)白點(diǎn)時(shí)用矩陣M0加密,保證兩個(gè)分存圖像疊加后,此兩點(diǎn)為一黑一白;


(2)當(dāng)加密序列為兩個(gè)黑點(diǎn)時(shí)用矩陣M1加密,保證兩個(gè)分存圖像疊加后,此兩點(diǎn)全黑;


(3)當(dāng)加密序列為一黑點(diǎn)一白點(diǎn)時(shí),一半用矩陣M0加密,一半用矩陣M1加密。保證兩個(gè)分存圖像疊加后,此兩點(diǎn)或者是一黑一白,或者是全黑,且這兩種情況各占一半。


通過總結(jié),得到(2,2)可視密碼加密規(guī)則,其中,e代表秘密圖像上已經(jīng)加密過的黑白各半的加密序列的個(gè)數(shù),加密規(guī)則如下:


if e mod 2<1


M1進(jìn)行加密


else用M0進(jìn)行加密


3     兼顧可用性和可靠性的可視密碼最佳方案



侯永昌等人的多點(diǎn)加密可以較好地實(shí)現(xiàn)像素的不擴(kuò)展,但是在解密過程中仍然存在秘密圖像的對(duì)比度不高的問題。結(jié)合侯永昌等人的多點(diǎn)加密,在解密的時(shí)候使用算法進(jìn)行重構(gòu),方法是在秘密圖像的連續(xù)m個(gè)點(diǎn)中,如果黑色像素H()≥d,則對(duì)應(yīng)m個(gè)點(diǎn)像素為黑點(diǎn),否則m個(gè)點(diǎn)為白點(diǎn)。


B0B1分別代表對(duì)應(yīng)于白點(diǎn)與黑點(diǎn)的n×m基礎(chǔ)矩陣,加密序列的長度為m,即一次取秘密圖像上的m點(diǎn)來加密,b代表加密序列中的黑點(diǎn)個(gè)數(shù)(0≤b≤m),eb則代表具有b個(gè)黑點(diǎn)的加密序列已加密過的個(gè)數(shù),加密程序如下:


(1)令eb=0 for b=1,2,…,m;


(2)由秘密圖像中取出尚未加密的加密序列,并計(jì)算其黑點(diǎn)個(gè)數(shù)b;


(3)將基礎(chǔ)矩陣做列向量隨機(jī)重排,其中矩陣根據(jù)下列規(guī)則決定:


if eb mod m<b


B=B1


else B=B0


(4)eb=eb+1;


(5)重復(fù)步驟(2)~(4)直到秘密圖像上的所有像素都加密完畢。


解密重構(gòu)過程如下:


①令C為k個(gè)分享者的分存圖像疊加后的圖像,D為C重構(gòu)后的圖像;


②存在整數(shù)p、q,使m=p×q,且|p-q|最小;


③對(duì)于B中的m像素,計(jì)算黑點(diǎn)個(gè)數(shù):


for x=p:-1:0


for y=q:-1:0


計(jì)算解密圖像C中m=p×q個(gè)點(diǎn)C((p×i-x),(q×j-y))的黑點(diǎn)個(gè)數(shù)b


end


end


(4)如果黑點(diǎn)個(gè)數(shù)大于閾值d,重構(gòu)圖像D對(duì)應(yīng)的m個(gè)點(diǎn)為黑點(diǎn),否則為白點(diǎn):


for x=p:-1:0


for y=q:-1:0


ifb≥d


D((p×i-x),(q×j-y))=1;


else


D((p×i-x),(q×j-y))=0;


endif


end


end


(5)重復(fù)步驟(3)~(4)直到秘密圖像上的所有像素都重構(gòu)完畢。


4    兼顧可用性和可靠性的可視密碼最佳方案的實(shí)例


以(2,3)可視密碼來具體說明本文的方法,(2,3)可視密碼的基礎(chǔ)矩陣如下:


微信截圖_20190508170606.png


在傳統(tǒng)的可視密碼中,對(duì)于加密圖像逐點(diǎn)加密,如果該點(diǎn)為白點(diǎn),則將B0進(jìn)行隨機(jī)列置換后得到C0,將C0的第一行分給第一個(gè)分享者,將C0的第二行分給第二個(gè)分享者,將C0的第三行分給第三個(gè)分享者;如果該點(diǎn)為黑點(diǎn),則將B1進(jìn)行隨機(jī)列置換后得到C1,將C1的第一行分給第一個(gè)分享者,將C1的第二行分給第二個(gè)分享者,將C1的第三行分給第三個(gè)分享者。這樣分享圖像和解密圖像都將擴(kuò)大三倍,產(chǎn)生像素?cái)U(kuò)展。


對(duì)于(2,3)可視密碼,加密算法為:


(1)令eb=0 for b=1,2


(2)由秘密圖像中取出尚未加密的加密序列,并計(jì)算其黑點(diǎn)個(gè)數(shù)b.


(3)將基礎(chǔ)矩陣B做列向量隨機(jī)重排,其中矩陣B根據(jù)下列規(guī)則決定:


if    eb mod 3<b;


B=B1;


else  B=B0;


(4)eb=eb+1;


(5)重復(fù)步驟(2)~(4)直到秘密圖像上的所有像素都加密完畢。

圖1為加密圖像,在加密圖像上選取連續(xù)3個(gè)點(diǎn),如果3個(gè)點(diǎn)中有0個(gè)黑點(diǎn),一直使用B0加密;如果3個(gè)點(diǎn)中有1個(gè)黑點(diǎn),則第1次使用B1加密,后2次這種情況使用B0加密;如果3個(gè)點(diǎn)中有2個(gè)黑點(diǎn),則第2次使用B1加密,后1次這種情況使用B0加密;如果3個(gè)點(diǎn)都為黑點(diǎn),一直使用B1加密。使用上面的方法得到分存圖像,如圖2所示,分存圖像沒有像素?cái)U(kuò)展。將任意兩個(gè)分存圖像進(jìn)行疊加,得到解密圖像C,如圖3所示,解密圖像沒有像素?cái)U(kuò)展。(本文中所有圖像都縮小為原圖像的50%。)


微信截圖_20190508171009.png




將解密圖像利用算法進(jìn)行重構(gòu),重構(gòu)過程如下:


(1)令C為k個(gè)分享者的分存圖像疊加后的圖像,D為將C重構(gòu)后的圖像;


(2)存在整數(shù)p、q,使3=p×q,且|p-q|最小,則p=1,q=3;


(3)對(duì)于B中的3像素,計(jì)算黑點(diǎn)個(gè)數(shù):


for y=3:-1:0


計(jì)算解密圖像C中3個(gè)點(diǎn)C(i,(3×j-y))的黑點(diǎn)個(gè)數(shù)b


end


(4)如果黑點(diǎn)個(gè)數(shù)大于閾值2,重構(gòu)圖像D對(duì)應(yīng)的m個(gè)點(diǎn)為黑點(diǎn),否則為白點(diǎn):


for y=3:-1:0


ifb≥2


D(i,(3×j-y))=1;


else


D(i,(3×j-y))=0;


endif


end


(5)重復(fù)步驟(3)~(4)直到解密圖像上的所有像素都重構(gòu)完畢。


C為解密圖像,計(jì)算C中連續(xù)3個(gè)點(diǎn)的黑點(diǎn)個(gè)數(shù),如果黑點(diǎn)個(gè)數(shù)大于等于2,則該點(diǎn)為黑點(diǎn);否則為白點(diǎn)。得到的重構(gòu)圖像如圖4所示,重構(gòu)圖像中沒有像素?cái)U(kuò)展,且有更好的視覺對(duì)比度。對(duì)于(2,3)可視密碼,本方案和其他方案的對(duì)比如表1所示。從表1中可以看到,本方案像素?zé)o擴(kuò)展,所以圖像也不會(huì)有變形,且達(dá)到最好的黑白像素對(duì)比度。

微信截圖_20190508171850.png



5     結(jié)論


本文在兼顧可用性和可靠性的前提下,提出了實(shí)現(xiàn)可視密碼的最佳方案,在加密時(shí)利用m點(diǎn)加密實(shí)現(xiàn)了分存圖像的像素不擴(kuò)展,在解密時(shí)利用重構(gòu)得到更優(yōu)對(duì)比度的重構(gòu)圖像,并以(2,3)可視密碼為例說明了該方法的優(yōu)點(diǎn)。該方法雖然避免了像素?cái)U(kuò)展且對(duì)比度很好,但是解密圖像黑色像素邊緣會(huì)稍有模糊,如何設(shè)計(jì)更優(yōu)的像素不擴(kuò)展算法,是今后需要努力的方向。



參考文獻(xiàn)


 

[1] SHAMIR A.How to share a secret[J].Communications.ACM,1979,22(11):612-613

[2] NAOR M,SHAMIR A.Visual cryptography[J]. Advance in cryptology Euro crypt′94.Lecture Notes in Computer Science,Berlin:Springer,Berlin, 1995,950:1-12.

[3] DROSTE S.New results on visual cryptography[J]. Lecture Notes in Computer Science, Berlin:Springer-Verlag, 1996,1109:401-415.

[4] ATENIESE G,BLUNDO C,DE SANTIS A,et al.Visual cryptography for general access structures[J]. Information and Computation,1996,129(2):86-106.

[5] ITO R, KUWAKADO H,TANAKA H.Image size invariant visual cryptography.IEICE Transactions on Fundamentals of Electronics Communications and Computer Science, 1999, E82-A(10): 2172-2177.

[6] 侯永昌,許慶升. 像素不擴(kuò)展之灰階視覺密碼方法,資管評(píng)論,2004,12(13):107-1240

[7] 侯永昌.像素不擴(kuò)展之彩色視覺密碼技術(shù)[J].Journal of Information,Technology and Society,2004(1):95-110.

[8] 喬明秋,朱悅冬,劉煥平.多秘密共享可視密碼及在防止欺騙上的應(yīng)用[J].哈爾濱師范大學(xué)自然科學(xué)學(xué)報(bào),2007(2):61-65.

[9] 張舒,艾小川.一種具有理想對(duì)比度的可視密碼方案[J]. 計(jì)算機(jī)與數(shù)字工程,2015(8):1462-1464.

[10] 李春艷,基于像素不擴(kuò)展視覺密碼的水印算法[J]. 大理大學(xué)學(xué)報(bào),2017(6):19-21.

[11] 王洪君,馬冬鶴,張恩綺,等.一種無像素膨脹的(3,3)視覺密碼方案[J]. 武漢大學(xué)學(xué)報(bào)(工學(xué)版),2018(12):1123-1128.


[12] 沈剛,付正欣,郁濱.基于XOR的(2,2,n) 多秘密視覺密碼[J]. 計(jì)算機(jī)應(yīng)用研究,2012(10):3797-3799.



(收稿日期:2019-01-20)



作者簡介:



喬明秋(1982-),通信作用,女,碩士研究生,講師,主要研究方向:密碼學(xué)、信息安全。E-mail: qiaomingqiu@163.com。


趙振洲(1978-),男,碩士研究生,副教授,主要研究方向:數(shù)據(jù)恢復(fù)、信息安全。


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。