張淼 佟曉筠 張華



摘 要:將圖像的加密和壓縮結(jié)合在一起同步完成可以帶來設(shè)計(jì)上的靈活和計(jì)算上的簡化,同時(shí)也可以更好地保證安全性,為圖像信息的安全高效存儲和傳輸做出保障。基于CALIC良好的壓縮效率,本文研究并設(shè)計(jì)了面向CALIC的圖像加密算法。根據(jù)CALIC編碼原理,算法實(shí)現(xiàn)在CALIC編碼過程中的加密,主要包括GAP預(yù)測值的加密、最終殘差的加密、明文像素的加密、熵編碼碼流的加密。實(shí)驗(yàn)結(jié)果表明面向CALIC的圖像加密算法在壓縮性能上取得較好效果的同時(shí)增加了安全性。
關(guān)鍵詞:壓縮加密聯(lián)合;混沌;CALIC
文章編號:2095-2163(2019)04-0315-05 中圖分類號:TP309 文獻(xiàn)標(biāo)志碼:A
0 引 言
數(shù)字圖像,作為現(xiàn)代通信領(lǐng)域重要的信息載體,其存儲傳輸與安全性也被提出了更高的要求。圖像的數(shù)據(jù)量龐大且存在冗余,為了提高存儲和傳輸效率,對圖像進(jìn)行壓縮顯得非常必要。防止圖像信息泄露提高安全性,一種非常有效的保護(hù)技術(shù)是圖像加密技術(shù)。將圖像的加密和壓縮結(jié)合在一起同步完成,可以帶來設(shè)計(jì)上的靈活和計(jì)算上的簡化。同時(shí),加密和壓縮混合完成,可以更好地保證安全性。
混沌作為一種自由度很高的非線性動態(tài)系統(tǒng),其運(yùn)動軌道表現(xiàn)出的內(nèi)隨機(jī)性、遍歷性和初值敏感性等特性,使得混沌系統(tǒng)相鄰迭代點(diǎn)經(jīng)有限次迭代后得到完全不同的序列。微小的變化引起不同計(jì)算結(jié)果的這種特性使得混沌密碼可以滿足傳統(tǒng)密碼在擴(kuò)散、混淆和偽隨機(jī)的重要需求。同時(shí),混沌運(yùn)動的確定性使得混沌應(yīng)用于密碼學(xué)的方法易于實(shí)現(xiàn),其計(jì)算代價(jià)遠(yuǎn)小于其它傳統(tǒng)密碼的計(jì)算代價(jià),非常適合大數(shù)據(jù)量的圖像的加密處理。由于混沌的良好性質(zhì),一些基于混沌的圖像加密算法已被提出[1-13]。
基于上下文的自適應(yīng)無損編碼(context-based,adaptive, lossless image Codec, CALIC)由Wu等人[14]于1997年提出。由于良好的壓縮效率,CALIC獲得了廣泛的關(guān)注。然而,CALIC編碼方法僅僅關(guān)注于壓縮,并沒有考慮安全性。本文基于混沌理論,研究并設(shè)計(jì)了面向CALIC的圖像加密算法。通過研究與分析CALIC編碼方法,在盡量保證壓縮效率的同時(shí),將加密嵌入到CALIC編碼中,獲得安全的CALIC編碼。
1 Rabinovich混沌系統(tǒng)與偽隨機(jī)序列產(chǎn)生
Rabinovich系統(tǒng)[15]是一個(gè)著名的三維混沌系統(tǒng),該系統(tǒng)有著復(fù)雜的動力學(xué)行為,與Lorenz系統(tǒng)關(guān)系密切,但并不拓?fù)涞葍r(jià),其方程如下:
2 CALIC算法原理
CALIC是一種順序編碼,其編碼和解碼都是以光柵掃描的順序掃描一次圖像。CALIC編碼過程使用預(yù)測和上下文模板,僅僅涉及編碼像素的前兩掃描行。因此編碼和解碼算法僅需要一個(gè)能存放2行像素的簡單的2行緩沖區(qū)。CALIC編碼器的原理描述如圖1所示。解碼過程是編碼過程的逆。CALIC是對稱的,即編碼器和解碼器具有相同的時(shí)間和空間復(fù)雜度。
從圖1中可以看出,CALIC具有2種工作模式:二值模式和連續(xù)色調(diào)模式。根據(jù)當(dāng)前像素的上下文,2種模式在編碼過程中自動選擇,對用戶是透明的。在連續(xù)色調(diào)模式下,系統(tǒng)包括4個(gè)主要部分:梯度自適應(yīng)預(yù)測器(GAP)、上下文選擇和量化、預(yù)測誤差上下文建模、預(yù)測誤差熵編碼。
3 加密方法設(shè)計(jì)
通過分析CALIC編碼原理,將加密嵌入到CALIC編碼中,形成安全的CALIC編碼,算法流程如圖2所示。
由圖2可知,在CALIC編碼過程中,實(shí)現(xiàn)了4處加密,分別是 GAP預(yù)測值加密、最終殘差加密、2行像素加密和熵編碼碼流加密。
3.1 明文像素加密
作為編碼初始值的圖像前2行像素值在編碼結(jié)束后要寫入文件中。由于這2行像素值不涉及后續(xù)的壓縮編碼操作,因此采用擴(kuò)散置亂結(jié)構(gòu)對其加密。
設(shè)2行像素為圖像X,其像素序列pixseq長度為l,如下所示:
3.2 熵編碼碼流加密
這里對熵編碼碼流進(jìn)行加密提供最后一層安全保護(hù)以增強(qiáng)安全性。熵編碼碼流不涉及后續(xù)的壓縮編碼操作,因此采用擴(kuò)散置亂結(jié)構(gòu)對其加密。
首先,執(zhí)行擴(kuò)散操作,碼流以2個(gè)字節(jié)為單位進(jìn)行處理。具體擴(kuò)散公式如下:
3.3 GAP預(yù)測值與最終殘差加密
GAP預(yù)測值是編碼過程中根據(jù)當(dāng)前像素生成的初始預(yù)測值,后續(xù)的上下文選擇和量化、預(yù)測誤差的上下文建模都要使用該預(yù)測值。為了不對后續(xù)的操作造成較大影響從而影響壓縮性能,GAP預(yù)測值的加密操作不能過于復(fù)雜。同時(shí)GAP預(yù)測值是在編碼過程中一個(gè)一個(gè)按順序產(chǎn)生的,如果執(zhí)行置亂加密將增加空間復(fù)雜度。因此只對GAP預(yù)測值執(zhí)行替換加密。
殘差的結(jié)果最終要執(zhí)行熵編碼,因此最終殘差的加密操作也不能過于復(fù)雜而導(dǎo)致壓縮性能下降。同時(shí),最終殘差結(jié)果也是一個(gè)一個(gè)順序產(chǎn)生,且其數(shù)量只有在算法結(jié)束才能確定。因此,對最終殘差執(zhí)行置亂加密將增加算法的空間復(fù)雜度和時(shí)間復(fù)雜度。在這里僅對最終殘差執(zhí)行替換加密。 加密方法如下:
4 實(shí)驗(yàn)和討論
4.1 實(shí)驗(yàn)結(jié)果
算法的實(shí)驗(yàn)環(huán)境為3.19 GHz 處理器, 2 GB內(nèi)存,MATLAB 2012R。選取USC-SIPI數(shù)據(jù)庫中的標(biāo)準(zhǔn)圖像進(jìn)行測試,圖5給出了3幅512×512的灰度圖像Lena、Barbara和Baboon的重構(gòu)圖像。
4.2 壓縮性能評估
表1列出原始沒有添加加密的CALIC算法的壓縮比,及添加加密的安全的CALIC的壓縮比。從表中結(jié)果可以看出,添加加密后對原有CALIC算法的壓縮性能的影響較小。
4.3 密鑰空間分析
系統(tǒng)包括置亂密鑰和擴(kuò)散密鑰,均取混沌系統(tǒng)的初始值(x0, y0, z0)。因此置亂密鑰和擴(kuò)散密鑰各含3個(gè)變量。根據(jù)IEEE 754-2008標(biāo)準(zhǔn),采用雙精度(binary64)類型存儲,8個(gè)字節(jié)表示1個(gè)雙精度數(shù)。因此密鑰空間為2384。該加密算法的密鑰空間為2384。顯然在目前的計(jì)算能力下,該密鑰空間足夠大,可以抵抗窮舉攻擊。
4.4 信息熵分析
密文信息熵測試結(jié)果見表2。從表中看出,密文的信息熵接近理想值8,說明密文隨機(jī)性很好。
5 結(jié)束語
針對CALIC雖具有良好的圖像無損壓縮特性,而沒有考慮安全性的問題,研究了面向CALIC的圖像加密算法。首先,基于混沌的良好性質(zhì),利用三維混沌系統(tǒng)Rabinovich產(chǎn)生偽隨機(jī)序列。其次,研究了CALIC無損壓縮原理。在CALIC壓縮編碼的過程中加入加密算法,實(shí)現(xiàn)面向CALIC的圖像加密過程。面向CALIC的圖像加密方法主要體現(xiàn)在4個(gè)方面:GAP預(yù)測值的加密、最終殘差的加密、明文像素的加密、熵編碼碼流的加密。根據(jù)加密處CALIC編碼的特點(diǎn),設(shè)計(jì)了適合于4個(gè)編碼位置的、對壓縮性能影響最小的加密算法。
最后對算法的壓縮性能、安全性能進(jìn)行了分析。在壓縮性能上取得了好的效果。在安全性上,通過對密鑰空間、密文信息熵的分析測試證明了算法的安全性。
參考文獻(xiàn)
[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.