偽隨機(jī)序列圖象加密算法之小數(shù)開方
小數(shù)開方偽隨機(jī)序列發(fā)生器能夠正確產(chǎn)生偽隨機(jī)序列,只要對種子的選取稍做限制,就能生成性能良好且均勻分布的偽隨機(jī)序列,并用產(chǎn)生的偽隨機(jī)序列對圖象進(jìn)行加密的算法研究。
一、圖象文件加密及其研究現(xiàn)狀
圖象文件加密是在加密密鑰和加密函數(shù)的共同作用下將一幅圖象變成雜亂無章的加密圖象(類似于噪聲),使其所要表達(dá)的真實圖象文件信息無法直觀地感覺到。與原始圖象文件相比,加密圖象文件的變化表現(xiàn)在幾個方面:
1)圖象象素的相互位置關(guān)系發(fā)生了變化:它是由圖象置亂來實現(xiàn)的。在圖象文件加密中,圖象置亂是一項非常重要的加密技術(shù)。
2)圖象的象素值發(fā)生了變化:從信息論的角度看,在一般情況下加密圖象的信息熵增加了,接近于信息熵的最大值。從統(tǒng)計學(xué)的角度看,加密圖象的直方圖被平滑了,由加密圖象的直方圖來獲取圖象特征是很困難的。
3)圖象相鄰象素之間的相關(guān)性降低了。
二、偽隨機(jī)序列圖象加密算法
1、小數(shù)開方偽隨機(jī)數(shù)發(fā)生器
小數(shù)開方偽隨機(jī)發(fā)生器的迭代描述公式為:

定理1若X為無理數(shù),a,n為整數(shù),則
也是無理數(shù)。
由定理1,我們不難看出,當(dāng)某-Xm。為無理數(shù)時,則以后的序列都是無理數(shù)。
小數(shù)開方算法流程圖如圖1所示。

2、基于小數(shù)開方偽隨機(jī)序列圖象加密算法
24位真彩色圖象的圖象矩陣與其他類型不同,是一個三維矩陣,可用MxNx3表示。M、N分別表示圖象的行列數(shù),3個MxN的二維矩陣分別表示各個象素的R、G、B三個顏色分量。
(1)基于位異或的圖象加密算法
1)算法思想
運(yùn)用式(1)進(jìn)行小數(shù)開方偽隨機(jī)序列值計算,將產(chǎn)生的序列的每一個元素與圖象的象素點的紅、綠、藍(lán)三基色的值進(jìn)行異或運(yùn)算,解密即為逆過程。
2)加密算法實驗結(jié)果
圖2為24位真彩色圖象加密解密對比圖。

3)加密算法優(yōu)缺點
該加密算法在前有的基于線性同余偽隨機(jī)序列加密的基礎(chǔ)上改進(jìn)了密鑰給定的缺點,它實現(xiàn)了用戶自行輸入任意常見字符串的功能和圖象的無損加解密,安全性較之要高,大量實驗證明算法執(zhí)行效率高且加密效果也很好,但是該算法存在一個缺點:當(dāng)用戶連續(xù)對一幅圖象輸入同一個密鑰加密兩次后就可以得到正確解密的圖象,同時,當(dāng)解密用戶連續(xù)對加密后的圖象輸入正確的密鑰就可以得到一次加密后的圖象,兩次后就可以得到原圖象,算法的安全性不高。
(2)基于循環(huán)位異或的圖象加密算法
基于位異或的圖象加密算法中存在的問題,該算法在基于位異或的圖象加密算法基礎(chǔ)上做出了改進(jìn):
1)加密算法思想
在基于位異或圖像加密基礎(chǔ)上,取圖象一個象素點,象素值位進(jìn)行循環(huán)右移操作,直到圖象象素點全被取完,解密即為逆過程。
2)加密算法實驗結(jié)果

3)加密算法優(yōu)缺點
該加密算法較基于位異或的圖象加密算法有所改進(jìn),當(dāng)用戶連續(xù)對一幅圖象輸入同一個密鑰加密兩次后得不到正確解密的圖象,同時,當(dāng)解密用戶連續(xù)對加密后的圖象輸入正確的密鑰兩次后也得不到加密后的圖象,安全性較基于位異或的圖象加密算法要高。
與基于位異或的圖象加密算法一樣它實現(xiàn)了用戶自行輸入任意常見字符串的功能和圖象的無損加解密,算法執(zhí)行效率高且加密效果也很好,但是該算法也存在一個缺點:當(dāng)用戶連續(xù)對一幅圖象輸入同一個密鑰加密八次后就可以得到一幅圖象,大致可以看到原圖象得輪廓,然而當(dāng)用戶連續(xù)對一幅圖象輸入同一個密鑰加密十六次后就可以得到正確解密的圖象,同時,當(dāng)解密用戶連續(xù)對加密后的圖象輸入正確的密鑰八次后也可以得到一幅圖象,大致可以看到原圖象得輪廓,而且當(dāng)用戶連續(xù)對一幅圖象輸入同一個密鑰加密十六次后就可以得到原圖象,算法的安全性還是不高。
(1)基于循環(huán)位異或地址置亂的圖象加密算法
基于基于循環(huán)位異或的圖象加密算法中仍然存在的問題,算法三在基于循環(huán)位異或的圖象加密算法基礎(chǔ)上做出了改進(jìn):
1)加密算法思想
在基于循環(huán)位異或圖像加密算法基礎(chǔ)上將該圖象中元素位置為1的元素移到元素位置為2的位置,將2移到3的位置,依此類推,最后將該圖象的元素位置為最后的元素移到元素位置為1的位置。解密即為逆過程。
2)加密算法實驗結(jié)果
加密算法實驗結(jié)果如圖4所示。

3)加密算法優(yōu)缺點
該加密算法較之前兩種有了很大改進(jìn),它不僅與它們實現(xiàn)了用戶自行輸入任意常見字符串的功能和圖象的無損加解密,而且也解決了它們中存在的問題。無論用戶輸入多少次同一個密鑰對一幅圖象進(jìn)行加密也得不到正確解密的圖象,同樣,無論用戶輸入多少次正確的解密密鑰對一幅圖象進(jìn)行解密也得不到原圖象,大量實驗證明,該算法執(zhí)行效率高且加密效果也很好,加密算法的安全性也高。
三、安全性分析
一個好的圖象加密系統(tǒng)應(yīng)該具備足夠好的性能來抵御各種攻擊,這些攻擊包括窮舉攻擊、統(tǒng)計攻擊、明文攻擊等,下面對基于小數(shù)開方偽隨機(jī)序列圖象加密方法安全性進(jìn)行分析:
窮舉攻擊是對加密系統(tǒng)進(jìn)行攻擊的最基本的方法之一,它的主要方法是對加密系統(tǒng)的密鑰空間進(jìn)行窮盡的搜索,期望通過強(qiáng)力手段達(dá)到破解密碼系統(tǒng)的目的。要有效抵御本方法,就要求密碼系統(tǒng)有足夠大的密鑰空間并且具有相當(dāng)?shù)某踔得舾卸取HN算法的加密密鑰都是可以由用戶任意輸入常見的字符,通過逐位整型轉(zhuǎn)換再相加而得到偽隨機(jī)序列的種子,可見,三種算法擁有相當(dāng)大的密鑰空間。
三種加密算法的初值敏感性作了試驗,試驗表明當(dāng)解密密鑰中有任何一個初始值和加密密鑰中的不同,哪怕是微小的差別,圖象也不能被有效解密,這說明本圖象具有相當(dāng)?shù)某踔得舾行浴?/p>
綜合以上所述,三種圖像加密算法具有相當(dāng)大的密鑰空間,具有較強(qiáng)的初值敏感性,對于窮舉加密具有抵御能力。
小知識之偽隨機(jī)序列
偽隨機(jī)序列是具有某種隨機(jī)特性的確定的序列。它們是由移位寄存器產(chǎn)生確定序列,然而他們卻具有某種隨機(jī)特性的隨機(jī)序列。因為同樣具有隨機(jī)特性,無法從一個已經(jīng)產(chǎn)生的序列的特性中判斷是真隨機(jī)序列還是偽隨機(jī)序列,只能根據(jù)序列的產(chǎn)生辦法來判斷。







