基于雙混沌系統(tǒng)的數(shù)字混沌加密算法

混沌加密的思想自提出以后,混沌加密算法得到廣泛的研究,但其中絕大多數(shù)是基于單一混沌映射系統(tǒng)的加密算法,如一維的Logistic映射,二維的Smale映射、Henon映射或三維的Lorenz系統(tǒng)等。本文在對雙混沌系統(tǒng)應(yīng)用于加密算法進行了有益的嘗試和分析后,提出了基于雙混沌動力系統(tǒng)的加密算法。該算法能夠被應(yīng)用于文件加密、實時數(shù)據(jù)流加密和商品的防偽等。

一、兩種離散混沌系統(tǒng):Cat映射和Logistic映射

1、Cat映射

Cat映射具有較好的混沌特性,其幾何學(xué)解釋如圖所示:

基于雙混沌系統(tǒng)的數(shù)字混沌加密算法

從圖中可以看出,Cat映射每次的運算,都經(jīng)歷了以下過程:正方形的點空間首先被線性拉伸,然后通過模運算分割折疊。

Cat映射是一個二維的可逆混沌映射,其動力學(xué)方程由下式表示:

基于雙混沌系統(tǒng)的數(shù)字混沌加密算法

由于其線性轉(zhuǎn)換矩陣行列式為1,所以Cat映射又被稱為是區(qū)域保留的。其李雅普諾夫指數(shù)δ1,δ2為:基于雙混沌系統(tǒng)的數(shù)字混沌加密算法基于雙混沌系統(tǒng)的數(shù)字混沌加密算法當(dāng)a,b均為1時,就是經(jīng)典的ArnoldCat映射。

2、Logistic映射

Logistic映射為自治一維離散動態(tài)系統(tǒng),用一維非線性迭代函數(shù)來表征混沌行為,通過這一混沌函數(shù)可以通過微小地改變調(diào)節(jié)參數(shù)的值來產(chǎn)生完全不同的偽隨機序列。

Logistic映射動力學(xué)方程如下:

基于雙混沌系統(tǒng)的數(shù)字混沌加密算法

其中μ為控制參量,μ值確定后,由任意初值X0∈(0,1),可迭代出一個確定的時間序列。對于不同的μ值,系統(tǒng)(2)將呈現(xiàn)不同的特性,隨著參數(shù)μ的增加,系統(tǒng)(1)不斷地經(jīng)歷倍周期分叉,最終達(dá)到混沌。稱當(dāng)μ=4時由系統(tǒng)(1)產(chǎn)生的序列具有隨機性、規(guī)律性、遍歷性、對初值的敏感性等典型的混沌特征。針對Logistic映射自身存在的問題,又出現(xiàn)了了一種改進的Logistic映射動力學(xué)方程如(3):

基于雙混沌系統(tǒng)的數(shù)字混沌加密算法

其中μ為[1,4]之間的一個實數(shù),X0∈(0,1)。

二、基于雙混沌系統(tǒng)的數(shù)字混沌加密算法設(shè)計

基于單一混沌系統(tǒng)的數(shù)字混沌加密算法,其設(shè)計的關(guān)鍵是對混沌映射的選擇,不同的混沌映射在算法實現(xiàn)復(fù)雜度,算法時間和空間復(fù)雜度以及安全性等方面都有較大差異。典型的一維混沌映射有Logistic映射,其算法實現(xiàn)簡單,運算速度較快,但密鑰空間較小,安全性差。而研究較多的三維混沌Lorenz系統(tǒng),其算法實現(xiàn)復(fù)雜,運算速度較Logistic映射慢,但密鑰空間很大,安全性較高。本文所提出雙混沌加密算法就是從算法的實現(xiàn)、速度和安全性考慮,既能達(dá)到較小的時間和空間復(fù)雜度,又能有較大的密鑰空間和較高的安全性,而且能避免單混沌系統(tǒng)可能出現(xiàn)的信息泄漏問題。

加密解密流程圖如圖:

基于雙混沌系統(tǒng)的數(shù)字混沌加密算法

可以選定Cat映射和Logistic映射的初始值x0,y0,x 0和三個內(nèi)部參數(shù)a,b, 作為密鑰,算法中的xn,yn,x n為Cat映射和Logistic映射的中間迭代結(jié)果,具體加密算法如下:

1、針對式(1)和(3),先選定a,b,三個參數(shù)和x0,y0,x’0三個初始值作為密鑰。

2、各迭代200次,得到xn,yn,x’n。

3、計算xn×yn×xn’×100,并取乘積的第2,4,6,8,10位組成一個五位十進制數(shù)與256取余,得到一個8位密鑰流,與明文做異或運算,就形成一個密文字節(jié)。

4、迭代5次(從運算速度考慮),得到xn+1,yn+1,x’n+1,反復(fù)執(zhí)行3、4直到所有明文字節(jié)都加密完畢。

在此,對算法作一些說明,步驟2迭代200次的目的是使Cat映射和Logistic映射都進入混沌迭代狀態(tài)。從加密算法的安全性和運算速度考慮,經(jīng)過測試,步驟4在每次生成一個8位密鑰之后迭代5次是比較合理的。

算法流程圖如圖:

基于雙混沌系統(tǒng)的數(shù)字混沌加密算法

三、基于雙混沌系統(tǒng)的數(shù)字混沌加密算法分析

1、安全性分析

一個好的加密算法應(yīng)該能夠抵御已知的解密攻擊,如選擇(已知)明文攻擊、唯密文攻擊、統(tǒng)計分析攻擊等。以下是我對該算法所做的一些安全性分析:

(1)密鑰空間分析

加密算法選定三個內(nèi)部控制參數(shù)和三個初始狀態(tài)作為密鑰,密鑰空間是很大的。即使在已知加密算法使用Cat映射和Logistic映射的情況下,攻擊繞過窮舉密鑰攻擊轉(zhuǎn)而通過窮舉間接獲得三個內(nèi)部控制參數(shù)也是不可能實現(xiàn)的:因為a,b參數(shù)的選擇并沒有范圍限制,而 是一個在[1,4]內(nèi)的實數(shù)。

(2)密鑰敏感性分析

對Cat映射和Logistic映射的迭代初始值x0,y0,x’0分別增加10-13,并觀察其密鑰序列,通過統(tǒng)計分析發(fā)現(xiàn)所得到的隨機序列與原始隨機序列平均有99.9999%不相同。通過Matlab繪制波形圖,如下圖所示。

基于雙混沌系統(tǒng)的數(shù)字混沌加密算法

進行測試時,各內(nèi)部參數(shù)設(shè)置如下:a=1;b=1;a=3.835

左圖的迭代初始值為:

Cat映射:X0=0.123456123456;

Y0=0.654321654321Logistic

映射:X0=0.492673492673

右圖的迭代初始值為:

Cat映射:X0=0.1234561234561(增加10-13);

Y0=0.654321654321

Logistic映射:X0=0.492673492673

(3)統(tǒng)計學(xué)分析

根據(jù)香農(nóng)理論,任何的加密密碼都可以通過基于統(tǒng)計分析的方法來解密。加密算法的統(tǒng)計學(xué)特性可以通過對比加密前后的柱形圖進行分析。通過分析可得:加密文本的統(tǒng)計學(xué)特性發(fā)生了很大的改變。如圖所示。

基于雙混沌系統(tǒng)的數(shù)字混沌加密算法

左圖原始文本如下:

基于雙混沌系統(tǒng)的數(shù)字混沌加密算法

右圖加密文本如下:

基于雙混沌系統(tǒng)的數(shù)字混沌加密算法

由于字符在計算機中是以補碼來表示,所以當(dāng)計算的值大于01111111(127)時,就變?yōu)椴豢娠@示的字符。因此在進行統(tǒng)計學(xué)分析時,對應(yīng)的負(fù)值要加256轉(zhuǎn)換為實際值進行分析。

2、性能分析

通過對比基于Lorenz系統(tǒng)的三維連續(xù)混沌加密算法進行了以下性能分析:

(1)時間代價

基于Lorenz系統(tǒng)連續(xù)混沌加密算法由于其連續(xù)數(shù)值的量化過程是一種不可逆變換,因此具有較好的安全性。但是,其需要經(jīng)過數(shù)值積分,量化處理,因此運算速度較慢,不適合應(yīng)用于實時性較高的場合?;陔p混沌系統(tǒng)的離散混沌加密算法,由于采用了Cat映射和Logistic映射,其動力學(xué)方程簡單,計算機處理的都是簡單的基本運算。其加密速度與單純Logistic映射加密算法相當(dāng),而且加密強度很高。

(2)空間代價

空間代價分為算法實現(xiàn)的靜止空間和運行態(tài)空間。靜止空間指算法變成程序后本身所占用的空間,一般表現(xiàn)為執(zhí)行代碼的長度?;煦缂用芩惴ū纫话銓ΨQ或不對稱加密算法占有更少的靜止空間。而且,由于其主要運算過程是通過迭代完成的,因此實現(xiàn)運行態(tài)空間運行時占用的空間很少。在空間代價上,本算法也是比較優(yōu)秀的。

本文提出了一種基于雙混沌系統(tǒng)的數(shù)字混沌加密算法,并對算法的性能進行了分析??梢钥闯?,數(shù)字混沌加密算法可以使用基于雙混沌系統(tǒng)或多混沌系統(tǒng)的混合輸出作為密鑰生成器,盡可能不暴露混沌軌道的直觀信息和統(tǒng)計信息,從而增強抵御選擇(已知)明文攻擊。從算法實現(xiàn)和運行速度考慮,混沌加密算法應(yīng)該盡可能地使用簡單的混沌系統(tǒng)。

小知識香濃定理

香農(nóng)定理描述了有限帶寬、有隨機熱噪聲信道的最大傳輸速率與信道帶寬、信號噪聲功率比之間的關(guān)系。