王曉英
(赤峰學(xué)院 數(shù)學(xué)學(xué)院,內(nèi)蒙古 赤峰 024000)
一個(gè)基于混沌理論的加密算法的設(shè)計(jì)
王曉英
(赤峰學(xué)院 數(shù)學(xué)學(xué)院,內(nèi)蒙古 赤峰 024000)
本文提出了一種基于Logistic混沌系統(tǒng)的加密算法,以此來加密數(shù)字多媒體信息,實(shí)驗(yàn)表明混沌加密具有較好的安全性和偽隨機(jī)性,即使密鑰相差微小,經(jīng)過混沌放大后也相差甚遠(yuǎn),是一種行之有效的算法.
Logistic混沌系統(tǒng);混沌加密;混沌序列
混沌是由簡單的確定性非線性系統(tǒng)產(chǎn)生的偽隨機(jī)行為,它的基本特征是偽隨機(jī)、連續(xù)寬帶功率譜和對(duì)初始條件十分敏感,這意味著即使是兩個(gè)完全相同的混沌系統(tǒng)從幾乎相同的初始條件開始演化,它們的軌道也很快變得互不相關(guān).混沌的這種特性啟示人們由此構(gòu)造加密系統(tǒng),于是人們展開了廣泛的研究工作,混沌密碼學(xué)領(lǐng)域出現(xiàn)了大量的研究文獻(xiàn).
最早將混沌學(xué)應(yīng)用于密碼學(xué)的思想可以追溯到1949年香農(nóng)出版的經(jīng)典文章“Communication Theory of Security System”,但那時(shí)他并不知道有“混沌”一詞.自20世紀(jì)80年代以來,應(yīng)用混沌系統(tǒng)構(gòu)造新型密碼系統(tǒng)的想法得到了越來越多的關(guān)注,這一想法來源于混沌系統(tǒng)和純粹密碼學(xué)系統(tǒng)之間的自然聯(lián)系:強(qiáng)混沌系統(tǒng)的動(dòng)力學(xué)特性大致對(duì)應(yīng)著高強(qiáng)度密碼學(xué)系統(tǒng)的某些安全特征;而具有良好混合性的傳統(tǒng)密碼系統(tǒng)又暗含著擬混沌現(xiàn)象.另一方面,從算術(shù)的觀點(diǎn)來看,任何一種密碼系統(tǒng)都可以看作是一個(gè)混沌系統(tǒng)或類混沌系統(tǒng),因?yàn)橥昝赖拿艽a學(xué)特性是由確定加密過程產(chǎn)生偽隨機(jī)不規(guī)則序列來保證的,這很像是由復(fù)雜的動(dòng)力學(xué)系統(tǒng)產(chǎn)生混沌序列.
所以,用混沌系統(tǒng)來設(shè)計(jì)新型的密碼是一種很自然的想法.混沌密碼是傳統(tǒng)密碼的一種新型發(fā)展,有著廣闊的前景.引入了混沌的密碼系統(tǒng)不僅表現(xiàn)出許多優(yōu)良的密碼學(xué)特性,而且還具有豐富的源泉,另外,混沌方法能極大地簡化傳統(tǒng)密碼的設(shè)計(jì)過程.因此,混沌密碼學(xué)方法被列入現(xiàn)代密碼學(xué)的重要研究前沿.混沌加密方法屬于對(duì)稱加密體制的范疇,其安全性取決于密鑰流發(fā)生器即混沌系統(tǒng)所產(chǎn)生的信號(hào)與隨機(jī)數(shù)的近似程度,密鑰流越接近隨機(jī)數(shù)安全性越高,反之則越容易攻破.
但是混沌密碼的一些方法在理論上存在著缺陷,在實(shí)踐過程中也存在一些不足,混沌加密方法目前還處于探索階段.
我們利用混沌系統(tǒng),可以產(chǎn)生周期無限長、非相關(guān)、類似噪聲、又確定可以再生的混沌序列,這種序列難于重構(gòu)和預(yù)測(cè),從而使敵方和非法入侵者難于破譯,非常適合應(yīng)用于信息的加密,其隨機(jī)性、抗破譯能力均優(yōu)于傳統(tǒng)的隨機(jī)序列.這些使得混沌序列能夠成為一種優(yōu)秀的加密序列,產(chǎn)生非常好的加密效果.混沌加密、解密框圖如下:
首先,利用混沌系統(tǒng)產(chǎn)生序列,再對(duì)混沌序列進(jìn)行適當(dāng)?shù)奶幚?,然后利用處理后得到的序列與明文進(jìn)行作用,得到密文.密鑰取為混沌系統(tǒng)的初始值或系統(tǒng)參數(shù).
為了取得更好的加密效果,我們可以利用多種混沌系統(tǒng)對(duì)同一明文進(jìn)行多次加密,還可以利用經(jīng)典密碼學(xué)的方法對(duì)序列進(jìn)行加密處理,從而提高加密效果,極大地增加非法入侵者破譯的難度.解密是加密的逆過程,我們可以利用密鑰產(chǎn)生混沌序列,與密文進(jìn)行相互作用從而恢復(fù)出明文信息.混沌序列加密方法的特點(diǎn)是:
(1)有非常好的隨機(jī)性,類似噪聲,難于破譯,其隨機(jī)性遠(yuǎn)遠(yuǎn)優(yōu)于傳統(tǒng)的隨機(jī)序列發(fā)生器產(chǎn)生的隨機(jī)序列;
(2)密鑰空間大,混沌系統(tǒng)一般有多個(gè)參數(shù);
(3)混沌系統(tǒng)難于重構(gòu),因此,混沌序列也難于重構(gòu),從而抗破譯能力比傳統(tǒng)的隨機(jī)序列發(fā)生器產(chǎn)生的隨機(jī)序列強(qiáng).
(4)混沌序列產(chǎn)生方便,與非線性反饋移位寄存器相比,提供了更大的靈活性.
假設(shè){Pn}是明文信息序列,{Kn}是密鑰信息序列,由Logistic混沌方程迭代產(chǎn)生序列后,進(jìn)行二值化處理后所得整數(shù)混沌序列,{Cn}是密文信息序列.
基于Logistic混沌映射的加密原理圖如圖2所示,解密過程是加密的逆過程.初始值x0和u是Logistic方程的參數(shù),同時(shí)是加密系統(tǒng)的密鑰參數(shù)K={x0,u}.
圖2 Logistic混沌加密過程
因?yàn)榛煦缦到y(tǒng)對(duì)初始條件的敏感依賴性,對(duì)于僅有微小差別的初值,混沌系統(tǒng)在迭代了一定次數(shù)后便會(huì)產(chǎn)生截然不同的混沌序列.為了使相近初始值的混沌序列互相間更加不相關(guān),本方案的混沌序列經(jīng)過1000次以上迭代后取值,可以有效地放大誤差使得對(duì)初始條件的攻擊無效,使加密效果更好,安全性更高.由于加密的是數(shù)字量,所以必須使用一種方法將這個(gè)由實(shí)數(shù)構(gòu)成的序列{Xn}映射成由整數(shù)構(gòu)成的偽隨機(jī)序列,來充當(dāng)加密密鑰.這種映射中最簡單的一種莫過于選取Xn小數(shù)點(diǎn)后的幾位有效數(shù)字構(gòu)成整數(shù).
采用Logistic混沌系統(tǒng),初值x0=0.1568942作為密鑰,分支參數(shù)μ=4,迭代次數(shù)為100000次,經(jīng)過1000次以上迭代后取值.下圖為Logistic混沌序列對(duì)一幅256×256 Lena圖像進(jìn)行加密解密,仿真結(jié)果如圖3所示.(a)是原始圖像,加密后的結(jié)果如圖(b)所示,采用相同的密鑰解密后的結(jié)果如圖(c),當(dāng)密鑰存在微小的差別時(shí),解密后的結(jié)果如圖(d)所示.
圖3 Logistic混沌序列加密仿真結(jié)果
從實(shí)驗(yàn)仿真可以看出,混沌系統(tǒng)的加密效果較好,即使密鑰相差極其微小,通過混沌系統(tǒng)的迭代放大后,相差甚遠(yuǎn),導(dǎo)致最后解密失敗。
〔1〕吳東生,陳忠.混沌學(xué)導(dǎo)論.上海:上??茖W(xué)技術(shù)文獻(xiàn)出版社,1996.
〔2〕馮登國.國內(nèi)外信息安全研究現(xiàn)狀及其發(fā)展趨勢(shì).網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2001(1):8-13.
〔3〕黃潤生.混沌及其應(yīng)用.武漢:武漢大學(xué)出版社,2003:112-176.
〔4〕郝柏林.從拋物線談起——混沌動(dòng)力學(xué)引論.上海:上??萍冀逃霭嫔纾?995.
〔5〕劉式達(dá),等.自然科學(xué)中的混沌和分形.北京:北京大學(xué)出版社,2003.
〔6〕李樹鈞.數(shù)字化混沌密碼的分析與設(shè)計(jì)[博士學(xué)位論文].西安:西安交通大學(xué),2003.
O236
A
1673-260X(2010)02-0033-02