圖像文件加密在△調(diào)制復(fù)雜動(dòng)力系統(tǒng)中的應(yīng)用

△調(diào)制復(fù)雜動(dòng)力系統(tǒng)有其豐富的演化行為,在一定的參數(shù)范圍內(nèi)能產(chǎn)生混沌序列,其產(chǎn)生的混沌序列具有良好的偽隨機(jī)性、遍歷性和初值敏感性,基于此系統(tǒng),我們提出了一種圖像文件加密方法。

一、序列加密體質(zhì)

加密體制是從消息集合(通常是有限的)到密文集合的有限可逆變換族。加密體制主要有兩部分組成,一部分叫做加密算法,另一部分叫做密鑰。

序列加密體制的思想起源于20世紀(jì)20年代。最早的二進(jìn)制密碼系統(tǒng)將英文字母變成二進(jìn)制波多電碼(五位),明文信息為二進(jìn)制數(shù)字序列,密鑰序列也為二進(jìn)制數(shù)字序列,加密是將明文序列和密鑰序列按照逐位模2加進(jìn)行,解密也是按照密文序列和密鑰序列逐位模2加進(jìn)行。如果在加密過程中所使用的密鑰序列是完全隨機(jī)的二進(jìn)制序列,這種體制可以認(rèn)為是“一次一密”體制。Shannon證明了一次一密加密體制是不可破解的。這一結(jié)果給密碼學(xué)的研究以很大的刺激。然而,一次一密體制的密鑰產(chǎn)生、分配和管理極為困難。因此,要實(shí)現(xiàn)真正的一次一密系統(tǒng)的比較困難。分組密碼和公鑰密碼速度受限制,無法實(shí)現(xiàn)對(duì)信道的加密,只有流密碼才能實(shí)現(xiàn)告訴加密。隨著微電子技術(shù)和計(jì)算機(jī)的發(fā)展,基于偽隨機(jī)序列的序列密碼就應(yīng)運(yùn)而生。由于偽隨機(jī)序列產(chǎn)生容易,且具有較成熟的理論分析工具,因此,序列密碼是目前使用最廣泛的密碼系統(tǒng)。

為了使序列密碼達(dá)到要求的安全保密性,實(shí)際應(yīng)用的序列密鑰必須有以下特點(diǎn):

(1)序列周期足夠長;

(2)真正的偽隨機(jī)性,每一位接近均勻分布;

(3)序列線性不可預(yù)測。

蓋如棟等人對(duì)△調(diào)制復(fù)雜動(dòng)力系統(tǒng)進(jìn)行了詳細(xì)、深人地研究,結(jié)果表明△調(diào)制復(fù)雜動(dòng)力系統(tǒng)即使是一維系統(tǒng),△調(diào)制的反饋機(jī)制也可導(dǎo)致系統(tǒng)豐富的周期演化,乃至出現(xiàn)混沌和分形結(jié)構(gòu)等復(fù)雜的動(dòng)力學(xué)行為:

(1)當(dāng)|a|<1時(shí),系統(tǒng)有一個(gè)只有兩個(gè)點(diǎn)構(gòu)成的最小全局吸引子。

(2)當(dāng)l≤|a| <2時(shí),最大穩(wěn)定域的所有點(diǎn)都趨于區(qū)間[-A,A]。

(3)當(dāng)|a|≥2時(shí),最大穩(wěn)定集合是康托集,并且它是系統(tǒng)的排斥子,系統(tǒng)在這個(gè)康托集上出現(xiàn)混沌現(xiàn)象。

本文中采用的是均衡條件的△調(diào)制復(fù)雜動(dòng)力系統(tǒng)。

(x+表示下一時(shí)刻系統(tǒng)狀態(tài),a是實(shí)數(shù))。

研究結(jié)果表明,△調(diào)制復(fù)雜動(dòng)力系統(tǒng)所產(chǎn)生的混沌序列是偽隨機(jī)的、遍歷的,即沿著混沌軌跡對(duì)某一函數(shù)的平均等于其集平均;由于混沌系統(tǒng)在迭代中的信息損失,使得混沌序列的信息量漸進(jìn)趨于零。因此,對(duì)混沌序列進(jìn)行正確的長期預(yù)測是不可能的。以上特點(diǎn)使△調(diào)制復(fù)雜動(dòng)力系統(tǒng)產(chǎn)生的混沌序列對(duì)圖像的加密有良好的保密性。另外,該系統(tǒng)結(jié)構(gòu)簡單,易于物理實(shí)現(xiàn),所以很適合應(yīng)用于混沌序列的產(chǎn)生。取a=1.7時(shí)該系統(tǒng)即出現(xiàn)混沌現(xiàn)象。任取一初值迭代3000次得到的結(jié)果如

二、基于△調(diào)制復(fù)雜動(dòng)力系統(tǒng)的圖像加密與解密算法

假設(shè){pn}是明文信息序列,{kn}是密鑰信息序列,{cn}提密文信息序列,則:

加密算法:{cn}={kn}+{pn};解密算法為:{pn}={cn}+{kn}。

本文采用△調(diào)制復(fù)雜動(dòng)力系統(tǒng)產(chǎn)生的混沌序列作為密鑰,其加密算法包括一下4個(gè)步驟:

步驟1:打開圖像A,將圖像A表示為mxn的二維數(shù)組(m是圖像A的行像素,n是圖像A的列像素),圖像像素在0到255之間,將像素值由十進(jìn)制轉(zhuǎn)換為二進(jìn)制,得到圖像二進(jìn)制像素序列{p1,p2,…,Pmn}。

步驟2:由映射xn+1=axn- △sgn(axn)產(chǎn)生一混沌序列,序列元素轉(zhuǎn)換為二進(jìn)制,得到密鑰序列{k1,k2,…,kmn}。

步驟3:密鑰序列{k1,k2,…,kmn}的元素與圖像序列{p1,p2,…,Pmn}的元素一一對(duì)應(yīng),根據(jù)加密算法{cn}={kn}+{pn},對(duì)每一個(gè)對(duì)應(yīng)元素進(jìn)行異或運(yùn)算,得到密文序列C{ci,c2,…,cmn)。

步驟4:B—個(gè)是m×n的矩陣,B(i,j)=C(j-1)m+i),其中f=1,2.….m;j;1,2,…,n。將矩陣元素轉(zhuǎn)換為十進(jìn)制,得到矩陣B’,則就是加密后的圖像。

解密算法與加密算法類似,只需將被解密的圖像看作加密算法中的圖像A,利用解密算法{pn}={cn}+{kn}即可實(shí)現(xiàn)解密。

三、仿真實(shí)驗(yàn)及效果分析

利用映射xn+1=axn- △sgn(axn)產(chǎn)生的混沌序列對(duì)圖像加密,令初始值為0.5,a=1.7,經(jīng)過加密后的圖像可以說是完全失去了原圖像的信息。由于混沌序列對(duì)初值非常敏感,即密鑰值有微小的變換也會(huì)得到不同的解密結(jié)果。密碼破譯者無法根據(jù)截獲的密文去重構(gòu)產(chǎn)生序列密碼的混沌系統(tǒng)動(dòng)力學(xué)模型,初始態(tài)等,這對(duì)保密是及其有利的。

小知識(shí)之動(dòng)力系統(tǒng)

動(dòng)力系統(tǒng) (dynamical system)是數(shù)學(xué)上的一個(gè)概念。在動(dòng)力系統(tǒng)中存在一個(gè)固定的規(guī)則,描述了幾何空間中的一個(gè)點(diǎn)隨時(shí)間變化情況。