基于混沌的RC4加密算法

RC4屬于對稱加密算法,雙方采用相同的密鑰,加解密算法簡單,但不便于密鑰管理。為減少密鑰協(xié)商次數(shù),且使每個數(shù)據(jù)包加解密使用不同的密鑰,在密鑰協(xié)商結(jié)束后,WEP和TKIP都使用變化的IV向量來改變RC4的初始密鑰,這就是我們今天要介紹的基于混沌的RC4加密算法。

基于混沌的RC4加密算法的工作原理

采用Logistic作為RC4的種子密鑰發(fā)生器,隨機生成序列密鑰,增加密鑰的隨機性,且在加密的過程中,多個參數(shù)的不同取值使得在不需要設(shè)置IV向量的情況下,可達到不斷改變RC4初始密鑰的目的。

基于混沌的RC4加密算法的具體運行過程

基于混沌的RC4加密算法的具體運行過程如圖所示,主要分為3個階段:密鑰協(xié)商,Logistic產(chǎn)生種子密鑰及數(shù)據(jù)加解密。

一、密鑰協(xié)商 

密鑰協(xié)商過程采用IEEE802.11i的四次握手結(jié)構(gòu),實現(xiàn)動態(tài)密鑰協(xié)商,整個密鑰協(xié)商過程在STA與AP之間進行。

在握手過程中,共享密鑰TKP并未在雙方之間傳輸,所以密鑰的安全性在雙方之問得到了很好的保障。AP與STA四次握手成功后,雙方載入由PMK生產(chǎn)單播密鑰PTK:

PTK={EK,CK,TK}

其中,TK為雙方共享的數(shù)據(jù)加密密鑰。我們今天介紹的基于Logistic混沌映射的RC4加密算法,就是將混沌映射的初始值、控制參數(shù)及取值的起始位置作為雙方共享的加解密密鑰進行協(xié)商,即:TK={X0,_μ ,stat}

其中,X0為迭代初始值;_μ為控制參數(shù);stat為RC4種子密鑰取值的起始位置。

二、Logistic產(chǎn)生RC4的種子密鑰

雙方載入共享密鑰TK后,利用{X0, μ}進行Logistic迭代,產(chǎn)生一個隨機數(shù)序列:X={X0,X1...},若系統(tǒng)處于混沌狀態(tài),則可以構(gòu)建一個真隨機數(shù)序列,而該隨機序列又是由X0,_μ_唯一確定的。由于Logistic產(chǎn)生的值都落在(0,1)范圍內(nèi),為轉(zhuǎn)化成RC4加密算法中初始置換S={0,1...N一1,N(=2N)的種子密鑰,需對產(chǎn)生的隨機序列X進行如下運算,使取值在[0,255]之間:

Y=mod(round(1000xx),255)

通過實驗驗證,當(dāng)初始值X0相差10-16時,產(chǎn)生的2個隨機序列經(jīng)過60次左右的迭代出現(xiàn)了明顯的差異,形成2個完全不相同的隨機序列,因此,在選取RC4種子密鑰key時,應(yīng)從60次迭以后代開始取值。

當(dāng)傳輸?shù)臄?shù)據(jù)量非常大時,為使每個數(shù)據(jù)包使用不同的密鑰加密,利用混沌系統(tǒng)對初始值的敏感性,在每次生成RC4種子密鑰的過程中,將Logistic的初始值以10-16進行遞增。

三、數(shù)據(jù)加密與解密

在發(fā)送端A處,Logistic產(chǎn)生隨機序列,并截取128bit的種子密鑰key后,利用RC4加密算法對key進行新的一輪運算,產(chǎn)生最終用于數(shù)據(jù)加密的密鑰流K(n)={k1,k2...}。RC4屬于一種流加密算法,對明文文件加密時,需將明文轉(zhuǎn)化成連續(xù)的符號或比特流P(n)={P1,P2....},加密時用密鑰流K(n)的第n個元素Kn與Pn進行異或運算,即:

E(n)=P(n)⊕K(n)

其中,K(n)為RC4產(chǎn)生的密鑰流;P(n)為明文。加密結(jié)束后,E(n)通過信道發(fā)送給接收端B。

在接收端,需對接收到的密文E(n)進行解密,RC4屬于一種對稱加密算法,加解密需使用相同的密鑰流K(n),可利用雙方共享的密鑰TK,通過Logistic混沌映射恢復(fù)RC4的種子密鑰key,進而通過RC4加密算法產(chǎn)生相同的密鑰流K’(n),將密文的第N個元素E(n)與K’(n)異或即可恢復(fù)出明文,即:

D(n)=E(n)⊕K’(n)

其中,K’(n)為通過共享密鑰恢復(fù)的RC4密鑰流;E(n)為密文;D(n)為解密恢復(fù)的明文。

小知識之RC4加密算法

RC4加密算法是大名鼎鼎的RSA三人組中的頭號人物Ron Rivest在1987年設(shè)計的密鑰長度可變的流加密算法簇。之所以稱其為簇,是由于其核心部分的S-box長度可為任意,但一般為256字節(jié)。該算法的速度可以達到DES加密的10倍左右,且具有很高級別的非線性。