鄧敏英
摘 要:對混沌的定義、特征及其在信息加密中的應用進行了論述,運用了基于Logistic混沌映射的迭代加密算法,從理論方面分析了利用這種算法進行數據加密時的可靠性和安全性,并用Visual C++實現了該算法。
關鍵詞:混沌理論;logistic混沌映射;迭代加密算法;圖像壓縮編碼
中圖分類號:TP309.7 文獻標識碼:A DOI:10.15913/j.cnki.kjycx.2016.02.118
1 混沌理論
混沌是與有序相對應的,是指對象各組成部分所處的狀態。混沌理論就是利用一定的理論方法對混沌狀態進行研究,通過量化分析來確定動態系統中的數據關系,并利用以往的數據預測今后的狀態變化。
處于混沌狀態的事物,其組成部分是散亂、沒有規律和關聯性的。當這種混沌狀態結束后,這些組成元素會形成一個有機的整體。混沌一詞最初用于反映宇宙在未分化前的狀態,莊子曾在其著名的寓言故事中提到“中央之帝名混沌”。古希臘哲學家在研究宇宙起源時創立了初淺的混沌論,之后,西方科學家在此研究基礎上建立了系統化的宇宙形成理論,比如康德的星云假說模型。
自20世紀60年代以來,隨著計算機模擬分析技術的發展,一些科學家發現,處于混亂狀態的事物經過處理后,也能處于一定的范圍內和呈現出有序狀態,甚至可用單純的數學公式描述這種狀態。比如奧地利物理學者普利高津在其《從混沌到有序》中建立的混沌理論模型,該模型對混沌的相關研究起到了很重要的促進作用。
2 混沌的基本特征
混沌運動的基本特征是對初值的極端敏感性。具體而言,較小的初始誤差便會導致較大的結果差別,因此,預測的實際意義較小。由此可見,出現混沌后,近期預測是有一定的實際意義的,而長期預測在本質上是不可能的。
3 混沌理論的具體應用
一般而言,將能產生混沌的數學模型稱為混沌系統,常用于混沌系統的有微分方程、動力系統和人工神經網絡等。混沌在信息領域的應用逐漸增多,比如用在圖像壓縮編碼、信息加密等領域。在該方法中,將初始值作為密鑰,改變數據存放的位置,并對數據進行混沌加密。所謂“密鑰”,是指將加密信息傳給對方時,需要告訴對方的解密數據(方法)。下面以基于迭代的混沌加密方法為例,論述混沌理論在信息加密中的應用。
3.1 混沌加密算法
3.2 混沌加密算法的優點
3.2.1 安全性高
混沌加密算法最主要優點是安全性高,這與混沌系統可提供很大的密鑰集有關,因此,加密后的數據基本上不可能被逆解。此外,由于其具有遍歷特性,所得的密鑰分布較為均勻,且可認為是隨機分布的,安全性得到了進一步提升。
3.2.2 代價小
加密算法的主要性能參數之一為空間和時間代價。而混沌加密算法屬于流密碼類別,因此,準備時間較短,只需要進行一些密鑰流生成即可。雖然混沌加密算法在此方面并未占有較大的優勢,但其在空間代價上明顯優于其他算法。加密算法在運算時主要占用靜態空間和臨時運行空間,前者主要存放算法代碼,后者用于執行代碼。混沌加密算法只需要占用很少一部分靜態空間來存放產生密匙流時的變量,并占用很少的運行空間。因此,其總體上占用的空間相對較少。
3.2.3 易于實現
混沌加密算法主要用于對數據的加密、解密、傳輸。利用這種算法加密簡單、便利,只需要利用混沌流產生一個隨機序列碼,即可實現數據加密。
4 混沌加密算法的實現
利用混沌密碼算法對數據加密時,主要應考慮如何產生混沌流的序列碼。本文選擇了以下方法來獲得混沌序列流:任意選擇一個迭代的初始值X0和參數b,用Logistic公式對此參數進行L次迭代,據此得到X1,并從X1的序列中取出其前三個偶數位的數字,形成一個整數,并與256求余得 1,從而獲得該明文的密文;利用Logistic公式重復上述操作,直到全部明文加密完成。這一過程可利用C++語言編程實現。
5 結束語
本文介紹了混沌理論的相關知識,并在此基礎上利用logistic公式建立了混沌加密算法;闡述了混沌加密算法的主要優點,比如安全性高、占用空間小等。此外,在模擬人腦的工作方式時,氣體、液體的運動等都與混沌密切相關。用混沌中迭代的運算模式,可探索混沌系統發展演化的規律,利用這些規律可對解決自然界中相似問題提供一定的參考和借鑒。
參考文獻
[1]何克明.大學物理[M].浙江:浙江大學出版社,2002.
[2]于萬波.混沌的計算實驗與分析[M].北京:科學出版社,2008.
[3]鄧紹江,李傳東.混沌理論及其在密碼學的應用[J].重慶建筑大學學報,2003,25(5).
〔編輯:張思楠〕