基於貓臉變換和混沌的圖像信息融合加密方法與流程
2023-05-28 00:37:46 1

本發明屬於圖像處理技術領域,特別涉及一種圖像加密方法,可用於信息安全。
背景技術:
隨著計算機技術、網絡技術以及多媒體技術的迅猛發展,在成功解決因數字圖像數據量大而導致的存儲和傳輸瓶頸後,數字圖像已成為信息表達方式的主流。但數字圖像在傳輸過程中仍存在諸多安全隱患,圖像信息安全問題不僅關係到個人隱私和企業的商業機密,而且更重要的是關係到國家的安全,特別是軍事機密,因此圖像信息的安全備受重視。圖像加密技術是保護圖像安全最直接有效的手段,已成為信息加密技術的重要熱點課題,研究圖像加密具有重要的意義。
將數字圖像作為矩陣進行有限次的初等變換以達到使圖像像素點雜亂無章的效果,這是基於置亂的圖像加密技術的核心思想,如貓臉變換。貓臉變換可以看成是將矩陣裁剪和拼接的過程,但由於貓臉變換固有的動力系統特性,當運行到特定的次數之後圖像像素點又會恢復原來的排列,也即貓臉變換的周期性。廣義貓臉變換是貓臉變換的推廣,具有2個參數,但僅用這一種方法並不能使圖像的置亂程度達到較理想的狀態。
由於混沌系統對初始條件和控制參數極其敏感,還具有內隨機性,非周期性,遍歷性等特點,所以利用混沌進行圖像加密是一種有效加密方法。目前混沌加密技術的研究大多是基於一維和二維混沌系統的研究,雖然具有形式比較簡單,運行速度快等優點,但是基於低維混沌的加密算法密鑰空間小,導致安全性不高,有研究表明低維混沌系統保密性是不夠的。雖然有使用多維的混沌系統加密圖像,但基於這些系統的加密方法的安全性仍然還不夠高,而超混沌系統具有不少於兩個的李雅普諾夫指數,具有更大的密鑰空間、更好的隨機性,表現出更複雜的系統特徵,用超混沌系統對數字圖像進行加密的效果比低維的混濁系統更好。廣義三維Henon混沌是超混沌系統,具有兩個李雅普諾夫指數。若用單一的混沌系統加密圖像,密鑰空間相對小,安全性能較低,且一些混沌系統的不安全性已經被證明,綜合更多的混沌系統有更大的密鑰空間,更高的安全性。
傳統的使用混沌對圖像加密方法主要是利用混沌序列進行置亂再結合異或運算進行加密。其存在的不足是:1.單用混沌序列對圖像中的像素置亂的不夠充分,沒有與廣義貓臉變換結合進行置亂的效果好,所以安全性不高;2.混沌生成序列長度的範圍僅僅局限於圖像長寬之和的長度或者是和圖像大小相等的長度,沒有對更多的混沌序列加以利用,安全性受到一定的限制;3.異或運算的操作過於簡單,相比於結合混沌序列和圖像信息融合技術進行加密的效果要差,故安全性相對較差。
技術實現要素:
本發明的目的在於針對上述已有技術的不足,提供一種基於貓臉變換和混沌的圖像信息融合加密方法,以提高圖像加密的安全性。
本發明的技術方案是:首先對待加密圖像利用廣義貓臉變換進行初步置亂,然後將初步置亂的圖像插入由廣義三維Henon混沌系統生成的長寬為待加密圖像4倍的圖像,最後利用圖像信息融合技術縮小圖像,得到加密圖像。其實現步驟包括如下:
(1)輸入一幅N×N的灰度圖像F,獲得該灰度圖像的二維矩陣f(s,t);
(2)選取廣義貓臉變換的變換矩陣的兩個參數a、b和迭代次數m,對灰度圖像的二維矩陣f(s,t)進行m次廣義貓臉變換,得到置亂後的圖像矩陣f1(s,t);
(3)分別選取x1,0、y1,0、z1,0作為廣義三維Henon超混沌系統的初值,並將該初始值代入廣義三維Henon超混沌系統中進行迭代,得到三個廣義三維Henon超混沌序列{x1,i}、{y1,i}、{z1,i},i=1,2,...,4N×4N;
(4)將第一個廣義三維Henon超混沌序列{x1,i}的值映射到0-255之間,再將該廣義三維Henon超混沌序列{x1,i}按次序逐行排列成長為4N、寬為4N的混沌生成圖像矩陣f*(s,t);
(5)分別選取x2,0、y2,0、z2,0作為洛倫茲混沌系統的初值,將該初始值代入洛倫茲混沌系統中進行求解,得到三個初始的洛倫茲混沌序列{x2,j}、{y2,j}、{z2,j},j=1,2,...,4000+N×N;
(6)選取第一個初始的洛倫茲混沌序列{x2,j},捨去該洛倫茲混沌序列{x2,j}的前4000個值,重新對其進行編號,得到洛倫茲混沌序列{x′2,ω},ω=1,2,...,N×N;
(7)對洛倫茲混沌序列{x′2,ω}的第ω個值x′2,ω進行mod(round((x′2,ω+0.5)×107),256)操作,得到修改後的洛倫茲混沌序列{x″2,ω},其中ω=1,2,...,N×N;
(8)將修改後的洛倫茲混沌序列{x″2,ω}轉化成8位二值序列,並且截取第ω個元素x″2,ω的第3~6位作為二進位串序列{Bω}的第ω個元素Bω的值,ω=1,2,...,N×N;
(9)將混沌生成圖像矩陣f*(s,t)分成N×N個4×4大小的矩陣塊,並將位於(x,y)處的矩陣塊記為A(x,y),則f*(s,t)=[A(x,y)]N×N;再將置亂後的圖像矩陣f1(s,t)中位於(x,y)處的像素值f1(x,y)插入到矩陣塊A(x,y)中,得到插入後圖像矩陣
(10)對插入後圖像矩陣中每個矩陣塊A(x,y)中的元素值進行求和,並將該和值除以256所得的餘數作為最終加密圖g(s,t)在(x,y)處的像素值。
本發明的有益效果為:
1.本發明利用廣義貓臉變換對圖像進行像素置亂,極大降低了密文像素間的相關性;
2.本發明利用廣義三維Henon超混沌系統生成的混沌生成圖像矩陣具有很好的隨機性,並且具有敏感性較高的密鑰參數;
3.本發明利用洛倫茲混沌生成二進位序列具有很好的隨機性,使得置亂後的圖像矩陣能夠隨機的插入到混沌生成圖像矩陣,進而充分置亂圖像;
4.本發明採用圖像信息融合技術可以有效隱蔽圖像信息,使圖像加密方法具有很高的安全性。
附圖說明
圖1是本發明的實現流程圖;
圖2是本發明使用的原始圖像;
圖3是對圖2加密後的圖像;
圖4是圖2的灰度直方圖;
圖5是用本發明方法及三個對比方法對圖2進行加密後的灰度直方圖;
圖6是本發明方法及三個對比方法的密鑰敏感性分析圖。
具體實施方式
參照圖1,本發明的具體實施步驟如下:
步驟1,輸入一幅N×N的灰度圖像F,獲得該灰度圖像的二維矩陣f(s,t)。
調用imread函數讀入一幅N×N的灰度圖像作為待加密圖像,如圖2所示,獲得該
灰度圖像的二維矩陣f(s,t),此時N=256。
步驟2,對灰度圖像的二維矩陣f(s,t)進行10次廣義貓臉變換,得到置亂後的圖像
矩陣f1(s,t)。
廣義貓臉變換公式如下:
其中稱為變換矩陣,a、b為變換矩陣的兩個不同的參數;x、y分別為變換前的橫坐標、縱坐標;x′、y′為廣義貓臉變換作用後的橫坐標、縱坐標;mod表示模運算。
選取廣義貓臉變換的變換矩陣參數a=7,b=9和迭代次數m=10,利用廣義貓臉變換公式對二維矩陣f(s,t)進行如下變換:
2a)獲取灰度圖像的二維矩陣f(s,t)中的每一個像素點的坐標(x,y)處的像素值;
2b)將灰度圖像的二維矩陣陣f(s,t)中的每一個像素點的坐標(x,y)都按照上述的廣義貓臉變換進行坐標變換,得到坐標(x′,y′);
2c)將原像素值賦到新坐標(x′,y′)上,完成當前的廣義貓臉變換;
2d)重複2a)到2c)進行上述變換9次,得到置亂後的圖像矩陣f1(s,t)。
步驟3,選取廣義三維Henon超混沌系統的初值,計算三個廣義三維Henon超混沌序列。
3a)輸入廣義三維Henon超混沌的三個初始值x1,0=0.81、y1,0=0.64、z1,0=0.53,令k=1;
3b)計算第一個廣義三維Henon超混沌序列{x1,i}的第k個元素x1,k,其中α=1.4;
3c)計算第二個廣義三維Henon超混沌序列{y1,i}的第k個元素y1,k,其中β=0.2;
3d)計算第三個廣義三維Henon超混沌序列{z1,i}的第k個元素z1,k,z1,k=βx1,k-1;
3e)將k的數值增加1,判斷k與4N×4N=1048576的大小關係,如果k<1048576,返回3b);否則,跳出循環,終止計算,得到三個廣義三維Henon超混沌序列{x1,i}、{y1,i}、{z1,i},其中i=1,2,...,4N×4N。
步驟4,將第一個廣義三維Henon超混沌序列{x1,i}的值映射到0-255之間,然後通過排列得到混沌生成圖像矩陣f*(s,t)。
4a)用mapminmax函數將第一個廣義三維Henon超混沌序列{x1,i}的值映射到[-1,1]之間,得到映射後的廣義三維Henon超混沌序列{x1,i};
4b)將映射後的廣義三維Henon超混沌序列{x1,i}的第i個值乘以128,再加上128,最後進行取整操作,其中i=1,2,...,4N×4N,得到長為4N=1024、寬為4N=1024的修改後的廣義三維Henon超混沌序列{x1,i};
4c)將修改後的廣義三維Henon超混沌序列{x1,i}按照每行4N=1024個像素排成4N=1024行,得到混沌生成圖像矩陣f*(s,t)。
步驟5,選取洛倫茲混沌系統的初值,計算三個洛倫茲混沌序列。
5a)輸入洛倫茲混沌的三個初始值x2,0=0、y2,0=2、z2,0=9和輸入洛倫茲方程,並確定解區間
5b)採用ode45函數對洛倫茲方程進行求解,得到三個初始的洛倫茲混沌序列{x2,j}、{y2,j}、{z2,j},j=1,2,...,4000+N×N。
步驟6,選取第一個初始的洛倫茲混沌序列{x2,j},捨去該洛倫茲混沌序列{x2,j}的前4000個值,重新對其進行編號,得到洛倫茲混沌序列{x′2,ω},ω=1,2,...,N×N。
步驟7,對洛倫茲混沌序列{x′2,ω}的第ω個值x′2,ω進行mod(round((x′2,ω+0.5)×107),256)操作,得到修改後的洛倫茲混沌序列{x2″,ω},其中ω=1,2,...,N×N。
步驟8,將修改後的洛倫茲混沌序列{x″2,ω}轉化成8位二值序列,並且截取第ω個元素x″2,ω的第3~6位作為二進位串序列{Bω}的第ω個元素Bω,ω=1,2,...,N×N。
步驟9,將置亂後的圖像f1(s,t)在(x,y)處的像素值f1(x,y)插入到混沌生成圖像矩陣f*(s,t)中。
9a)將混沌生成圖像矩陣f*(s,t)分成N×N個4×4大小的矩陣塊,並將位於(x,y)處的矩陣塊記為A(x,y),則f*(s,t)=[A(x,y)]N×N;
9b)將二進位串序列{Bω}中第ω個元素Bω等分為兩段二進位子串bω,1和bω,2,每段二進位子串包含兩個二進位數字,得到二進位子串序列{(bω,1,bω,2)},ω=1,2,...,N×N;
9c)將二進位子串bω,1和bω,2轉化成十進位整數;
9d)將置亂後的圖像f1(s,t)在(x,y)處的像素值f1(x,y)插入到混沌生成圖像矩陣f*(s,t)中的矩陣塊A(x,y)(b(x-1)×N+y,1+1,b(x-1)×N+y,2+1)處,得到插入後的圖像矩陣
步驟10,利用圖像信息融合技術縮小插入後的圖像矩陣得到最終加密圖
g(s,t)。
對插入後圖像矩陣中每個矩陣塊A(x,y)中的元素值進行求和,並將該和值除以256所得的餘數作為最終加密圖在(x,y)處的像素值,從而得到最終加密圖g(s,t),如圖3所示。
本發明的效果可通過以下仿真實驗進一步說明:
為了具體說明本發明的優勢和特點,下面對該發明和現有技術進行仿真,分析其加密效果。
1.實驗環境
本實驗的硬體測試平臺是:Intel酷睿i5 4210M CPU,主頻2.6Ghz,內存8.0GB;軟體平臺為:Windows 10作業系統和Matlab2015b。仿真圖像採用灰度級為256,大小為256×256的lena圖。
2.實驗內容
為具體說明本發明的優勢,主要對現有僅廣義三維Henon混沌置亂方法、現有僅洛倫茲混沌置亂方法和現有僅Chen混沌置亂方法3種圖像加密方法進行仿真作對比,分別從灰度直方圖、置亂程度和密鑰靈敏性3個方面進行說明。
實驗1,對比本發明方法及三個對比方法的對圖2進行加密後的灰度直方圖。
數字圖像中每一個灰度級與這個灰度級出現的頻率間的統計特徵用灰度直方圖來表示,灰度直方圖是圖像的一個重要統計特徵。
對圖2的各個灰度的像素進行統計,得到加密前圖像的灰度直方圖,如圖4所示;分別用本發明方法、現有僅廣義三維Henon混沌置亂方法、現有僅洛倫茲混沌置亂方法和現有僅Chen混沌置亂方法對圖2進行加密後的圖像的各個灰度的像素進行統計,得到加密後的圖像的灰度直方圖如圖5,其中圖5(a)為本發明方法加密後的圖像的灰度直方圖,圖5(b)為現有僅廣義三維Henon混沌置亂方法加密後的圖像的灰度直方圖,圖5(c)為現有僅洛倫茲混沌置亂方法加密後的圖像的灰度直方圖,圖5(d)為現有僅Chen混沌置亂方法加密後的圖像的灰度直方圖。
分別將圖5(a)、圖5(b)、圖5(c)、圖5(d)與圖4進行比較,發現圖5(a)中的灰度值均勻分布,與原圖的灰度直方圖的差異最大,說明本發明方法掩蓋了原始圖像的統計特性,從而極大的增加了圖像對統計分析攻擊的抵抗力。
實驗2,對比本發明方法及三個對比方法對圖2進行加密的加密圖的置亂程度。
在圖像水平、垂直和對角三個方向上隨機選擇3000對相鄰像素對,代入以下公式,計算得到各圖像在不同方向的像素點相關係數:
其中x和y是指圖像的兩個相鄰像素的灰度值,E(x)是x的數學期望的估計值,D(x)是x的方差的估計值,cov(x,y)是x和y的協方差的估計值。
按照上述方法計算圖2在不同方向的像素點相關係數,如表1第二列所示;
按照上述方法計算圖3在不同方向的像素點相關係數,如表1第六列所示;
按照上述方法分別計算用現有僅廣義三維Henon混沌置亂方法加密後的圖像、現有僅洛倫茲混沌置亂方法加密後的圖像和現有僅Chen混沌置亂方法加密後的圖像在不同方向的像素點相關係數,分別如表1第三至五列所示。
表1原圖、三個對比方法及本發明方法加密圖像的像素點相關係數
從表1可以看出,原始圖像在水平、垂直和對角方向的像素點相關係數比較大,表明原始圖像的相鄰像素點之間的相關性很高;經過四種不同的方法加密之後,水平、垂直和對角三個方向的像素點相關係數值銳減,但是總體還是本發明方法在各個方向的像素點相關係數最低,由此可以看出,本發明方法對圖像像素點置亂的比較充分,加密的安全性更高。
實驗3,對比本發明方法與三個對比方法的密鑰敏感性。
記原始圖像為I,加密圖像為Q,設通過解密加密圖像所得的圖像為R,得到經過解密的圖像與加密前圖像的均方誤差:MSE值越大,表明解密後的圖像與加密前的圖像的信息差別越大,當MSE值在密鑰附近微小範圍內變化比較明顯時,則說明加密方法的密鑰敏感性比較高。
為了反映加密方法對於兩個密鑰參數變化的敏感性,僅對兩個參數在密鑰附近聯合變化的情況進行仿真,計算解密的圖像與加密前圖像的均方誤差MSE,結果如圖6,其中:
圖6(a)為本發明方法中的兩個參數變化得到的解密圖像與原始圖像的MSE圖,即,固定該方法中洛倫茲系統混沌所有初值和廣義三維Henon混沌的第三個參數值,只讓該方法中的廣義三維Henon混沌的前兩個參數變化;
圖6(b)為現有僅廣義三維Henon混沌置亂方法的兩個參數變化得到的解密圖像與原始圖像的MSE圖,即固定該方法中的廣義三維Henon混沌的第三個參數值,只讓前兩個參數變化;
圖6(c)為現有僅洛倫茲混沌置亂方法的兩個參數變化得到的解密圖像與原始圖像的MSE圖,即固定該方法中的洛倫茲混沌的第三個參數值,只讓前兩個參數變化;
圖6(d)為現有僅Chen混沌置亂方法的兩個參數變化得到的解密圖像與原始圖像的MSE圖,即固定該方法中的洛倫茲混沌的第三個參數值,只讓前兩個參數變化。
觀察圖6(a)、圖6(b)、圖6(c)和圖6(d),發現圖6(d)中密鑰值附近的MSE值變化較小,說明現有僅Chen混沌置亂方法的密鑰敏感性較低;而在圖6(a)、圖6(b)和圖6(c)中,發現密鑰值附近的MSE變化很大,說明本發明方法和其餘的2種方法都對參數變化比較敏感,因而本發明具有敏感性很強的密鑰。
綜上,本發明不僅具有很高的置亂程度,同時也有敏感性很強的密鑰,所以具有很高的安全性。