楊 璐,郭文鋒
(1. 晉中信息學院信息工程學院,山西 晉中030800;2. 山西農業(yè)大學基礎部,山西 晉中030801)
網(wǎng)絡技術在當前信息社會中的應用越來越廣泛,經由網(wǎng)絡空間實現(xiàn)多媒體數(shù)字信息的傳輸量也隨之不斷提升,其中主要的信息類別即為圖像信息[1,2]。由于圖像信息能夠涉及各部門、企業(yè)及個人的機密與隱私,故而圖像信息在網(wǎng)絡空間中傳輸時的安全性應格外受到關注[3]。為了保障圖像信息在網(wǎng)絡空間內傳輸時的安全性,需采取恰當?shù)募用芊椒▽D像信息實施加密處理,避免圖像傳輸時信息的泄露。因圖像信息的特點為高冗余量與信息量等,如此需選用更有效的加密方法對其實施加密[4,5]。
混沌加密方法具有隨機變換參數(shù)與初始值、敏感感受參數(shù)與初始值更改等特點,能夠吻合密碼學中的置亂與擴散特點,被大量運用于信息加密領域內[6]。多級混沌圖像加密技術依靠混沌加密方法的關鍵特點,結合混沌序列所具備的無法預測特征,對圖像加密的安全程度予以有效保障[7]??赡婢仃囀侵改硞€可逆陣有且僅有一個逆矩陣,同時二者的乘積屬于單位陣的一種矩陣形式。運用此種矩陣形式可同時生成加密密鑰與解密密鑰,實現(xiàn)信息傳輸過程中的明文加密及密文解密[8,9]。
綜合以上分析,本文設計基于可逆矩陣的多級混沌圖像加密算法,實現(xiàn)圖像的加密與解密,有效掩藏傳輸中圖像內的有用信息,避免信息泄露,為實時安全傳輸圖像信息提供保障。
圖像信息的特點為冗余信息量高、分布均勻性差及信息總量豐富等,若運用以往的文本加密方法無法有效地加密圖像,達不到實時安全傳輸圖像的目的[10]。多級混沌圖像加密技術可有效地加密圖像,實現(xiàn)圖像的實時安全傳輸。多級混沌圖像加密技術結構如圖1所示。
圖1 多級混沌圖像加密技術結構圖
多級混沌圖像加密技術主要包括置亂與擴散兩個部分[11]。其中,置亂部分是對目標圖像內的像素位置進行打亂的過程,而擴散部分的主要目的是對置亂后目標圖像內的像素值實施調整。通過以上兩部分的實施后,能夠實現(xiàn)目標圖像內統(tǒng)計特征的隱藏,達到圖像的多級混沌加密的目的。圖1中的j表示加密過程中的置亂次數(shù);i表示整體加密的次數(shù)。在多級混沌圖像加密過程中,可實施數(shù)次的置亂與加密迭代。通常多級混沌圖像加密過程可表示成
H=Bi(Fi(Q,KF),KB)
(1)
式中,置亂密鑰以KF表示;擴散密鑰則以KB表示;置亂函數(shù)以F表示;擴散函數(shù)則以B表示;輸入的目標圖像(明文)以Q表示;加密后的輸出圖像(密文)以H表示。密鑰空間U可表示成
(2)
式中,置亂密鑰空間以UF表示;擴散密鑰空間則以UB表示。通常圖像加密的安全性與兩種密鑰空間及置亂函數(shù)與擴散函數(shù)對兩種密鑰的敏感性均為正比關系,當密鑰空間擴大后,圖像加密的安全性也會隨之升高[12],因此,在圖像加密過程中,需將適度擴大密鑰空間考慮在內,設計科學合理的圖像加密算法。
通過構建變參多級混沌系統(tǒng),任意調整混沌映射參數(shù),生成復雜混沌序列,實現(xiàn)密鑰空間的擴展,增加圖像加密的安全性。該混沌系統(tǒng)在有限精度的情況下實現(xiàn),可通過各種混沌參數(shù)的混沌映射個數(shù)度量所得混沌序列周期,也就是混沌參數(shù)周期和狀態(tài)a(i)周期相乘的結果與該混沌系統(tǒng)所生成混沌序列周期相同。具體實現(xiàn)過程如下。
首先選取PLCM混沌映射,它屬于一種一維分段線性迭代混沌映射,其具有較好的隨機統(tǒng)計性能[13],它的表達方式為
(3)
(4)
如此導致混沌參數(shù)q被破解的風險增大,為避免此問題,提高所生成混沌序列的安全性,需對混沌映射參數(shù)實施隨機調整,以此生成更為煩瑣的混沌序列,將密鑰序列擴展,增加密鑰加密的安全性。
在此選用Logistic混沌映射與PLCM混沌映射相結合的方式,構成可隨機調整混沌映射參數(shù)的變參多級混沌系統(tǒng),運用該系統(tǒng)生成復雜多變的混沌序列。其中Logistic混沌映射作為混沌系統(tǒng)內最常應用的一維離散非線性迭代混沌映射[14],它的表達方式為
(5)
式中,控制參數(shù)以η表示;am∈[0,1],m∈Z,在3.57≤η<4的情況下,系統(tǒng)屬于混沌狀態(tài)。
由兩種混沌映射所構成的變參多級混沌系統(tǒng)結構見圖2。
圖2 變參多級混沌系統(tǒng)結構圖
1)任意輸入某個原始值u02,該值的取值區(qū)間為(0,1),對E3η(u02,η)實施運算后,可得出混沌參數(shù)q為
(6)
式中,Logistic混沌映射以E3η表示;控制參數(shù)η等于η1或者η2。
2)在迭代次數(shù)t大于1的情況下,混沌參數(shù)q可表示為
(7)
式中,控制參數(shù)η的取值依然為η1或者η2,最終控制參數(shù)η取值的決定方式為:通過對t實施余運算后獲得的正整數(shù)以n表示,在n為偶數(shù)的情況下,控制參數(shù)η取η2;反之,在n為奇數(shù)的情況下,控制參數(shù)η取η1。
T=22m×g
(8)
式中,g=1,2,…,g,g的取值由正整數(shù)n與原始輸入值決定。由此在有限的精度下該混沌系統(tǒng)所輸出的混沌序列具有能夠度量的較大周期。
(9)
式中,o(an(t)i)ij元素可表示為
(10)
(11)
式中,該矩陣的元素w(an(t)i)ij的表達式為
(12)
O(an(t)i)整數(shù)矩陣與W(an(t)i)整數(shù)矩陣屬于互逆矩陣,故二者均為可逆整數(shù)矩陣。然而因實際運算中存在運算組合數(shù)的因素,也許會造成所獲得的可逆整數(shù)矩陣中的元素值較高[15]。故而需通過對所獲得可逆整數(shù)矩陣內全部元素值實施取模的方式,避免該現(xiàn)象的發(fā)生。取模運算式為
(13)
將可逆整數(shù)矩陣融入多級混沌圖像加密的擴散加密過程中,實現(xiàn)置亂后圖像像素值的進一步掩藏加密,提高整體加密的等級,令圖像傳輸時的安全性更高。在整體的多級混沌圖像加密過程中,將可逆整數(shù)矩陣O(an(t)i)當作擴散加密時的密鑰,而可逆整數(shù)矩陣W(an(t)i)則當作解密時的密鑰,同時二者的決定因素均為整數(shù)an(t)i,故僅需將an(t)i當作加密與解密的密鑰儲存即可。
2.4.1 基于復雜混沌序列的圖像置亂過程設計
對目標圖像的像素位置實施置亂時,應依次置亂各層圖像的像素位置。在此以單層圖像置亂為例,其置亂過程為:
1)提取出目標圖像Q的基分量,以矩陣QDN×N表示。如果向一維數(shù)組內逐行映射該矩陣的元素,那么與初始數(shù)組內的第i行第j列元素相對應的一維數(shù)組位置可表示為(i-1)×N+j。
bi=mod(a(t)i×2m,N×N-i+1)
(14)
2.4.2 基于可逆矩陣的圖像擴散過程設計
xi=mod(a(t)i×10m,2C)
(15)
式中,離散化處理之后需要的整數(shù)比特位數(shù)以C表示。具體的圖像擴散過程為:
1)調整置亂之后目標圖像Q的位數(shù)。將置亂之后目標圖像Q的上層后四位與下層首兩位合并成圖Q1,其矩陣以SDN×N表示;將下層的后六位作為圖Q2,通過GDN×N矩陣表示。拼接圖Q1與圖Q2,也就是將N×N大小的目標圖像Q拼接為2N×2N大小的灰度圖像D_image,該圖像的灰度級為256。
2)分割D_image圖像為16×16的塊D_blockn,其中n=1,2,…,N2/64,通過變參多級混沌系統(tǒng)將數(shù)組混沌序列生成。設所生成的混沌序列內的i為257,以an(t)1~an(t)256作為混沌數(shù)組,而an(t)257則用于可逆矩陣O(an(t)i)的生成中。
3)以式(15)為依據(jù),離散化an(t)1~an(t)256后獲得16×16矩陣以An(t)表示,其中離散化時的C取8;通過可逆矩陣O(an(t)i)將置亂后目標圖像Q的像素值掩藏,獲得加密后的圖像密文塊,以P_blockn(i,j)表示。則整體擴散表達式為
(16)
4)依據(jù)擴散過程中第1)步的逆過程,還原擴散后的256灰度級的2N×2N灰度圖像為1024灰度級的N×N圖像,此即為加密后的密文圖像。
運用另一個可逆矩陣W(an(t)i)作為解密密鑰,對密文圖像實施解密,解密過程即為整體加密過程的逆過程,在此不再贅述,經過此過程后獲得解密后的初始圖像。
從某圖像數(shù)據(jù)庫內隨機選取2幅圖像作為實驗對象,運用本文算法實施加密與解密,通過分析加密與解密結果,檢驗本文算法的實際應用效果。以其中的2幅圖像(a、b)為例,二者加密前的初始圖像效果如圖3所示。
圖3 2幅加密前初始圖像效果呈現(xiàn)
經本文算法對2幅初始圖像的像素位置實施置亂之后,獲得的2幅置亂后圖像(a1、b1)見圖4。
圖4 2幅置亂后圖像效果呈現(xiàn)
由圖4可看出,通過本文算法的一級置亂加密后,2幅置亂后圖像內像素的位置發(fā)生較大幅度的改變,已基本隱藏了初始圖像內的關鍵信息。
在此基礎上,繼續(xù)運用本文算法對2幅置亂后圖像實施擴散加密,獲得最終加密后的2幅加密圖像(a2、b2),呈現(xiàn)效果如圖5所示。
圖5 2幅加密圖像呈現(xiàn)效果
通過圖5能夠看出,2幅置亂后圖像經本文算法的二級擴散加密后,圖像內的有效信息被完全隱藏,無法由其中直接識別出有效信息,圖像信息的視覺隱藏效果較好,圖像加密效果理想。
經由本文算法的逆過程對2幅加密圖像實施解密,獲得解密圖像(a′、b′)的效果如圖6所示。
圖6 2幅解密后圖像效果呈現(xiàn)
結合圖6與圖3可得出,2幅加密圖像經由本文算法解密之后的解密圖像與初始圖像相吻合,可見,本文算法的加密與解密的合理性。
運用圖像內像素灰度值的分布規(guī)律對圖像實施攻擊的行為稱為灰度統(tǒng)計攻擊,通常圖像內像素灰度值分布的均勻度越高,則該圖像具有越高的防御灰度統(tǒng)計攻擊的能力。因此,為檢驗本文算法加密后圖像防御灰度統(tǒng)計攻擊的能力,對本文算法加密后的2幅加密圖像a2和b2內像素灰度值的分布情況實施檢驗,在此通過直方圖的方式直觀地呈現(xiàn)2幅初始圖像a和b、以及2幅加密圖像a2和b2的像素灰度值分布情況,詳見圖7。
圖7 2幅圖像的初始圖像與加密圖像直方圖
通過圖7能夠得出,2幅初始圖像的直方圖內像素灰度值分布不均勻,存在明顯的像素灰度值分布規(guī)律,而經本文算法加密后的2幅加密圖像的直方圖內,像素灰度值的分布均勻度較高,很難找尋出像素灰度值的分布規(guī)律,有效解除像素間的相關性,將圖像像素值的統(tǒng)計特征很好地掩藏,能夠更好地防御灰度統(tǒng)計攻擊,提升圖像的安全性。
為避免在網(wǎng)絡傳輸圖像過程中圖像信息的泄露,本文設計一種基于可逆矩陣的多級混沌圖像加密算法,通過構建變參多級混沌系統(tǒng)生成復雜混沌序列,用于創(chuàng)建可逆矩陣獲得擴散密鑰和解密密鑰以及生成置亂密鑰中,完成對圖像的像素位置置亂一級加密及像素值掩藏擴散的二級加密,實現(xiàn)圖像的多級混沌加密,實際應用中所獲得的加密圖像在視覺上能夠完全掩藏初始圖像內的有效信息,攻擊者無法直接獲取有用信息;從加密圖像的直方圖上可看出,加密后圖像內像素灰度值能夠均勻分布,很好地掩藏了初始圖像內像素灰度值的分布規(guī)律,提升了圖像防御灰度統(tǒng)計攻擊的能力,保障圖像傳輸過程中信息的安全性。