基于互聯(lián)網(wǎng)的超混沌圖像文件加密

超混沌信號(hào)復(fù)雜度高,可以增加載波信號(hào)的隨機(jī)性以及不可預(yù)測(cè)性。為此我們提出了一種采用超混沌信號(hào)對(duì)圖像信號(hào)所進(jìn)行的混沌掩蓋的加密方法以及在此基礎(chǔ)上所進(jìn)行的超混沌復(fù)合加密方法。

一、加密算法原理

混沌保密系統(tǒng)采用只有一個(gè)正的Lyapunov指數(shù)的低維混沌系統(tǒng),復(fù)雜度有限,在某種情況下很容易被破譯。利用具有多個(gè)正的Lyapunov指數(shù)的高維混沌系統(tǒng),可使隨機(jī)性以及不可預(yù)測(cè)性增加,產(chǎn)生更復(fù)雜的時(shí)域信號(hào),提高傳輸信號(hào)的復(fù)雜度,提高系統(tǒng)的保密性能。

1、基于超混沌的加密系統(tǒng)

該系統(tǒng)采用四階的超混沌Rossler振蕩器。

基于互聯(lián)網(wǎng)的超混沌圖像文件加密

加密端為:

基于互聯(lián)網(wǎng)的超混沌圖像文件加密

其中p(t)為信息信號(hào),也稱為明文,即待加密的圖像信號(hào),變量z起超混沌掩蓋信號(hào)的作用,即它能掩蓋信息信號(hào)p(t),因此通過(guò)信道傳輸?shù)男盘?hào)為s(p),即加密后的密文。

解密端為:

基于互聯(lián)網(wǎng)的超混沌圖像文件加密

其中變量z為超混沌去掩蓋信號(hào),它滿足:

基于互聯(lián)網(wǎng)的超混沌圖像文件加密

如加密端和解密端的算法參數(shù)即密鑰參數(shù)一致,則z=z,傳輸網(wǎng)絡(luò)是基于互聯(lián)網(wǎng),故保證s(t)無(wú)失真,因此p(t)=p(t),能正確恢復(fù)原信息信號(hào),如圖1。

基于互聯(lián)網(wǎng)的超混沌圖像文件加密

2、基于超混沌的復(fù)合加密系統(tǒng)

為了進(jìn)一步提高超混沌加密系統(tǒng)的抗破譯能力,先用n階移位密碼b1對(duì)信息信號(hào)進(jìn)行加密,

基于互聯(lián)網(wǎng)的超混沌圖像文件加密

其中:

基于互聯(lián)網(wǎng)的超混沌圖像文件加密

按式(5)對(duì)信息信號(hào)進(jìn)行遞歸加密,h和n為加密參數(shù),K(t)為混沌密鑰,這些參數(shù)如下選擇:h=4,n=30,K(t)=y(t)。

然后,再進(jìn)行超混沌掩蓋:

基于互聯(lián)網(wǎng)的超混沌圖像文件加密

根據(jù)式(7)解密端恢復(fù)的已加密信號(hào)為:

基于互聯(lián)網(wǎng)的超混沌圖像文件加密

考慮到解密規(guī)則與加密規(guī)則一樣,

基于互聯(lián)網(wǎng)的超混沌圖像文件加密

恢復(fù)信息為:

基于互聯(lián)網(wǎng)的超混沌圖像文件加密

其中een(t)由式(8)給出,而密鑰由接收端產(chǎn)生??紤]解密端與加密端算法選擇的參數(shù)相同,因此z=z,een(t)=een(t),而且傳輸端產(chǎn)生的密鑰K(t)=y(t)與接收端產(chǎn)生的密鑰K(t)=y(t)相同,根據(jù)式(5)-(10)可得出結(jié)論p(t)=p(t),見圖2,因此不用通過(guò)信道傳輸任何密鑰,接收端就能恢復(fù)明文p( t)。

基于互聯(lián)網(wǎng)的超混沌圖像文件加密

二、仿真結(jié)果

加密算法仿真時(shí),加密端與解密端采用相同的參數(shù),包括步長(zhǎng)、初始值以及加密參數(shù)h和n等,它們構(gòu)成加密算法的密鑰空間,如果解密端的密鑰與加密端的不同(在算法精度范圍內(nèi)),則不能恢復(fù)原圖像。

1、基于超混沌加密系統(tǒng)的圖像加密結(jié)果(如圖1)

2、基于超混沌復(fù)合加密系統(tǒng)的圖像加密結(jié)果(如圖2)

小知識(shí)之遞歸

程序調(diào)用自身的編程技巧稱為遞歸( recursion)。遞歸做為一種算法在程序設(shè)計(jì)語(yǔ)言中廣泛應(yīng)用。 一個(gè)過(guò)程或函數(shù)在其定義或說(shuō)明中有直接或間接調(diào)用自身的一種方法,它通常把一個(gè)大型復(fù)雜的問(wèn)題層層轉(zhuǎn)化為一個(gè)與原問(wèn)題相似的規(guī)模較小的問(wèn)題來(lái)求解,遞歸策略只需少量的程序就可描述出解題過(guò)程所需要的多次重復(fù)計(jì)算,大大地減少了程序的代碼量。