淺析一種基于耦合映像格子的分組圖像加密算法
基于耦合映像格子的分組圖像加解密
復(fù)合密碼結(jié)構(gòu)的安全性能強(qiáng)度優(yōu)于單獨(dú)采用置亂和置換操作的簡(jiǎn)單密碼結(jié)構(gòu),因?yàn)閺?fù)合密碼結(jié)構(gòu)采用循環(huán)迭代結(jié)構(gòu)交替使用置亂和置換等基本操作,使得得到的密文具有更好的安全性。
根據(jù)耦合映像格子,可設(shè)計(jì)一種基于分組密碼和循環(huán)迭代結(jié)構(gòu)的數(shù)字圖像加密算法。采用Kn作為子密鑰,L和T分別表示TCML的空間和時(shí)間參數(shù),Ln和Rn分別表示圖像的左半部分和右半部分。
步驟1:對(duì)原始圖像(設(shè)其大小為M×N)進(jìn)行初始置換(IP),得到圖像P。本文采用量化后的Logistic混沌序列與原始圖像異或來(lái)實(shí)現(xiàn)初始置換。
步驟2:對(duì)置換后的圖像P進(jìn)行分割,將圖像等分為左右兩部分,記為L(zhǎng)0和R0。
步驟3:以K1作為子密鑰,令L=M,T=N/2,產(chǎn)生M×(N/2)的TCML矩陣V。
步驟4:以矩陣V構(gòu)造S盒[12-13],選定V中的混沌序列{a11,a12,…,a1(N/2),a21,…,aM(N/2)},逐行(逐列)對(duì)行(列)內(nèi)元素做升(降)序排列,得到矩陣V1;確定矩陣V的每一個(gè)元素在V1中的位置,形成置換矩陣S。
步驟5:將R0通過(guò)S盒進(jìn)行置換,置換的結(jié)果與L0進(jìn)行異或運(yùn)算,得到的結(jié)果作為下一輪迭代計(jì)算的L1,下一輪迭代計(jì)算的R1直接取L0。
步驟6:采用K2,K3,…,Kn作為子密鑰,重復(fù)步驟3至步驟5。步驟7合并最終的迭代計(jì)算結(jié)果Ln與Rn得到圖像P′,并對(duì)P′進(jìn)行與步驟1相反的逆置換(IP-1),得到最終圖像Q即為密文圖像。
以上算法中初始置換和逆置換的作用是對(duì)原始圖像的灰度值進(jìn)行擴(kuò)散,用來(lái)抵抗已知明文攻擊。由于加密過(guò)程采用了基于耦合映像格子的分組密碼和循環(huán)迭代結(jié)構(gòu),使得設(shè)計(jì)的加密過(guò)程能夠有效抵御差分攻擊。
解密過(guò)程與加密過(guò)程結(jié)構(gòu)一致,只需要將子密鑰序列倒序輸入即可得到解密圖像。具體的解密流程如圖所示。

相關(guān)性分析
由于圖像相鄰像素的灰度值具有很強(qiáng)的相關(guān)性,因此原始圖像相鄰兩個(gè)像素之間的相關(guān)性較高。密文圖像由于其冗余度分散到各個(gè)像素點(diǎn)中,所以相鄰兩個(gè)像素之間的相關(guān)性將會(huì)被大大降低。原始圖像的相關(guān)系數(shù)遠(yuǎn)遠(yuǎn)大于密文圖像的相關(guān)系數(shù),這表明新算法具有良好的擴(kuò)散性。
將分組密碼中的循環(huán)迭代結(jié)構(gòu)應(yīng)用于圖像加密算法的設(shè)計(jì),設(shè)計(jì)出一種基于耦合映像格子的分組圖像加密算法。由于在每一輪加密中采用了不同的耦合映像格子老構(gòu)造S盒,保證了設(shè)計(jì)的算法具有更好的安全性能;新算法的解密過(guò)程與和加密過(guò)程都具有相同的迭代結(jié)構(gòu),因此加密、解密過(guò)程具有良好的對(duì)稱性;這種基于耦合映像格子的分組圖像加密算法法不僅具有密鑰空間大、初值敏感性強(qiáng)等較好的安全性能,而且對(duì)受損密文圖像也具有較好的恢復(fù)效果;同時(shí),新算法對(duì)加密圖像的規(guī)格大小沒(méi)有相關(guān)限制條件,使得算法具有更好的實(shí)用性。



