• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Logistic混沌系統(tǒng)的圖像加密算法分析與改進

      2017-05-31 08:50:08廖雪峰
      軟件導刊 2017年5期

      廖雪峰

      摘要摘要:基于Logistic混沌系統(tǒng)的快速數(shù)字圖像加密算法,利用混沌序列對圖像像素值進行融合,然后對像素位置進行置亂操作。根據(jù)選擇密文攻擊原理,對該圖像加密算法進行了安全性分析,結果表明該算法不能抵抗選擇密文攻擊,攻擊者只需要選擇一幅像素值全同的密文圖像即可破解該算法的等效密鑰。提出了一種基于Logistic混沌系統(tǒng)的圖像加密改進算法,并對改進算法進行了安全性分析和實驗測試。理論分析及實驗結果表明,改進算法不僅克服了原算法不能抵御選擇密文攻擊的缺陷,而且在相鄰像素相關性、信息熵和密鑰空間等方面具有更好的密碼學特性。

      關鍵詞關鍵詞:混沌系統(tǒng);圖像加密;選擇密文攻擊;密碼分析

      DOIDOI:10.11907/rjdk.171111

      中圖分類號:TP312

      文獻標識碼:A文章編號文章編號:16727800(2017)005003903

      0引言

      混沌密碼在面向圖像等大數(shù)據(jù)加密場合比傳統(tǒng)密碼具有更多優(yōu)勢,因此混沌密碼被列為現(xiàn)代密碼學的研究前沿之一[1]?;煦缑艽a利用了混沌系統(tǒng)所具有的遍歷性、初值敏感性、參數(shù)可控性和偽隨機性等特性,這些特性正好符合密碼學中“擴散和混亂”的基本原則。文獻[2]-[5]是一些典型的“擴散和混亂”型混沌圖像加密算法。然而,目前提出的一些混沌密碼算法存在安全漏洞,如文獻[3]和[5]的算法就分別被文獻[6]和[7]破解。因此,對一些已發(fā)表的混沌密碼算法開展安全性分析研究,不僅可以避免實際應用時產生安全隱患,而且可以促進混沌密碼學的發(fā)展。

      文獻[8]提出了一種基于Logistic混沌系統(tǒng)的圖像加密算法,該算法利用混沌序列生成像素值融合加密序列和像素位置置亂序列,對圖像先后實施像素值加密和像素位置的兩輪置亂處理。該算法具有結構簡單、加密速度快的特點。然而,筆者研究發(fā)現(xiàn):文獻[8]算法不能抵抗選擇密文攻擊,攻擊者可破獲該算法的等效密鑰及密文圖像。為此,提出了一種改進的混沌圖像加密算法。理論分析和實驗結果表明,改進算法不僅能抵抗選擇明(密)文攻擊,而且比原加密算法具有更好的密碼學性能。

      1原密碼算法分析

      1.1原密碼算法概述

      文獻[8]算法采用式(1)所示Logistic混沌映射:

      xn+1=f(xn,u)=μxn(1-xn)(1)

      式(1)中,當3.57≤ μ ≤4時,迭代所得序列呈混沌特性。文獻[8]加密算法的主要思路簡述如下:

      1.1.1像素值融合處理

      該文假設輸入明文圖像PI大小為M×N,其中:M=256, N=256;原始外部密鑰key為32個字符。(1)由Key的32個字符ASCII碼值經(jīng)運算得到一個(0,1)范圍的小數(shù)x0,作為Logistic映射狀態(tài)初值。(2)將x0和μ=3.99代入公式(1), 迭代得到狀態(tài)值xi, 組成一維混沌序列X={xi},i=1,2,…, M×N, xi ∈(0, 1)。(3)設計線性變換公式(3)將xi變換成ui

      ui=a+ xi(b-a)(2)

      (4)令:a=0, b=255,將得到的ui取整得到一維序列U={ui},i=1,2,…, M×N。ui的取值范圍為[0, 255]。

      (5)把一維的整數(shù)序列U={ui}轉換為M行N列的二維矩陣,從而得到文獻[8]所描述的混沌矩陣ChM。(6)將原圖像矩陣PI和混沌矩陣ChM對應位置按照式(5)進行像素值的融合運算(其中⊕為按比特位進行異或運算的運算符),得到中間密文圖像矩陣MidPI:

      MidPI = PI⊕ChM(3)

      1.1.2像素位置置亂(1)令:a=1, b=256,再利用同樣的線性變換公式(2),得到ui取整又得到一種一維序列U={ui},i=1,2,…, M×N, 此時的ui取值范圍為[1, 256]。(2)把一維的整數(shù)序列U={ui}轉換為M行N列的二維矩陣,從而得到文獻[8]所描述的混沌地址矩陣ChA。(3)按照下列交換規(guī)則,對中間密文圖像矩陣MidPI進行像素位置置亂操作,得到置亂后的矩陣版本MidPI2: MidPI(ChA(i, i), k)與MidPI(ChA(i+1, i+1), k)交換;MidPI(k, ChA(i, i))與MidPI(k, ChA(i+1, i+1))交換。(4)把MidPI2分成4×4的小塊,再利用步驟(3)所述交換規(guī)則對這些小塊進行塊置亂,即得到最終加密圖像EI。

      1.2對原加密算法目標密文的破譯

      文獻[8]中的等價密鑰矩陣ChM和ChA僅由用戶輸入的外部密鑰Key決定,而與被加密圖像的內容無關。因此,一旦攻擊者用選擇明(密)文攻擊法破獲了ChM和ChA,即可破譯目標密文圖像。本文用選擇密文攻擊法破解文獻[8]密文,操作步驟如下:(1)選擇一幅由相同像素值組成的密文圖像C,通過公開的解密算法,即可得到相應的明文圖像PI。(2)由于密文矩陣每個元素的值都相同,因此恢復出的中間密文圖像仍然與密文圖像一致,即MidPI=C。(3)由于中間密文圖像與明文圖像之間的關系是由公式(3)決定的,因此由公式(3)反過來即可推算出ChM,即:ChM=MidPI⊕ PI=C⊕PI。(4)根據(jù)文獻[8]中ChM和ChA的生成公式(2),不難發(fā)現(xiàn)ChM與ChA之間存在如下關系:ChA(i, j)=ChM(i, j)+1。故破獲了ChM后,也就得到了ChA。(5)利用已破獲的等價密鑰ChM與ChA,即可解密目標密文圖像。

      2改進的混沌圖像加密算法

      設明文圖像、中間密文圖像和最終密文圖像的像素序列分別表示為P={pi}、B={bi}和C={ci}, i=1,2,…,L;改進算法包含一輪像素位置置亂操作和一輪像素值擴散操作。

      2.1像素位置置亂算法

      像素位置置亂算法步驟如下:(1)輸入大小為M×N的明文圖像,并將其轉化為一維像素序列P;輸入初始密鑰參數(shù):x10, x20∈(0,1); μ1, μ2∈[3.57, 4]; N0∈Z+, C0∈[1, 255]。(2)計算明文圖像所有像素的平均值m1和像素最大值m2,如果m1=m2,則省略像素置亂算法;否則,繼續(xù)執(zhí)行步驟(3)到(7)的置亂操作。(3)令 x=x10×m1/m2, μ=μ1;迭代式(1) N0次,以便消除混沌系統(tǒng)的暫態(tài)效應;并初始化置亂序列ti=i;初始化標志序列vi=0;令i=1。(4)迭代Logistic系統(tǒng),得到混沌系統(tǒng)新的狀態(tài)值x, 然后按照公式(4)由混沌系統(tǒng)當前狀態(tài)值x計算整數(shù)j的值:

      j=mod(floor(x×1014),L)+1(4)

      其中,floor(x)返回小于或等于x的最大整數(shù), mod(x, y) 返回x除以y之后的余數(shù)。(5)檢查ti和vj的值:如果j=ti,則意味著明文圖像的像素pi在中間密文圖像B中的位置也是i,相當于沒有移位;如果vj=1,則意味著B中第j個位置已經(jīng)存儲了像素值,不能再接受別的像素值存儲到該處。因此,當j=ti或vj=1時,重復步驟(4); 否則,轉步驟(6)。(6)bj=pi, 置ti值為j,并修改標志序列元素vj的值為1,即執(zhí)行語句:ti =j, vj=1。(7)i=i+1, 若i≤L,返回步驟(5);否則,算法結束。

      2.2像素值擴散加密算法

      像素值擴散加密算法步驟如下:(1)初始化:i=1,μ=μ2,,x = x20×C0/255。(2)判斷i值,若i=1, 則令di=C0; 否則令di = ci-1。(3)迭代Logistic系統(tǒng)一次,得到系統(tǒng)新的狀態(tài)值x。(4)利用當前x值按式(5)計算當前密鑰ki:

      ki= mod(floor(x×1014), 255)+1(5)

      (5)按照公式(6),對中間密文圖像的第i個像素bi進行擴散加密,得到第i個密文像素ci:

      ci =mod(bi⊕ ki+di⊕ ki, 256)(6)

      (6)i=i+1, 若i≤L,則返回到步驟(2);否則,轉步驟(7)。

      (7)將得到的密文序列C={c1, c2,…,cL}轉化為二維矩陣即得到最終加密圖像輸出,算法結束。改進算法引入了m1和m2兩個與明文圖像內容相關的密鑰參數(shù);因此,改進算法可以抵御明文攻擊和密文攻擊。

      2.3實驗仿真與性能分析

      實驗采用與文獻[8]一樣的256 × 256的8位灰度圖像Lena,在Matlab R2014a下進行實驗。原始密鑰參數(shù)取值分別為:x10=0.734123, x20=0.23,μ1=3.99, μ2=4.0, N0=500, c0=53。加密前后的圖像分別如圖1所示。

      2.3.1相鄰像素的相關性

      從圖像中選取若干相鄰像素對,按文獻[8]中的公式分別計算原始圖像和加密圖像中相鄰像素之間的相關系數(shù)(含水平、垂直和對角方向的相鄰像素),所得結果如表1所示。結果表明:原始明文圖像的相鄰像素是高度相關的(相關系數(shù)接近1),但密文圖像的相鄰像素則變得幾乎不相關(相關系數(shù)接近0)。表1也給出了文獻[8]算法所得加密圖像的相應數(shù)據(jù),結果表明,本文加密的密文圖像相鄰像素具有更低的相關性,因此抗攻擊性能更強。

      2.3.2信息熵分析信息熵指標反映圖像信息的隨機程度,其計算公式參見文獻[4]。對于256級灰度圖像,如果每一像素值出現(xiàn)的概率相等,則屬于完全隨機圖像,此時圖像的信息熵為8。因此,一幅圖像的信息熵越接近8,則它越接近隨機圖像。對本文算法加密后的密文圖像計算所得的信息熵為7.9979;而文獻[8]算法所得的密文圖像信息熵為7.985 6??梢?,本文算法比文獻[8]算法加密的圖像隨機性更強。

      2.3.3敏感性測試密文對明文或密鑰的敏感性是算法抵抗差分攻擊能力的測度,常用像素數(shù)改變率(NPCR)和歸一化平均改變強度(UACI)來度量,其計算公式參見文獻[4]。對256級灰度圖像,NPCR和UACI的理想值分別是0.996 1與0.334 6。本文取Lena圖像進行了100組加密實驗,每組實驗的明文圖像只有1個像素與原Lena的像素值相差1,得到100組NPCR與UACI值的平均值分別為0.996 1與0.334 8,這表明密文對明文具有極端敏感性。為驗證密文對密鑰的敏感性,每次對(x10, x20, μ1, μ2)密鑰中的1個施加微小改變量10-10,然后測得密鑰改變前后兩幅密文圖像之間的NPCR和UACI值,結果如表2

      3結語

      本文對一種基于Logistic混沌系統(tǒng)的圖像加密算法進行了密碼分析,用選擇密文攻擊方法破譯了該算法的等效密鑰,在此基礎上提出了改進的混沌圖像加密算法。改進算法采用密鑰與待加密圖像內容相關聯(lián)措施,克服了原算法不能抵抗選擇密文攻擊的缺陷。實驗證明,改進算法比原算法具有更好的加密性能,提高了安全性。

      參考文獻參考文獻:

      [1]廖曉峰,肖迪,陳勇,等.混沌密碼學原理及其應用[M].北京:科學出版社,2009:3739.

      [2]朱從旭,廖建華.一種基于外部密鑰和密文反饋的混沌密碼新算法[J].軟件導刊,2010,9(1):6264.

      [3]ZHANG G,LIU Q.A novel image encryption method based on total shuffling scheme[J].Optics Communications,2011,284(12): 27752780.

      [4]朱從旭,胡玉平,孫克輝.基于超混沌系統(tǒng)和密文交錯擴散的圖像加密新算法[J].電子與信息學報,2012,34(7): 17351743.

      [5]WANG X Y,XU D H.A novel image encryption scheme based on Brownian motion and PWLCM chaotic system[J].Nonlinear Dynamics,2014,75(12):345353.

      [6]ZHU C X,LIAO C L,DENG X H.Breaking and improving an image encryption scheme based on total shuffling scheme[J].Nonlinear Dynamics,2013,71(12):2534.

      [7]ZHU C X,XU S Y,HU Y P,et al.Breaking a novel image encryption scheme based on Brownian motion and PWLCM chaotic system[J].Nonlinear Dynamics,2015,79(2):15111518.

      [8]張永紅,張博.基于Logistic混沌系統(tǒng)的圖像加密算法研究[J].計算機應用研究,2015,32(6):17701773.

      責任編輯(責任編輯:杜能鋼)

      沙坪坝区| 凯里市| 泰兴市| 汉川市| 松滋市| 黄浦区| 本溪市| 双桥区| 桐乡市| 英超| 莱西市| 连江县| 赤水市| 宽甸| 扎鲁特旗| 绿春县| 通辽市| 比如县| 汶川县| 莆田市| 杨浦区| 绥芬河市| 绥棱县| 南部县| 赤壁市| 三河市| 江源县| 固始县| 格尔木市| 广灵县| 宝山区| 吕梁市| 乳源| 湟中县| 澳门| 青神县| 灵璧县| 双桥区| 江城| 新安县| 平遥县|