電子商務(wù)中的混沌加密算法—混沌序列加密算法

現(xiàn)今電子商務(wù)中使用的加密方法可分為4種:序列加密算法、對(duì)稱分組加密算法、單向散列函數(shù)和公鑰分組加密算法。那么,接下來(lái)我就給大家詳細(xì)的介紹一下第一種加密算法—混沌序列加密算法。

混沌序列加密算法

混沌信號(hào)具有天然的隨機(jī)性,特別是經(jīng)過(guò)一定處理后的混沌信號(hào)具有非常大的周期和優(yōu)良的隨機(jī)性,完全可以用來(lái)產(chǎn)生符合安全性要求的序列密碼。初始狀態(tài)只有微小差別的兩個(gè)同構(gòu)混沌系統(tǒng)在較短的時(shí)間后就會(huì)產(chǎn)生兩組完全不同的、互不相關(guān)的混沌序列值,因而能提供數(shù)量眾多的密鑰或密碼流。經(jīng)過(guò)合理設(shè)計(jì)的混沌序列密碼加密算法不會(huì)隨著對(duì)符合要求的密鑰流數(shù)量的提高而復(fù)雜化,混沌序列是一種非線性序列,其結(jié)構(gòu)復(fù)雜,難于分析和預(yù)測(cè),可以提供具有良好隨機(jī)性、相關(guān)性和復(fù)雜性的擬隨機(jī)序列,這些很有吸引力的特性,使其有可能成為一種可實(shí)際被選用的序列加密體制。

1、 基于m序列擾動(dòng)的混沌序列加密

一種隨機(jī)改變混沌映射參數(shù)來(lái)提高混沌序列復(fù)雜性的方法如圖1所示,這種方法在有限精度實(shí)現(xiàn)時(shí),使得輸出序列的周期增大并可以度量。同時(shí),為了進(jìn)一步提高輸出混沌序列的隨機(jī)統(tǒng)計(jì)特性,對(duì)輸出混沌序列引入了m序列的隨機(jī)擾動(dòng)。

電子商務(wù)中混沌加密算法

其中:Fp(x(t))為一維分段線性映射,其定義如下:

電子商務(wù)中混沌加密算法

為了軟件和硬件實(shí)現(xiàn)方便,用np級(jí)m序列的2np-1個(gè)狀態(tài)作參數(shù)周期性變化的混沌系統(tǒng)的2nP -1個(gè)混沌映射的參數(shù),圖中肌序列在迭代過(guò)程中,每迭代一次就改變一個(gè)狀態(tài),為了使m序列的狀態(tài)值滿足混沌參數(shù)O<p<1/2的要求,令m序列的狀態(tài)(C1,C2,…,Cnp)與混沌參數(shù)戶的對(duì)應(yīng)關(guān)系如下:

電子商務(wù)中混沌加密算法

顯然,P在[2-(np+1),1/2-2-(np+1)]之間以2-(np+1)為間隔均勻分布,共有2np -1個(gè)不同的值,為了進(jìn)一步改善混沌系統(tǒng)輸出序列的隨機(jī)統(tǒng)計(jì)特性,在其輸出上引入一個(gè)優(yōu)序列的隨機(jī)擾動(dòng),擾動(dòng)幅度。設(shè)擾動(dòng)m序列的級(jí)數(shù)為ns,擾動(dòng)幅度由該序列連續(xù)nr位決定,擾動(dòng)幅度和一維迭代相圖上的最大斜率km的關(guān)系為:nr≥log2(km+1)。

為了生成混沌序列密碼,必須將混沌序列信號(hào){x(t)}轉(zhuǎn)換成二進(jìn)制的0-1序列流{Sn(t)},為此引入不可逆轉(zhuǎn)換函數(shù)Tn(x(t))。轉(zhuǎn)換函數(shù)Tn(x(t))定義如下:

電子商務(wù)中混沌加密算法

其中n>0為任意正整數(shù),I0n,I1n,I2n,…是[O,1]區(qū)間的2n個(gè)連續(xù)的等分區(qū)間。由于混沌序列信號(hào){x(t))具有良好的隨機(jī)統(tǒng)計(jì)特性,這樣生成的{Sn(t)}在理論上具有均衡的0-1比和δ-like的自相關(guān)等優(yōu)良的統(tǒng)計(jì)特性。

有限精度實(shí)現(xiàn)時(shí),混沌序列周期變大而且可以度量,由于混沌參數(shù)在每次運(yùn)算前都發(fā)生了變化,即使對(duì)同樣的x(t),其輸出x(t+1)也不相同,在有限精度運(yùn)算下,如果參數(shù)周期性變化,即使迭代達(dá)到了已經(jīng)出現(xiàn)過(guò)的狀態(tài),只要混沌參數(shù)與上次達(dá)到該狀態(tài)時(shí)的不同,混沌也不會(huì)陷入循環(huán),只有當(dāng)達(dá)到該狀態(tài)時(shí),混沌參數(shù)也回復(fù)到原有值的條件下,混沌序列才可能進(jìn)入循環(huán),因此,混沌序列的周期一定是混沌參數(shù)變化周期的整數(shù)倍.由此可見(jiàn),混沌參數(shù)周期性變化不但能提高混沌序列的復(fù)雜性,而且有限精度實(shí)現(xiàn)時(shí),輸出混沌序列的周期變大并可以度量。

2、基于混沌序列驅(qū)動(dòng)的序列加密

利用混沌構(gòu)造流密碼可以采用如下幾種方法:①用混沌序列代替?zhèn)鹘y(tǒng)的LFSR序列驅(qū)動(dòng)非線性組合器;②用混沌迭代代替?zhèn)鹘y(tǒng)的非線性組合器;⑧同時(shí)應(yīng)用前兩者,而模型中的密鑰Z則相應(yīng)的變?yōu)榛煦绲膮?shù)和初始值。

混沌序列驅(qū)動(dòng)的序列密碼以非線性組合密碼為例,如圖2所示,用混沌序列代替了傳統(tǒng)的LFSR序列來(lái)驅(qū)動(dòng)非線性的組合器,f為非線性組合函數(shù),非線性組合函數(shù)通常采用如下的形式:

電子商務(wù)中混沌加密算法

混沌序列的獲得可以采取如下的方法:采用Logistlc映射,Logistlc映射由下式給出:

電子商務(wù)中混沌加密算法

該映射的軌道點(diǎn)密度為:

電子商務(wù)中混沌加密算法

為保證迭代的當(dāng)前序列值與前一個(gè)序列值獨(dú)立,產(chǎn)生隨機(jī)的序列,可以采用非線性量化的方法得到二進(jìn)制序列,分點(diǎn)d滿足如下的條件:

 

電子商務(wù)中混沌加密算法

可以解得d的值為0,通過(guò)下列的方法可以得到二進(jìn)制的序列:

電子商務(wù)中混沌加密算法
在給定不同初值x0的情況下,通過(guò)迭代可以得到一系列的二進(jìn)制的序列,將這些序列代替?zhèn)鹘y(tǒng)的LFSR序列,驅(qū)動(dòng)非線性組合部分,可以實(shí)現(xiàn)混沌驅(qū)動(dòng)的流密碼體制,和傳統(tǒng)的LFSR序列相比,混沌映射序列的周期長(zhǎng),復(fù)雜度高,同時(shí)由于混沌系統(tǒng)對(duì)初態(tài)的極端敏感性,想恢復(fù)出混沌序列,必須知道迭代的初值,不可能通過(guò)有限長(zhǎng)的序列來(lái)預(yù)測(cè)整個(gè)序列,大大提高了密碼的抗攻擊性。通過(guò)改變迭代的初始值,可以得到大量的隨機(jī)性能良好的混沌序列,解決了LFSR序列數(shù)量有限的問(wèn)題。

小知識(shí)之LFSR

LFSR(Linear Feedback Shift Register )翻譯成中文就是線性反饋移位寄存器。其反饋函數(shù)是寄存器中的某些位的簡(jiǎn)單異或,這些位也稱之為抽頭序列。