◆劉得源 李 輝 貝靜靜 王 恒 顏 斌
?
可視加密算法的安卓系統(tǒng)實(shí)現(xiàn)
◆劉得源 李 輝 貝靜靜 王 恒 顏 斌
(山東科技大學(xué)電子通信與物理學(xué)院 山東 266590)
網(wǎng)絡(luò)通信的快速發(fā)展和普及帶來(lái)了數(shù)據(jù)安全問(wèn)題,數(shù)據(jù)加密作為其中一個(gè)重要的研究領(lǐng)域越來(lái)越受到人們重視。傳統(tǒng)的加密技術(shù)依賴于復(fù)雜的密碼學(xué)知識(shí)和大量的數(shù)學(xué)計(jì)算,同時(shí)需要避免密鑰丟失或被他人截獲,這嚴(yán)重制約了數(shù)據(jù)加密的簡(jiǎn)潔性和可靠性??梢暭用芫哂忻孛苄畔踩?、解密簡(jiǎn)單且不需計(jì)算機(jī)等優(yōu)點(diǎn)近年來(lái)得到了很大發(fā)展。本文將傳統(tǒng)的可視加密算法應(yīng)用到了安卓系統(tǒng)中,使之能適用于手機(jī)等移動(dòng)終端,讓圖像加密系統(tǒng)在便攜設(shè)備上得到了實(shí)現(xiàn),同時(shí)本系統(tǒng)具有秘密安全性和像素不擴(kuò)展,解密圖像清晰等優(yōu)點(diǎn)。
可視加密;安卓系統(tǒng);數(shù)據(jù)加密;圖像加密
可視密碼[1]是一種秘密共享方案,由Naor和Adi Shamir提出。可視密碼方案提供了一種將一個(gè)秘密圖像分割成多個(gè)子圖像的方案,我們不需要任何密碼學(xué)的計(jì)算就可以通過(guò)這些子圖像獲得原來(lái)的秘密圖像。為了使圖像加密系統(tǒng)更加小型便攜,本文設(shè)計(jì)了可視密碼方案和其在Android系統(tǒng)上的實(shí)現(xiàn)。
秘密共享是一種將秘密信息分割存儲(chǔ)的密碼技術(shù),可有效防止秘密數(shù)據(jù)的丟失、毀壞,阻止秘密過(guò)于集中。在1994年,Moni Naor和Adi Shamir提出了對(duì)于圖像秘密分享的可視加密技術(shù)。如其名稱所示,可視加密與人的視覺(jué)系統(tǒng)相關(guān)。典型的加密問(wèn)題為(,)秘密分享問(wèn)題,給定一個(gè)圖像,由此產(chǎn)生個(gè)透明膠片,任意個(gè)膠片疊放在一起就可以觀察出原秘密圖像,而少于個(gè)膠片疊放在一起則秘密圖像繼續(xù)隱藏。當(dāng)任意個(gè)膠片疊合時(shí),人眼就可以分辨出秘密圖像,不需要有任何加密知識(shí)和復(fù)雜計(jì)算[2]。
近年來(lái)安卓系統(tǒng)得到了廣泛的發(fā)展。為了使圖像加密系統(tǒng)更加小型便攜,本文設(shè)計(jì)了可視密碼方案和其在Android系統(tǒng)上的實(shí)現(xiàn)。該加密系統(tǒng)主要分為加密模塊,解密模塊兩部分。
2.1 加密模塊
首先選取要加密的圖像,裁剪以選擇要加密的圖像部分,接著對(duì)裁剪后的圖像進(jìn)行灰度化和半色調(diào)化處理,再進(jìn)行壓縮處理,以保證可視加密產(chǎn)生的分存圖像不存在像素?cái)U(kuò)展,然后用可視加密算法產(chǎn)生兩個(gè)分存圖像,并將產(chǎn)生的分存圖像保存到本地。加密模塊的流程框圖如圖1所示。
(1)半色調(diào)技術(shù)
Naor和Shamir提出的傳統(tǒng)可視密碼方案僅適用于黑白二值圖像的秘密分享。半色調(diào)技術(shù)03]是連續(xù)色調(diào)圖像轉(zhuǎn)化為二值圖像的方法,這種方法可以較好的保持灰度圖像的灰度級(jí)。本系統(tǒng)我們采用Bayer的有序抖動(dòng)方法來(lái)實(shí)現(xiàn)灰度圖像的半色調(diào)化[4]。
原始秘密圖像,其灰度級(jí)為 256 級(jí),二值圖像是由根據(jù) Bayer 矩陣生成,對(duì)的每個(gè)像素,做如下處理:
if(()/4)>(mod 8,mod 8)
then()= 0
else()= 1
也就是把秘密像素灰度值量化后與 Bayer 矩陣相應(yīng)位置的值進(jìn)行比較:如果灰度值量化后大于 Bayer 矩陣相應(yīng)位置的值,()確定為白像素;如果灰度值量化后小于等于 Bayer 矩陣相應(yīng)位置的值,()確定為黑像素。
(2)可視加密算法
本系統(tǒng)采用的可視加密算法如表1所示,黑色像素產(chǎn)生的兩個(gè)分存圖像對(duì)應(yīng)像素疊加后為完全黑色,白色像素產(chǎn)生的兩個(gè)分存圖像對(duì)應(yīng)像素疊加后為一黑一白兩個(gè)像素,從而實(shí)現(xiàn)了黑白像素的區(qū)分。
表1 可視加密算法
2.2 解密模塊
解密模塊只要選取兩個(gè)正確的分存圖像,然后對(duì)他們進(jìn)行簡(jiǎn)單的疊加就能恢復(fù)出秘密圖像。流程圖如圖2所示。
圖2 解密模塊流程
我們?cè)诎沧吭O(shè)備上對(duì)程序進(jìn)行了仿真測(cè)試,測(cè)試結(jié)果如圖3所示[5]。
圖3 在安卓設(shè)備上的實(shí)現(xiàn)效果
本文設(shè)計(jì)了基于安卓的可視加密系統(tǒng),讓傳統(tǒng)的可視加密算法在安卓設(shè)備上得到了實(shí)現(xiàn),算法具有秘密安全性,像素不擴(kuò)展,解密圖像清晰等優(yōu)點(diǎn)。
[1]NAOR M,SHAMIR A.Visual cryptography[J]. Advances in Cryptography,Lecture Notes in Computer Science,Springer,1995.
[2]S. CIMATO,R. DE PRISCO,A. DE SANTIS. Probabilistic Visual Cryptography Schemes [J]. Computer Journal,2006.
[3]LAU D L,ARCE G R. Modern Digital Halftoning. Marcel Dekker Inc,2001.
[4]安韶君.一種新的基于Bayer矩陣抖動(dòng)的灰度圖象圖視密碼學(xué)的方法[J].系統(tǒng)仿真學(xué)報(bào),2005.
[5]劉得源,顏斌,王恒,呂昊.基于安卓的可視加密軟件系統(tǒng)[P].中國(guó)軟件著作權(quán).山東科技大學(xué),2016.
山東省自然科學(xué)基金(ZR2014JL044)。