韓妍妍 竇凱麗 魏萬奇
北京電子科技學(xué)院,北京市 100070
隨著網(wǎng)絡(luò)的快速發(fā)展,地圖等數(shù)據(jù)量大、內(nèi)容精度要求較高的圖像傳輸開始由現(xiàn)實物理途徑轉(zhuǎn)為網(wǎng)絡(luò)虛擬途徑,實現(xiàn)了由靜態(tài)、交互到動態(tài)傳輸?shù)难葑儯?],但隨之而來的是此類圖像傳輸過程中的安全問題。 在提高安全性傳輸上,學(xué)者們提出了一系列加密方式,如對圖像進(jìn)行矢量化混沌加密[2]、基于同態(tài)加密添加數(shù)字水印[3]或應(yīng)用可視密碼技術(shù)一次一密的特點對圖像進(jìn)行加密后傳輸[4],但這些加密方式可加密的內(nèi)容是有限的,對于內(nèi)容精度要求高的圖像來說是無法較好的完成加密與解密,因此需要一種新的方式來滿足復(fù)雜圖像秘密信息量較大、安全需求較高的應(yīng)用場景,于是本方案在可視密碼技術(shù)的基礎(chǔ)上進(jìn)行了研究。
可視密碼(visual cryptography, VC)是Naor和Adi Shamir[5]于1979 年提出的一種秘密共享方案,由于其僅需人眼視覺系統(tǒng)就可解密的優(yōu)點而被廣泛應(yīng)用。 之后Blakley[6]提出了(k,n)門限秘密共享方案(secret sharing scheme),即將一幅秘密圖像分為n份,只有其中的k份以上疊加才能解密。 但傳統(tǒng)的可視密碼目前存在著像素擴(kuò)展度大、需提前設(shè)計密碼本與基矩陣等問題,因此迫切需要一種新的算法解決此問題,這時隨機柵格(random grid, RG)[7]進(jìn)入了大家的視線。 隨機柵格是隨機分配黑白二值像素點組合成一幅圖像,由于它的隨機性,滿足了不需提前設(shè)計密碼本的要求,恰好解決了傳統(tǒng)可視密碼方案中的問題,為可視密碼開拓了新的研究方向。
基于隨機柵格的可視密碼方案(RG-VCS)是Kafri 和Keren[7]在1987 年首次提出的一種對二進(jìn)制秘密圖像進(jìn)行加密的方法,他們將二值密鑰圖像轉(zhuǎn)換成為兩個無意義的密碼網(wǎng)格,單個網(wǎng)格圖像中無法獲得任何秘密信息,只有將兩個網(wǎng)格圖像疊加才可獲得其中的秘密信息。 隨后Chen 和Tsao[8]在Kafri 和Keren 的基礎(chǔ)上提出了(n,n)門限的基于隨機柵格的可視密碼方案,將只可分解為2 份共享圖像的隨機柵格可視密碼方案擴(kuò)展為可分解為n份的共享圖像,這n份共享圖像疊加,即可獲得原始秘密內(nèi)容,實現(xiàn)了參與人數(shù)不受限制的功能,但恢復(fù)圖像的對比度上仍然不佳,于是Yan[9]等人于2018 年開始在提高恢復(fù)圖像對比度上進(jìn)行研究,提出利用n位中的隨機位彌補視覺質(zhì)量,雖然此方案對比度有了提升,但其中的k,t,n等值并不是直接給出,因此需要繼續(xù)進(jìn)行研究。
隨著圖像加密的發(fā)展,圖像逐漸由以往的普通黑白圖像變?yōu)轭伾S富的彩色圖像,從而所含信息量也越來越多[3,4],導(dǎo)致其應(yīng)用場景也在逐漸增多,快速響應(yīng)(quick response,QR)二維碼便是其中一個。 QR 碼是由日本Denso-Wave 公司在1994 年發(fā)明的一種矩陣式二維碼,因其識讀速度快、存儲信息容量大、占用空間小等優(yōu)點而被廣泛應(yīng)用[10]。 但二維碼也存在著一個致命缺點,即公共性太強,任何人掃描后都可獲得其所含的內(nèi)容,因此其無安全加密[11]的特性一直受到各方注意。 為解決QR 碼無法傳輸秘密信息的問題,一些學(xué)者提出利用水印技術(shù)[12,13]將QR碼作為秘密嵌入到掩蓋圖像中。 在此期間,J Weir[14]等人首次提出將二維碼與可視密碼相結(jié)合,以解決可視密碼中身份認(rèn)證的問題,這為后續(xù)可視密碼與QR 碼相結(jié)合的各項研究提供了新思路。 隨后Y.Cheng[15]等人提出利用可視化秘密共享方法對二維碼進(jìn)行編碼,由于方案中的分享都是有效二維碼,因此避免了引起潛在攻擊者的懷疑,解密時只有合格的共享份進(jìn)行異或才能恢復(fù)秘密消息。
此前大多數(shù)QR 碼的研究都是在一級QR碼階段,但隨著互聯(lián)網(wǎng)技術(shù)與大數(shù)據(jù)的快速發(fā)展,一級QR 碼的儲存信息量與安全性無法滿足需求,于是國內(nèi)外學(xué)者開始研究更高級別QR碼。 Y Cheng[16]等人首先設(shè)計了一種具有兩級信息存儲的QR 碼來保護(hù)私人消息,對于公共級別信息可以直接掃碼得到,而對于私人信息,則需要通過視覺密碼方案來進(jìn)行解密獲得。 Z Fu[17]等人對兩級信息保護(hù)的方案算法繼續(xù)優(yōu)化,得到隱私級信息可以通過三種不同的解密方式進(jìn)行解碼,分別適用于相對差1/4 的非計算、相對差1/2 的輕量級計算和相對差1/2 的普通計算環(huán)境。 隨后,Z Fu[18]等人在兩級方案上進(jìn)一步優(yōu)化,提出一種基于可視密碼的分布式三級QR 碼方案,將QR 碼分為視覺級、公共級與隱私級QR 碼,從而實現(xiàn)更多信息的分級編碼。 除改進(jìn)信息存儲方面外,可視密碼與QR 碼結(jié)合應(yīng)用在其他方面也越來越多,如應(yīng)用在數(shù)字水?。?9]等。
所以,依據(jù)可視密碼與QR 的相關(guān)研究,本文針對地圖等復(fù)雜圖像提出一種可視密碼與QR 碼結(jié)合的雙重保護(hù)方案。 利用QR 碼的信息存儲量大的優(yōu)點對地圖等復(fù)雜圖像進(jìn)行編碼保護(hù),再利用隨機柵格可視密碼的像素擴(kuò)展低、不需要密碼本等優(yōu)點進(jìn)行二重加密保護(hù),以實現(xiàn)對秘密圖像的加密保護(hù)傳輸。 最后對方案的安全性等性能進(jìn)行了實驗驗證和理論證明。
為方便對于本文后續(xù)內(nèi)容的理解,在表1 中對各類符號做了如下注釋。
隨機柵格是一種由Kafri 和Keren[7]在1987年首次提出的對二值圖像進(jìn)行加密的方法,它將一個秘密圖像加密成兩個隨機柵格,單個看是毫無意義的,但其中包含兩個柵格信息的區(qū)域是相互關(guān)聯(lián)的,當(dāng)兩個柵格疊加在一起,由于透光率的差異,相關(guān)區(qū)域就會從無意義的圖像中被得到,從而可以肉眼直觀看到秘密內(nèi)容。

符號 含義Si 原操作圖像QRi 二維碼圖像Rab 分存圖像Rab(i, j) 分存圖像(i, j)位置的像素值⊕異或操作L[] 平均透光率δ對比度?恢復(fù)正確率?像素擴(kuò)展度
如圖1 所示,首先定義一張大小為x×y的圖像S,然后以1/2 的概率隨機分配黑白二值像素點生成一張同S 相等大小為x×y的分享圖像R11,根據(jù)圖像S 與R11,計算得到另一張分享圖像R12。 具體算法為:令S 的像素點為S(i,j),R11的像素點為R11(i,j),R12的像素點為R12(i,j),當(dāng)S(i,j)=0 時,R12(i,j)=R11(i,j);當(dāng)S(i,j)=1 時,R12(i,j)=1-R11(i,j),以此類推直至計算完整個R12的圖像像素點值。 表2 為隨機柵格中黑白像素塊的生成規(guī)則。

圖1 隨機柵格加密過程

S 概率 R11 R12秘密恢復(fù)(R11 ⊕R12)images/BZ_34_351_2528_417_2594.png1/2images/BZ_34_683_2478_749_2545.pngimages/BZ_34_848_2478_915_2545.pngimages/BZ_34_1047_2478_1114_2545.png1/2images/BZ_34_676_2571_755_2650.pngimages/BZ_34_842_2571_921_2650.pngimages/BZ_34_1047_2578_1114_2644.pngimages/BZ_34_345_2721_423_2799.png1/2images/BZ_34_683_2677_749_2744.pngimages/BZ_34_842_2671_921_2750.pngimages/BZ_34_1041_2671_1120_2750.png1/2images/BZ_34_676_2770_755_2849.pngimages/BZ_34_848_2777_915_2843.pngimages/BZ_34_1041_2770_1120_2849.png
解密時只需疊加兩張分享圖像R11與R12進(jìn)行異或運算,即可得到原圖像S 的秘密信息。
目前QR 碼共有40 種版本,版本1 的規(guī)格為21×21 模塊數(shù),越高的版本每邊依次增加4模塊數(shù),直至版本40 的規(guī)格為177×177 模塊數(shù)。 對QR 碼來說,其可容納的資料是多種類型的,如一個版本40 的QR 碼可容納7089 個字節(jié)的數(shù)字?jǐn)?shù)據(jù)、4296 個字節(jié)的字母數(shù)據(jù)、2953 個字節(jié)的8 位字節(jié)數(shù)據(jù)及1817 個字節(jié)的中國漢字?jǐn)?shù)據(jù)等,因此,QR 碼可儲存的信息量是非常大的。
在構(gòu)成上,QR 碼是由無數(shù)的黑白像素塊組成,根據(jù)其結(jié)構(gòu)可分為功能圖形與編碼區(qū)域兩部分,基本結(jié)構(gòu)圖如圖2 所示。 功能圖形包括空白區(qū)域、位置探測圖形、位置探測圖形、定位圖形、校正圖形等,編碼區(qū)域包括格式信息、版本信息、數(shù)據(jù)和糾錯碼字等。

圖2 QR 碼的基本結(jié)構(gòu)圖
其中QR 碼的糾錯等級共有4 種,如表3 所示,按糾錯能力從低到高依次為L、M、Q、H。 糾錯能力越高,代表二維碼容許出錯的概率越高,即某些區(qū)域被破壞時仍然可以掃碼獲得所含內(nèi)容的概率就越高。

QR 碼糾錯級別 糾錯能力L 7%M 15%Q 25%H 30%
本節(jié)分為秘密圖像雙重保護(hù)階段及秘密圖像恢復(fù)階段。 秘密圖像雙重保護(hù)階段中,首先采用QR 碼編碼的方法將地圖等復(fù)雜圖像編碼為QR 碼,從而實現(xiàn)第一重的圖像保護(hù),其次對QR碼進(jìn)行隨機柵格可視密碼算法加密,實現(xiàn)第二重的圖像保護(hù)。 秘密圖像雙重保護(hù)階段示意圖如圖3 所示。

圖3 秘密圖像雙重保護(hù)流程圖
輸入:m×n大小的無意義圖像S1與m×n大小的秘密圖像S2。
輸出:1 個二維碼QR1面向大眾,n個分存圖像R12,R22,R32,……,R(n-1)2,R(n-1)1存于云服務(wù)器。
步驟1 將S1與S2利用QR 碼編碼技術(shù)編碼為兩個二維碼圖像QR1與QR2;
步驟2 對QR1與QR2進(jìn)行柵格運算得密鑰圖像T;
步驟3 利用T 采用可視密碼算法隨機生成R12,R22,R32,……,R(n-1)2,R(n-1)1共n個分存圖像存于云服務(wù)器中;
步驟4 輸出二維碼QR1。
2.1.1 圖像的QR 碼編碼
本小節(jié)中,對圖像編碼轉(zhuǎn)換為二維碼進(jìn)行了具體描述,編碼流程如圖4 所示。 選擇一幅無意義內(nèi)容的圖像S1與內(nèi)容復(fù)雜的圖像S2進(jìn)行編碼轉(zhuǎn)換為QR 碼如下:

圖4 圖像的QR 碼編碼流程
輸入:m×n大小的無意義圖像S1,m×n大小的圖像S2。
輸出:二維碼QR1與二維碼QR2。
步驟1 對需要編碼的圖像數(shù)據(jù)進(jìn)行分析,確定這些數(shù)據(jù)的字符類型,從而進(jìn)一步選擇滿足編碼需求QR 碼版本信息及糾錯等級;
步驟2 按照步驟1 中選擇的QR 碼版本的編碼標(biāo)準(zhǔn),將數(shù)據(jù)字符轉(zhuǎn)換成為位流,然后在數(shù)據(jù)位流的前邊添加模式指示符、后邊添加終止符,隨后將補充完的位流轉(zhuǎn)換為碼字,具體轉(zhuǎn)換規(guī)則為每8 位成一個碼字。 有需要時加入填充字符以保證選擇版本的要求數(shù)據(jù)字?jǐn)?shù);
步驟3 對數(shù)據(jù)進(jìn)行糾錯編碼,由于QR 碼編碼采用的是RS 錯誤控制碼(reed-solomon code)來實現(xiàn)其糾錯功能的,因此糾錯級別及糾錯率越高,可以糾正各種符號錯誤的能力也就越高,最終可被正確解碼的概率就越大,本方案選擇的糾錯率為30%;
步驟4 在版本要求下,將步驟2、3 生成的數(shù)據(jù)按數(shù)據(jù)碼字、糾錯碼字的順序放置形成最終的位流序列。 其中在塊序列中所有的數(shù)據(jù)碼字都需放置在第一個糾錯碼字的前面,隨后添加剩余位;
步驟5 將探測圖形、分隔符、校正圖形和碼字,按規(guī)則排列后放入二維碼矩陣中。 其中每個8 位的碼字,需按2 個模塊的寬度從二維碼矩陣的右下角開始進(jìn)行一個蛇形排列;位序列的排列,需按由左至右、由最高位到最低位的方向進(jìn)行排列;
步驟6 在進(jìn)行編碼時,由于編出的碼字模樣可能會與一些如位置探測圖形、分隔符、定位圖形等的圖形相似,造成識別困難等,因此對符號的編碼區(qū)域進(jìn)行掩模處理。 掩模時需用8 種掩模圖形依次進(jìn)行,評價結(jié)果后選擇最優(yōu)的一種;
步驟7 將生成版本信息和格式信息進(jìn)行計算處理后,放入符號的相應(yīng)位置;
步驟8 輸出含無意義圖像S1的二維碼QR1與圖像S2的二維碼QR2。
2.1.2 生成密鑰圖像T
在第一小節(jié)的基礎(chǔ)上,本小節(jié)采用柵格算法將二維碼圖像QR1與QR2進(jìn)行運算處理得到密鑰圖像T,具體步驟如下:
輸入:大小為x×y的二維碼圖像QR1與QR2。
輸出:密鑰圖像T。
步驟1 設(shè)i表示行計數(shù)器,令i=1,1 ≤i≤x;
步驟2 設(shè)j表示列計數(shù)器,令j=1,1 ≤j≤y;
步驟3 按行列的順序依次掃描圖像QR1與QR2的像素點,即QRχ(i,j),χ={1,2};
步驟4 設(shè)定閾值k=127,若QRχ(i,j)≤k,則令QRχ(i,j)= 0, 若QRχ(i,j)> k, 則 令QRχ(i,j)=1;
步驟5 通過二值化后的QRχ(i,j),由如下方式產(chǎn)生T(i,j):
步驟6 重復(fù)x×y次步驟5,直至把圖像T中的所有像素計算編碼完成;
步驟7 輸出密鑰圖像T;
2.1.3 RG-VCS 加密圖像
在第二小節(jié)的基礎(chǔ)上,根據(jù)生成的密鑰圖像T,對其進(jìn)行RG-VCS 加密,得到n個分存圖像R12,R22,R32,……,R(n-1)2,R(n-1)1存于云服務(wù)器中。 分存圖像的生成流程如圖5 所示,具體算法步驟如下:

圖5 RG-VCS 的分存份生成圖
輸入:大小為x×y的密鑰圖像T。
輸 出:n個 分 存 圖 像R12,R22,R32,……,R(n-1)2,R(n-1)1。
步驟1 設(shè)i表示行計數(shù)器,令i=1,1 ≤i≤x;
步驟2 設(shè)j表示列計數(shù)器,令j=1,1 ≤j≤y;
步驟3 設(shè)k表示二值圖像序號數(shù),令k=2,2 ≤k≤n- 1;
步驟4 按行列的順序依次掃描圖像T 各(i,j) 位置的像素T(i,j), 則分存圖像R12,R22,R32,……,R(n-1)2分 別 對 應(yīng) 位 置 (i,j) 的 像 素R12(i,j),R22(i,j),R32(i,j),……,R(n-1)2(i,j) 由步驟5 生成, 分存圖像R(n-1)1對應(yīng)位置(i,j) 的像素R(n-1)1(i,j) 由步驟6~9 生成;
步驟5 生成隨機數(shù)值{0,1}賦值給r12,r22,r32,……,r(n-1)2,經(jīng)各自隨機排列后組合為R12(i,j),R22(i,j),R32(i,j),……,R(n-1)2(i,j);
步驟6 通過圖像T 與隨機生成的圖像R12得圖像R11,生成方式如下:
若圖像的像素點值T(i,j)=0, 則令R11(i,j)=R12(i,j);
若圖像的像素點值T(i,j)=1, 則令R11(i,j)=1-R12(i,j);
步驟7 通過圖像Rk2得圖像Rk1,生成方式如下:
當(dāng)R(k-1)1(i,j)=0 時,令Rk1(i,j)=Rk2(i,j);
當(dāng)R(k-1)1(i,j)= 1 時,令Rk1(i,j)=1-Rk2(i,j);
步驟8 令k=k+1,若k≤n- 1,則轉(zhuǎn)至步驟7,否則該步驟結(jié)束;
步驟9 令R(n-1)1(i,j)=R(n-2)2(i,j) ⊕R(n-2)1(i,j);
步驟10 令j=j(luò)+1,若j≤y,則轉(zhuǎn)至步驟4,否則,令j=1;
步驟11 令i=i+1,若i≤x,則轉(zhuǎn)至步驟4,否則該步驟結(jié)束;
步驟12 輸出分存圖像R12,R22,R32,……,R(n-1)2,R(n-1)1,算法結(jié)束。
含密地圖等復(fù)雜圖像經(jīng)過QR 碼編碼及RG-VCS 加密后,最終以含有無意義圖像內(nèi)容的二維碼圖像QR1面向大眾,大眾掃描QR1后,獲得的將是無意義內(nèi)容的圖像S1,有權(quán)限人員掃描QR1后獲得的是秘密圖像S2。 S2的重建過程如圖6 所示,具體步驟如下:

圖6 秘密圖像重構(gòu)流程圖
輸入:二維碼圖像QR1。
輸出:秘密圖像S2。
步驟1 手機掃描QR1,進(jìn)入云服務(wù)器;
步驟2 由云服務(wù)器中獲取分存圖像R12,R22,R32,……,R(n-1)2,R(n-1)1;
步驟3 對分存圖像R12,R22,R32,……,R(n-1)2,R(n-1)1進(jìn)行RG-VCS 解密,得密鑰圖像T。 解密算法如下所示:
(1) 設(shè)i表示行計數(shù)器,令i=1,1 ≤i≤x;
(2) 設(shè)j表示列計數(shù)器,令j=1,1 ≤j≤y;
(3) 按行列的順序依次掃描分存圖像R12,R22,R32,……,R(n-1)2,R(n-1)1各位置(i,j) 的像素R12(i,j),R22(i,j),R32(i,j),……,R(n-1)2(i,j),R(n-1)1(i,j);
(4) 令T(i,j)=R12(i,j)⊕R22(i,j)⊕……⊕R(n-1)2(i,j) ⊕R(n-1)1(i,j);
(5) 令i=i+1,若i≤x,則轉(zhuǎn)至(3),否則,令i=1;
(6) 令j=j(luò)+1,若j≤y,則轉(zhuǎn)至(3),否則該步驟結(jié)束;
(7) 輸出密鑰圖像T。
步驟4 通過解密得到的密鑰圖像T 與二維碼圖像QR1,由以下方式恢復(fù)二維碼QR2:
(1) 設(shè)i表示行計數(shù)器,令i=1,1 ≤i≤x;
(2) 設(shè)j表示列計數(shù)器,令j=1,1 ≤j≤y;
(3) 按行列的順序依次掃描圖像T 與QR1各位置(i,j) 的像素T(i,j) 與QR1(i,j);
(4) 令QR2(i,j)=T(i,j) ⊕QR1(i,j);
(5) 重復(fù)x×y次(3)~(4),直至把圖像QR2中的所有像素計算編碼完成;
(6) 輸出二維碼圖像QR2。
步驟5 通過恢復(fù)出的二維碼QR2獲得秘密圖像S2,由以下步驟進(jìn)行QR 碼的解碼:
(1) 確定版本號。 掃描QR 碼讀取各信息,如版本信息、糾錯等級等,確定QR 碼版本號;
(2) 消除掩模。 對編碼區(qū)域的數(shù)據(jù)進(jìn)行異或運算處理,來消除掩模;
(3) 提取字流。 根據(jù)模塊安排規(guī)則提取數(shù)據(jù),得數(shù)據(jù)碼字流及糾錯碼字流;
(4) 糾錯。 根據(jù)提取到的糾錯碼字流通過RS 算法進(jìn)行錯誤檢測,如有,則進(jìn)行糾錯;
(5) 數(shù)據(jù)解碼。
步驟6 輸出秘密圖像S2。
本節(jié)中,對提出的雙重保護(hù)方案進(jìn)行實驗仿真,實驗環(huán)境為開源庫ZXing 及Matlab2021a 版本。 仿真結(jié)果如下:
無意義(不含秘密信息)圖像S1與含密地圖S2如圖7 所示,其尺寸均為1024×1024。 由2.1 節(jié)的秘密圖像分存流程得到的各圖像如圖8 所示,圖8(a)、(b)為二維碼圖像QR1與QR2,其容錯率均為30%,尺寸均為440×440;圖8(c)為尺寸440×440 的密鑰圖像T;圖9(d)~(g) 為分存圖像R12,R22,……,R(n-1)2,R(n-1)1,其尺寸均為440×440。 經(jīng)2.2 節(jié)的秘密圖像恢復(fù)流程,得到恢復(fù)的圖像如圖9 所示,圖9(a)為恢復(fù)的無意義圖像,圖9(b)為恢復(fù)的秘密圖像。

圖7 原始圖像

圖9 方案測試結(jié)果
為方便對本方案進(jìn)行各項分析,首先給出一些相關(guān)定義如下:
定義1 平均透光率[20]:對于一幅尺寸為x×y的黑白圖像T,令其像素點為T(i,j),則像素點為白的概率為pr[T(i,j)=1],像素點為黑的概率為pr[T(i,j)=0]。 令白像素點的透光度為l[T(i,j)]=1,黑像素點的透光度為l[T(i,j)]=0,那么圖像T 的平均透光率為:
定義2 圖像對比度[20]:令δ為重構(gòu)圖像R{⊕12,22,…,(n-1)2,(n-1)1}相對于初始密鑰圖像T 的對比度為:
其中R{⊕12,22,…,(n-1)2,(n-1)1}(i,j)=R12(i,j) ⊕R22(i,j) ⊕……⊕R(n-1)2(i,j) ⊕R(n-1)1(i,j);L(R{⊕12,22,…,(n-1)2,(n-1)1}[T(0)]) 為相對于初始密鑰圖像T,恢復(fù)圖像R{⊕12,22,…,(n-1)2,(n-1)1}的黑色區(qū)域的透光率;L(R{⊕12,22,…,(n-1)2,(n-1)1}[T(1)])為相對于初始密鑰圖像 T, 恢復(fù)圖像R{⊕12,22,…,(n-1)2,(n-1)1}的白色區(qū)域的透光率。
定義3 恢復(fù)正確率: 如果恢復(fù)圖像R{⊕12,22,…,(n-1)2,(n-1)1}和初始密鑰圖像T 中的對應(yīng)位置上的像素值相同,則令其值為1,那么恢復(fù)正確率?為:
定義4 像素擴(kuò)展度[20]:像素擴(kuò)展度指的是初始圖像與恢復(fù)圖像的像素尺寸變化情況。在這里我們定義像素擴(kuò)展度?為:
其中|…|為圖像的大小。
3.2.1 安全性分析
本小節(jié)對方案的安全性進(jìn)行分析,證明方案能夠在滿足設(shè)定的條件下恢復(fù)秘密圖像信息,竊密者只攻破一層保護(hù)方案是無法獲得任何秘密圖像信息。 為衡量所提方案的安全性,我們采用平均透光率、對比度和恢復(fù)正確率進(jìn)行量化及研究。
定理1 云服務(wù)器中需要n個分存份才可恢復(fù)出密鑰圖像中的信息。


定理2 單個二維碼圖像QR1無法恢復(fù)出秘密圖像中的信息。


定理3 只有同時獲得二維碼圖像QR1與密鑰圖像T,才能得到秘密圖像中的信息。

3.2.2 魯棒性分析
為衡量所提方案得出的分享圖像魯棒性,我們采用一些常見的圖像攻擊手段進(jìn)行分析。 本小節(jié)中,對共享圖像二維碼QR1依次進(jìn)行了高斯噪聲攻擊、旋轉(zhuǎn)攻擊、壓縮攻擊和高斯低通濾波攻擊,進(jìn)行攻擊后獲得的圖像結(jié)果均如下圖所示,只需掃描攻擊后的圖像,看是否能正確獲得為原圖像內(nèi)容,即可判斷本方案所得的共享圖像是否含有較強的魯棒性。
經(jīng)高斯噪聲攻擊后的圖像如圖10 所示,(a)~(d)分別為經(jīng)過均值為0 方差為0.02、均值為0 方差為0.03、均值為0.02 方差為0.01、均值為0.4 方差為0.4 的參數(shù)攻擊;經(jīng)旋轉(zhuǎn)攻擊后的圖像如圖11 所示,(a)~(c)分別為經(jīng)過旋轉(zhuǎn)角度為20°、80°和150°的參數(shù)攻擊;經(jīng)壓縮攻擊后的圖像如圖12 所示,壓縮參數(shù)為4;經(jīng)高斯低通濾波攻擊后的圖像如圖13 所示,攻擊參數(shù)為50。

圖10 添加高斯噪聲攻擊

圖11 添加旋轉(zhuǎn)攻擊

圖12 添加壓縮攻擊

圖13 添加高斯低通濾波攻擊
由攻擊結(jié)果可以看到,攻擊后的圖像雖較為模糊,但沒有缺失任何圖像信息,肉眼可見其基本的二維碼結(jié)構(gòu)都是存在的,而且由于二維碼特有的定位圖形等結(jié)構(gòu),經(jīng)掃描后均可獲得其所含內(nèi)容,這表明本方案得到的分享圖像具有較好的魯棒性。
3.2.3 方案對比
在本小節(jié)中,我們選取以往可視密碼領(lǐng)域中的優(yōu)質(zhì)文章進(jìn)行對比,對比內(nèi)容如表4 所示。

文獻(xiàn) 構(gòu)造方式 加密內(nèi)容 是否雙重加密保護(hù)像素擴(kuò)展度 對比度方案[9] 隨機柵格 圖像 否 1 1方案[14] 異或 圖像 否 4 <1方案[16] 基矩陣 文字信息 是 l <1方案[17] 基矩陣 文字信息 是 2 <1方案[19] 基矩陣 圖像 否 1 <1本方案 隨機柵格 圖像 是 1 1
由表中內(nèi)容可以看到,現(xiàn)有的可視密碼與QR 碼結(jié)合的方案中均采取了構(gòu)造基矩陣的加密方式,而本方案采取的加密方式為隨機柵格的基本異或,省去了設(shè)計密碼本或基矩陣的復(fù)雜操作,使得加密過程更加簡潔,從而在計算量上要比其他方案小得多。
此外本方案中,由于生成二維碼圖像QR1與QR2的尺寸均為440×440,經(jīng)RG-VCS 加密后的各個分存圖像尺寸也為440×440,說明分存圖像沒有像素擴(kuò)展,那么經(jīng)恢復(fù)疊加后的圖像像素擴(kuò)展度1,說明圖像恢復(fù)效果較好,由表4 可知,僅有方案9、方案19 與本方案可達(dá)到無像素擴(kuò)展度。同樣的,在對比度性能上與其他方案進(jìn)行比較后可以發(fā)現(xiàn),在可視密碼與QR 碼相結(jié)合的方案中,僅有本方案可以實現(xiàn)圖像的完全恢復(fù),因此QR 碼解碼器可正確識別出秘密圖像。
綜上對比,本方案不僅可實現(xiàn)秘密圖像的完全恢復(fù),且與其他可視密碼和QR 碼結(jié)合的方案相比在像素擴(kuò)展和計算量上實現(xiàn)了最優(yōu)。
本文針對地圖等復(fù)雜圖像,提出了一種基于隨機柵格可視密碼和QR 碼的雙重保護(hù)方案。在此方案中,對含密內(nèi)容復(fù)雜的圖像進(jìn)行加密處理后,只需共享一個QR 碼便可實現(xiàn)秘密信息的安全傳輸,有效地優(yōu)化了傳播過程繁瑣的問題。此外,竊密者竊取單個信息后無法解得秘密內(nèi)容信息,從而實現(xiàn)了秘密信息的雙重保護(hù)的效果,并起到了大眾與解密者的分級管控效果。