圖像文件加密中Gauss-Markov加密矩陣構造的應用
為了解決加密矩陣難以構造的問題,提出一種獲得整數(shù)矩陣的新算法,利用Gauss-Markov過程生成一個隨機序列,將該序列轉(zhuǎn)換為一系列的低階整數(shù)矩陣‘從中尋找行列式等于1的整數(shù)矩陣,并對這些矩陣進行張量積運算得到高階加密矩陣,應用于數(shù)字圖像文件加密。
一、Gauss-Markov加密矩陣的構造
本節(jié)首先介紹Gauss-Markov隨機序列的基本定義及遞推計算公式、矩陣的張量積定義及性質(zhì),然后基于Gauss-Markov隨機序列構造任意低階加密矩陣,最后將這些低階加密矩陣通過矩陣張量積運算得到任意高階的加密矩陣。
1、Gauss-Markov隨機序列
定義1一個Markov過程x(t)是一個隨機過程。若該過程的當前狀況是給定的,則過程的過去對將來沒有任何影響;即如果tn> tn-1,則P[X(tn)≤Xn|X(t),t≤tn-1] =P[X(tn)≤xn|X(tn-1)]。
定義2一個Gauss-Markov過程x(t)是一個概率密度函數(shù)為Gauss型的Markov過程。
Gauss-Markov過程隨機序列,可由以下遞推公式產(chǎn)生:
式中:ωn——一個零均值、獨立和同分布的(白色)Gauss隨機變量;ρ一確定xn和xn-1之間相關程度的一個參數(shù)<由E(xn Xn-1)=ρE(x2n-1)=ρσ2n-1決定,σ2是方差)。
2、矩陣的張量積
定義3A/B是矩陣,且A=(aij)mXn,。則稱:
為A與B的張量積或A的Kronecker積。
定義4n個矩陣Ai (i=1,2,…,n)的張量積,記為:
定理1若A,B分別為小階和住階可逆矩陣,則A*B為可逆矩陣,且:
定理若A,B分別為m階和n階矩陣,則:
利用矩陣進行加密時,要求加密矩陣及其逆矩陣的元素必須是整數(shù),這樣的整數(shù)矩陣可以根據(jù)以下定理進行構造:
定理3若An×n的所有元素都是整數(shù)且|A|=1,則A=1的所有元素也都是整數(shù)。
由定理2和定理3易得如下推論:
推論1 當Ai (i=1,2,…,b)均為加密矩陣時,則:
也是加密矩陣。
3、加密矩陣自動生成算法
步驟1任取ID和隨機初值X1,由式(1)可得序列X=x1x2...Xq,其中g為序列z的長度;令i=1,模為m,初始化加密矩陣A=Onxn;
步驟2從x中提取子序列X'=XiXi+…Xixn*1,計算y=mod (kx',m),這里k為適當大的正整數(shù),即將x,的所有元素轉(zhuǎn)換為O~m之間的整數(shù)序列了,i<-i+1;若i≤qn2,轉(zhuǎn)步驟3,否則,結束;
步驟3將y轉(zhuǎn)換為靠階方陣A,即A=reshape (y,n,n),若|A|=1,輸出A,且轉(zhuǎn)步驟2,否則轉(zhuǎn)步驟2。
以上算法最多可得q-n2個nXn的加密矩陣。記為Ai(i-1,2,..,t;t≤qn2),再由推論1,可得較高階的加密矩陣:
二、加密實驗
1、獲取加密矩陣
令P=0.8,X1=0.2,Gauss-Markov過程隨機序列的長度q;104,m=10,n-4,k=103;由式<1)和1.3給出的加密矩陣自動生成算法可得以下6個四階的加密矩陣:
若令P=0.8,x1=0.200000000000001,q=104, m=20, n=3,k=103,則可得:
2、基于Hill密碼的數(shù)字圖像加密與解密
下面對Matlab提供的標準圖像lena(圖像大小為256X256像素,灰度等級為0~255)進行Hill加密與解密運算。
加密時,先將原始圖像lena轉(zhuǎn)換為整數(shù)矩陣B,然后選取上面的A1~A4計算張量積,可得加密矩陣:
則加密結果:
解密時,先求出A的逆矩陣:
則解密結果:
加密與解密結果如圖1所示,圖中(a)為原始圖像lena,(b)為加密結果,(e)為加密結果的自相關函數(shù),(d)為解密結果。
圖1(c)表明這樣產(chǎn)生的加密結果具有良好的隨機特性和自相關性,滿足密碼學的要求。
三、分析與比較
1、數(shù)字圖像相鄰像素的相關性分析
對于圖1所示的加密實驗,下面根據(jù)原始圖像lena及其加密結果的相鄰像素相關性進行計算和分析。分別選取水平。垂直和對角&個方向的兩相鄰像素,用以下公式計算其相關系數(shù)。
式中:x、y——圖像中兩個相鄰像素的灰度值。計算結果如圖2~圖4所示。其中:
圖2中,(a)表示原始圖像水平方向兩相鄰像素的相關性,(b)表示加密結果水平方向兩相鄰像素的相關性。
圖3中,(a)表示原始圖像垂直方向兩相鄰像素的相關性,(b)表示加密結果垂直方向兩相鄰像素的相關性。
圖4中,(a)表示原始圖像對角方向兩相鄰像素的相關性,(b)表示加密結果對角方向兩相鄰像素的相關性。
表1為原始圖像和加密結果在水平、垂直和對角3個方向兩相鄰像素的相關系數(shù)。
由圖2~圖4和表1可知,原始圖像兩相鄰像素的相關系數(shù)接近于1,這說明原始圖像的相鄰像素是高度相關的,而加密結果兩相鄰像素的相關系數(shù)接近于O,說明原始圖像的統(tǒng)計特征已被很好地擴散到隨機的加密結果中,其相鄰像素基本不相關。從而能夠有效地抵御統(tǒng)計攻擊。
2、安全性分析
加密算法的安全性完全取決于密鑰的保密性。本文所用的密鑰是根據(jù)Gauss-Markov隨機序列而自動生成的加密矩陣,由前面的實驗結果知,當隨機初值X1從0.2變?yōu)閛.200000000000001(即x1在小數(shù)點之后第15位有微小的改變)時,所得到的加密矩陣完全不同,同樣的實驗表明當參數(shù)尸從0.8變?yōu)?.800000000000001時,所得到的加密矩陣也完全不同,因此其密鑰空間為1016×l018;1032;再考慮到由于其它參數(shù)(q,m,n和k)的任意選擇而產(chǎn)生的組合爆炸問題,則密鑰空間就更為巨大。使得窮舉攻擊法難以實現(xiàn)。
進行保密通信時,發(fā)送方每次只要選擇不同的參數(shù)ρ,X1,q,m,n和k,可由以上算法自動獲得任意n階的低階整數(shù)加密矩陣A(且A中的元素可控制在o~m之間),再由這些A的張量積便可構造滿足實際問題需要的高階加密矩陣A,從而實現(xiàn)“一次一密”加密;由香農(nóng)信息論可知,這是一種理論上絕對安全的加密算法。
3、加密結果比較
下面給出不同加密算法對lena進行加密后,與本文的比較結果,見表2。
由表2可知,本文所得的加密結果在水平、垂直和對角3個不同方向的相關系數(shù)至少有兩個性能指標的結果更好。總體上可判斷本文的加密效果更好。
4、加密矩陣性能比較
討論了基于矩陣張量積合成加密矩陣的構造問題,但僅給出了由二階可逆矩陣通過張量積來構造高階加密矩陣的算法,且沒有說明這樣的二階可逆矩陣怎樣獲得的問題;本文給出的算法可自動生成任意低階矩陣Ai,并且只要改變模m的值,還能控制A中元素aij的大小(即O≤aij <m),顯然可以方便、靈活地通過各種低階矩陣八的張量積來構造滿足實際問題需要的高階加密矩陣A。兩種算法性能比較見表3。
小知識之Gauss–Markov
Gauss–Markov是在給定經(jīng)典線性回歸的假定下,最小二乘估計量是具有最小方差的線性無偏估計量。
高斯--馬爾可夫定理的意義在于,當經(jīng)典假定成立時,我們不需要再去尋找其它無偏估計量,沒有一個會優(yōu)于普通最小二乘估計量。也就是說,如果存在一個好的線性無偏估計量,這個估計量的方差最多與普通最小二乘估計量的方差一樣小,不會小于普通最小二乘估計量的方差。








