安全電子郵件中級聯(lián)加密技術(shù)的應(yīng)用

為了保護(hù)電子郵件傳輸?shù)陌踩?,我們提出了一種級聯(lián)加密的保密通信技術(shù)?;陬A(yù)處理和量化處理對超混沌系統(tǒng)產(chǎn)生的序列進(jìn)行了改進(jìn),改進(jìn)后的序列通過了NIST隨機(jī)性測試,具有更理想的相關(guān)性、更強(qiáng)的偽隨機(jī)性及不可逆性。級聯(lián)加密技術(shù)可發(fā)揮兩者各自的優(yōu)勢,提高電子郵件傳輸?shù)陌踩浴?/p>

一、超混沌序列的改進(jìn)

我們提出了一個新的四維超混沌系統(tǒng),其狀態(tài)方程表示為:

1

式中,a,b,c,d為系統(tǒng)控制參數(shù)。當(dāng)a=35,b=3,c=35,d=8,4個Lyapunov指數(shù)分別為λ1=0.2788,λ2=0.1470,λ3=O,λ4=38.429,有2個正的Lyapunov指數(shù),4個Lyapunov指數(shù)之和小于零,是一個超混沌系統(tǒng)。

1、超混沌序列的預(yù)處理

當(dāng)兩個同構(gòu)系統(tǒng)的初態(tài)與參數(shù)相差較大時,兩混沌系統(tǒng)之間的相應(yīng)變量是互不相干的浮點(diǎn)數(shù)序列。然而,當(dāng)兩個同構(gòu)系統(tǒng)的初態(tài)及參數(shù)具有微小差異(10-14)時,與單維混沌相比,超混沌得到的兩組序列數(shù)之間就會存在一定的互相關(guān)性,將經(jīng)過這兩組序列量化后得到的O-I序列也存在較強(qiáng)的互相關(guān)性,因此有必要對超混沌變量進(jìn)行預(yù)處理,來得到更適合產(chǎn)生序列密碼的原始浮點(diǎn)數(shù)值序列。

本文采用經(jīng)典的四階Runge-Kutta來求解方程(1),系統(tǒng)初始值:x0= 10,Yo =11,zo =12,r=13,控制參數(shù):a=35,b=3,c=35,d=8,積分步長h=0.01,迭代次數(shù)n=40000。以x序列的特性為例,得到x序列的3540()~35900項、x的自相關(guān)性和x-z的互相關(guān)性如圖1所示。

1

按照Golomb公設(shè),理想的偽隨機(jī)序列應(yīng)具有3個特性:均勻分布、自相關(guān)是δ函數(shù)、互相關(guān)是零。而在上述條件下,x,y,z,u實數(shù)值混沌序列值域分別為(-28,25>,(一32,28),(8,61),(- 82,75),其數(shù)學(xué)期望分別是Ex -0.0602,Ey—0. 0515.Eu =33. 7305,Eu一-0.0550從圖l中可以看出,序列在局部呈現(xiàn)一定的單詞性,其均勻分布較差,序列的自相關(guān)不是δ函數(shù),互相關(guān)也不是理想的零。因此,為了得到更好的偽隨機(jī)序列,有必要對實數(shù)值超混沌序列做如下預(yù)處理:

(1)將序列的小數(shù)點(diǎn)向右移動志位(k-0,1,2,3,4…);

(2)將序列映射到值域(-0.5,0.5);

整個預(yù)處理過程可由下式實現(xiàn):

1

式中,round(x)為取最接近整數(shù)的運(yùn)算。

對超混沌序列采用式(2)進(jìn)行預(yù)處理,l值取2,改進(jìn)后的x序列的35400~35900項、z的自相關(guān)性和xz的互相關(guān)性如圖2所示。

1

預(yù)處理后的結(jié)果為:x,y,z,u實數(shù)值混沌序列值域均為( -0.6,o.5),其數(shù)學(xué)期望分別為Ex一0.0013,Ey一2.2918e—005,最后Ex=0. 0014,E一8.8572e- 004,說明序列分布均勻;自相關(guān)尖峰值是1,旁瓣的最大值Rj~一0.0162,Rx一0.0152,R .x=0. 0154,Rvx一0163,說明是自相關(guān)較理想的占函數(shù);互相關(guān)的最大值R-0.0163,R枷ax一0.0191,R-0. 0161,Rnx一0.0173,RWmax -Q.0188,說明互相關(guān)近似為理想的零。比較圖l和圖2可以看出,預(yù)處理后的超混沌序列具有良好的均勻分布特性、隨機(jī)統(tǒng)計特性和相關(guān)特性,是非常理想的偽隨機(jī)序列。

2、量化處理

一般對離散混沌系統(tǒng)的量化方法是設(shè)定一個閾值,大于該閾值,量化值取1,否則取0。這種量化方法簡單,一步就可產(chǎn)生一位二進(jìn)制數(shù)。對于連續(xù)混沌系統(tǒng),由于系統(tǒng)方程的數(shù)值算法較復(fù)雜,因此采用兩分區(qū)間量化時,產(chǎn)生序列密碼的速度太慢。綜合考慮快速性和隨機(jī)性兩個因素,設(shè)計了下述量化方法。

將區(qū)間(-0-5,O:S)均分為連續(xù)的16等份,每個區(qū)間標(biāo)號為Q~15,相應(yīng)區(qū)間的=進(jìn)制值為oooo~iiii,如區(qū)間6對應(yīng)的三進(jìn)制序列為0110。選擇序列x'',u''將預(yù)處理后的超混沌序列x',u'值映射到相應(yīng)區(qū)間并生成三進(jìn)制序列x'',u'',在同一步內(nèi)產(chǎn)生的二值序列按照(x'',n'')的順序分別映射到密鑰序列的相應(yīng)位置,最終密鑰序列的長度為原序列長度的8倍。相比一般離散混沌系統(tǒng)采取的兩分Ⅸ間量化方法,該方法提高了產(chǎn)生序列的速度和隨機(jī)性。

3、偽隨機(jī)性檢驗分析

根據(jù)Shannon理論,若加密密碼序列是完全隨機(jī)的,則該加密系統(tǒng)是不可破解的。在數(shù)字實現(xiàn)方式下,由于存在有限精度效應(yīng),因此得到的序列并非是完全隨機(jī)的,而是偽隨機(jī)序列。為了確保偽隨機(jī)序列盡量接近真隨機(jī)序列,本文采用美國國家標(biāo)準(zhǔn)技術(shù)研究院開發(fā)的NIST測試組件,它包括16項測試,選取其中相對重要的5項:頻數(shù)測試、分組頻數(shù)測試、游程測試、頻譜測試和近似熵測試。每個被測二進(jìn)制序列的長度為10萬位,取100組進(jìn)行測試。每項測試的結(jié)果均以P-value表示,若P-value.01,則說明該項測試未通過;否則,說明該項測試通過,測試結(jié)果如表1所列。

1

從測試結(jié)果可知,超混沌實值序列經(jīng)過預(yù)處理和量化后產(chǎn)生的O~l二進(jìn)制密鑰流完全通過了隨機(jī)性測試。

二、級聯(lián)加密技術(shù)的電子郵件保密通信

1、電子郵件保密通信原理

結(jié)合常規(guī)加密技術(shù),提出本算法的電子郵件保密通信的原理框圖,如圖3所示。

1

2、加解密算法

由原理框圖3可見,加解密算法按以下幾個步驟進(jìn)行:

(1)用戶輸入口令字,使用hash算法將口令字和一段隨機(jī)數(shù)結(jié)合生成8個double類型的數(shù)字,用其小數(shù)點(diǎn)后的部分替換原有超混沌系統(tǒng)初始值和控制參數(shù)的小數(shù)點(diǎn)后的數(shù)字,這樣,不同的口令將對應(yīng)不同的初始參數(shù),從而產(chǎn)生不同的超混沌序列;

(2)將第(1)步中獲取的參數(shù)代入超混沌系統(tǒng),取迭代次數(shù)以-50000,舍棄前10000次迭代產(chǎn)生的序列值,將序列值預(yù)處理和量化后得到的二進(jìn)制序列與電子郵件的明文進(jìn)行按位異或操作,得到異或后的密文c;

(3)將最后3次迭代產(chǎn)生的z作為3DES加密算法的3個密鑰值Kl,K2,K3,對密文G進(jìn)行3DES加密得密文。

(4)將d送到信道傳送;

(5)接收端收到密文矗后,輸入一個與加密相同的口令字,采用相同的算法獲得4個初始值和4個控制參數(shù);

(6)與第(2)步相同,同樣進(jìn)行n-50000次迭代,取最后3次迭代產(chǎn)生的z,,即為3DES算法的3個密鑰值K1,K2,K3,對密文d進(jìn)行解密得密文c;

(7)再將密文c與二值化處理后的超混沌序列(舍棄前面10000次迭代產(chǎn)生的序列)按位進(jìn)行異或操作,完成最終解密過程,得到明文。

步驟(1)一(3)是發(fā)送端加密過程,步驟(5)一(7)是接收端解密過程,采用因特網(wǎng)傳送信號,只要保證加密和解密的密鑰相同,迭代次數(shù)相同,就能在接收端正確解密出明文。

3、級聯(lián)加密系統(tǒng)在Outlook電子郵件中的應(yīng)用

Outlook是應(yīng)用廣泛的電子郵件客戶端程序,本文通過Outlook com加載項來實現(xiàn)級聯(lián)加密系統(tǒng)對電子郵件的加解密功能,軟件實現(xiàn)主要包括兩個部分:一部分是用VisualBasic開發(fā)的ActivcX DLL COM組件,用于加載到Outlook程序中,并通過Outlook的對象模型訪問Outlook中的數(shù)據(jù);另一部分是用Visual C開發(fā)的DLL,包括用于對電子郵件內(nèi)容進(jìn)行加密和解密的函數(shù)。

具體實現(xiàn)流程如下:

(l)在Outlook 2007中新建一封郵件,輸入要發(fā)送的郵件內(nèi)容,加密前的郵件如圖4(a)所示;

(2)點(diǎn)擊“加載項>>級聯(lián)加密”按鈕,電子郵件內(nèi)容加密后如圖4(b)所示,加密完成后發(fā)送電子郵件;

(3)在接收端,接收到經(jīng)互聯(lián)網(wǎng)傳輸后的加密郵件,解密前的郵件如圖4(c)所示;

(4)點(diǎn)擊“加載項>>級聯(lián)解密”按鈕,完成對郵件的解密操作,如圖4(d)所示??梢钥闯?,郵件解密后的內(nèi)容與加密前的內(nèi)容完全一致。

1

4、密鑰敏感性分析

一個好的加密系統(tǒng),其密文必須對密鑰很敏感,即密鑰很小的一點(diǎn)變化,就會導(dǎo)致密文發(fā)生很大的變化。為了測試密鑰敏感性,做了以下對比實驗:從超混沌系統(tǒng)的4個控制參數(shù)和4個變量中任選一個(本文測試中選擇6),當(dāng)參數(shù)b-3.387654321時,對明文“這是一封密鑰敏感性測試郵件”進(jìn)行加密,如圖5(a)所示,加密后的密文如圖5(b)所示;其他條件不變,僅將參數(shù)6改為3.387654322,對同樣的明文進(jìn)行加密,加密后的密文如圖5 (c)所示。由圖5(b)和圖5(c)對比可以得出:密鑰稍微有點(diǎn)改變后,密文將完全不同。

1

三、安全性分析

基于提出的超混沌系統(tǒng),其結(jié)構(gòu)較低維混沌系統(tǒng)復(fù)雜,產(chǎn)生的實數(shù)值序列更不可預(yù)測;系統(tǒng)中有4個變量和4個控制參數(shù),這些都可以用來作為序列系統(tǒng)的種子密鑰,算法的密鑰空間大大高于應(yīng)用低維混沌方程構(gòu)造的序列;對系統(tǒng)輸出的實值混沌序列進(jìn)行處理,可采用單變量或多變量組合的加密混沌序列(本文中選取z和“兩個序列進(jìn)行組合),這樣序列的設(shè)計靈活,有更大的設(shè)計空間,可以提高安全性,為改善有限精度造成的短周期效應(yīng)提供了解決的可能性。

預(yù)處理后的超混沌序列是非常理想的偽隨機(jī)序列,密鑰集合中不存在大量的弱密鑰(密鑰與輸出之間存在超出一個好密碼所應(yīng)具有的相關(guān)性)和等效密鑰(由一個密鑰與輸出能推導(dǎo)出另一個密鑰與輸出)。量化處理采用一種通過均分區(qū)間一次迭代生成多比特二進(jìn)制序列的方法,提高了生成序列的速度和隨機(jī)性。預(yù)處理和量化過程是一種不可逆變換,破譯者無法根據(jù)截取的密文去重構(gòu)產(chǎn)生序列密碼的混沌系統(tǒng)動力學(xué)模型、初始狀態(tài)等,從而基于相空間重構(gòu)的攻擊、基于回歸映射的攻擊和基于混沌同步的分析方法都將不起作用,這一加密算法有很高的抗破譯能力。

本文中的超混沌加密屬于流加密,對分組加密的攻擊方法是無效的。同時,對選擇明文/密文攻擊方法,由于混沌的單向性和混沌信號的迭代處理,異或操作后密鑰流的推斷幾乎不可能。該加密算法沒有SrbOX空間,臨時變量也比較少,而且通過循環(huán)產(chǎn)生密鑰流,循環(huán)過程中需要寄存的變量有限,運(yùn)行時占用的空間很少,另外,加密和解密過程是可以重用的,這樣所占用的空間就大大縮小。

采用3DES加密算法,解決了DES算法密鑰太短的問題,同時也克服了DES中存在的弱密鑰和半弱密鑰的缺陷;另外,將超混沌序列加密后的密文作為3DES加密級的輸入,使得3DES算法的輸入和輸出間不存在唯一的明文一密文對,從而提高了保密性。在信道中傳輸?shù)拿芪氖墙?jīng)過雙重加密的,可以對抗提出的對混沌系統(tǒng)的識別和對初始值確定的破譯方法,從而發(fā)揮了兩者各自的優(yōu)勢,提高了加密的復(fù)雜度。

小知識之Outlook

Microsoft Office Outlook是微軟辦公軟件套裝的組件之一,它對Windows自帶的Outlook express的功能進(jìn)行了擴(kuò)充。Outlook的功能很多,可以用它來收發(fā)電子郵件、管理聯(lián)系人信息、記日記、安排日程、分配任務(wù)。目前最新版為Outlook 2016。