国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于混沌系統(tǒng)和雙向擴(kuò)散的圖像加密算法

2022-01-09 05:19李國東
關(guān)鍵詞:明文密文加密算法

費(fèi) 敏,李國東

(新疆財(cái)經(jīng)大學(xué) 統(tǒng)計(jì)與數(shù)據(jù)科學(xué)學(xué)院,新疆 烏魯木齊 830012)

0 引 言

目前,混沌研究逐漸取得一些成果,研究人員開始把混沌的研究成果應(yīng)用到圖像研究與應(yīng)用領(lǐng)域,利用混沌解決一些問題,例如信息安全與圖像識別方面,應(yīng)用比較多的是圖像加密領(lǐng)域[1-9]。文獻(xiàn)[10]提出的加密方案為后來的很多學(xué)者設(shè)計(jì)加密方案提供了思路,所給出的加密方案解決了部分加密方案所使用到的混沌系統(tǒng)結(jié)構(gòu)單一等問題,并且加密方案依據(jù)明文圖像信息決定所篩選的像素點(diǎn)個(gè)數(shù),利用進(jìn)行預(yù)處理后的偽隨機(jī)序列對篩選出的明文像素點(diǎn)做運(yùn)算,從而生成第二級密鑰,將其代入分段線性混沌映射按照給出的具體加密方案完成圖像加密,通過仿真實(shí)驗(yàn)證明加密方案各項(xiàng)安全性指標(biāo)均非常接近理想值,并且加密效果優(yōu)良[10]。文獻(xiàn)[11]為了提升加密效率,對文獻(xiàn)[10]給出的加密方案進(jìn)行改進(jìn),具體改進(jìn)方法是對彩色圖像進(jìn)行加密,首先將彩色圖像轉(zhuǎn)化為R、G、B灰度圖像,借助Henon映射和二維Logistic映射生成偽隨機(jī)序列,并且對得到的偽隨機(jī)序列進(jìn)行預(yù)處理,利用預(yù)處理后的偽隨機(jī)序列從明文圖像中篩選出一部分像素點(diǎn),通過分析文獻(xiàn)[10]中篩選出的像素點(diǎn)與混沌映射產(chǎn)生的偽隨機(jī)序列之間的計(jì)算規(guī)則發(fā)現(xiàn),原有的依次做加法運(yùn)算再做取模運(yùn)算的計(jì)算規(guī)則的計(jì)算時(shí)間非常長導(dǎo)致整個(gè)加密方案加密效率不高,因此對原有計(jì)算規(guī)則進(jìn)行改進(jìn),運(yùn)用改進(jìn)后的篩選出的像素點(diǎn)與混沌映射產(chǎn)生的偽隨機(jī)序列之間的運(yùn)算規(guī)則得到偽隨機(jī)序列,將其作為第二級密鑰,代入超Lorenz混沌系統(tǒng)產(chǎn)生混沌序列,按照“正向擴(kuò)散-置亂-后向擴(kuò)散”的順序完成對彩色圖像的加密。通過實(shí)驗(yàn)仿真發(fā)現(xiàn)運(yùn)用改進(jìn)后的方法能夠大大節(jié)約加密的時(shí)間,一定程度上能夠提升加密效率,并且加密方案與明文緊密相關(guān)聯(lián),解決了部分加密方案無法抵御明文攻擊的問題[11]。文獻(xiàn)[12]采用隨機(jī)分塊、塊內(nèi)塊間同步置亂擴(kuò)散及環(huán)形擴(kuò)散等操作,通過實(shí)驗(yàn)仿真發(fā)現(xiàn)所設(shè)計(jì)的加密方案能夠大大提高圖像加密效率[12]。基于上述加密方案,設(shè)計(jì)一種“擴(kuò)散-置亂-擴(kuò)散”結(jié)構(gòu)的圖像加密算法。

1 分段線性混沌映射

分段線性混沌映射表達(dá)式為:

(1)

其中,p表示分段線性混沌映射的參數(shù),0

2 算法設(shè)計(jì)

設(shè)P表示明文圖像,大小為M×N。密鑰用K表示,具體為K={x0,p,y0,q,r1,r2,r3,r4},其中x0與p和y0與q表示兩個(gè)分段線性混沌映射的初始值與參數(shù),r1,r2,r3和r4表示4個(gè)8位的隨機(jī)整數(shù),取值區(qū)間為[0,255]。具體加密流程如圖1所示。

圖1 加密算法流程

2.1 混沌密碼發(fā)生器

給出的式(2)~式(5)稱為混沌密碼發(fā)生器,借助分段線性混沌映射所生成的偽隨機(jī)序列,并且利用式(2)~式(5)給出的具體運(yùn)算規(guī)則進(jìn)行運(yùn)算能夠得到四個(gè)跟明文圖像大小完全一致即無任何差異的隨機(jī)矩陣,將這四個(gè)隨機(jī)矩陣記為X,Y,R,W,四個(gè)矩陣大小全部是M×N,具體的運(yùn)算規(guī)則由式(2)~式(5)展示[13]。

Step1:將x0和p,y0和q分別作為分段線性混沌系統(tǒng)也就是表達(dá)式(1)的初始值以及參數(shù),為了避免暫態(tài)效應(yīng),舍去迭代分段線性混沌映射r1+r2次,再繼續(xù)迭代分段線性混沌映射M×N次,生成長度為M×N的狀態(tài)變量序列,記為{xi},i=1,2,…,MN,{yi},i=1,2,…,MN。

Step2:由向量{xi}和{yi},按式(2)~式(5)得到矩陣X,Y,R和W。

(2)

(3)

(4)

(5)

其中,floor(t)表示返回小于或者等于數(shù)t的最大整數(shù),u=1,2,…,M,v=1,2,…,N。利用生成的X矩陣完成前向擴(kuò)散操作,Y矩陣完成后向擴(kuò)散操作,R和W矩陣完成置亂操作。

2.2 前向擴(kuò)散算法

Step1:借助混沌密碼發(fā)生器得到的X矩陣以及r3,r4,根據(jù)式(6)和式(7)給出的具體計(jì)算規(guī)則對明文圖像第一行的所有像素值進(jìn)行變換,即將P(1,j)轉(zhuǎn)化為A(1,j)。

A(1,1)=mod(P(1,1)+X(1,1)+r3+r4,256)

(6)

A(1,j)=mod(P(1,j)+X(1,j)+A(1,j-1),256),j=2,3,…,N

(7)

Step2:借助混沌密碼發(fā)生器得到的X矩陣,根據(jù)式(8)給出的具體計(jì)算規(guī)則將明文圖像第一列的像素值進(jìn)行變換,即將P(i,1)轉(zhuǎn)化為A(i,1)。

A(i,1)=mod(P(i,1)+X(i,1)+A(i-1,1),256),i=2,3,…,M

(8)

Step3:借助混沌密碼發(fā)生器得到的X矩陣,根據(jù)式(9)給出的具體運(yùn)算規(guī)則對明文圖像除了第一行以及第一列剩余的所有像素值進(jìn)行變換,即將P(i,j)轉(zhuǎn)化為A(i,j)。

A(i,j)=mod(P(i,j)+A(i-1,j)+A(i,j-1)+

X(i,j),256),i=2,3,…,M,j=2,3,…,N

(9)

經(jīng)過上述前向擴(kuò)散操作后,得到初始密文圖像,將其記為矩陣A。

2.3 明文關(guān)聯(lián)的置亂算法

Step1:計(jì)算A(i,j)所在行和列的全部元素(不含A(i,j))的和,記為rowi,coli。

rowi=sum(A(i,1 toN))-A(i,j)

(10)

coli=sum(A(1 toM,j))-A(i,j)

(11)

Step2:利用式(12)和式(13)計(jì)算坐標(biāo)(m,n)的值,即:

m=rowi+R(i,j)modM

(12)

n=coli+W(i,j)modN

(13)

Step3:如果m=i或n=j,則A(i,j)與A(m,n)的位置保持不變,否則A(i,j)與A(m,n)互換位置,同時(shí)根據(jù)A(m,n)的低3位的值,將A(i,j)進(jìn)行循環(huán)移位,即:

A(i,j)=A(i,j)<<<(A(m,n)&0×7)

(14)

其中,“x<<

Step4:按Step1~Step3的方法,先置亂矩陣A的第M行,然后再置亂矩陣A的第N列,接著按從左向右再從上而下的掃描順序依次置亂矩陣A的元素A(1 toM-1,1 toN-1),最后置亂矩陣A的元素A(M,N)。

完成以上具體置亂步驟后,得到置亂后的中間密文圖像,將其記為矩陣B。

2.4 后向擴(kuò)散算法

Step1:借助混沌密碼發(fā)生器生成的Y矩陣,運(yùn)用式(15)以及式(16)給出的具體運(yùn)算規(guī)則對置亂得到的中間密文圖像的第M行的所有像素值進(jìn)行變換,即將B(M,j)轉(zhuǎn)化為C(M,j)。

C(M,N)=mod((B(M,N)+Y(M,N)+r1+

r2),256)

(15)

C(M,j)=mod((B(M,j)+Y(M,j)+

C(M,j+1)),256),

j=N-1,N-2,…,1

(16)

Step2:借助混沌密碼發(fā)生器生成的Y矩陣,運(yùn)用式(17)給出的具體運(yùn)算規(guī)則對置亂得到的中間密文圖像的第N列的所有像素值進(jìn)行變換,即將B(i,N)轉(zhuǎn)化為C(i,N)。

C(i,N)=mod((B(i,N)+Y(i,N)+

C(i+1,N)),256),

i=M-1,M-2,…,1

(17)

Step3:借助混沌密碼發(fā)生器生成的Y矩陣,運(yùn)用式(18)給出的具體運(yùn)算規(guī)則對置亂得到的中間密文圖像除去第M行以及第N列的剩余像素值進(jìn)行變換,即將B(i,j)轉(zhuǎn)化為C(i,j)。

C(i,j)=mod((B(i,j)+C(i+1,j)+C(i,j+1)+

Y(i,j)),256),i=M-1,…,1,

j=N-1,…,1

(18)

經(jīng)過上述后向擴(kuò)散操作后得到矩陣C,將其記為最終密文圖像。

Step4:倘若要對密文圖像進(jìn)行解密得到明文圖像,就需要完成上述加密過程的逆過程[14]。

3 實(shí)驗(yàn)仿真

實(shí)驗(yàn)仿真在Matlab R2018a的環(huán)境下進(jìn)行,選擇大小為256×256的Lena圖像進(jìn)行加密仿真實(shí)驗(yàn),其中密鑰的具體初始值為{x0=0.789 6,p=0.548 7,y0=0.353 5,q=0.667 7,r1=69,r2=138,r3=91,r4=105}。解密還原得到的明文圖像及密文圖像如圖2所示。

(a)還原后的Lena圖像 (b)Lena密文圖像圖2 加密與解密實(shí)驗(yàn)結(jié)果

4 安全性分析

4.1 密鑰空間

好的加密算法應(yīng)該具備密鑰空間大的特性[15],加密算法的初始密鑰有8個(gè),分別是:x0,p,y0,q,r1,r2,r3,r4。其中,x0,y0∈(0,1)是浮點(diǎn)數(shù),精度達(dá)到了10-14,p,q∈(0,0.5),也是浮點(diǎn)數(shù),其精度也達(dá)到了10-14,r1~r4為[0,255]中的整數(shù),步進(jìn)為1,因此,通過計(jì)算能夠得到密鑰空間的具體數(shù)值約等于1.073 7×1065,說明設(shè)計(jì)的加密方案具備抵御窮舉攻擊的能力。

4.2 直方圖分析

衡量一個(gè)加密方案是否具備抵御基于統(tǒng)計(jì)特性的攻擊的能力必須要考慮明文圖像以及經(jīng)過加密方案加密得到的密文圖像的直方圖[16]。直方圖能夠刻畫出某個(gè)圖像里各灰度值的分布狀態(tài)。以大小為256×256像素的Lena、girl、全黑、全白圖像為例,密文圖像的直方圖χ2檢驗(yàn)結(jié)果見表1。

表1 χ2檢驗(yàn)結(jié)果

圖3 Lena圖像直方圖及其密文圖像直方圖

4.3 相鄰像素相關(guān)性分析

相關(guān)系數(shù)計(jì)算公式如下:

(19)

從Lena明文以及密文圖像中隨機(jī)篩選出2 000對水平、垂直以及對角線方向上的相鄰像素點(diǎn),對篩選出的相鄰像素點(diǎn)之間的相關(guān)系數(shù)進(jìn)行計(jì)算,并且對篩選出的相鄰像素點(diǎn)之間的關(guān)聯(lián)情況圖繪制出來,得到的具體結(jié)果由表2及圖4展示。

圖4 Lena明文和密文圖像在各方向的相鄰像素分布 表2 明/密文圖像相鄰像素相關(guān)性系數(shù)

圖像水平垂直正對角反對角明文0.978 30.946 00.922 40.942 6密文0.002 40.014 60.022 60.003 6

根據(jù)表2中的具體數(shù)值,能夠看出Lena明文圖像在水平、垂直、正對角線以及反對角線這四個(gè)方向上相互鄰近像素點(diǎn)的相關(guān)系數(shù)全部在1附近,但是經(jīng)過所設(shè)計(jì)的加密方案加密得到的Lena密文圖像在水平、垂直、正對角線以及反對角線這四個(gè)方向上相互鄰近像素點(diǎn)的相關(guān)系數(shù)全部在0附近,也就是說經(jīng)過所設(shè)計(jì)的加密方案加密得到的Lena密文圖像相互鄰近的像素點(diǎn)不存在明顯的相關(guān)性。依據(jù)圖4所展示的結(jié)果,能夠看出明文圖像在水平、垂直以及對角線方向上的相鄰像素點(diǎn)對全部分布在直線y=x周圍,但是經(jīng)過加密方案加密獲得的Lena密文圖像在這三個(gè)方向上的相鄰像素點(diǎn)對全部呈現(xiàn)均勻分布的狀態(tài),因此,通過分析以上實(shí)驗(yàn)結(jié)果能夠反映出所設(shè)計(jì)的加密方案具備有效隱藏Lena明文圖像像素統(tǒng)計(jì)信息的能力。

4.4 信息熵

信息熵反映的是圖像中灰度分布情況[17]。pi表示圖像灰度i出現(xiàn)的概率,具體的計(jì)算公式為:

(20)

由表3可知,明文圖像的冗余度在5%以上,密文圖像的冗余度小于0.05%,密文的信息熵接近于理想值8,說明所設(shè)計(jì)的加密方案可以對抗基于信息熵的分析。

表3 信息熵、相對熵和冗余度

4.5 密鑰敏感性分析

當(dāng)對密鑰做極其不明顯的改變時(shí),分析運(yùn)用所設(shè)計(jì)的加密方案加密完全一致的明文圖像生成的兩個(gè)密文圖像間所存在的差異情況。對Lena圖像運(yùn)用所設(shè)計(jì)的加密以及解密方案進(jìn)行加解密,對原始密鑰x0改變10-16,借助改變前后的密鑰以及所設(shè)計(jì)的加密方案加密相同的明文圖像生成的兩幅密文圖像結(jié)果如圖5所示。根據(jù)圖5得到的兩幅密文圖像能夠看出,對初始密鑰的值做極其不明顯的改變,對完全一致的明文圖像加密生成的兩個(gè)密文圖像的差圖像表現(xiàn)為噪聲樣式,也就是說所設(shè)計(jì)的加密方案具備強(qiáng)的密鑰敏感性。并且通過得到的實(shí)驗(yàn)結(jié)果能夠發(fā)現(xiàn)當(dāng)密鑰發(fā)生僅10-16極其不明顯的變化時(shí),也不能夠獲得正確解密圖像。所以,從這一點(diǎn)也能夠說明所設(shè)計(jì)的加密方案具備強(qiáng)的密鑰敏感性。

圖5 Lena圖像密鑰敏感性實(shí)驗(yàn)結(jié)果

4.6 差分攻擊分析

衡量抵御差分攻擊的能力的重要指標(biāo)是NPCR(像素變化率)、UACI(歸一化像素平均值)、BACI,計(jì)算方式如下:

100%

(21)

(22)

(23)

P1指密文圖像,P2指明文圖像中某一像素值產(chǎn)生極其不明顯的變動(dòng)時(shí)所對應(yīng)的密文圖像。隨機(jī)篩選明文圖像中的一點(diǎn)坐標(biāo),將其進(jìn)行微小變動(dòng),重復(fù)100次實(shí)驗(yàn)計(jì)算兩密文間的NPCR、UACI和BACI的平均值,結(jié)果列于表4中。由表4可知,計(jì)算結(jié)果極其接近于理論值,說明加密算法具有很強(qiáng)的抗差分攻擊能力。

表4 明文敏感性分析結(jié)果

5 結(jié)束語

提出一種基于分段線性混沌系統(tǒng)的正向擴(kuò)散以及逆向擴(kuò)散相結(jié)合的圖像加密方案,并且通過實(shí)驗(yàn)仿真分析所設(shè)計(jì)的加密算法各項(xiàng)安全性指標(biāo)是否達(dá)到理想值即安全性能是否良好。采用“前向擴(kuò)散-置亂-后向擴(kuò)散”的結(jié)構(gòu)來加密圖像,對于所設(shè)計(jì)的加密算法而言,即使采用相同的密鑰,不同的明文圖像將對應(yīng)不同的等價(jià)密鑰和加密算法,從而得到完全不同的密文圖像。依據(jù)實(shí)驗(yàn)仿真得到的各項(xiàng)安全性能指標(biāo)的具體結(jié)果,能夠看出所設(shè)計(jì)的加密算法具備足夠大的密鑰空間,擁有非常良好的密鑰敏感性,并且抗統(tǒng)計(jì)和差分攻擊能力強(qiáng),是一種非常優(yōu)秀的圖像加密算法。

猜你喜歡
明文密文加密算法
一種支持動(dòng)態(tài)更新的可排名密文搜索方案
加密文檔排序中保序加密算法的最優(yōu)化選取
一種新的密文策略的屬性基加密方案研究
一種抗攻擊的網(wǎng)絡(luò)加密算法研究
奇怪的處罰
教育云平臺(tái)的敏感信息保護(hù)技術(shù)研究
條件型非對稱跨加密系統(tǒng)的代理重加密方案
基于Jave的AES加密算法的實(shí)現(xiàn)
奇怪的處罰