?

基于SHA-256和Arnold映射的量子Logistic映射圖像加密算法

2024-02-29 08:31楊宇光王嘉偉
關鍵詞:明文加密算法哈希

楊宇光,王嘉偉

(北京工業大學 信息學部,北京 101124)

互聯網能提供文字、圖像、聲音、動畫等數據信息,互聯網上的數據很容易被竊取、篡改、復制和非法傳播.圖像在多媒體通信中有重要作用,且許多圖片涉及個人隱私或國家機密,因此圖像保護尤為重要.圖像具有數據量大、冗余多、相關性強的特點,傳統的加密算法不適合圖像加密.圖像加密是保持數據安全的有效手段,圖像加密能在幾乎無任何細節損失情況下將其還原.研究人員提出了許多基于新技術的圖像加密方法,如壓縮感知[1-5]、混沌系統[6-10]、元胞自動機[11-14]、脫氧核糖核酸編碼[15-17]等.為了提高圖像的抗攻擊能力,該文擬提出基于SHA-256和Arnold映射的量子Logistic映射圖像加密算法.

1 相關知識

1.1 SHA-256

SHA-256是一種密碼散列函數,即一種哈希函數.SHA-256對初始值非常敏感,使不同圖像對應不同的哈希值,能增強圖像加密的隨機性.

1.2 Arnold映射

Arnold映射是混沌置亂中使用較多的一種方法.Arnold映射通過改變元素位置實現圖像的置亂處理.

Arnold映射的原始公式為

其中:xn,yn為變換前像素的位置坐標;xn+1,yn+1為變換后像素的位置坐標.

將原始公式數字化后,得到如下映射

其中:a,b為參數;L為圖像的寬度.

1.3 量子Logistic映射

Logistic映射[18]的定義式為

其中:μ∈(0,4),xn∈(0,1).當3.569 945 6<μ≤4時,Logistic映射處于混沌狀態.

將量子態引入混沌系統,形成量子Logistic映射[19],其定義式為

其中:β,r為控制參數.

2 基于SHA-256和Arnold映射的量子Logistic映射圖像加密算法

2.1 圖像加密算法

基于SHA-256和Arnold映射,該文提出量子Logistic映射圖像加密算法,其結構如圖1所示.

2.2 圖像加密過程

圖像加密過程的具體步驟如下.

步驟1對給定M×N的圖像A,在其列坐標N/2處進行豎直切割,得到兩個圖像B和C,兩個圖像的大小均為M×N/2.令m=M,n=N/2.

步驟2用SHA-256求圖像B的哈希值.對第1,4,7,11,…,256位的哈希值求和得到參數c1,對第2,5,8,…,254位的哈希值求和得到參數c2,對剩下的哈希值求和得到參數c3.將c1,c2,c3作為xn,yn,zn的初始值代入式(4)得到xn+1,yn+1,zn+1,然后將xn+1,yn+1,zn+1作為Arnold映射中的a,b,N的初始值且對圖像C進行置亂處理.

步驟3圖像C置亂后,用SHA-256求其哈希值.首先對得到的256位哈希值的奇數位求和得到參數d1,其次對剩余的哈希值的奇數位求和得到參數d2,最后將剩下的哈希值相加得到參數d3.

步驟4將參數c1,c2,c3及參數d1,d2,d3代入下式

得到x0,y0,z0.

步驟5將x0,y0,z0作為初始值代入式(4),丟棄前500個值后得到混沌序列x,y,z.

步驟6將混沌序列x,y,z代入下式

得到混沌序列X,Y,Z.

步驟7使用餛飩系列X,Y分別對圖像B進行行、列混淆,得到圖像D.使用混沌系列Y,Z分別對圖像C進行行、列混淆得到圖像E.

步驟8將圖像D和圖像E合并,得到加密圖像F.

2.3 圖像解密過程

圖像解密過程的具體步驟如下.

步驟1在密文圖像F的列坐標N/2處進行豎直切割,獲得圖像D'和E'.

步驟2用公鑰對圖像E'進行逆置亂操作,得到量子Logistic映射的初始值.

步驟3將初始值代入量子Logistic映射,丟棄前500個值后得到混沌序列x,y,z.

步驟4將混沌序列x,y,z代入式(6)得到混沌序列X,Y,Z.

步驟5通過混沌序列X對圖像D'進行行混淆的逆操作,得到圖像B'.

步驟6通過混沌序列Y對圖像E'進行列混淆的逆操作,得到圖像C'.

步驟7對圖像B'和圖像C'進行合并,得到原始圖像A.

3 實驗結果及分析

實驗硬件為:12th Gen Intel(R)Core(TM)i5-12400F 2.50 GHz,16 GB RAM.實驗軟件為:Windows 10,MATLAB R2018a.選用的圖像為經典灰度圖像.

3.1 加解密實驗

使用該文提出的算法對測試圖集進行了一系列加解密實驗,其中Lena,Cameraman和Pirate的明文圖像、密文圖像及解密圖像如圖2所示.由圖2可知,密文圖像與明文圖像毫無關聯,解密圖像與明文圖像基本一致,表明該文算法是無損的.

3.2 直方圖分析

直方圖描述圖像中每個像素出現的次數.一個加密性能好的算法,其直方圖是均勻分布的.由圖3可看出,加密后圖像的直方圖是均勻分布的,表明該文算法具有較強的抵抗統計攻擊的能力.

3.3 相關性分析

為了評價該文算法的置亂效果,將從水平、垂直和對角線3個方向對明文圖像和密文圖像進行相關性分析.相關系數的定義式為

其中:xi和為相鄰像素的灰度值.

從圖4,5可看出,Lena明文圖像水平方向、垂直方向及對角線方向的灰度值均集中分布,然而其加密后的密文圖像的灰度值則是均勻分布.

圖4 Lena明文圖像的平面相關性

圖5 Lena密文圖像的平面相關性

表1給出了10類圖像不同方向的相關系數.由表1可知:明文圖像在3個方向上相關系數均接近1,表明相鄰像素間的相關性很強;密文圖像的相關系數平均值的絕對值趨近于0,表明相鄰像素間幾乎無相關性.

表1 10類圖像不同方向的相關系數

表2給出了該文算法與其他文獻算法的密文圖像相關系數對比.由表2可知,該文算法抵抗統計攻擊的能力比其他文獻算法更強.

表2 5種算法密文圖像相關系數

3.4 安全性能分析

3.4.1 密鑰空間

圖像加密算法為了能抵抗窮舉攻擊,其密鑰空間必須大于2100.該文算法密鑰由兩部分組成,一部分為256 bit的哈希值,另一部分為混沌映射的3個初始值,而計算機精度為10-15,所以該文密鑰空間為2362,遠大于2100.表3給出了5種算法的密鑰空間大小.由表3可知,相對于其他文獻的密鑰空間,該文算法的密鑰空間大小適中,能較好地抵抗暴力破解攻擊.

表3 5種算法的密鑰空間大小

3.4.2 密鑰敏感性

若密鑰的微小變化能導致密文圖像發生較大變化,則認為密鑰具有高敏感性.對初始值進行增加和減少10-15以及對迭代次數進行改變,均會導致加密后的圖像不能恢復成明文圖像.從圖6可看出,初始值的微小變化及迭代次數改變后均不能正確解密,表明該文算法具有較強的密鑰敏感性.

圖6 錯誤密鑰的Lena解密圖像

3.5 信息熵

信息熵描述隨機性,圖像的隨機性越強,信息熵越大.信息熵的計算公式為

其中:p(mi)為灰度值mi出現的概率.密文圖像的信息熵越接近8,可視信息越少,算法的加密性能越強.

表4給出了5類圖像的明文圖像及密文圖像信息熵.由表4可知,該文算法密文圖像的信息熵平均值為7.997,非常接近8,表明該文算法加密性能較強.

表4 5類圖像的明文圖像及密文圖像的信息熵

3.6 抗差分攻擊

從圖像加密的角度看,一個優秀的算法,若明文圖像出現較小的像素變化,密文圖像應該有很大的像素變化.像素變化率(the number of pixels change rate,簡稱NPCR)和統一平均變化強度(the unified average changing intensity,簡稱UACI)是評估算法抗差分攻擊的兩個參量.NPCR和UACI的計算公式分別為

其中:A1(i,j)和A1(i,j)分別表示圖像A1和A2在(i,j)處的灰度值;當A1(i,j)=A2(i,j)時,D(i,j)=0,當A1(i,j)≠A2(i,j)時,D(i,j)=1.

表5給出了7類圖像的NPCR和UACI.NPCR和UACI的期望值分別為99.61%和33.46%.從表5可看出,該文算法這兩個值均接近期望值.

表5 7類圖像的NPCR和UACI %

4 結束語

該文提出了基于SHA-256和Arnold映射的量子Logistic映射圖像加密算法.實驗結果表明:該文算法的解密圖像與明文圖像基本一致;該文算法具有較強的密鑰敏感性;相對于其他文獻算法,該文算法具有更強的抵抗統計攻擊的能力.

猜你喜歡
明文加密算法哈希
奇怪的處罰
奇怪的處罰
基于OpenCV與均值哈希算法的人臉相似識別系統
基于小波變換和混沌映射的圖像加密算法
四部委明文反對垃圾焚燒低價競爭
基于維度分解的哈希多維快速流分類算法
Hill加密算法的改進
對稱加密算法RC5的架構設計與電路實現
基于同態哈希函數的云數據完整性驗證算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合