亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于滑塊與矩陣旋轉(zhuǎn)的混沌圖像加密算法

        2018-10-16 05:50:34謝國(guó)波王朝陽(yáng)

        謝國(guó)波,王朝陽(yáng)

        廣東工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,廣州 510003

        1 引言

        隨著數(shù)字通訊行業(yè)和數(shù)字多媒體技術(shù)的迅猛發(fā)展,圖像信息的存儲(chǔ)與在開放信道中傳輸?shù)陌踩杂l(fā)引起人們的關(guān)注。數(shù)字圖像的未授權(quán)轉(zhuǎn)載和侵權(quán)使用使得圖像加密變得更加重要。人們可以通過諸如IDEA或AES等算法對(duì)數(shù)據(jù)信息進(jìn)行加密。然而由于圖像數(shù)據(jù)維度高,以及像素點(diǎn)之間的相關(guān)性高,致使上述加密算法不能有效的應(yīng)用到圖像加密上。近年來(lái),基于混沌的圖像加密技術(shù)開始展現(xiàn)它的優(yōu)越性。混沌系統(tǒng)具有偽隨機(jī)性和敏感依賴性,初始值和控制參數(shù)的細(xì)微變化會(huì)引起最終狀態(tài)發(fā)生顯著的改變。也正是這些特點(diǎn)使得更多的密碼學(xué)研究人員把混沌系統(tǒng)應(yīng)用到圖像加密中[1-3]?;谶@些特點(diǎn),Liu等人提出了多種基于混沌系統(tǒng)的圖像加密方法,一次性密鑰加密具有密鑰空間大的優(yōu)點(diǎn),基于比特位值替代的加密算法能夠有效的降低相鄰像素相關(guān)性,DNA序列加密能夠?qū)崿F(xiàn)高存儲(chǔ)密度和高并行性[4-6]。但上述方法也存在一定的缺陷,如密鑰分發(fā)困難,加密效率低,容易受到攻擊等。

        圖1 圖像加密流程

        陳關(guān)榮提出基于“置亂—替代”結(jié)構(gòu)的混沌加密算法[7]。該方案具有運(yùn)行速度快,形式簡(jiǎn)單等優(yōu)點(diǎn),但無(wú)法有效地抵抗選擇明文攻擊。為了避免上述安全漏洞,鄧曉衡等人提出一種改進(jìn)方案,利用明文自身特性來(lái)影響密鑰序列的機(jī)制[8]。其核心思路是通過計(jì)算數(shù)字圖像的所有像素點(diǎn)之和sum,將其應(yīng)用到混沌系統(tǒng)參數(shù)的生成公式中。這樣,當(dāng)明文圖像中的任意一個(gè)像素點(diǎn)的值加1,將導(dǎo)致sum變化,最終使混沌系統(tǒng)控制參數(shù)發(fā)生改變,從而產(chǎn)生完全不同的混沌密鑰序列。然而該方案仍存在安全缺陷,假設(shè)把明文圖像的其中一個(gè)像素點(diǎn)的值加1,另一個(gè)像素點(diǎn)的值減1。sum不會(huì)改變,最終生成的混沌序列也不會(huì)改變。這樣修改后圖像產(chǎn)生的密文圖像與原明文圖像對(duì)應(yīng)的密文圖像只會(huì)有兩個(gè)點(diǎn)的像素值不同。此時(shí)對(duì)多組只有2個(gè)像素值不同的圖像進(jìn)行加密,對(duì)比其加密結(jié)果,仍可推導(dǎo)出整個(gè)圖像加密算法的全局置亂操作的等價(jià)變換公式,使得該方案無(wú)法有效地抵御選擇明文攻擊。

        針對(duì)上述缺點(diǎn),本文提出一種基于滑塊與矩陣旋轉(zhuǎn)的混沌圖像加密算法。首先,使用MD5算法為明文圖像生成一個(gè)唯一的哈希值,根據(jù)該哈希值計(jì)算出混沌系統(tǒng)控制參數(shù),使混沌系統(tǒng)最終產(chǎn)生的混沌序列與明文圖像自身緊密相關(guān)。其次,讀取混沌序列與其排序后對(duì)應(yīng)的下標(biāo)序列。根據(jù)下標(biāo)序列計(jì)算明文圖像每個(gè)子矩陣塊的位置和大小,根據(jù)混沌序列計(jì)算子矩陣塊的旋轉(zhuǎn)角度。依次旋轉(zhuǎn)所有子矩陣塊以實(shí)現(xiàn)明文圖像像素位置的全局置亂。最后,在像素值替代過程中,利用滑塊加密方法,使每一個(gè)像素點(diǎn)的加密結(jié)果都會(huì)影響滑塊內(nèi)的其他若干像素點(diǎn),從而使所有像素點(diǎn)的加密結(jié)果相互關(guān)聯(lián)。解決了密文與明文依賴性不強(qiáng)的問題,提高了加密圖像的安全性。仿真實(shí)驗(yàn)結(jié)果表明,本文加密算法密鑰敏感性高,密鑰空間大,同時(shí)具有較強(qiáng)的明文敏感性,可以有效地抵御差分攻擊和統(tǒng)計(jì)特征攻擊。

        2 算法原理

        本文提出的加密算法首先結(jié)合MD5算法生成混沌系統(tǒng)控制參數(shù),使密鑰序列與明文圖像本身密切相關(guān)。然后通過旋轉(zhuǎn)圖像矩陣的子矩陣來(lái)進(jìn)行像素位置全局置亂。最后,在像素值替代過程中使用滑塊讓每一個(gè)像素點(diǎn)的加密結(jié)果都會(huì)影響到其他若干個(gè)像素點(diǎn)的加密結(jié)果。從而實(shí)現(xiàn)對(duì)不同的明文圖像加密會(huì)產(chǎn)生完全不同的密文圖像。

        基于矩陣旋轉(zhuǎn)的像素位置全局置亂和基于滑塊加密的像素值替代加密流程,如圖1所示。

        2.1 混沌系統(tǒng)及參數(shù)生成方法

        本文選取的混沌系統(tǒng)為Kent映射,該系統(tǒng)性能優(yōu)良[9-10],其映射關(guān)系為式(1):

        其中,x0為初始條件,S為混沌系統(tǒng)控制參數(shù)。當(dāng)時(shí),該映射的Lyapunov指數(shù)大于0,此時(shí)該映射處于混沌狀態(tài),區(qū)間(0 ,1)為該映射的混沌不變集。Kent映射對(duì)初始值是非常敏感的,因其具有良好的偽隨機(jī)性,初始值發(fā)生極其細(xì)微的變化都會(huì)導(dǎo)致該映射產(chǎn)生的偽隨機(jī)序列完全不同。圖2是Kent映射對(duì)于兩個(gè)不同初始條件的時(shí)間響應(yīng)軌跡。當(dāng)初始值僅發(fā)生10-16的改變,在迭代50次后,兩條軌跡產(chǎn)生了顯著的偏離。說(shuō)明Kent映射對(duì)初始條件敏感性很強(qiáng),因此可以很好地應(yīng)用于圖像加密算法中。

        圖2 Kent映射的初始條件相差10-16的軌跡

        MD5算法具有抗修改性的特點(diǎn)。如果對(duì)原數(shù)據(jù)進(jìn)行任何改動(dòng),哪怕只是修改1個(gè)字節(jié),所得到的MD5的哈希值都將會(huì)完全不同[11-12]。把MD5算法應(yīng)用到混沌系統(tǒng)控制參數(shù)的生成中,對(duì)于一個(gè)明文圖像,只要有一個(gè)像素點(diǎn)被修改則對(duì)應(yīng)的混沌系統(tǒng)控制參數(shù)將完全不同,致使最終的密文圖像也完全發(fā)生改變。

        本文首先使用MD5算法為所要加密的明文圖像產(chǎn)生一個(gè)唯一的Hash值,一個(gè)32位的16進(jìn)制數(shù)。然后將這個(gè)數(shù)轉(zhuǎn)化為一個(gè)10進(jìn)制的數(shù)D。利用公式(2)和(3)分別計(jì)算出Kent混沌系統(tǒng)的控制參數(shù)a和迭代次數(shù)n。

        2.2 基于矩陣旋轉(zhuǎn)的像素位置全局置亂

        此階段是通過旋轉(zhuǎn)子矩陣的方式打亂原圖像。本文使用Kent映射產(chǎn)生混沌序列,一方面根據(jù)該混沌序列每個(gè)元素的值,可以計(jì)算出對(duì)應(yīng)各子矩陣塊將來(lái)要旋轉(zhuǎn)的角度,分別對(duì)應(yīng)0°、90°、180°、270°。另一方面,將該混沌序列進(jìn)行排序,可以得到記錄排序后序列各元素在原始混沌序列中位置的下標(biāo)序列,使用該下標(biāo)序列可以確定各子矩陣的位置和大小。

        設(shè)Am×n表示大小為m×n的灰度圖像,加密算法步驟如下所示:

        步驟1根據(jù)公式(2)、(3)計(jì)算出控制參數(shù)S和預(yù)迭代次數(shù)K,設(shè)定初始密鑰x0,代入式(1)預(yù)迭代Kent混沌系統(tǒng)K次消除暫態(tài)效應(yīng)帶來(lái)的不良影響。然后繼續(xù)迭代式(1)m×n次,產(chǎn)生長(zhǎng)度為m×n的混沌序列P={P1,P2,…,Pm×n}。

        步驟2對(duì)混沌序列P進(jìn)行從小到大的排序得到P′,產(chǎn)生一個(gè)用于記錄P'中各元素在原始序列P中位置的下標(biāo)序列T。

        步驟3計(jì)算每個(gè)子矩陣的位置和大小。對(duì)于步驟2計(jì)算出的Ti,首先,根據(jù)公式(4)可計(jì)算出對(duì)應(yīng)點(diǎn)Ti的子矩陣左上角元素的行標(biāo) rowi,結(jié)合公式(5)、(6)可計(jì)算出該子矩陣左上角元素的列標(biāo)coli。

        然后,根據(jù)公式(7)、(8)求出子矩陣的大小 sizei:

        步驟4計(jì)算每個(gè)子矩陣的旋轉(zhuǎn)角度。對(duì)于步驟1計(jì)算出的混沌序列P,利用根據(jù)公式(9)、(10),可以計(jì)算出每個(gè)元素Pi對(duì)應(yīng)Ti子矩陣的旋轉(zhuǎn)角度Ri:

        步驟5根據(jù)上述步驟求出的結(jié)果,可以確定Ti對(duì)應(yīng)的原圖像A的子矩陣大小為sizei,左上角位于第rowi行,第coli列。接著,將其對(duì)應(yīng)的子矩陣旋轉(zhuǎn)Ri度。再次替換其原來(lái)位置的元素。

        步驟6重復(fù)步驟4、步驟5。直到i值達(dá)到m×n,得到經(jīng)過全局位置置亂的圖像A′。

        2.3 基于滑塊加密的像素值替代

        本階段操作將實(shí)現(xiàn)對(duì)像素值位置全局置亂后的圖像A′進(jìn)行像素值替代加密,以混淆密文與明文之間的關(guān)系。首先把上一次加密的結(jié)果A′轉(zhuǎn)換為一維序列W,在每個(gè)像素點(diǎn)Wi與混沌序列Ki進(jìn)行異或之前,先計(jì)算滑塊長(zhǎng)度本算法設(shè)定參數(shù)α為滑塊的最大長(zhǎng)度。經(jīng)多次實(shí)驗(yàn)對(duì)比,當(dāng)參數(shù)α=30時(shí),加解密效率最高,同時(shí)加密效果也比較好。得到滑塊長(zhǎng)度β后,接著使起點(diǎn)為Wi,長(zhǎng)度為β的滑塊內(nèi)的所有元素都與Qi進(jìn)行異或操作替換原像素點(diǎn)的值,間接的實(shí)現(xiàn)了每個(gè)像素點(diǎn)的加密都會(huì)影響到其他若干個(gè)像素點(diǎn)未來(lái)加密的結(jié)果。從而使所有像素點(diǎn)緊密相關(guān),致使任何像素點(diǎn)值的細(xì)微變化都會(huì)導(dǎo)致最終的替代結(jié)果完全不同。像素值替代加密算法的具體步驟描述如下。

        步驟1設(shè)定混沌系統(tǒng)的初始值為x′0,控制參數(shù)S為另一個(gè)S′。Kent混沌系統(tǒng)迭代K2次以消除暫態(tài)效應(yīng),并繼續(xù)迭代m×n次,以產(chǎn)生長(zhǎng)度為m×n的混沌序列 Q′={q′1,q′2,…,q′m×n}。

        步驟2將混沌序列K'的各序列值依次帶入公式(11)進(jìn)行轉(zhuǎn)化,使其取值范圍為[0,255],得到混沌圖像序列Q={Q1,Q2,…,Qm×n}。同時(shí)把置亂圖像A'按照行優(yōu)先的順序轉(zhuǎn)換為長(zhǎng)度為m×n的一維序列W={W1,W2,…,Wm×n}。

        步驟3對(duì)給定的Wi,根據(jù)公式(12)計(jì)算當(dāng)前滑塊長(zhǎng)度β,然后將以Wi為起點(diǎn)長(zhǎng)度為β的滑塊內(nèi)的所有元素與Ki異或,其計(jì)算公式為公式(13)。最后把每個(gè)元素的異或結(jié)果都替換原始元素。

        例如,假設(shè)W={3,4,10,7,5,8,9,3,9,2},Q={5,7,7,2,8,7,2,1,8,4},α=5,則W1=3,β=mod(3,5)+1,β=4,此時(shí)滑塊長(zhǎng)度為4,起始元素為W1。依次計(jì)算滑塊內(nèi)元素W1、W2、W3、W4與Q1異或的結(jié)果,如:。經(jīng)過這一輪循環(huán)W1、W2、W3、W4的值都發(fā)生了改變,此時(shí)W={6,1,15,2,5,8,9,3,9,2}。

        步驟4步驟3的一輪操作結(jié)束后,Qi變?yōu)橄乱粋€(gè)元素。滑塊向后移動(dòng)。再次進(jìn)行步驟3的操作。

        步驟5重復(fù)步驟3、步驟4,Wi的值將一直發(fā)生變化,滑塊持續(xù)后移,直到i值達(dá)到m×n,此時(shí)將得到最終的一維密文序列W,然后將其按照行優(yōu)先的順序轉(zhuǎn)化為大小為m×n的密文圖像C。加密過程結(jié)束。需要注意的是,當(dāng)滑塊的尾部超出序列時(shí),僅對(duì)序列內(nèi)的滑塊元素進(jìn)行計(jì)算。

        2.4 加密過程示意圖

        下面將結(jié)合加密示意圖3、圖4,對(duì)每個(gè)加密步驟進(jìn)行更為詳細(xì)直觀的描述。

        2.4.1基于矩陣旋轉(zhuǎn)的像素位置全局置亂

        假設(shè)明文圖像如圖3(a)所示,T={6,8,25,…,3},R={90°,180°,0°,…,270°}。

        對(duì)于T1:

        最終可求出:row1=2,col1=1,size1=4,R1=90°。此時(shí)T1對(duì)應(yīng)的子矩陣如圖3(a)灰色部分所示,該部分旋轉(zhuǎn)90°后,原圖像轉(zhuǎn)變?yōu)閳D3(b)。

        圖3 T1=8旋轉(zhuǎn)加密

        對(duì)于T2:

        最終可求出:row2=2,col2=3,size2=3,R2=180°。此時(shí),T2對(duì)應(yīng)的子矩陣如圖3(c)灰色部分所示,該部分旋轉(zhuǎn)180°后,原圖像轉(zhuǎn)變?yōu)閳D3(d)。

        2.4.2 基于滑塊加密的像素值替代

        假設(shè)圖像序列W={3,4,10,7,5,8,9,3,9,2},混沌序列Q={5,7,7,2,8,7,2,1,8,4},α=5對(duì)于W1,,其加密過程如圖4(a)所示。對(duì)于,其加密過程如圖4(b)所示。

        圖4 基于滑塊加密的像素值替代

        2.5 解密算法

        解密的過程也就是加密的逆過程。

        第一階段的處理:像素值反替代操作。先取出密文圖像的第1個(gè)點(diǎn)的像素值C1,然后計(jì)算該點(diǎn)與混沌序列Q的第一個(gè)元素Q1異或的結(jié)果為該點(diǎn)解密后的值W1,然后計(jì)算 β=mod(W1,α),使第1個(gè)元素之后的β個(gè)元素均與Q1進(jìn)行異或。對(duì)于第2個(gè)元素,先使其與Q2進(jìn)行異或,的到原始的W2,然后,將已解密的元素組合成新序列W′={W′1,W′2}。接下來(lái)繼續(xù)求后面元素的值。首先,使用加密的原理,計(jì)算W′2的加密結(jié)果,接著求出,然后使第2個(gè)元素之后的β′個(gè)元素均與Q2異或,替換原來(lái)的像素值。不斷重復(fù)上述步驟,直到i值達(dá)到m×n。此時(shí)的序列W是經(jīng)過全局置亂后的圖像對(duì)應(yīng)的一維圖像序列。

        第二階段的處理:反全局像素位置置亂。首先,把第一階段處理得到的一維序列W按行優(yōu)先的順序轉(zhuǎn)化為大小為m×n的置亂矩陣A′,然后,計(jì)算下標(biāo)序列T最后一個(gè)元素Tm×n的位置以及旋轉(zhuǎn)角度,使其對(duì)應(yīng)的子矩陣朝相反的方向旋轉(zhuǎn)同樣的角度,從后向前依次對(duì)序列Tm×n的所有元素對(duì)應(yīng)A′內(nèi)的子矩陣進(jìn)行旋轉(zhuǎn),直到操作完T序列所有元素對(duì)應(yīng)的子矩陣。此時(shí)的矩陣則是明文圖像對(duì)應(yīng)的二維矩陣,從而就得到了經(jīng)過恢復(fù)的明文圖像A。

        3 實(shí)驗(yàn)仿真與性能分析

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

        本文選取了大量的大小為256×256的灰度圖像進(jìn)行測(cè)試,限于篇幅,僅給出經(jīng)典圖像Lena的加密結(jié)果作為代表性實(shí)驗(yàn)數(shù)據(jù)。加密的初始密鑰x0=0.141 421 356 2,x′0=0.173 205 080 7,以 及 像 素 值 替 代 階 段 的 S′=0.223 606 797 7,K2=500。圖5(a)為原始圖像,圖5(b)為加密效果圖。

        圖5 Lena加密前后圖像及直方圖

        3.2 密鑰空間分析

        本文選擇像素點(diǎn)位置置亂階段混沌系統(tǒng)的初始值x0,像素點(diǎn)值替代階段的混沌迭代初始值x′0,以及控制參數(shù)S′為該加密算法的密鑰,這3個(gè)數(shù)值的取值范圍都是0至1的任意浮點(diǎn)數(shù)。若不去考慮實(shí)際的限制條件,這兩個(gè)值均可以取小數(shù)點(diǎn)后面的任意位數(shù)??紤]到實(shí)際存儲(chǔ)的話,每個(gè)雙精度數(shù)據(jù)最多都可以保留16位小數(shù)。那么本文的加密算法可以使密鑰空間達(dá)到1048,如此大的密鑰空間,通過暴力破解的方法是無(wú)法還原圖像的。

        3.3 算法統(tǒng)計(jì)特性分析

        3.3.1 直方圖分析

        直方圖可以有效地衡量加密算法對(duì)原始明文圖像加密的效果。對(duì)Lena進(jìn)行加密,直接觀察圖6(a)原始圖像的直方圖,灰度值分布不均勻,可以很明顯看出明文圖像的像素分布特征。而圖6(b)則表明加密后密文圖像的灰度值分布比較平坦,很好地隱藏了原始圖像的信息。

        本文通過計(jì)算密文圖像直方圖的方差來(lái)衡量直方圖的均勻性。式(14)為直方圖方差計(jì)算公式[13]:

        其中,Z是直方圖像素值向量,且Z={z1,z2,z3,…,z256},zi和zj分別是灰度值為i、j的像素點(diǎn)的個(gè)數(shù)。

        直方圖方差越小,表明加密圖像的像素點(diǎn)灰度值均勻性越高。本文對(duì)圖7的4張圖片進(jìn)行加密,并計(jì)算出明文和密文圖像的直方圖方差,實(shí)驗(yàn)結(jié)果由表1所示,其中后3列分別為原始圖像、加密圖像,以及Yannick等人在文獻(xiàn)[14]提出算法的密文圖像的直方圖方差??梢钥闯?,該算法密文圖像的直方圖方差遠(yuǎn)低于明文圖像的直方圖方差,且優(yōu)于文獻(xiàn)[14]算法對(duì)應(yīng)密文圖像直方圖的方差。

        圖6 灰度直方圖

        圖7 用于測(cè)試的原始圖像

        表1 明文和密文圖像直方圖方差

        本文對(duì)比相同的明文圖像由兩個(gè)不同密鑰加密所產(chǎn)生密文圖像直方圖的方差,兩個(gè)方差值的接近程度將表示密鑰變化時(shí)密文圖像的均衡度。實(shí)驗(yàn)數(shù)據(jù)如表2所示,對(duì)于同一密鑰集,僅改變其中的一個(gè)密鑰,所得到密文圖像直方圖的方差變化很小,由此可知該加密算法是有效的。

        表2 不同密鑰密文圖像直方圖方差

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

        相鄰像素的相關(guān)性也是用來(lái)衡量一個(gè)加密算法性能的重要指標(biāo)。以Lena圖像為例,對(duì)加密后圖像的水平,垂直和對(duì)角3個(gè)方向隨機(jī)選取5000對(duì)相鄰像素點(diǎn),使用公式(18)計(jì)算其相關(guān)性系數(shù)。

        本文也給出了文獻(xiàn)[15-17]實(shí)驗(yàn)仿真結(jié)果進(jìn)行比照,對(duì)比結(jié)果如表3所示。根據(jù)表3的結(jié)果可以看出,原始的明文圖像相鄰像素點(diǎn)之間的相關(guān)性很強(qiáng),而密文圖像相鄰像素點(diǎn)之間幾乎沒有任何相關(guān)性。同時(shí),本文密文相鄰像素點(diǎn)相關(guān)性遠(yuǎn)低于其他方案的密文相鄰像素點(diǎn)相關(guān)性,這也說(shuō)明該算法明文圖像的統(tǒng)計(jì)特征已經(jīng)擴(kuò)散到隨機(jī)密文圖像中,而且加密效果更優(yōu)。

        表3 相鄰像素相關(guān)性系數(shù)對(duì)比分析

        同時(shí),本文分別從明文圖像和密文圖像隨機(jī)抽取水平方向上1 000組相鄰像素點(diǎn),根據(jù)其像素值繪制出其像素值關(guān)系圖,如圖8所示。從圖8(a)中可以看出,明文圖像水平相鄰像素點(diǎn)的像素值是非常接近的,其相關(guān)性系數(shù)接近于1;從圖8(b)則可以看出該算法最終生成的密文圖像,其水平相鄰像素點(diǎn)的像素值差別顯著,相關(guān)性幾乎為0??梢?,本文算法能夠較好地破壞相鄰像素點(diǎn)之間的相關(guān)性,使得密文圖像具有了更好的隨機(jī)分布特性。

        3.4 抗差分攻擊性能分析

        3.4.1 密鑰敏感性分析

        圖8 相鄰像素相關(guān)性

        密鑰敏感性是指對(duì)于同一個(gè)密文圖像,解密時(shí),只要密鑰發(fā)生極其細(xì)微的改變,也將會(huì)產(chǎn)生兩個(gè)完全不同的明文圖像。本實(shí)驗(yàn)再次設(shè)置原始初始密鑰x′0值為0.254 398 745 945 520。使用該密鑰可以得到圖像9(a)。此時(shí)如果把該初始密鑰改變?yōu)?.254 398 745 945 521,其他參數(shù)保持不變。再次進(jìn)行解密。則可以得到最終的結(jié)果為圖9(b)。從實(shí)驗(yàn)中可以看出,即使把密鑰進(jìn)行10-15的細(xì)微改變,也無(wú)法得到正確的原始圖像。同理,把其中的任意參數(shù)作細(xì)微改變都會(huì)達(dá)到上面的效果。由此可知,該加密算法對(duì)密鑰有較高的敏感性。

        圖9 密鑰敏感性分析

        3.4.2明文敏感性

        密文圖像對(duì)明文的敏感性越高,算法愈能抵抗包括差分攻擊在內(nèi)的選擇明文攻擊。當(dāng)攻擊者偶然獲得了加密工具的使用機(jī)會(huì),此時(shí)他可以選擇一些較為特殊的明文圖像,并以此得到與之對(duì)應(yīng)的密文圖像。通過對(duì)比這些明密文圖像序列,可以推算出等價(jià)的“明文—密文”變換方式,從而實(shí)現(xiàn)了算法的破解?,F(xiàn)有方案中,基于“置亂—替代”結(jié)構(gòu)的混沌圖像加密,常用的攻擊方法就是選擇明文攻擊。一個(gè)比較通用的方法是,選擇一個(gè)像素值均為100的大小與待解密圖像一致的圖像作為明文圖像,依次改變?cè)搱D像的每個(gè)像素點(diǎn)的值,然后對(duì)其進(jìn)行加密。通過追蹤密文圖像像素值的變化規(guī)律,攻擊者可以輕易地推算出“明文—密文”像素點(diǎn)的對(duì)應(yīng)關(guān)系,從而也就成功破解出了待解密圖像所對(duì)應(yīng)的原始圖像。文獻(xiàn)[7]“像素位置與比特雙重置亂的圖像混沌加密算法”使混沌系統(tǒng)的控制參數(shù)與原圖像像素點(diǎn)之和聯(lián)系起來(lái)。此時(shí)無(wú)法追蹤一個(gè)像素點(diǎn)的值,因?yàn)楫?dāng)一個(gè)像素點(diǎn)的值發(fā)生改變時(shí),像素點(diǎn)之和必然發(fā)生改變,從而整個(gè)混沌加密序列也發(fā)生了變化,最終導(dǎo)致密文圖像所有像素點(diǎn)都發(fā)生改變。但是其忽略了如果同時(shí)追蹤兩個(gè)像素點(diǎn)的值,一個(gè)像素點(diǎn)的值加1,另一個(gè)點(diǎn)的值減1,那么最終的和不會(huì)發(fā)生改變,此時(shí)通過每組追蹤兩個(gè)點(diǎn)的方式,仍可以推算出“明文—密文”像素點(diǎn)的對(duì)應(yīng)關(guān)系。

        上述的攻擊方法在本文的加密算法中是行不通的,因?yàn)楸疚牟捎昧薓D5消息摘要算法為圖像產(chǎn)生唯一的32位的字符串序列,再把字符串序列轉(zhuǎn)換為對(duì)應(yīng)的十進(jìn)制數(shù),最后轉(zhuǎn)換為[0,1]之間的數(shù)作為混沌序列的控制參數(shù)S。只要改變圖像序列的任意一個(gè)或多個(gè)像素點(diǎn),得到的序列值一定是不同的。同時(shí)由于像素值替代階段,每個(gè)像素值都會(huì)影響后面若干個(gè)元素的下一次加密結(jié)果,這樣即使想通過定位中間密文來(lái)追蹤像素點(diǎn)位置,理論上講也是完全不可行的。同理,對(duì)于選擇密文攻擊,本文算法也有良好的抵御效果。

        本文通過計(jì)算像素改變率(Number of Pixels Change Rate,NPCR)和歸一化像素值平均改變強(qiáng)度(Unified Average Changing Intensity,UACI)來(lái)衡量加密算法對(duì)明文圖像的敏感性強(qiáng)度[18]。假設(shè)兩個(gè)圖像的明文圖像只有一個(gè)像素點(diǎn)(i,j)的值不同,對(duì)應(yīng)的像素值分別為A1(i,j)和A2(i,j)。NPCR和UACI的計(jì)算公式為:

        其中,M、N分別為圖像像素的行數(shù)和列數(shù);通常NPCR與UACI比較理想的數(shù)值[19]是NPCRE=99.609 4%和UACIE=33.463 5%。本文實(shí)驗(yàn)中任取一點(diǎn)對(duì)其像素值作微小的改變,如位置為(102,15)的像素點(diǎn),將該點(diǎn)的像素值由95改變?yōu)?6,根據(jù)公式(20)、(21)可以計(jì)算出NPCR=99.609 3%,UACI=33.433 4%??梢钥闯?,實(shí)驗(yàn)結(jié)果與理想數(shù)值比較接近,明文圖像的任意像素點(diǎn)值發(fā)生微小的變化,都會(huì)使密文圖像發(fā)生顯著改變。因此,該加密算法具有較強(qiáng)的明文敏感性,同時(shí)也能有效地抵抗差分攻擊。

        4 結(jié)束語(yǔ)

        針對(duì)一些圖像加密算法無(wú)法有效的抵御差分攻擊的特點(diǎn),本文提出了一種改進(jìn)的圖像加密算法。該算法主要有三個(gè)特點(diǎn):第一,利用MD5哈希函數(shù)計(jì)算混沌系統(tǒng)的控制參數(shù),保證加密的密鑰序列與明文圖像本身緊密關(guān)聯(lián),使選擇明文攻擊失效。第二,根據(jù)密鑰序列的數(shù)值,不斷旋轉(zhuǎn)明文圖像不同位置的子矩陣塊以打亂明文圖像所有像素點(diǎn)的位置,最大程度地降低了明文像素點(diǎn)的相關(guān)性。第三,該算法定義了滑塊,使每個(gè)點(diǎn)的加密結(jié)果,都會(huì)影響滑塊內(nèi)的所有元素的加密結(jié)果,從而使圖像像素點(diǎn)之間的關(guān)系更加緊密。使攻擊者無(wú)法通過標(biāo)注像素點(diǎn)來(lái)破解密鑰序列,進(jìn)一步提高了算法抵抗選擇明文攻擊的能力。通過實(shí)驗(yàn)仿真證明,本文提出的加密算法有較大的密鑰空間。直方圖分析和像素點(diǎn)相關(guān)性分析表明,該算法能夠較好地實(shí)現(xiàn)破壞相鄰像素點(diǎn)之間的相關(guān)性,使得密文圖像具有了更好的隨機(jī)分布特性,可以有效地抵抗統(tǒng)計(jì)分析攻擊。同時(shí),該算法也具有較高的明文敏感性和密鑰敏感性,能夠有效地抵抗差分攻擊、選擇明文攻擊和選擇密文攻擊。最終實(shí)驗(yàn)表明,本文算法不僅加密效果好,同時(shí)也有較高的安全性。

        美女视频黄是免费| 亚洲天堂无码AV一二三四区| 亚洲中文一本无码AV在线无码| 欧美精品中文字幕亚洲专区| 天天做天天躁天天躁| 狠狠狠色丁香婷婷综合激情| 阿v视频在线| 国产免费精品一品二区三| 一区二区三区四区在线观看日本| 亚洲最大成人综合网720p| 狠狠的干性视频| 躁躁躁日日躁| 色二av手机版在线| 在线观看一区二区三区在线观看| 少妇性俱乐部纵欲狂欢少妇| 人妻av无码一区二区三区| 久久和欧洲码一码二码三码 | 无码中文字幕加勒比一本二本| 国产精品青草久久久久婷婷| 青青草视频在线视频播放| 日本不卡在线一区二区三区视频| 我和丰满老女人性销魂| 91久久精品美女高潮喷白浆| 国产亚洲自拍日本亚洲| 精品久久人妻av中文字幕| 精品久久久噜噜噜久久久| 久久天天爽夜夜摸| 粉嫩的18在线观看极品精品| 日本在线观看不卡一区二区| 亚洲自偷精品视频自拍| 色橹橹欧美在线观看视频高清| 青青青国产精品一区二区| 丝袜美女污污免费观看的网站| 成年毛片18成年毛片| 亚洲成人av在线播放不卡| 亚洲蜜臀av一区二区三区| 久久久久成人精品无码中文字幕| 无码人妻丰满熟妇区毛片| 欧美成人中文字幕| av网站一区二区三区| 中文字幕乱码熟女人妻在线|