摘 要:為實(shí)現(xiàn)多種場景下大容量三維圖像的實(shí)時(shí)、安全傳輸,本文提出了一種基于勞倫茲(Lorenz)超混沌系統(tǒng)和DNA計(jì)算的三維圖像加密算法。首先,該算法利用明文圖像的哈希值進(jìn)行密鑰擴(kuò)展。其次,采用Lorenz超混沌系統(tǒng)生成的偽隨機(jī)矩陣來確定DNA編碼、重組、計(jì)算和解碼的規(guī)則與次序。最后,基于“一像素一規(guī)則”思想,利用DNA計(jì)算的高度并行性有效提高了算法的加密和解密效率。仿真試驗(yàn)和性能分析表明,該算法具有良好的統(tǒng)計(jì)性能,滿足安全性要求,并能有效抵御各種常規(guī)的密碼攻擊。
關(guān)鍵詞:圖像加密;信息安全;超混沌系統(tǒng);DNA計(jì)算
中圖分類號:TN 919 " " " " " " 文獻(xiàn)標(biāo)志碼:A
隨著5G通信和大數(shù)據(jù)應(yīng)用的快速發(fā)展,互聯(lián)網(wǎng)中的圖像數(shù)據(jù)量呈指數(shù)級增長,然而,大部分圖像都以明文形式存儲(chǔ)和傳輸,這會(huì)帶來一些安全和隱私問題。圖像加密是保護(hù)圖像機(jī)密性最直觀、有效的技術(shù)之一,它能夠?qū)⒚魑膱D像按照特定的規(guī)則轉(zhuǎn)換成類似隨機(jī)噪聲的密文圖像。混沌系統(tǒng)具有對初始值和控制參數(shù)的高度敏感性、良好的偽隨機(jī)性、遍歷性和不可預(yù)測性等固有特性,這些特性使其能夠滿足密碼學(xué)的要求。唐旭等[1]設(shè)計(jì)了一種基于羅斯勒(Rossler)超混沌系統(tǒng)的圖像加密算法,該算法能夠滿足軍事圖像加密傳輸過程中對高安全性的要求。李德新等[2]設(shè)計(jì)了一種基于陳氏(Chen)混沌系統(tǒng)和菲涅爾變換的多彩色圖像光學(xué)加密方法,其中,高維混沌相位掩碼的所有參數(shù)均可作為密鑰,有效提高了系統(tǒng)的密鑰敏感性。隨著3D建模技術(shù)的日益成熟,三維圖像逐步走進(jìn)了大眾的視野。與二維圖像相比,三維圖像的數(shù)據(jù)量更大、結(jié)構(gòu)更復(fù)雜。在上述研究工作的基礎(chǔ)上,本文設(shè)計(jì)了一種基于Lorenz超混沌系統(tǒng)和DNA計(jì)算的高效三維圖像加密算法。仿真試驗(yàn)結(jié)果表明,與現(xiàn)有的其他算法相比,本文算法具有更快的加密、解密速度和更高的安全性。
1 基礎(chǔ)理論
1.1 Lorenz超混沌系統(tǒng)
Lorenz超混沌系統(tǒng)是對經(jīng)典Lorenz系統(tǒng)的擴(kuò)展,這是美國氣象學(xué)家愛德華·諾頓·洛倫茨(Edward Norton Lorenz)1963年在利用三維常微分方程描述天氣變化的過程中發(fā)現(xiàn)的非線性動(dòng)力學(xué)系統(tǒng)。其動(dòng)力方程如公式(1)所示。
(1)
式中:、、和為變化率;x、y、z和w為狀態(tài)變量;a、b、c和r為控制參數(shù)。當(dāng)a=10、b=8/3、c=28并且-1.52≤r≤-0.06時(shí), 系統(tǒng)處于超混沌狀態(tài)。
本文設(shè)計(jì)的算法取r=-1,經(jīng)過計(jì)算得到4個(gè)李雅普諾夫(Lyapunov)指數(shù),分別為λ1=0.338 1、λ2=0.158 6、λ3=0.158 6、
λ4=15.175 2。與低維混沌系統(tǒng)相比,Lorenz超混沌系統(tǒng)有4個(gè)狀態(tài)變量和2個(gè)正的Lyapunov指數(shù),從而具有更大的密鑰空間和更復(fù)雜的動(dòng)力學(xué)行為。該系統(tǒng)不存在短周期效應(yīng),能夠生成高質(zhì)量的混沌序列。其隨機(jī)性和不可預(yù)測性更能滿足圖像加密算法的要求。
1.2 DNA計(jì)算
DNA,即脫氧核糖核酸,是由脫氧核苷酸組成的大分子聚合物,攜帶生物體內(nèi)的遺傳信息。DNA序列包含4種類型的堿基,分別是腺嘌呤(A)、胸腺嘧啶(T)、胞嘧啶(C)和鳥嘌呤(G)。其中,A和T是互補(bǔ)的,C和G也是互補(bǔ)的。在二進(jìn)制中,0和1是互補(bǔ)的,因此00和11、01和10也是互補(bǔ)的?;谶@一點(diǎn),每種堿基都可以用2位二進(jìn)制數(shù)來表示。根據(jù)沃森-克里克(Watson-Crick)互補(bǔ)配對原則[3],共有8種有效的編碼規(guī)則(見表1)。
為了進(jìn)一步提高加密的強(qiáng)度,本文算法對DNA序列進(jìn)行了計(jì)算。表2~表4分別列出了DNA加法、減法和異或運(yùn)算法則。在這些法則中,加法和異或運(yùn)算均滿足交換律,而減法與加法互為逆運(yùn)算,異或運(yùn)算是其自身的逆運(yùn)算。通過DNA計(jì)算,可以同時(shí)實(shí)現(xiàn)圖像的置亂與擴(kuò)散并且這些操作能夠并行執(zhí)行,從而提高了計(jì)算效率。
2 算法設(shè)計(jì)
在本節(jié)中,筆者基于Lorenz超混沌系統(tǒng)和DNA計(jì)算法則,提出了一種新型的高效三維圖像加密算法。首先,計(jì)算明文圖像的哈希值,對初始密鑰進(jìn)行擴(kuò)展,以增強(qiáng)密鑰與明文之間的相關(guān)性。其次,利用Lorenz超混沌系統(tǒng)生成偽隨機(jī)矩陣,該矩陣將用于后續(xù)的DNA計(jì)算過程。最后,基于“一像素一規(guī)則”的設(shè)計(jì)思想,依次對明文圖像進(jìn)行DNA編碼、重組、計(jì)算和解碼操作,從而得到密文圖像。加密流程如圖1所示。三維圖像的大小為M×N×L,其中M、N和L分別為圖像的高度、寬度和深度,像素值為0~255的整數(shù),可以表示為1個(gè)三維矩陣。將明文圖像記作P,密文圖像記作C,下面將詳細(xì)介紹加密和解密算法的具體步驟。
2.1 圖像加密算法
將密鑰記作{x01,y01,z01,w01,x02,y02,z02,w02},其中{x01,y01,z01,w01,x02,y02,z02,w02}為2組Lorenz超混沌系統(tǒng)的初始值。圖像加密算法的具體步驟如下。
第一步:使用SHA-256函數(shù)計(jì)算明文圖像P的256 bit哈希值,記作H=[h1,h2,…,h32]。h為8 bit二進(jìn)制數(shù)。其中,hi={hi1,hi2,…,hi8},i=1,2,…,32。
第二步:在初始密鑰中添加明文相關(guān)性,得到相關(guān)密鑰,如公式(2)和公式(3)所示。
(2)
(3)
第三步:將x01、y01、z01和w01作為初始值代入Lorenz超混沌系統(tǒng),生成4個(gè)長度為MN的混沌序列,分別記作X1、Y1、Z1以及W1。隨后,將這個(gè)混沌序列轉(zhuǎn)換成大小為M×N的二維矩陣并進(jìn)行進(jìn)一步處理,以得到DNA序列重組所需的循環(huán)移位次數(shù)矩陣,分別記作R1、R2、R3以及R4,這一過程如公式(4)所示。
(4)
式中:abs為取絕對值的函數(shù);floor為向下取整的函數(shù);L為圖像的深度。
第四步:將x02、y02、z02和w02作為初始值代入Lorenz超混沌系統(tǒng),生成4個(gè)長度為MNL的混沌序列,分別記作X2、Y2、Z2以及W2。隨后,將其轉(zhuǎn)換成大小為M×N×L的二維矩陣并進(jìn)行進(jìn)一步處理,以得到DNA編碼規(guī)則矩陣S1、計(jì)算規(guī)則矩陣S2、解碼規(guī)則矩陣S3以及偽隨機(jī)矩陣S4,這一過程如公式(5)所示。
(5)
第五步:基于“一像素一規(guī)則”的思想,對明文圖像中的各像素進(jìn)行DNA編碼,編碼規(guī)則根據(jù)S1確定,得到三維矩陣A1。同樣,對偽隨機(jī)矩陣S4進(jìn)行DNA編碼,得到三維矩陣B。
第六步:由于像素被編碼成長度為4的DNA序列,因此以單個(gè)堿基為基本單位,沿著三維矩陣的深度方向進(jìn)行4組循環(huán)移位,移位次數(shù)根據(jù)R1、R2、R3以及R4確定。這樣對DNA序列進(jìn)行重組,得到三維矩陣A2。
第七步:對A1與B進(jìn)行DNA計(jì)算,計(jì)算規(guī)則根據(jù)S2確定,0對應(yīng)加法運(yùn)算,1對應(yīng)減法運(yùn)算,2對應(yīng)異或運(yùn)算,得到三維矩陣A3。
對計(jì)算結(jié)果進(jìn)行DNA解碼,解碼規(guī)則根據(jù)S3確定,從而得到密文圖像C。
2.2 圖像解密算法
圖像解密算法的流程與加密流程相反且不包括密鑰擴(kuò)展。將作為密鑰的兩組初始值代入Lorenz超混沌系統(tǒng),經(jīng)過處理后生成用于確定DNA編碼、重組、計(jì)算和解碼規(guī)則與次序的偽隨機(jī)矩陣。然后對密文圖像依次進(jìn)行DNA編碼、計(jì)算、重組和解碼,即可恢復(fù)為明文圖像。
3 試驗(yàn)分析
3.1 仿真結(jié)果
仿真試驗(yàn)使用的計(jì)算機(jī)配置為Intel(R) Core(TM) i7-10700 CPU@2.90GHz,16 GB內(nèi)存,64位Windows 11操作系統(tǒng)。編譯環(huán)境為Anaconda 3,Python 3.9.13??紤]到三維圖像在醫(yī)學(xué)領(lǐng)域的廣泛應(yīng)用前景,試驗(yàn)數(shù)據(jù)選取自哈佛大學(xué)網(wǎng)絡(luò)在線腦部解剖以及影像學(xué)圖譜庫的MRI三維醫(yī)學(xué)圖像,大小為256×256×127。不失一般性,初始密鑰設(shè)置為{x01=0.81600441,y01=0.065 723 57,z01=0.387 824 3,w01=0.967 964 15,
x02=0.184 156 91,y02=0.592 601 19,z02=0.019 938 78,
w02=0.372 526 74}。圖2展示了MRI三維圖像的加密和解密結(jié)果。從圖2可以看出,密文圖像呈現(xiàn)噪聲狀,從中無法獲取任何視覺信息;而解密圖像與明文圖像完全相同,表明加密、解密流程未造成任何信息損失。
3.2 效率分析
開發(fā)三維圖像加密算法的一個(gè)重要目的是提高效率。在相同的硬件和軟件環(huán)境下,分別使用本文算法和文獻(xiàn)[4-6]中的算法對圖2(a)所示的MRI三維圖像進(jìn)行了加密、解密試驗(yàn),試驗(yàn)結(jié)果見表5??梢钥闯?,DNA計(jì)算具有高度并行性,本文算法的加密、解密速度分別達(dá)到了10.015 1 Mbit/s和10.396 0 Mbit/s,顯著高于其他算法。
3.3 直方圖分析
直方圖可以直觀地反映圖像中各像素值的分布情況。圖3展示了明文和密文圖像對應(yīng)的直方圖??梢钥闯?,圖3(a)呈現(xiàn)出極其不均勻的分布,像素值為0的頻率遠(yuǎn)高于其他像素值,這是因?yàn)镸RI醫(yī)學(xué)圖像的邊緣區(qū)域較暗。相比之下,圖3(b)是平坦的,呈現(xiàn)均勻分布,這表明加密過程可以很好地隱藏明文圖像的統(tǒng)計(jì)特征,有效地抵御直方圖分析攻擊。
3.4 相關(guān)性分析
由于三維圖像存在較多的信息冗余,相鄰像素間具備強(qiáng)相關(guān)性,因此性能良好的加密算法必須有效降低相鄰像素間的相關(guān)性。不失一般性,分別沿著水平、垂直、對角和反對角方向隨機(jī)選取了5 000對相鄰像素,繪制了明文和密文圖像的相關(guān)性相圖,如圖4所示??梢钥闯?,在各方向上,圖4(a)中的相點(diǎn)大多分布于相平面的對角線附近,而圖4(b)中的相點(diǎn)均勻分布于相平面上,這表明加密過程消除了明文圖像的相鄰像素強(qiáng)相關(guān)性。
3.5 密鑰空間分析
研究表明,密鑰空間至少需要gt;2100,當(dāng)加密算法遭受暴力破解攻擊時(shí)可以保障其安全性[7]。本文算法中采用Lorenz超混沌系統(tǒng)的初始值{x01,y01,z01,w01,x02,y02,z02,w02}作為密鑰,由于初始值精度為10-14,因此密鑰空間大小為1014×8=10112,足以抵御任何形式的暴力破解攻擊。
3.6 明文敏感性分析
明文敏感性分析旨在衡量加密算法對明文圖像中任意微小變化的敏感性。首先,隨機(jī)選取明文圖像中任一像素點(diǎn)的任一比特位進(jìn)行反轉(zhuǎn),從而生成1幅新的明文圖像。其次,使用同一密鑰對原始明文圖像和新生成的明文圖像進(jìn)行加密,得到2幅密文圖像。最后,對比這2幅密文圖像的差異。為了量化這種差異,通常采用像素?cái)?shù)改變率(NPCR)[8]和平均強(qiáng)度變化率(UACI)[9]作為評價(jià)指標(biāo)。重復(fù)進(jìn)行了100組試驗(yàn),在每組試驗(yàn)中,隨機(jī)反轉(zhuǎn)明文圖像中任一像素點(diǎn)的任一比特位,對這100組試驗(yàn)的結(jié)果進(jìn)行計(jì)算,得到了NPCR和UACI的均值,見表6。從表6中的數(shù)據(jù)可以看出,與文獻(xiàn)[4-6]中提到的算法相比,本文算法在NPCR和UACI兩項(xiàng)指標(biāo)上的表現(xiàn)更接近理論值,這表明本文提出的的加密算法具有良好的明文敏感性,能夠有效地抵御差分攻擊。
4 結(jié)論
將Lorenz超混沌系統(tǒng)與DNA計(jì)算相結(jié)合,本文提出了一種新型的三維圖像加密算法。首先,通過計(jì)算明文圖像的哈希值并進(jìn)行密鑰擴(kuò)展,增強(qiáng)了密鑰與明文的相關(guān)性。其次,利用Lorenz超混沌系統(tǒng)初始值的高精度確保了密鑰空間的充足性。最后,對明文圖像依次進(jìn)行DNA編碼、重組、計(jì)算和解碼,其中DNA計(jì)算的高度并行性有效控制了加密、解密時(shí)間,同時(shí)DNA序列的復(fù)雜性也增強(qiáng)了算法抵抗各項(xiàng)攻擊的能力。仿真結(jié)果和安全分析表明,本文算法能夠高效地將三維圖像加密為類似隨機(jī)的噪聲狀圖像,具有均勻分布的直方圖和較低的相鄰像素相關(guān)性,滿足安全性要求。此外,該算法的密鑰空間較大,敏感性和魯棒性較強(qiáng),可抵御差分攻擊,可選擇明文攻擊等常規(guī)的密碼攻擊。綜上所述,本文算法對實(shí)現(xiàn)多種場景下大容量三維圖像實(shí)時(shí)、安全的傳輸具有一定的應(yīng)用價(jià)值。
參考文獻(xiàn)
[1]唐旭,舒立鵬,范繼,等.基于Rossler超混沌系統(tǒng)的軍事圖像加密算法研究[J].火炮發(fā)射與控制學(xué)報(bào),2022,43(2):32-38.
[2]李德新,王銳.基于混沌與菲涅爾變換的多彩色圖像加密算法[J].傳感技術(shù)學(xué)報(bào),2023,36(6):928-936.
[3]WATSON J D, CRICK F H C.Molecular structure of nucleic acids :
A structure for deoxyribose nucleic acid [J].Nature,1953,171(4356):737-738.
[4]高國靜,呂慶文.基于復(fù)合混沌的魯棒型醫(yī)學(xué)圖像加密算法[J].計(jì)算機(jī)與現(xiàn)代化,2021(6):107-112.
[5]黃佳鑫,趙凱悅,李佳文,等.基于Logistic-Sine-Cosine映射的圖像加密算法[J].科學(xué)技術(shù)與工程,2023,23(27):11713-11721.
[6]秦秋霞,梁仲月,徐毅.一種基于分段線性混沌映射的醫(yī)學(xué)圖像加密算法[J].大連民族大學(xué)學(xué)報(bào),2023,25(1):57-63.
[7]ALVAREZ G,LI S. Some basic cryptographic requirements for
chaos-based cryptosystems [J].International journal of bifurcation and chaos,2011, 16(8): 2129-2151.
[8]ZHANG Y.A chaotic system based image encryption scheme with
identical encryption and decryption algorithm [J].Chinese journal of electronics, 2017,26(5):1022-1031.
[9]MOAFIMADANI S S,CHEN Y, TANG C.A new algorithm
for medical color images encryption using chaotic systems[J].Entropy,
2019,21(6):577.