基于仿射模變換的圖像分塊均勻加密算法
隨著計(jì)算機(jī)和通信技術(shù)發(fā)展,多媒體數(shù)字圖像信息的安全性逐漸成為人們關(guān)注的焦點(diǎn)。傳統(tǒng)的加密算法因密鑰量較小,難以抵抗窮舉攻擊,同時(shí)對(duì)剪切、噪聲攻擊的抵抗力也較弱。為此,我們從增大加密圖像熵角度引出分塊均勻加密方法,進(jìn)而結(jié)合混沌映射提出一類基于仿射模變換的均勻加密算法對(duì)圖像文件進(jìn)行分塊加密。
一、數(shù)字圖像的仿射模變換與分塊均勻加密
1、仿射模變換
設(shè)(x,y)是一個(gè)N×N圖像的原始像素點(diǎn)坐標(biāo),(x',y')是圖像置亂后的像素點(diǎn)坐標(biāo)為:x,yx',y'∈{1,2...,N}。如式( 1)所示變換類型稱為仿射模變換:

式中:參數(shù)a,b,c,d,e,f不為0,作為加密密鑰;mod是取模,即求余,目的是為了保證變換后像素點(diǎn)仍落在原先的圖像區(qū)域內(nèi)。若矩陣行列式
,則該變換為保面積映射,是一對(duì)一映射可用于圖像置亂且由于
與N互素,仿射模變換具有周期性加密若干次后恢復(fù)原始圖像又由于仿射模變換是對(duì)圖像整體進(jìn)行幾何位置置亂只加密1次效果并不理想,因此本文給出分塊均勻加密方法。
2、分塊均勻加密
圖像加密即圖像置亂的實(shí)質(zhì)就是要降低像素點(diǎn)位置之間和像素值之間的相關(guān)性直至無(wú)關(guān),從信息論的角度數(shù)字圖像可以看作是由任意形狀和數(shù)量的不相交塊區(qū)域組成的數(shù)字信息源,圖像的每個(gè)像素可以看作信息源中發(fā)出的消息。圖像置亂的過(guò)程可以看作是減小圖像相鄰像素相關(guān)性的過(guò)程同時(shí)也是增大圖像像素分布不確定性的過(guò)程,即增大圖像信息量的過(guò)程。實(shí)際的自然圖像像素在各個(gè)分塊區(qū)域內(nèi)的相關(guān)性可以看作最大,即確定性最大。若置亂前原始圖像同一分塊區(qū)域σ1內(nèi)的一些像素點(diǎn)在置亂后還分布在同一分塊區(qū)域σ2易即使σ1和σ2位置不同,這些像素點(diǎn)的確定性仍舊較大,相應(yīng)地通過(guò)置亂產(chǎn)生的信息量增加幅度較少。因此提出圖像位置熵的定義:
![]()
式中:B是圖像分塊區(qū)域個(gè)數(shù),Hk(p)為第k個(gè)分塊區(qū)域信息熵表示第k個(gè)分塊區(qū)域平均位置信息量。
![]()
式中:P (i,j)表示原始圖像坐標(biāo)為_(kāi)(i,j)的像素在置亂后圖像第k個(gè)分塊區(qū)域出現(xiàn)的概率。由離散信源熵的性質(zhì),當(dāng)P(i ,j)等概時(shí)熵函數(shù)Hk(P)最大,從而位置熵H(R)最大。也就是說(shuō)理想的置亂狀態(tài)是置亂圖像中任意分塊區(qū)域內(nèi)的點(diǎn)來(lái)自原始圖像各個(gè)位置的概率都相等或者說(shuō)原始圖像同一分塊區(qū)域內(nèi)的點(diǎn)分布到置亂圖像不同分塊區(qū)域的概率相等,則置亂后圖像信源的平均信息量最大,置亂效果最好。為達(dá)到理想的置亂效果提出如下均勻置亂方法:如果原始圖像中每塊所有點(diǎn)分別出現(xiàn)在置亂后圖像的全部分塊中,且不管這些點(diǎn)在置亂后圖像各塊中出現(xiàn)順序如佩要保證每塊中各含有一個(gè)點(diǎn)f而置亂后圖像每塊中所有點(diǎn)都來(lái)自原始圖像的不同塊中,就稱為均勻置亂。圖1為16 ×16圖像分塊均勻置亂(加密)示意圖,置亂前后圖像都分為4×4塊,置亂前圖像第1個(gè)分塊內(nèi)的點(diǎn)分布在置亂后圖像的各個(gè)塊中。

按照上述原則,N×N方形原始圖像,其理想狀態(tài)分塊數(shù)應(yīng)為N×N塊。但對(duì)于不同大小圖像來(lái)說(shuō),這個(gè)值不一定為可以實(shí)現(xiàn)均勻分塊的整數(shù)可以將與這個(gè)值相近的兩個(gè)數(shù)作為理想的分塊數(shù)。
二、基于仿射模變換的分塊均勻加密算法
1、算法基本原理
為把分塊均勻加密方法應(yīng)用于仿射模變挽需要對(duì)該類變換進(jìn)行改進(jìn)使其從局部位置映射到置亂后整幅圖像。對(duì)第(i,j)個(gè)分塊,該分塊內(nèi)的仿射模變換為:

式中:N代表圖像大小為N×N;曰是原始圖像分塊數(shù)即分為B×B塊;aij,bij,cij,dij,eij,fij為每一個(gè)分塊的參數(shù),且滿足保面積映射要求:ij∈(1B),取正整數(shù),則采用分塊均勻置亂的仿射模
變換為:

式中:x和y表示原始圖像的像素點(diǎn)坐標(biāo);x'和y'表示對(duì)原圖做整體置亂后的像素點(diǎn)坐標(biāo);x'‘和y’‘表示對(duì)整體置亂圖像再進(jìn)行分塊置亂后的像素點(diǎn)坐標(biāo),n1和n2為迭代次數(shù)。該公式表示先將圖像進(jìn)行n1次整體仿射模變挽在圖像像素點(diǎn)位置充分打亂的情況下,再根據(jù)分塊均勻置亂進(jìn)行n2次加密。若n1=0則表示直接對(duì)圖像進(jìn)行分塊均勻置亂??梢詫ij,bij,cij,dij,eij,fij都作為密鑰,由于每一分塊的參數(shù)都不同,所以該算法的密鑰量是足夠大的。但置亂的時(shí)候就需要記住每個(gè)分塊的參數(shù)值,這顯然是不切實(shí)際,可以通過(guò)引入混沌映射來(lái)解決這一問(wèn)題。
二、改進(jìn)的Logistic映射
Logistic映射函數(shù)式如下:
![]()
式中:0<μ≤4為分支參數(shù),xn∈(0,1)。當(dāng)3. 569 945 6<μ≤4 Logistic映射處于混沌狀態(tài),但一般取μ=4的混沌系統(tǒng),為圖像文件加密操作提供了很好的技術(shù)保證。但Logistic映射當(dāng)0< x<1時(shí)不滿足均勻分布,為了得到隨機(jī)性更好的均勻分布的隨機(jī)系統(tǒng)可將式(6)作如式(7)所示變換:
![]()
序列yn同樣是混沌序列,且分布具有均勻性。利用改Logistic混沌映射的無(wú)規(guī)則序列,通過(guò)對(duì)序列yn的每個(gè)值進(jìn)行放大、取整、取余等數(shù)學(xué)變化,可以將其作為式(5)的每個(gè)分塊的參
數(shù)值。
3、基于仿射模變換的圖像分塊均勻加密算法步驟
(1)加密步驟
*給定Logistic混沌映射的6個(gè)初值為X1(0)、X2(0)、X3(0)、X4(0)、x5(0)和X6(0)上按照置亂所需參數(shù)的個(gè)數(shù)產(chǎn)生6個(gè)混沌序列{xn(k)|n=1,2…,6,k=0,1,2...}將這6個(gè)混沌序列按照式(7)改進(jìn)為{yn(k)|n=1,2…,6,k=0,1,2...}將這6個(gè)改進(jìn)序列小數(shù)點(diǎn)后第二位和第三位取出組成十進(jìn)制數(shù)從而得到4個(gè)十進(jìn)制序列{a(k)}{b(k)}{c(k)}{d(k)}{e(k)}{f(k)}整6個(gè)序列的值分別作為各分塊中用到的參數(shù)aij,bij,cij,dij,eij,fij。如果aij,bij,cij,dij滿足保面積映射約束條件則進(jìn)行下一步,否則將dij自加1,直到滿足約束條件為止。
*對(duì)圖像F(x,y)做a=a(0),b=b(O),c=c(0),d=d(0),e=e(0),f=f(0)的仿射模變換,迭代n次產(chǎn)生圖像F’(x',y')。
*將圖像F’(x',y')分成B ×B塊,依次將混沌序列的{a(k)}{b(k)}{c(k)}{d(k)}{e(k)}{f(k)}帶入式(5),迭代n2次,得到密圖F’'(x'',y''),完成圖像的加密。
(2)解密步驟
*同加密步驟( 1);
*求出不同a、 b、c和d值周期的最小公倍數(shù)T2,令n22=T2 -n2;
*將密圖F’'(x'',y'')分成N2/B2塊,依次將混沌序列的{a(k)}{b(k)}{c(k)}{d(k)}{e(k)}{f(k)}帶入式(5),迭代n2次得到圖像F’(x’,y');
*對(duì)圖像F’(x’,y')進(jìn)行仿射模變換,其中a=a(0),b=b(O),c=c(0),d=d(0),e=e(0),f=f(0)歹迭代n1次,即可得到原圖像,實(shí)現(xiàn)解密。
小知識(shí)之圖像熵
圖像熵表示為圖像灰度級(jí)集合的比特平均數(shù),單位比特/像素,也描述了圖像信源的平均信息量。










