◆劉得源 李 輝 貝靜靜 王 恒 顏 斌
?
可視加密算法的安卓系統實現
◆劉得源 李 輝 貝靜靜 王 恒 顏 斌
(山東科技大學電子通信與物理學院 山東 266590)
網絡通信的快速發展和普及帶來了數據安全問題,數據加密作為其中一個重要的研究領域越來越受到人們重視。傳統的加密技術依賴于復雜的密碼學知識和大量的數學計算,同時需要避免密鑰丟失或被他人截獲,這嚴重制約了數據加密的簡潔性和可靠性。可視加密具有秘密信息安全、解密簡單且不需計算機等優點近年來得到了很大發展。本文將傳統的可視加密算法應用到了安卓系統中,使之能適用于手機等移動終端,讓圖像加密系統在便攜設備上得到了實現,同時本系統具有秘密安全性和像素不擴展,解密圖像清晰等優點。
可視加密;安卓系統;數據加密;圖像加密
可視密碼[1]是一種秘密共享方案,由Naor和Adi Shamir提出。可視密碼方案提供了一種將一個秘密圖像分割成多個子圖像的方案,我們不需要任何密碼學的計算就可以通過這些子圖像獲得原來的秘密圖像。為了使圖像加密系統更加小型便攜,本文設計了可視密碼方案和其在Android系統上的實現。
秘密共享是一種將秘密信息分割存儲的密碼技術,可有效防止秘密數據的丟失、毀壞,阻止秘密過于集中。在1994年,Moni Naor和Adi Shamir提出了對于圖像秘密分享的可視加密技術。如其名稱所示,可視加密與人的視覺系統相關。典型的加密問題為(,)秘密分享問題,給定一個圖像,由此產生個透明膠片,任意個膠片疊放在一起就可以觀察出原秘密圖像,而少于個膠片疊放在一起則秘密圖像繼續隱藏。當任意個膠片疊合時,人眼就可以分辨出秘密圖像,不需要有任何加密知識和復雜計算[2]。
近年來安卓系統得到了廣泛的發展。為了使圖像加密系統更加小型便攜,本文設計了可視密碼方案和其在Android系統上的實現。該加密系統主要分為加密模塊,解密模塊兩部分。
2.1 加密模塊
首先選取要加密的圖像,裁剪以選擇要加密的圖像部分,接著對裁剪后的圖像進行灰度化和半色調化處理,再進行壓縮處理,以保證可視加密產生的分存圖像不存在像素擴展,然后用可視加密算法產生兩個分存圖像,并將產生的分存圖像保存到本地。加密模塊的流程框圖如圖1所示。
(1)半色調技術
Naor和Shamir提出的傳統可視密碼方案僅適用于黑白二值圖像的秘密分享。半色調技術03]是連續色調圖像轉化為二值圖像的方法,這種方法可以較好的保持灰度圖像的灰度級。本系統我們采用Bayer的有序抖動方法來實現灰度圖像的半色調化[4]。
原始秘密圖像,其灰度級為 256 級,二值圖像是由根據 Bayer 矩陣生成,對的每個像素,做如下處理:
if(()/4)>(mod 8,mod 8)
then()= 0
else()= 1
也就是把秘密像素灰度值量化后與 Bayer 矩陣相應位置的值進行比較:如果灰度值量化后大于 Bayer 矩陣相應位置的值,()確定為白像素;如果灰度值量化后小于等于 Bayer 矩陣相應位置的值,()確定為黑像素。
(2)可視加密算法
本系統采用的可視加密算法如表1所示,黑色像素產生的兩個分存圖像對應像素疊加后為完全黑色,白色像素產生的兩個分存圖像對應像素疊加后為一黑一白兩個像素,從而實現了黑白像素的區分。
表1 可視加密算法

2.2 解密模塊
解密模塊只要選取兩個正確的分存圖像,然后對他們進行簡單的疊加就能恢復出秘密圖像。流程圖如圖2所示。

圖2 解密模塊流程
我們在安卓設備上對程序進行了仿真測試,測試結果如圖3所示[5]。

圖3 在安卓設備上的實現效果
本文設計了基于安卓的可視加密系統,讓傳統的可視加密算法在安卓設備上得到了實現,算法具有秘密安全性,像素不擴展,解密圖像清晰等優點。
[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矩陣抖動的灰度圖象圖視密碼學的方法[J].系統仿真學報,2005.
[5]劉得源,顏斌,王恒,呂昊.基于安卓的可視加密軟件系統[P].中國軟件著作權.山東科技大學,2016.
山東省自然科學基金(ZR2014JL044)。