張淼 佟曉筠 張華



摘 要:將圖像的加密和壓縮結合在一起同步完成可以帶來設計上的靈活和計算上的簡化,同時也可以更好地保證安全性,為圖像信息的安全高效存儲和傳輸做出保障。基于CALIC良好的壓縮效率,本文研究并設計了面向CALIC的圖像加密算法。根據CALIC編碼原理,算法實現在CALIC編碼過程中的加密,主要包括GAP預測值的加密、最終殘差的加密、明文像素的加密、熵編碼碼流的加密。實驗結果表明面向CALIC的圖像加密算法在壓縮性能上取得較好效果的同時增加了安全性。
關鍵詞:壓縮加密聯合;混沌;CALIC
文章編號:2095-2163(2019)04-0315-05 中圖分類號:TP309 文獻標志碼:A
0 引 言
數字圖像,作為現代通信領域重要的信息載體,其存儲傳輸與安全性也被提出了更高的要求。圖像的數據量龐大且存在冗余,為了提高存儲和傳輸效率,對圖像進行壓縮顯得非常必要。防止圖像信息泄露提高安全性,一種非常有效的保護技術是圖像加密技術。將圖像的加密和壓縮結合在一起同步完成,可以帶來設計上的靈活和計算上的簡化。同時,加密和壓縮混合完成,可以更好地保證安全性。
混沌作為一種自由度很高的非線性動態系統,其運動軌道表現出的內隨機性、遍歷性和初值敏感性等特性,使得混沌系統相鄰迭代點經有限次迭代后得到完全不同的序列。微小的變化引起不同計算結果的這種特性使得混沌密碼可以滿足傳統密碼在擴散、混淆和偽隨機的重要需求。同時,混沌運動的確定性使得混沌應用于密碼學的方法易于實現,其計算代價遠小于其它傳統密碼的計算代價,非常適合大數據量的圖像的加密處理。由于混沌的良好性質,一些基于混沌的圖像加密算法已被提出[1-13]。
基于上下文的自適應無損編碼(context-based,adaptive, lossless image Codec, CALIC)由Wu等人[14]于1997年提出。由于良好的壓縮效率,CALIC獲得了廣泛的關注。然而,CALIC編碼方法僅僅關注于壓縮,并沒有考慮安全性。本文基于混沌理論,研究并設計了面向CALIC的圖像加密算法。通過研究與分析CALIC編碼方法,在盡量保證壓縮效率的同時,將加密嵌入到CALIC編碼中,獲得安全的CALIC編碼。
1 Rabinovich混沌系統與偽隨機序列產生
Rabinovich系統[15]是一個著名的三維混沌系統,該系統有著復雜的動力學行為,與Lorenz系統關系密切,但并不拓撲等價,其方程如下:
2 CALIC算法原理
CALIC是一種順序編碼,其編碼和解碼都是以光柵掃描的順序掃描一次圖像。CALIC編碼過程使用預測和上下文模板,僅僅涉及編碼像素的前兩掃描行。因此編碼和解碼算法僅需要一個能存放2行像素的簡單的2行緩沖區。CALIC編碼器的原理描述如圖1所示。解碼過程是編碼過程的逆。CALIC是對稱的,即編碼器和解碼器具有相同的時間和空間復雜度。
從圖1中可以看出,CALIC具有2種工作模式:二值模式和連續色調模式。根據當前像素的上下文,2種模式在編碼過程中自動選擇,對用戶是透明的。在連續色調模式下,系統包括4個主要部分:梯度自適應預測器(GAP)、上下文選擇和量化、預測誤差上下文建模、預測誤差熵編碼。
3 加密方法設計
通過分析CALIC編碼原理,將加密嵌入到CALIC編碼中,形成安全的CALIC編碼,算法流程如圖2所示。
由圖2可知,在CALIC編碼過程中,實現了4處加密,分別是 GAP預測值加密、最終殘差加密、2行像素加密和熵編碼碼流加密。
3.1 明文像素加密
作為編碼初始值的圖像前2行像素值在編碼結束后要寫入文件中。由于這2行像素值不涉及后續的壓縮編碼操作,因此采用擴散置亂結構對其加密。
設2行像素為圖像X,其像素序列pixseq長度為l,如下所示:
3.2 熵編碼碼流加密
這里對熵編碼碼流進行加密提供最后一層安全保護以增強安全性。熵編碼碼流不涉及后續的壓縮編碼操作,因此采用擴散置亂結構對其加密。
首先,執行擴散操作,碼流以2個字節為單位進行處理。具體擴散公式如下:
3.3 GAP預測值與最終殘差加密
GAP預測值是編碼過程中根據當前像素生成的初始預測值,后續的上下文選擇和量化、預測誤差的上下文建模都要使用該預測值。為了不對后續的操作造成較大影響從而影響壓縮性能,GAP預測值的加密操作不能過于復雜。同時GAP預測值是在編碼過程中一個一個按順序產生的,如果執行置亂加密將增加空間復雜度。因此只對GAP預測值執行替換加密。
殘差的結果最終要執行熵編碼,因此最終殘差的加密操作也不能過于復雜而導致壓縮性能下降。同時,最終殘差結果也是一個一個順序產生,且其數量只有在算法結束才能確定。因此,對最終殘差執行置亂加密將增加算法的空間復雜度和時間復雜度。在這里僅對最終殘差執行替換加密。 加密方法如下:
4 實驗和討論
4.1 實驗結果
算法的實驗環境為3.19 GHz 處理器, 2 GB內存,MATLAB 2012R。選取USC-SIPI數據庫中的標準圖像進行測試,圖5給出了3幅512×512的灰度圖像Lena、Barbara和Baboon的重構圖像。
4.2 壓縮性能評估
表1列出原始沒有添加加密的CALIC算法的壓縮比,及添加加密的安全的CALIC的壓縮比。從表中結果可以看出,添加加密后對原有CALIC算法的壓縮性能的影響較小。
4.3 密鑰空間分析
系統包括置亂密鑰和擴散密鑰,均取混沌系統的初始值(x0, y0, z0)。因此置亂密鑰和擴散密鑰各含3個變量。根據IEEE 754-2008標準,采用雙精度(binary64)類型存儲,8個字節表示1個雙精度數。因此密鑰空間為2384。該加密算法的密鑰空間為2384。顯然在目前的計算能力下,該密鑰空間足夠大,可以抵抗窮舉攻擊。
4.4 信息熵分析
密文信息熵測試結果見表2。從表中看出,密文的信息熵接近理想值8,說明密文隨機性很好。
5 結束語
針對CALIC雖具有良好的圖像無損壓縮特性,而沒有考慮安全性的問題,研究了面向CALIC的圖像加密算法。首先,基于混沌的良好性質,利用三維混沌系統Rabinovich產生偽隨機序列。其次,研究了CALIC無損壓縮原理。在CALIC壓縮編碼的過程中加入加密算法,實現面向CALIC的圖像加密過程。面向CALIC的圖像加密方法主要體現在4個方面:GAP預測值的加密、最終殘差的加密、明文像素的加密、熵編碼碼流的加密。根據加密處CALIC編碼的特點,設計了適合于4個編碼位置的、對壓縮性能影響最小的加密算法。
最后對算法的壓縮性能、安全性能進行了分析。在壓縮性能上取得了好的效果。在安全性上,通過對密鑰空間、密文信息熵的分析測試證明了算法的安全性。
參考文獻
[1]MIRZAEI O, YAGHOOBI M, IRAN H. A new image encryption method:Parallel sub-image encryption with hyper chaos[J]. Nonlinear Dynamics, 2012,67(1):557-566.
[2] ZHANG W, WONG K W, YU H, et al. Asymmetric color image encryption using the intrinsic features of bit distributions[J].Commun Nonlinear Sci Numer Simul, 2013,18:584-600.
[3] ZHANG Yingqian, WANG Xingyuan. Analysis and improvement of a chaos-based Symmetric image encryption scheme using a bit-level permutation[J]. Nonlinear Dynamics, 2014,77(3):687-698.
[4] LIU Hongjun, WANG Xingyuan. Color image encryption using spatial bit-level permutation and high-dimension chaotic system[J]. Optics Communications,2011,284(16/17):3895-3903.
[5] TENG Lin,WANG Xinyuan. A bit-level image encryption algorithm based on spatiotemporal chaotic system and self-adaptive [J]. Optics Communications, 2012,285(20):4048-4054.
[6] XU Lu, LI Zhi, LI Jian, et al. A novel bit-level image encryption algorithm based on chaotic maps[J]. Optics and Lasers in Engineering, 2016,78:17-25.
[7] ZHANG Wei, WONG K W, YU Hai, et al. An image encryption scheme using reverse 2-dimensional chaotic map and dependent diffusion[J]. Communications in Nonlinear Science and Numerical Simulation, 2013,18(8):2066-2080.
[8] KUMAR A, GHOSE M K. Extended substitution-diffusion based image cipher using chaotic standard map[J]. Communication in Nonlinear Science and Numerical Simulation, 2011, 16(1):372-382.
[9] WANG Xinyuan, TENG Lin. An image blocks encryption algorithm based on spatiotemporal chaos[J]. Nonlinear Dynamics, 2012, 67(1):365-371.
[10]LIU Hongjun, WANG Xingyuan, KADIR A. Image encryption using DNA complementary rule and chaotic maps s[J]. Applied Soft Computing, 2012,12(5):1457-1466.
[11]CHAI Xiuli, CHEN Yiran, BROYDE L. A novel chaos-based image encryption algorithm using DNA sequence operations[J]. Optics and Lasers in Engineering, 2017,88:197-213.
[12]BIGDELI N, FARID Y, AFSHAR K. A novel image encryption/decryption scheme based on chaotic neural networks[J]. Engineering Applications of Artificial Intelligence, 2012, 25(4):753-765.
[13]SABERIKAMARPOSHTI M, MOHAMMAD D, RAHIM M S M, et al. Using 3-cell chaotic map for image encryption based on biological operations[J]. Nonlinear Dynamics, 2014, 75(3):407-416.
[14]WU Xiaolin,MEMON N D. Context-based,adaptive,lossless image coding[J]. IEEE Transcations on communications,1997,45(4):437-444.
[15]Cheng Chen, Jinlong Cao and Xiang Zhang. The topological structure of the Rabinovich system having an invariant algebraic surface[J]. Nonlinearity,2008,21(2):211-220.