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