章秀君 ,馮喬生 ,羅 可 ,方 正
(1.云南師范大學 計算機科學與信息技術學院,云南 昆明 650092;2.中國地質大學 工程學院,湖北 武漢 430074)
混沌理論的發展為圖像加密提供了新思路。混沌是確定性系統,但由其產生的序列是偽隨機的、不可預測的、在理想條件下具有無限大的周期,可以提供巨大的密鑰空間、是非周期又不收斂的。更重要的是,混沌系統對初值變化極端敏感,即初始狀態只有微小差別的兩個同構混沌系統在短時間就會產生兩組完全不同的、互不相關的混沌序列值。由于安全性高、加密速度快,基于混沌的圖像加密技術得到了廣泛的研究[1-9]。
目前按照變換方式的不同,基于混沌的圖像加密可分為圖像像素坐標變換和圖像像素值變換加密方式兩大類。其中,圖像像素坐標變換的加密方式也稱置亂方法,是通過一些混沌映射改變像素的坐標位置,從而使得圖像雜亂無章,達到加密目的。用于這類的混沌映射主 要 有 Arnold 變 換、Baker map[10]、Cat map[11]、Tent map等。圖像像素值變換的加密方式也稱置混方法,是通過使用混沌系統生成偽隨機流,將隨機流直接掩蓋明文,改變原圖像各像素點的像素值,使攻擊者無法辨認原始圖像,從而達到對圖像加密的目的。用于這類加密的混沌系統有 Logistic映射、PWLCM映射、Chebyshev映射、Henon映射、Lorenz系統、Chen系統等。Logistic映射因具有實現簡單的優勢,可以設計出實現速度較快的密碼系統而得到廣泛的應用[2-5]。但Logistic映射不總是能產生混沌序列,如何保證Logistic映射產生出混沌序列是將Logistic映射用于圖像加密的關鍵。另外,混沌系統是基于實數集的,而加密在整型的離散集中進行,所以基于混沌的數字圖像加密方法均需對混沌序列做取整形化處理,而這一處理會導致動力學特性的退化。因此,基于Logistic映射的圖像加密還需要進一步的研究。本文通過分析Logistic映射所產生序列的隨機特性,指出了這種混沌序列實際用于加密時存在的安全隱患問題以及避免這些加密安全隱患的規則。
Logistic映射是一種非常簡單卻被廣泛應用的經典動力學系統,其模型可被定義如下:

式中,μ∈(0,4],xn∈[0,1],解方程 f(xn)=μxn(1-xn)得到 2個平衡點:x1=0,x2=1-1/μ。由于不動點線性部分的雅可比行列式J=f/x=μ-2μx,可知系統的穩定性取決于參數μ。目前研究者已得出以下結論:
當 1<μ<3,不管 x0取什么初值,在 n→∞,xn=1-1/μ是穩定的。
當 3<μ<3.449,在 n→∞,式(1)存在 2個平衡點。
當 3.449<μ<3.544,在 n→∞,式(1)存在 4個平衡點。
1.8 統計學處理 應用 GraphPad Prism 5.0 軟件進行數據處理和統計學分析。呈正態分布的計量資料以±s 表示,兩組間比較采用兩獨立樣本 t檢驗,多組間比較采用單因素方差分析(one-way ANOVA)。檢驗水準(α)為 0.05。
當 3.544<μ<3.564,在 n→∞,式(1)存在 8個平衡點。
隨著 μ 值的增加,出現穩定的 1,2,4,6,8,16,…,2n周期點,但當 μ∈(3.569 9…,4]時則周期 2n軌跡不再存在,進入混沌區[2-3,6-7,12]。在這一混沌區具有對初值極端敏感和非周期等特點,所以常被研究者用來加密圖像,并把初值x0和參數μ用來當作密鑰。
當μ=4時,式(1)進入最佳混沌狀態而且序列值能填滿[0,1]區間的實數,具有遍歷性,是加密的最好參數取值[4]。
Logistic產生的是0~1之間的實數,而圖像值是一個整數。若先將圖像像素值轉為如參考文獻[7]的實型,則會因為不同系統對浮點數運算的精度抖動,而出現在一個平臺上加密無法在另一個平臺解密的現象。若將實型混沌序列轉為整型序列,則要將所有序列值擴大K倍。因為Logistic混沌序列很多小數點后前幾個數都是相同的,如果擴大的倍數不夠大,則混沌序列將喪失混沌性質,這時加密出來的的圖像是很不安全的。在Logistic模型中當μ=4時,完全呈現混沌狀態而且序列值能填滿[0,1]區間的實數,具有遍歷性,是加密的最好參數取值[4]。但若在處理序列值實型轉為整形時采用擴大倍數方式時,若擴大倍數K取值不夠大,則加密效果極差。如圖1加密效果對比中的圖1(a)是加密前的Lena原圖,圖1(b)為 μ=4、K=100時加密后的密圖,從密圖中仍可看到加密前Lena圖的原始信息,并沒有達到加密效果,此時混沌序列已喪失混沌特性。而當擴大倍數K的取值足夠大時,則不會導致混沌特性喪失,如圖1(c)為μ=4、K=105的密圖,它已是面目全非了,攻擊者無法辨認原始圖像,從而達到了對圖像加密的目的。所以,參考文獻[2]中將擴大倍數K作為密鑰中的子密鑰而又沒有規定K的最小取值是不合理的做法,加密者可能會選到過小的K值而使混沌序列喪失混沌性,而導致加密算法的安全性無法得到保障。

圖1 不同的整型化因子下的加密效果對比
目前學者認為,當 μ進入(3.569 9…,4]區間時,Logistic 序列就進入混沌區[2-3,6-7,12],但本文通過實驗發現,當μ取3.835時只有3個穩定值,取3.845時有6個穩定值,經大量實現測試發現,μ在[3.828,3.875]之間取值均存在周期性,μ取 3.583、3.63、3.74等也出現周期性。圖2(a)表示序列值 xn與參數μ在 1~4之間的分岔圖,此圖還看不出參數μ在(3.569 9…,4]區間有周期窗口,但從圖2(b)xn值與參數μ在3.5~4之間的分岔圖中則可清楚地看到:當 μ進入(3.569 9…,4]區間內 μ的取值處確實出現了一些周期性很強的窗口,即周期窗口。所以,雖然 μ∈(3.569 9…,4]屬于混沌區域內,但并不意味著在這一區域僅存在混沌軌跡[10],μ在窗口中的取值使Logistic映射所產生的序列是周期性序列而不是混沌序列,因此,將該序列用于數字圖像加密時會嚴重影響到加密的效果,算法加密的安全性完全無法保障,對圖像進行置混后得到的加密圖像都還可以看到原始圖像的情況。如圖3是采用了參考文獻[2]中用到密碼反饋機制的較好加密算法對Lena進行加密的密圖,從密圖仍可識別原圖為Lena圖。所以用Logistic映射加密圖像時把μ作為子密鑰是不合理的。

圖2 Logistic映射分岔圖
針對上述問題,本文給出避免加密安全隱患的3條規則:

圖3 μ取到周期點時加密效果圖
規則1:不能把參數μ作為密鑰。2006年,ALVAREZ G和LI Shu Jun針對混沌密碼學的安全要求提出了具有代表性的17條建議規則[13]中指出:密鑰空間 к中的所有選擇都應是有效的密鑰,密鑰空間к應明確規定而且應避免非混沌區域。而本文上面已說明μ∈(3.569 9…,4]區間內存在著一些周期窗口,而μ的取值為實型,無法將所有呈現出周期性的點徹底排除在外。所以,為了保證算法的安全性不能把Logistic映射的參數μ作為密鑰,加密算法應該確定μ的取值,保證整個映射具有很好的混沌特性。
規則2:如果要把擴大倍數K作為密鑰的一部分,為保證原混沌序列不喪失混沌學特性,應先求出K的最小取值Kmin,加密時明確規定K取值的下限為Kmin。
求解Kmin的主要算法如下:
(1)確定式(1)中的 μ值(保證該取值不在非混沌區)得到:

(2)用式(2)生成的混沌序列1:
x0,x1,x2…xi,xj,…xn
(3)排序得到序列 2:
y0,y1,y2,…yi,yj,…yn
(4)yk-yk+1,k=0,1,2,…,n,即求序列 2 中兩相鄰值之差最小的值min。
(5)計算出min的小數點到小數點后第1個非零數之間的零的個數 m,則Kmin就為 10m+1。
規則3:用 Logistic映射對圖像進行置混加密時,應該與置亂方法結合。
隨著計算機計算速度的增加,密碼學的安全要求也越來越高,為了能抵抗蠻力攻擊,密鑰空間к應該大于2100[13]。而若單獨用Logistic映射進行加密,經上述分析不能把參數μ作密鑰,就大大減小了密鑰空間。若只用初值x0作為密鑰,從理論上有無限大的密鑰空間,但由于當前計算機有效位數的限制,若取15位有效數的話,其密鑰空間為1015約為250<2100,無法滿足當前的安全要求。所以用Logistic映射對圖像進行置混加密時,應該與置亂方法結合來增加密鑰空間以保障加密算法的安全性。本文建議與一些相對簡單的置亂方法,如Arnold變換、Baker map變換、Cat map變換等相結合。因為現代密碼學要求在不損失安全的前提下,加密系統的設計應盡可能地滿足低成本和執行速度快的要求[11]。
本文總結了Logistic映射目前已有的一些結論,分析了在采用Logistic映射對圖像進行加密時常被很多文獻所忽略的一些安全隱患問題,并通過實驗證實了這些安全隱患所帶來的危害性。同時給出了避免加密安全隱患的3條規則,這3條規則對基于Logistic映射的數字圖像加密能起到保證加密安全的作用。
[1]PENG Jun,ZHU Shang.A novel scheme for image encryption based on piecewise linear chaotic map[C].2008 IEEE Conference on Cybernetics and Interlligent Systems, 2008∶1012-1016.
[2]彭成等,柳林.基于混沌序列的壓縮圖像加密算法[J].計算機工程,2008,34(20)∶177-179.
[3]劉樹堂,孫福艷.基于空間混沌的圖像加密設計[J].中國科學,2009,39(3)∶387-393.
[4]HONGE R,ZHENWEI S.A chaotic algorithm of image encryption based on dispersion sampling[C]//proceedings of the 8th International Conference on Electronic Measurement and Instruments, 2007∶836-839.
[5]ZHANG Yun Peng, ZUO Fei, ZHAI Zheng Jun, et al.A new image encryption algorithm based on multiple chaos system[J].International Symposium on Electronic Commerce and Security10.1109/ISECS,2008,142.
[6]賀文華,朱從旭.基于雙混沌映射的快速圖像加密新算法[J].計 算 機 工 程 與 應 用,2008,44(7)∶152-154.
[7]HONG Lian Xi,LI Chuan Mu.A novel color image encryption approach based on multi-chaotic system[C]//proceedings of the 2nd International Conference on Anti-counterfeiting, Security and Identification, 2008∶223-226.
[8]PISARCHIK A, CARMONA N F, VALADEZ M C.Encryption and decryption of images with chaotic map lattices[J].Chaos,2006,16(3).
[9]藺兢,吳立偉.基于混沌的圖像空域復合加密方法的研究[J].電腦開發與應用,2008,21(9)∶29-31.
[10]SALLEH M, BRAHIM S I, ISNIN I F.Enhanced chaotic image encryption algorithm based on chaotic maps[C].IEEE Conf Circuits and Syst, 2003∶508-511.
[11]CHEN Guan Rong, MAO Yao Bin, CHARLES K C.A symmetric image encryption scheme based on 3D chaotic catmaps[J].Chaos,Solitons&Fractals, 2004,21(3)∶749-761.
[12]丁文霞,盧煥章.基于混沌系統的獨立密鑰DES數字圖像加密算法[J].計算機應用研究,2006(2)∶113-115.
[13]ALVAREZ G,LI S.Some basic cryptographic requirements for chaos-based cryptosystems[J].chaos, 2006,16∶2129-2151.