如何利用時空混沌同步進行數(shù)字加密通信
為了提高通信的安全性,提出一種利用時空混沌同步的計算機網(wǎng)絡(luò)數(shù)字加密通信方案,那么,接下來,我們就來給大家講講如何利用時空混沌同步進行數(shù)字加密通信。
一、時空混沌同步系統(tǒng)
本文采用的時空混沌系統(tǒng)是一種時間離散、空間離散、狀態(tài)連續(xù)的單向耦合映射格點(OCOML)系統(tǒng),兩個參數(shù)完全相同但初始條件不同的OCOML系統(tǒng)可由下述方程來描述:
xi(n+1)=(1-εi)f(xi(n))+εif(xi-1(n)), i=1,2,…,L ? ? ? ? ?(1)
x0(n)=D(n);
yi(n+1)=(1-εi)f(yi(n))+εif(yi-1(n)), (2)
i=1,2,…,L(2)y0(n)=D(n)
式中n代表離散時間,i代表空間格點位置,L代表OCOML的長度,εi為耦合參數(shù),且滿足0<εi<1,D(n)為驅(qū)動信號時間序列,函數(shù)f(x)的形式:
f(x)=4x(1-x) ? ? ?(3)
理論和實驗證明,若εi>0.75,i=1,2,…,L,被驅(qū)系統(tǒng)(1)和(2)在任何相同驅(qū)動信號D(n)的驅(qū)動下可以達到同步狀態(tài),即兩系統(tǒng)各空間單元的均方根誤差
e(n)=1L∑Li=1[yi(n)-xi(n)]21P2 ? ? ?(4)
隨離散時間n增大而趨于零。在本文中,系統(tǒng)的同步精度規(guī)定為e(n)<10-16,Pn>TS,這里TS是達到同步所需的時間。
當(dāng)系統(tǒng)(1)和(2)同步時,OCOML各空間單元輸出信號{xi(n),i=1,2,…,L}的自相關(guān)和互相關(guān)特性與驅(qū)動信號D(n)的自相關(guān)特性有關(guān)。當(dāng)D(n)取自單向耦合映射格點環(huán)(OCRML)[8]時,由于D(n)各數(shù)據(jù)點互不相關(guān),序列{xi(n),i=1,2,…,L}在時間上互不相關(guān),而且每隔一空間單元(即|j-i}≥2),序列xi(n)與xj(n)也互不相關(guān)。若D(n)為取自蔡(Chua)系統(tǒng)或Lorenz系統(tǒng)的取樣時間序列,D(n)各數(shù)據(jù)點具有一定的相關(guān)性,本文的數(shù)值計算發(fā)現(xiàn),只要εi∈[0185,1),i=1,2,…,L,除了最前面的L0個空間單元外,上述結(jié)論仍然成立,即序列{xi(n),i>L0}在時間上互不相關(guān),若|j-i|≥2,i,j>L0,序列xi(n)與xj(n)也互不相關(guān)。
由于時空序列{xL0+2j(n),j=1,2,…,J}在計算機的精度范圍內(nèi)是混沌的,而不是周期的,它們又互不相關(guān),故可將它們用作加密密鑰序列,應(yīng)用于密碼通信。
二、如何利用時空混沌同步進行數(shù)字加密通信
1、加密方案
現(xiàn)在利用OCOML系統(tǒng)構(gòu)成一個如圖所示的數(shù)字加密通信系統(tǒng)。
它由一個驅(qū)動系統(tǒng)、兩個產(chǎn)生密鑰的OCOML系統(tǒng)和計算機網(wǎng)絡(luò)組成。
2、系統(tǒng)的工作過程
系統(tǒng)的工作過程如下:
在驅(qū)動序列D(n)的驅(qū)動下,發(fā)送端和接收端的OCOML系統(tǒng)達到同步狀態(tài),發(fā)送端OCOML(1)輸出的時空混沌信號經(jīng)某種變換后用作加密密鑰序列k1(n),k2(n),…,kJ(n),接收端OCOML(2)相應(yīng)的輸出信號經(jīng)相同的變換后用作解密密鑰序列k′1(n),k′2(n),…,k′J(n),待傳數(shù)據(jù)(明文)M經(jīng)密鑰加密變?yōu)槊芪腃,驅(qū)動序列D(n)和密文C經(jīng)混合后送入計算機網(wǎng)絡(luò)而傳到接收端,接收端用解密密鑰將密文C轉(zhuǎn)換為明文M′。當(dāng)兩OCOML系統(tǒng)同步時,ki(n)=k′i(n),i=1,2,…,J。因此,M′=M,消息被無失真地還原。
下圖中的驅(qū)動系統(tǒng)獨立于產(chǎn)生密鑰的OCOML系統(tǒng),它可以是時間連續(xù)的混沌或超混沌系統(tǒng),也可以是時空離散的超混沌系統(tǒng),其功能是產(chǎn)生驅(qū)動序列D(n)(當(dāng)采用連續(xù)混沌系統(tǒng)時,其輸出混沌信號經(jīng)適當(dāng)?shù)娜涌尚纬沈?qū)動序列)。
發(fā)送端OCOML(1)的輸出信號xL0+2(n),xL0+4(n),…,XL0+2J(n)是在區(qū)間(0,1)取值的實數(shù)序列,通過下述變換可將它們轉(zhuǎn)換為加密密鑰序列,即:
kj(n)=INT[xL0+2j(n)×1015]mod2b,j=1,2,…,J, ? ? (5)
式中INT[ _ _ ]表示取整,b是每個密鑰的長度,在我們的實驗中,b=32,kj(n)是在區(qū)間[0,232-1]取值的整數(shù)。
同樣,接收端OCOML(2)相應(yīng)的輸出信號yL0+2j(n)通過相同的變換被轉(zhuǎn)換為解密密鑰序列,即:
k′j(n)=INT[yL0+2j(n)×1015]mod2b,j=1,2,…,J, ? ? (6)
待傳輸?shù)南⒖梢允钦Z音、文字和圖像。先對這類信號進行取樣和量化,使消息(明文)變?yōu)橐宰止?jié)為單位的數(shù)據(jù)序列,然后選取一種加密算法,將其變換為密文。
加密和解密算法可采用多種算法,作為一個例子,我們采用如下簡單加密算法:
設(shè)明文M={m1m2…}的每個數(shù)據(jù)m和密文C={c1c2…}對應(yīng)的數(shù)據(jù)c均為q位(q=8,16,32),加密變換為
c=(m+k)mod2q, ? ? ? ?(7)
解密變換為
m′=(c-k′)mod2q, ? ? ?(8)
式中k、k′分別取自密鑰集
{kj(n),j=1,2,…,J}和{k′j(n),j=1,2,…,J}
本方案的主密鑰是OCOML的一組耦合參數(shù),{ε1,ε2,…,εL},發(fā)送端與接收端事先約定一組參數(shù),通信結(jié)束時,該組參數(shù)被舍棄。
上述密碼模式在密碼學(xué)中是一種按字節(jié)或q位的字進行加密的序列密碼。下面我們來討論系統(tǒng)的安全性和傳輸效率。
三、混沌加密通信方案安全性
在上述序列加密算法中,若密鑰的數(shù)目不少于明文樣本的數(shù)目,每個明文樣本數(shù)據(jù)恰有一個不同的密鑰將其加密成密文數(shù)據(jù),且所有密鑰的選取是等概率的,這種加密算法是安全的。因此,對密碼系統(tǒng)的要求是:
1、由密鑰序列組成的密鑰集應(yīng)足夠大,以滿足大量明文文件加密的要求,且保證解密密鑰與加密密鑰相一致;
2、密鑰應(yīng)等概率地隨機產(chǎn)生。在上述方案中,密鑰是由時空混沌系統(tǒng)產(chǎn)生的,兩OCOML系統(tǒng)的同步精度很高(同步誤差小于10-16),可以提供一個大的密鑰集,而且該方案依靠同步來保證解密密鑰與加密密鑰相一致,可以避免大量密鑰的傳輸或存儲。為了檢查密鑰的概率分布,我們將系統(tǒng)運行時的所有密鑰進行統(tǒng)計,獲得如圖2所示的密鑰概率密度函數(shù)。
由圖可知,無論驅(qū)動信號取自Chua系統(tǒng)還是OCRML系統(tǒng),密鑰都等概率地分布在一個大的密鑰集上。只要明文樣本數(shù)小于密鑰集的密鑰數(shù),密鑰序列不重復(fù)使用,這種加密方法是相當(dāng)安全的。
四、混沌加密通信方案傳輸效率
傳輸密文的同時需要傳輸驅(qū)動信號,造成傳輸效率低下,或傳輸碼率過高。在我們的加密方案中,每個驅(qū)動信號樣本可以驅(qū)動OCOML系統(tǒng)同時產(chǎn)生J個密鑰,對J個明文數(shù)據(jù)進行加密編碼,因此,每傳輸一個驅(qū)動信號樣本數(shù)據(jù)可同時傳輸J個密文數(shù)據(jù),和已有的混沌同步通信方案相比,消息樣本數(shù)和驅(qū)動信號樣本數(shù)之比由1∶1提高到J∶1,對于相同長度的消息來說,驅(qū)動信號樣本數(shù)將減少至原來的1J。當(dāng)J足夠大時,由于傳輸驅(qū)動信號而造成的數(shù)據(jù)增量變得很小。傳輸效率獲得極大的提高。
小知識之耦合
耦合指一程式的模組之間資訊或參數(shù)流動的程度。










