聶佳琦 呂夢如 張曉飛 王玉雯



摘要:本文提出了一種基于混沌映射構造動態S盒的加密方法。在Fridrich所提出的permutation-diffusion圖像安全加密設計框架基礎上,方法包括四個階段:構造動態S盒、S盒替換、置亂與擴散。首先,提出了一種基于混沌映射聯系明文的動態S盒構造方法。然后,利用基于貓映射的置亂過程提高算法的加密性能。最后,擴散過程實現雪崩效應降低加密算法的復雜度。根據不同類型的統計分析實驗的結果表明,本文提出的加密方法與以前的加密方法相比更加安全、高效。
關鍵詞:圖像加密;動態S盒;混沌系統
中圖分類號:TP18? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2019)16-0012-02
開放科學(資源服務)標識碼(OSID):
近年來,隨著計算機技術以及通信技術的快速發展,數字信息被廣泛地應用到社會各個領域當中。由于圖像信息相關性強,冗余度高,且對于所加密的圖像,要求解密圖像具有高保真度,研究者們提出了一些新的針對圖像的加密方案[1]。
混沌具有遍歷性、混合性、確定性以及對初始條件和控制系數的敏感性等顯著特點,非常適合于數據的加密。為了更好地隱藏明文信息,Y.Wang于2009年介紹了一種基于混沌的可變參數的圖像加密算法。在這個算法中,產生密鑰流的初始密鑰由混沌映射與圖像密文計算得出[2]。2011 年 Y.? Wang 等提出了一種基于時空混沌的快速圖像加密算法[3]。同年,M. Seyedzadeh 與 A. Mirzakuchaki 提出了一種基于分段混沌映射的快速圖像加密算法[4]。2013 年澳門大學的 C. Chen 等也提出了一種基于變化參數與混沌映射的圖像加密算法,體現出了混沌映射在改變圖像加密系統參數,提升算法安全性方面的廣泛應用[5]。
但在當前的研究中,仍存在一些未解決的問題,主要體現在:混沌雖然具有非線性的特點,但在用于S盒的構造算法時,由于S盒大小本身的限制,靜態S盒在圖像加密中的性能不能達到實際應用的要求;得到較高非線性度的S盒,利用更復雜的迭代系統會導致加密算法效率降低。
1 加密算法
提出利用一維Logistic映射結合明文的動態S盒構造方法,并引入置亂與擴散步驟構造加密方案。方案中利用兩種混沌映射確保加密的安全性,并降低算法復雜度。構造與被加密圖像相關的動態S盒,利用混沌特性很好的貓映射對明文進行置亂,擴散以達到雪崩效應。方法能夠將混沌理論和S盒替換加密兩種技術的優勢結合在一起,提供一種隨機性更強、復雜度更低的加密方案。
1.1一維Logistic映射
其數學表達式為:
1.2明文密鑰建立關系
將明文輸入公式(2)得到一個取值在[0,1]的數[keyi],用于構造動態S盒。
1.3構造動態S盒
[keyi]作為混沌系統的初值[x1],控制參數為3.99,生成256長度的數組與0~255的整數構建映射關系,即替換數組。由于明文不同因此構造的S盒也不同。
1.4加密步驟
Step1:輸入一張圖片[P(m,n)],m與n為圖片像素的高度與寬度,也表現出了像素數目。
Step2:將圖片矩陣代入迭代公式,得出密鑰[keyi(i=1,2,...,8)]。其中, pj代表圖像中第j個像素,ki(i=1,2,…,8)為用戶選定的8個不同的范圍在(0,1)的初始值。[keyi(i=1,2,...,8)]∈(0,1)用于生成構造動態S盒所需的密鑰。
Step3:將明文分塊[Bi(i=1,2,...,8)],每塊大小為[m4×n2]。
Step4:構造每一明文塊[Bi(i=1,2,...,8)]的S盒[S-boxi(i=1,2,...,8)]。將密鑰作為初始值輸入混沌系統。得到替換后圖像[P1]。
Step5:利用貓映射公式如下:
對[P1]進行置亂,得到置亂后圖像[P2]。
Step6:將[P2]代入擴散公式:
得到擴散后的結果[P3]。Step7:重復5次Step5,得到加密后圖像,加密步驟見圖。
解密步驟為加密步驟的逆步驟。
2 檢驗與分析
為了檢驗本文加密算法的性能,與其他四種圖像加密算法做比較。分別為Scheme1[6],Scheme2[7],Scheme3[8],Scheme4[9]。
2.1 直方圖分析
圖2分析了幾個平面圖像的灰度直方圖和圖像加密后的直方圖,可以看出,加密圖像的直方圖是均勻并且完全不同于明文各自的直方圖。因此.該算法可以抵抗任何統計攻擊。
2.2相關分析
計算和比較原圖像和密文圖像中鄰域像素的相關性。計算方法如公式(5)所示:
從表1中可以看出,該加密方案產生去相關的相鄰像素圖像,清晰的的圖像的相關系數接近1,但那些加密圖像的平均相關性水平近似等于0,這表明,提出的方案對統計理論的攻擊是安全的。
2.3密鑰空間分析
對于一個健壯的加密方案,密鑰空間必須足夠大,才能使蠻力攻擊不可行。在加密過程中,算法的密鑰空間是指所有可能的算法的排列組合。為了考察該密鑰有效抵抗攻擊的能力,隨機擬定一個初值,用16位十進制數表示(1位整數,15位小數),則本文算法的密鑰空間為(1016)6×28×(28-1)4=2359。
2.4密鑰敏感度分析
密鑰敏感度分析滿足了用戶不受網絡襲擊的需求,本文做了一系列的密鑰敏感度測試:用不同的尺寸加密了不同尺寸大小的灰度圖像[P(M,M)],在用最初密鑰加密的圖像和在這種情況下加密的圖像的不同像素的百分比在表2顯示:
從表2中,可以清晰地看出,在密鑰[keyi(i=1,2,...,8)]中細小的差別就可以導致加密圖像大的改變。因此,一個好的加密系統必須具有較高的敏感度。
2.5執行時間
一個圖像加密算法的執行時間取決于許多因素,如CPU結構,內存大小,操作系統,程序設計語言,編譯器選項,編程技巧和代碼優化等。當用相同的環境進行了分析比較,會提出了明確的加密方案,用于測量圖像密碼的速度。
為了更準確地測出加密速度,實現了MATLAB代碼的加密算法和其他方案。多次執行每一組的定時測試,測試結果如表3所示。經過該算法和其他加密算法的加密速度的比較,得出該加密算法有著可接受的加密速度的結論。
3總結
針對開放網絡環境中存在的數字圖像隱私保護這一亟待解決的問題,基于混沌理論提出一種創新、安全、有效的圖像加密算法,確保圖像安全。在方案設計方面,借助一維混沌映射生成動態S盒,并結合S盒替換、置亂、擴散三種技術設計加密方案。在實驗驗證方面,分別從密鑰空間分析、密鑰敏感度分析、直方圖分析、相關性分析、明文與密文對比分析、執行時間等方面全面驗證所提出加密方案的有效性。
參考文獻:
[1] 王雅慶. 基于混沌的數字圖像加密算法研究[D]. 重慶大學, 2013.
[2] Wang Y, Wong K W, Liao X, et al. A chaos-based image encryption algorithm with variable control parameters[J]. Chaos Solitons & Fractals, 2009, 41(4):1773-1783.
[3] Wang Y, Wong K W, Liao X, et al. A new chaos-based fast image encryption algorithm[J]. Applied Soft Computing, 2011, 11(1):514-522.
[4] Seyedzadeh S M, Mirzakuchaki S. Image encryption scheme based on Choquet fuzzy integral with pseudo-random keystream generator[J]. 2011.
[5] Zhou Y, Long B, Chen C L P. Image encryption using a new parametric switching chaotic system[J]. Signal Processing, 2013, 93(11):3039-3052.
[6] X. Wang, L. Teng, X. Qin, A novel colour image encryption algorithm based on chaos, Signal Process. 92 (4) (2012) 1101–1108.
[7] X. Wang, L. Liu, Y. Zhang, A novel chaotic block image encryption algorithm based on dynamic random growth technique, Opt. Lasers Eng. 66 (2015) 10–18
[8] Z. Hua, Y. Zhou, C.M. Pun, C.L. Philip Chen, 2D sine logistic modulation map for image encryption, Inf. Sci. 297 (2015) 80–94
[9] X.Y. Wang, L. Yang, R. Liu, A. Kadir, A chaotic image encryption algorithm based on perceptron model, Nonlinear Dyn. 62 (3) (2010) 615–621.
【通聯編輯:唐一東】