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

?

基于動態(tài)混沌映射的跨平面彩色圖像加密算法

2022-08-23 07:44:44代高樂
通化師范學(xué)院學(xué)報 2022年8期
關(guān)鍵詞:加密算法像素點密鑰

葛 斌,代高樂

隨著信息傳輸技術(shù)的快速發(fā)展,數(shù)字圖像作為一種直觀、高效的傳輸媒介,常常被人們作為傳遞信息的工具. 若圖像信息被不法分子竊取,就會對個人、企業(yè)甚至國家造成不必要的損失[1]. 傳統(tǒng)的加密算法DES、RSA 和IDEA 等主要針對文本加密,圖像加密的效果并不理想,因此,急需設(shè)計一種高效快捷的圖像加密算法進(jìn)行圖像加密[2].

混沌因具有內(nèi)在隨機(jī)性、不可預(yù)測性及對初始值的高度敏感性,被廣泛運(yùn)用于圖像加密算法中. 混沌映射包括:低維映射與高維映射. 其中,低維映射的形式簡單、運(yùn)算效率高,但安全性低[3];高維映射的參數(shù)多、安全性高,但效率低下且存在資源浪費(fèi)[4]. 因此,一些學(xué)者采用二維映射[5-8],在保證運(yùn)算效率的同時提高混沌映射的安全性.

而針對彩色圖像的加密算法而言,僅依賴混沌映射的復(fù)雜度,不足以保證其安全性,置亂和擴(kuò)散也是算法的重要組成部分. 采用bit 位的置亂方法增大了算法的計算量,加密效率較低[9-10];三通道采用同一種方法進(jìn)行加密,使得攻擊者在破解單一通道的內(nèi)容即可得到整張圖像的信息,加密算法的安全性較低[11].AHMAD 等人[12]提出運(yùn)用混沌序列排序?qū)D像進(jìn)行跨平面置亂,提高了彩色圖像整體的加密效果,但擴(kuò)散部分簡單.

鑒于已經(jīng)研究存在的不足,本文提出一種有較大混沌區(qū)間的2D HCLM 混沌映射,利用SHA-512 使密鑰與明文相關(guān),采用跨平面置亂的方法降低彩色圖像三平面像素的相關(guān)性,正反兩輪的擴(kuò)散使像素點分布均勻. 仿真結(jié)果表明,2D HCLM 映射產(chǎn)生的混沌序列更具有隨機(jī)性,所設(shè)計的跨平面彩色圖像加密算法可抵御常用的攻擊手段,具有較高的安全性.

1 動態(tài)混沌映射的設(shè)計與性能評估

1.1 2D HCLM 映射的設(shè)計

Henon 映射作為經(jīng)典的二維混沌映射,其數(shù)學(xué)表達(dá)式為:

其中:a、b為控制參 數(shù),xi和yi表示混沌序列迭代i次后的結(jié)果. 當(dāng)a∈[1.07,1.4]時,Henon映射處于混沌狀態(tài).

文獻(xiàn)[8]提出改進(jìn)的Henon 混沌映射,將Henon 映射與Iterative 映射復(fù)合,增大了混沌映射的映射范圍,增強(qiáng)了混沌映射的混沌性.當(dāng)控制參數(shù)a∈[0.8,1.5],b=0.3,r=0.1 時,該映射處于混沌狀態(tài),其定義如下:

上述映射雖然在合適的參數(shù)下具有一定的混沌性,但由于其混沌區(qū)間小,混沌行為簡單導(dǎo)致加密效果不理想. 為此,本文設(shè)計了一種動態(tài)2D HCLM 混沌映射. 通過引入余弦映射公式將混沌區(qū)間擴(kuò)展到0 附近,并嵌入動態(tài)調(diào)節(jié)參數(shù)w使得混沌行為更為復(fù)雜.2D HCLM混沌映射的定義如公式(3)所示.

其中:控制參數(shù)a∈[0,1.4],b∈[0,0.3],abs為取絕對值.

1.2 性能評估

為了驗證設(shè)計的動態(tài)2D HCLM 映射性能,主要考慮以下指標(biāo):分岔圖、李雅普諾夫指數(shù)、樣本熵和NIST 測試. 所有性能評估都是居于公式(3)中,令b=0.3,u=3.99 所得出的結(jié)果.

分岔圖可以反映出非線性系統(tǒng)的行為、描繪出系統(tǒng)從周期到混沌的運(yùn)動軌跡. 混沌映射的分岔圖達(dá)到滿映射的狀態(tài)時,說明其混沌區(qū)間連續(xù)、混沌行為復(fù)雜、混沌性好. 圖1展示了混沌映射的分岔圖,其中圖1(a)為傳統(tǒng)Henon 映射、圖1(b)為文獻(xiàn)[8]提出的改進(jìn)的Henon 映射、圖1(c)為2D HCLM 映射的分岔圖. 從圖1 中可以看出,2D HCLM 映射在控制參數(shù)a取值范圍相同的情況下混沌區(qū)間更廣,混沌行為更為復(fù)雜.

圖1 Henon、改進(jìn)Henon 和2D HCLM 分岔圖

李雅普諾夫指數(shù)(LE)描述了相空間中兩條相鄰軌跡之間的平均指數(shù)收斂或發(fā)散速率. 當(dāng)LE 曲線在0 的上方時,混沌映射處于混沌狀態(tài). 且李雅普諾夫指數(shù)越大,混沌映射的混沌性能越好. 圖2 展示了混沌映射的LE 曲線圖. 圖2(a)為傳統(tǒng)Henon 映射,圖2(b)為改進(jìn)的Henon 映射,圖2(c)為2D HCLM 映射. 從圖中可以看出2D HCLM 映射與前兩者相比李雅普諾夫指數(shù)更大,具有更復(fù)雜的混沌行為.

圖2 Henon、改進(jìn)Henon 和2D HCLM 李雅普諾夫指數(shù)圖

樣本熵(Sample Entropy)通過度量信號中產(chǎn)生新模式的概率大小來衡量時間序列復(fù)雜性,新模式產(chǎn)生的概率越大,序列的復(fù)雜性就越大.2D HCLM 混沌映射與改進(jìn)的Henon 樣本熵對比如圖3 所示,從圖中可以看出2D HCLM混沌映射的樣本熵均大于1.5,效率更高且具有更好的混沌性.

圖3 樣本熵對比圖

隨機(jī)性檢驗套件NIST SP 800-22 Test Suite是用于測試序列的隨機(jī)性,為滿足NIST 測試要求,首先對16 000 000 個混沌序列值進(jìn)行二值化處理,然后對取得的128 000 000 位二進(jìn)制序列進(jìn)行NIST 檢驗. 對于隨機(jī)性檢驗,每一項都會產(chǎn)生[0,1]的P值,當(dāng)P值大于顯著性水平(α=0.01)時,則表示二進(jìn)制序列通過測試且滿足隨機(jī)性特點,從表1 結(jié)果可以看出2D HCLM 的兩組混沌序列測試結(jié)果均大于0.01,說明2D HCLM 映射具有良好的隨機(jī)性.

表1 NIST 測試

2 加密算法

本文提出一種基于2D HCLM 映射具有自適應(yīng)的跨平面彩色圖像加密算法. 該算法利用2D HCLM 映射產(chǎn)生的混沌序列對圖像進(jìn)行加密,加密過程可分為兩輪置亂、兩輪擴(kuò)散操作,算法流程圖如圖4 所示.2D HCLM 映射使用SHA-512 產(chǎn)生的密鑰作為混沌映射的初始值,并隨機(jī)選取控制參數(shù)值,生成的混沌序列用于行列置亂和非序列擴(kuò)散. 在擴(kuò)散操作時,結(jié)合三通道像素點迭代,增強(qiáng)了密文的擴(kuò)散性. 本文通過上述方式提高了算法的安全性,密文圖像可有效抵抗常見的攻擊手段.

圖4 加密算法流程圖

2.1 生成初始值密鑰

將與明文相關(guān)的密鑰作為混沌映射的初始值,以達(dá)到一次一密的效果,可有效抵抗密文攻擊提高算法安全性. 具體操作步驟如下:

步驟1:對明文圖像I 進(jìn)行SHA-512 操作,得到長度為128 位16 進(jìn)制的密鑰key.

步驟2:將16 進(jìn)制的密鑰key 轉(zhuǎn)換為二進(jìn)制字符串,獲得一個長512 位的key1.

步驟3:對key1 執(zhí)行每兩位異或操作,獲得長度減半的256 位字符串key2.

步驟4:根據(jù)公式(4)對key2 進(jìn)行處理,得到4 個長度為64 位的子密鑰,分別為K1、K2、K3和K4.l表示起始位,h表示中止位.

步驟5:根據(jù)公式(5)和公式(6)生成2D HCLM 混沌映射所需的初始值x0、x1、y0 和y1.

2.2 生成混沌序列

通過上述操作,可得到2D HCLM 映射兩組初始值x0、y0、x1 和y1,置亂和擴(kuò)散所需的混沌序列生成步驟如下:

步驟1:輸入隨機(jī)選取的初始值x∈[0,1]和參數(shù)u=3.99,并代入公式(1)中迭代(v+M×N)次,舍棄前v=1 000 個數(shù),再利用公式(7)對混沌序列處理得到偽隨機(jī)序列X.

其 中:xm為 舍棄v個數(shù) 后 的混沌 序列,mod為模運(yùn)算.

步驟2:將X重新組合成一個大小為M×N的矩陣L,用于像素點的跨平面置亂.

步驟3:隨機(jī)選取系統(tǒng)控制參數(shù)a0、b0 和u,以及通過公式(6)得到的初始值x0 和y0 代入公式(3),經(jīng)過(v+max(M,N×3))次迭代,并舍去前v個數(shù)使混沌序列達(dá)到更為混沌的狀態(tài),生成兩組偽隨機(jī)序列X0、Y0. 再運(yùn)用公式(8)、公式(9)得到混沌序列A0、B0,A0、B0分別用于數(shù)字圖像矩陣的行、列置亂.

其中:abs表示為取絕對值;max 表示為取最大值;ceil表示為向上取整.

步驟4:設(shè)置隨機(jī)控制參數(shù)a1、b1 和u,初始值x1 和y1,代入公式(3)中迭代(v+M×N× 3)次,前v個數(shù)作為無用的迭代結(jié)果,并代入公式(8)、公式(9)得到兩組混沌序列A1、B1,用于兩輪擴(kuò)散. 此時,已經(jīng)產(chǎn)生了五組所需的混沌序列.

2.3 加密過程

步驟1:輸入大小為M×N的彩色圖像I,并將其拆分為R、G、B 三個通道,分別對應(yīng)矩陣Ir、Ig、Ib.

步驟2:根據(jù)表2 中的規(guī)則和矩陣L中對應(yīng)的數(shù)字,對矩陣Ir、Ig、Ib進(jìn)行像素點的跨平面置亂并將三平面組合為矩陣P(M×N× 3),具體操作如圖5 所示.

表2 像素點排列規(guī)則

圖5 跨平面置亂

步驟3:對矩陣P進(jìn)行擴(kuò)展Z字形置亂操作,得到置亂后的矩陣P',如圖6 所示.

圖6 擴(kuò)展Z 字形掃描

步驟4:對混沌序列A0、B0 進(jìn)行排序,如圖7 所示. 利用A0 所得到的索引序列對矩陣P' 進(jìn)行列排序,利用B0 所得到的索引序列對矩陣P' 進(jìn)行行排序,最終得到行列排序后的矩陣Q(M×N× 3),矩陣索引排序如圖8 所示.

圖7 混沌序列排序

圖8 矩陣按索引排序置亂

步驟5:利用混沌序列A1 構(gòu)造矩陣T,根據(jù)公式(10)對矩陣Q進(jìn)行正向非序列擴(kuò)散得到矩陣D. 其中T(i,j)為 偽 隨 機(jī) 矩 陣的像素值;Q(i,j)為置亂后矩陣的像素值;D(i,j)為正向擴(kuò)散后矩陣的像素值.

步驟6:利用混沌序列B1 構(gòu)造矩陣S,根據(jù)公式(11)對矩陣D進(jìn)行反向非序列擴(kuò)散得到 矩陣E. 其中S(i,j)為偽 隨機(jī)矩 陣的像 素值;D(i,j)為正向擴(kuò)散后矩陣的像素值;E(i,j)為反向擴(kuò)散后矩陣的像素值.

步驟7:利用公式(12)將矩陣E組合成密文圖像C.

2.4 解密過程

解密過程為加密過程的逆過程. 首先,將密鑰和控制參數(shù)代入2D HCLM 映射中產(chǎn)生所需要的偽隨機(jī)序列;接著,進(jìn)行正反兩輪逆擴(kuò)散和逆行列置亂;然后,實施反向Z 字形置亂和跨平面重組,得到解密后的明文圖像.

3 仿真實驗與安全性分析

為證明所設(shè)計彩色圖像加密方案的有效性,實驗選取圖像處理標(biāo)準(zhǔn)測試數(shù)據(jù)集中多組不同的彩色圖像作為測試對象,在MAT‐LABR2017a 的仿真環(huán)境中進(jìn)行測試.

3.1 密鑰空間

加密算法的密鑰空間至少大于2100即128位才能滿足對抗暴力攻擊加密的條件. 在本文設(shè)計的加密算法中采用SHA-512 所產(chǎn)生的密鑰有2D HCLM 中的控制參數(shù)a0、a1、b和u,以及初始值x、x0、x1、y0、y1. 本文設(shè)計算法的密鑰空間為2512遠(yuǎn)大于2100. 因此,該加密算法可有效抵抗暴力攻擊.

3.2 密鑰敏感度分析

高度敏感的密鑰是一個加密算法的必要條件,密鑰值細(xì)微改變而加密圖像有明顯變化,說明密鑰敏感性強(qiáng).

為了測試密鑰的敏感性,以圖9 為例. 圖9 中(a)為原始圖像;(b)為用K1 加密的圖像;(c)為用K2 加密的圖像;(d)為用K1 正確解密的圖像;(e)為用K3 錯誤解密的圖像. 實驗獲取一個密鑰值K1,并兩次隨機(jī)改變K1 小數(shù)點后的某一位數(shù)得到K2 和K3. 用2D HCLM 映射的初始值K1=0.5 和K2=K1+10-14進(jìn)行兩次加密后圖像像素點均勻分布看不出任何明文信息,但兩次加密后的效果明顯不同. 圖中展示了用K1=0.5 和K3=K1-10-14兩個不同的密鑰解密的結(jié)果,從兩個解密的圖像中可以看出即使對密鑰值進(jìn)行細(xì)微的改動也會得到兩種不同的結(jié)果. 兩個實驗表明,采用2D HCLM的加密算法對密鑰和初始值極其敏感.

圖9 密鑰敏感性測試

3.3 信息熵分析

信息熵是分析圖像信息的隨機(jī)性指標(biāo),加密后的圖像信息熵越高,表示像素隨機(jī)性越好,圖像加密效果越好. 本文算法通過兩輪置亂和兩輪擴(kuò)散充分隱藏了原圖像的內(nèi)容,進(jìn)而增大了密文圖像的信息熵. 信息熵的計算方法如公式(13)所示.

其中:a表示為灰度值隨機(jī)變量,N代表圖像的灰度,P(ai)表示灰度值出現(xiàn)的概率. 變量不確定性越大,信息熵也就越大,所以獲得圖像內(nèi)容的信息量也就越少,加密圖像的理想信息熵為8[10].

表3 展示了幾種算法對彩色Lena(256×256)圖片進(jìn)行加密后信息熵的對比,實驗結(jié)果表明本文提出的算法具有良好的加密效果.

表3 不同算法Lena 的信息熵

3.4 直方圖分析

圖像的直方圖反應(yīng)了圖像像素的分布密度,加密圖像的像素點分布越均勻,攻擊者越難從像素值的數(shù)量預(yù)測明文信息,加密效果越好. 本文算法采用非序列擴(kuò)散方法修改置亂圖像的像素值,使像素值分布均勻以抵抗統(tǒng)計攻擊.

實驗選取Baboon 作為測試圖像,圖片加密前后直方圖對比如圖10 所示,展示了不同圖像在加密前后R、G、B 三個通道的直方圖對比. 從圖10 中的直方圖對比可以看出加密前后的直方圖具有明顯差異.

圖10 加密前后圖像直方圖

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

加密算法對數(shù)字圖像進(jìn)行加密后若不能夠降低水平方向、垂直方向和對角線方向上的相關(guān)性,則加密后的圖像更容易受到統(tǒng)計攻擊. 本文算法采用跨平面置亂與Z 字形置亂相結(jié)合的方式進(jìn)行一輪置亂,再根據(jù)混沌序列進(jìn)行二輪行列置亂有效降低了相鄰像素間的相關(guān)性.

實驗隨機(jī)選取3 000 對像素點做100 組測試其相關(guān)性,用加密后Lena 的像素相關(guān)性與有關(guān)的算法實驗作對比如表4 所示,實驗結(jié)果顯示,加密后的像素點相關(guān)性趨近于0,表明本文提出的加密算法可以有效去除相鄰像素間的相關(guān)性.

表4 不同算法中Lena 的像素相關(guān)性

3.6 差分攻擊

差分攻擊是另一種安全攻擊方式,具體是使用相同的加密算法對兩個差異較小的明文圖像分別進(jìn)行加密,通過不同密文間的差別建立起明文與密文之間的關(guān)系,從而破解密文. 本算法利用SHA-512 生成與明文相關(guān)的密鑰值,達(dá)到一次一密的效果,提高了加密算法的安全性. 因此,即使對明文圖像進(jìn)行微小的改變,也會導(dǎo)致兩次加密的密文圖像有顯著區(qū)別.

為了檢驗圖像是否具有良好地抵抗差分攻擊,本實驗用NPCR(像素數(shù)變換率)和UACI(像素平均變化強(qiáng)度)來檢測本文提出的加密算法的性能,NPCR 和UACI 的計算方法如下:

其 中:M×N是 一 個 色 平 面 的 大 小,E1 和E2表示只有一個像素點不同的色平面加密后的密文圖像,D(i,j)表示兩個密文像素不同點的個數(shù),Q表示最大允許的像素值.

理論上NPCR 的值應(yīng)大于99.609 4%,且數(shù)值越大越好;UACI 的理論值為33.463 5%,數(shù)值越接近加密效果越好. 隨機(jī)改變原圖像的一個像素點進(jìn)行二次加密,并與第一次加密結(jié)果作對比,計算兩次加密圖像的NPCR 和UACI 的數(shù)值,以Lena 為代表測試加密圖像并與先前提出的幾種算法進(jìn)行對比,實驗結(jié)果如表5 所示.

表5 不同加密算法Lena 的NPCR 和UACI

4 結(jié)語

結(jié)合已有的混沌映射和圖像加密算法的優(yōu)缺點,本文提出了一種自適應(yīng)圖片大小、安全可靠的彩色圖像加密算法. 主要是利用2D HCLM 映射生成混沌序列,基于這種安全的混沌序列,設(shè)計跨平面Z 字形置亂和非序列擴(kuò)散,快速、高效地增強(qiáng)了圖像加密算法安全性和可靠性.

在實際應(yīng)用中,有時需要對高分辨率圖像進(jìn)行加密處理. 為了避免資源浪費(fèi),提高加密效率,在下一步的研究中,將運(yùn)用分塊與置亂擴(kuò)散并行執(zhí)行的方法提高加密速度,節(jié)省資源開銷.

猜你喜歡
加密算法像素點密鑰
探索企業(yè)創(chuàng)新密鑰
密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
基于canvas的前端數(shù)據(jù)加密
一種對稱密鑰的密鑰管理方法及系統(tǒng)
基于ECC的智能家居密鑰管理機(jī)制的實現(xiàn)
基于逐像素點深度卷積網(wǎng)絡(luò)分割模型的上皮和間質(zhì)組織分割
基于小波變換和混沌映射的圖像加密算法
Hill加密算法的改進(jìn)
基于Node-Cell結(jié)構(gòu)的HEVC幀內(nèi)編碼
對稱加密算法RC5的架構(gòu)設(shè)計與電路實現(xiàn)
丹寨县| 靖安县| 资源县| 凌云县| 苍山县| 哈巴河县| 中西区| 莱芜市| 乐亭县| 花垣县| 加查县| 公主岭市| 甘德县| 富阳市| 湖南省| 玉屏| 邢台县| 大同县| 桐庐县| 九江县| 滨海县| 大洼县| 宝坻区| 南宫市| 玉溪市| 社旗县| 海城市| 清河县| 合川市| 东平县| 苏尼特左旗| 安平县| 巫溪县| 灌南县| 八宿县| 太谷县| 许昌县| 石景山区| 藁城市| 原平市| 上虞市|