孫長偉,王艷春
(蚌埠學院 機械與電子工程系,安徽 蚌埠 233030)
基于自適應混沌參數(shù)調(diào)制的圖像加密
孫長偉,王艷春
(蚌埠學院 機械與電子工程系,安徽 蚌埠 233030)
提出了一種基于自適應混沌參數(shù)調(diào)制的圖像加密算法,該算法結合了自適應排列圖像加密算法可以擾亂混沌加密的吸引域統(tǒng)計特性和基于混沌參數(shù)調(diào)制的圖像加密算法可以抵抗選擇明文的攻擊性的優(yōu)點.理論分析和實驗結果表明,新的算法具有較高的安全性和良好的密碼特性.
圖像加密;算法;混沌;自適應
圖像是一種重要的信息載體,其傳輸保密要求高,許多專家都對圖像加密技術進行了深入的研究.研究方向基本可以分為兩類:數(shù)字水印技術和圖形圖像加密技術.數(shù)字水印技術主要是在圖像信息中加入水印信息,為數(shù)字圖像提供版權保護[1,2].圖像加密技術主要分為兩類:對數(shù)字圖像進行位置置換和對數(shù)字圖像進行灰度變換,從而隱藏圖像中包含的有用的信息,為數(shù)字圖像提供基于內(nèi)容的保護[3].
對數(shù)字圖像進行位置置換加密主要是通過重新排列數(shù)字圖像像素的位置,從而改變圖像的空間有序性和相鄰像素的相關性,使明文變?yōu)橐曈X上無意義的圖像.由于排列操作只涉及內(nèi)存的讀寫操作,因此運算速度很快.但僅采用傳統(tǒng)的排列操作是不安全的,容易受已知明文和選擇明文攻擊.攻擊者通過明文和密文對比可以獲得密鑰的部分信息[4].為了避免上述缺陷,文獻[5]提出一種自適應圖像加密算法,使排列變換可以由明文決定.排列時先將圖像分成上下(或左右)2個部分,對下半部分進行排序,然后按下半部分的排序序號對上半部分進行排列,再采用同樣方法對下半部分進行排列.為保證安全性,需要進行多輪加密.加密輪數(shù)由密鑰長度決定.為了防止窮舉攻擊,目前公認安全的密鑰長度至少為128bit,即自適應排列的加密輪數(shù)至少為 128 輪.若密鑰的第 i位(1,2,…,l28)的值為0,則圖像分為左右2個部分.先根據(jù)右半部分像素的順序?qū)ψ蟀氩糠诌M行排列,再排列右半部分.若第i位的值為l,則先排列上半部分,再排列下半部分.
排列操作的另一個優(yōu)勢是運算速度特別快,因為它只涉及內(nèi)存的讀寫操作.但是僅采用排列的加密算法不能抵抗已知明文攻擊.自90年代以來,有關混沌動力學應用的研究逐漸成為信息科學領域關注熱點之一.混沌是非線性動力系統(tǒng)中出現(xiàn)的一種確定性的類隨機過程,具有遍歷性、混合性、確定性以及對初始條件和控制系數(shù)的敏感性等特點,這使得混沌系統(tǒng)很適合用于信息保密[6].因此許多基于混沌理論的加密技術被提出來,衍生出包括混沌加性遮掩和混沌參數(shù)調(diào)制在內(nèi)的多種加密方式.但是利用混沌加密也有它的局限性,其中一點就是抗統(tǒng)計分析能力差.
基于以上兩種加密方式的優(yōu)缺點,本文提出了一種基于自適應排列和混沌參數(shù)調(diào)制相結合的加密算法,首先根據(jù)圖像矩陣行或列的像素數(shù)據(jù)選擇混沌參數(shù),對圖像灰度進行加密擾亂,然后按照自適應排列算法對混沌加密后的圖像數(shù)據(jù)進行擾亂.理論分析和仿真結果表明本方案具有較高的安全性和良好的密碼特性.
本文采用的混沌系統(tǒng)是Logistic方程,即蟲口模型
從Logistic系統(tǒng)方程中可以看出,μ是Logistic系統(tǒng)非常重要的參數(shù),μ值的選取將會決定Logistic系統(tǒng)能否進入混沌態(tài).根據(jù)該方程的可以畫出Logistic映射的分岔圖,如圖1所示:
從圖1中看出μ值的選取最好在混沌區(qū)之內(nèi),即2>μ>1.40115518909205…的范圍之內(nèi),另外需要避開周期3的窗口,即1.809>μ>1.749.這樣才能保證混沌加密的保密性強,隨機性好,密鑰量大的特點.因此參數(shù)μ值選取應該在混沌區(qū)之內(nèi)選取,避開周期3的窗口.
圖1 Logistic映射的分岔圖
在混沌區(qū)選取256個值排列成16×16的矩陣作為參數(shù)μ盒:
讀取圖像的原始數(shù)據(jù)轉(zhuǎn)換成生成二進制明文矩陣M:
由輸入密鑰S控制當前輪的加密方式,若當前Si=0,則對明文矩陣按行進行加密;若當前Si=1,則對明文矩陣按列進行加密.下面簡述行加密過程:
設當前對第k行數(shù)據(jù)進行加密,則將第k行的所有數(shù)據(jù)進行異或操作:
得到一個8位二進制數(shù)據(jù)bk,將bk的前4位二進制所對應的十進制數(shù)加1作為行,后四位二進制所對應的十進制數(shù)加1作為列,從μ盒中選取當前行加密的混沌參數(shù)μk,將μk代入Logistic混沌方程中,進行迭代運算生成n-1個實數(shù)序列:xk={xk,1,xk,2,…,xk,n-1},將實數(shù)序列 xk={xk,1,xk,2,…,xk,n}中的每一個數(shù)據(jù)用二進制表示,分別與第k行的明文數(shù)據(jù)進行異或操作生成密文數(shù)據(jù):
該行的最后一個數(shù)據(jù)加密方式稍有不同,最后一個數(shù)據(jù)的密文由該行的前n-1個數(shù)據(jù)的密文的異或結果與bk進行異或操作產(chǎn)生,即:
這樣可以保證該行數(shù)據(jù)加密后所有密文數(shù)據(jù)進行異或所得結果與加密前該行所有明文數(shù)據(jù)進行異或操作后所得結果bk一致,從而可以保證解密時能夠從μ盒中找到與加密時一致的混沌參數(shù)μk.重復以上操作,對其它行進行加密,直到加密完所有數(shù)據(jù).列加密過程與行加密類似,只是加密操作是對明文數(shù)據(jù)矩陣的列進行.
經(jīng)過混沌參數(shù)調(diào)制加密后每一行或每一列的數(shù)據(jù)的異或結果與加密以前一致,為了掩蓋這種信息因此對加密后的結果進行S盒替代.S盒產(chǎn)生方式:
若當前輪是對行進行加密,則對加密后的密文數(shù)據(jù)的最后一列所有數(shù)據(jù)進行異或操作,由所得結果從μ盒中選取產(chǎn)生S盒的混沌參數(shù)μs,帶入Logistic混沌方程中進行迭代運算,產(chǎn)生256個混沌狀態(tài).然后對256個混沌狀態(tài)進行排序,得到256個排列序號,將所有序號減1,排列成16×16的矩陣作為S盒.該S盒的輸入輸出均為8bit,共有256個元素,每個元素為0-255之間的整數(shù).最后用產(chǎn)生的S盒對圖像的全體像素進行S盒替代.
由當前加密的密鑰Si控制自適應性排列的方案,若Si=0則把該輪經(jīng)混沌參數(shù)調(diào)制加密后的密文數(shù)據(jù)矩陣分為上下兩部分,對下半部分的數(shù)據(jù)排序,然后按下半部分的排序序號對上半部分進行排列,再采用同樣方法對下半部分進行排列.自適應性排列打亂行加密時每一行的數(shù)據(jù),從而隱藏每一行的異或結果.
若Si=1則把該輪經(jīng)混沌參數(shù)調(diào)制加密后的密文數(shù)據(jù)矩陣分為左右兩部分,對左半部分的數(shù)據(jù)排序,然后按左半部分的排序序號對右半部分進行排列,再采用同樣方法對左半部分進行排列.從而打亂列加密時每一列的數(shù)據(jù),隱藏每一列的異或結果.
從上述可以看出該加密過程可逆.加密過程只采用了異或操作和排列操作,因此解密程序和加密程序基本一致.只是解密時需要把密鑰S序列逆序排列,解密自適應排列時,要把排列的順序改變一下,其他與加密程序一致.
本節(jié)主要考查第2節(jié)中提出的圖像加密算法的各種安全特性,包括直方圖、明文和密鑰的敏感性以及密文相鄰像素的相關性.對本文算法與2個已有圖像加密算法進行比較,實驗所用明文為256~256的 Lena圖像,密鑰(X0,S)沒為(0.64321,0110).
圖2列出了Lena圖像加密后的直方圖和加密前后的灰度直方圖對比.可以看出,加密后的灰度直方圖較均勻,掩蓋了明文圖像各像素的分布.
圖2 加密結果與灰度直方圖
雪崩效應是衡量加密算法的重要指標之一.所謂雪崩效應是指當明文或密鑰改變一位時,密文應有超過一半的比特發(fā)生改變.這一特性也稱為密文對明文或密鑰的敏感性.我們將”Lena”圖像最后一個像素的最后一比特由1置為0,并對比加密后密文的變化.表1列出了各輪加密后密文位的改變率.從表1可以看出,經(jīng)過兩輪加密后,密文位的變化穩(wěn)定在0.996左右,即出現(xiàn)雪崩效應.
表1 明文改變一位后密文位的改變率
密鑰敏感性檢測當密鑰改變一位時,密文的變化率.我們將密鑰S的最后一個比特由0置為1,并對比加密后密文的變化.表2列出了各輪加密后密文位的改變率.從表2可以看出,同樣經(jīng)過兩輪加密后,密文位的變化穩(wěn)定在0.996左右.
表2 密鑰改變一位后密文位的改變率
將密鑰X0=0.64321改為X0=0.6432100001,對比加密后密文的變化情況,表三列出各輪加密后密文位的改變率.從表3可以看出,同樣經(jīng)過兩輪加密后,密文位的變化穩(wěn)定在0.996左右.
表3 密鑰改變一位后密文位的改變率
另外μ盒也是一個重要的密鑰,將μ盒中任意一個μ值最后一位改變,都將會引起加密后密文很大的變化.將第一個μ值由1.934254改為1.934255,計算結果表明經(jīng)一輪加密密文位的改變率就達到0.996.
在連續(xù)色調(diào)圖像中,相鄰象素的相關性通常很高,好的圖像加密算法應去除這種相關性.我們從明文和密文圖像的水平、豎直和對角三個方向隨機地選取255對像素,并計算了對應的相關系數(shù).表4對比了加密前后三個方向上的相關系數(shù).表4說明加密后,相鄰密文像素之間的相關性接近于0.
表4 明文和密文圖像中相鄰像素的相關系數(shù)
本文提出了一種新的混沌參數(shù)調(diào)制加密算法,并將混沌參數(shù)調(diào)制加密算法和自適應排列加密算法結合在一起組成了一種新的圖像加密算法.該算法利用自適應排列加密算法和混沌參數(shù)調(diào)制加密算法的優(yōu)缺點進行互補,由實驗結果可以看出該算法大大的提高了圖像的安全性.該算法具有以下優(yōu)點:
(1)由圖像自身數(shù)據(jù)選擇混沌參數(shù),實現(xiàn)混沌參數(shù)調(diào)制的自適應性;
(2)對一幅圖像數(shù)據(jù)加密最大可以選擇256個混沌參數(shù),經(jīng)多輪加密后擾亂了混沌的吸引域特性,因此該算法有較強的抗攻擊能力;
(3)解密過程和加密過程基本類似,不用額外設計解密系統(tǒng).
〔1〕Qiao L,Nahrstedt L.Camparison of MPEG encryption algorithms[J].-Computer and Graphics,1998,22(4):437-448.
〔2〕Chen G,Zhao X,Li J L.A self-adaptive algorithm on image ellcryption[J].Journal of Software,2005,6(11):562-568.
〔3〕吳發(fā)恩,鄒建成.數(shù)字圖像二維Arnold變換周期的一組必要條件[J].北方交通大學學報.2001,25(6):26-32.
〔4〕Furht B,Kirovski D.Multimedia Security Handbook[M].Boca Raton Florida,USA:CRC Press,2005.
〔5〕陳剮,趙曉宇,李均利.一種自適應的圖像加密算法[J].軟件學報,2005,l6(11):1975-1982.
〔6〕周慶,胡月,廖曉峰.一種自適應的圖像加密算法的分析及改進[J].電子學報,2009,37(12):2730-2734.
TP309
A
1673-260X(2012)03-0024-03
院級科研項目(2010ZR15)