手機加密算法之雙混沌和延遲Fibonacci數(shù)列加密
基于雙混沌和延遲Fibonacci數(shù)列的手機加密算法以一維Logistic映射作為混沌模型,采用雙混沌系統(tǒng)增加控制參數(shù),使混沌行為更加復雜;利用延遲Fibonacci數(shù)列對混沌進行擾動處理,使融合后的序列更具有隨機的特征;將明文參與到加密算法中,給密文生成帶來不確定性,使局部攻擊更加困難,在密碼不變的場合更能發(fā)揮保護作用。
一、混沌模型設計
混沌是指確定性系統(tǒng)中出現(xiàn)的類似隨機的過程,它不同于一般的隨機性,而是非線性系統(tǒng)在沒有外界隨機因素影響的情況下,因系統(tǒng)狀態(tài)對初值的敏感性而產生的一種內在的隨機性。混沌現(xiàn)象是非線性動力學系統(tǒng)中出現(xiàn)的確定性的偽隨機過程,這種過程是非周期的,整體上穩(wěn)定而在局部上具有擴張性。
Logistic映射是一類被廣泛研究的動力系統(tǒng),具備混沌運動的所有基本性質。定義如下:
![]()
(1)式中γ稱為分支參數(shù)。當3.56<γ≤4時,Logistic映射工作于混沌狀態(tài),產生的序列{Xn}呈現(xiàn)出隨機性、確定性和遍歷性等特征。
在不同初值下,對Logistic映射進行迭代,結果見表1。由表可見,當初始值X0相差僅0.001時,通過多次迭代后(50次、100次),序列的差別卻越來越大,呈現(xiàn)出初值敏感性特征。

在Visual Basic 6.0環(huán)境下對Logistic迭代過程進行全程跟蹤測試,當初始條件進行微小的改變時,生成的混沌序列呈現(xiàn)明顯的分叉現(xiàn)象,如圖1所示。

二、混沌擾動處理
Fibonacci數(shù)列產生的隨機數(shù)具有明顯的相關性,對經典的Fibonacci數(shù)列改進得到延遲的Fibonacci數(shù)列,利用得到的數(shù)列對混沌進行擾動處理。延遲Fibonacci數(shù)列如下:

延遲Fibonacci數(shù)列中的任一項由它的前一項或前幾項產生,這樣可以使產生的序列克服不居中的缺點,改進后的Fibonacc1數(shù)列和原來的數(shù)列一樣,具有產生隨機數(shù)速度快、算法簡單、容易實現(xiàn)等優(yōu)點。
混沌映射產生的隨機數(shù)列在理論上是無周期的,由于受計算機處理浮點數(shù)的精度的限制,往往得不到需要的數(shù)列,產生的延遲Fibonacci數(shù)列和其他方法產生的數(shù)列一樣也存在著一定的缺陷,同樣存在著明顯的序列相關性。因此,利用一種發(fā)生器產生隨機數(shù)列的方法總是不能克服自身的缺陷,可以利用不同發(fā)生器的良好特性組合使用它們,往往會得到良好的效果,所以組合使用隨機數(shù)發(fā)生器,對它們實行融合,不僅可以克服自身的缺點,也可以改進數(shù)列的性能,也能滿足實際應用的要求。
三、基于雙混沌和延遲Fibonacci數(shù)列的手機加密算法設計
系統(tǒng)的初始狀態(tài)由用戶輸入來確定,基于雙混沌和延遲Fibonacci數(shù)列的手機加密算法結構框圖如圖2所示。

1、基于雙混沌和延遲Fibonacci數(shù)列的手機加密算法描述
步驟1:設計使用2次映射Logistic過程實現(xiàn)混沌的置亂,密鑰流經過LOG1混沌一次后輸出,由LOG2進行再混沌,LOGI與LOG2復合產生雙重的混沌軌道,使混沌行為更加復雜,難以分析和預測,抵御重構攻擊。
步驟2:選取(3)式作為擾動序列FIB,控制參數(shù)為fo,M,P。初始循環(huán)一定次數(shù)后輸出整數(shù)擾動序列ZFL。
步驟3:將雙重混沌序列映射到整數(shù)空間ZM上,這是一個一一映射,即與ZFL做乘運算得到偽隨機數(shù)列WX。
步驟4:用所得偽隨機序列WX與待加密數(shù)據(jù)文件(明文)進行異或運算得到加密的數(shù)據(jù)文件(密文)?;陔p混沌和延遲Fibonacci數(shù)列的手機加密算法是一種序列密碼加密算法,加密端加密明文信息,然后將密文發(fā)往解密端,解密端收到密文后,在相同的初始條件下進行混沌重現(xiàn),解密出明文。加密端和解密端是兩個完全相同且彼此獨立的混沌系統(tǒng),兩系統(tǒng)間不存在耦合關系。同時,基于雙混沌和延遲Fibonacci數(shù)列的手機加密算法為對稱加密算法,解密過程與加密過程同理。
2、系統(tǒng)初始狀態(tài)敏感性測試
取x0=0.2,μ=3.92,λ=3.64, 迭代50次,其行為如圖3(a)、(b)虛線所示。

步驟1:取x0=0.20001,μ=3.92,λ=3.64,迭代50次時其行為如圖3(a)實線所示。從對比結果可以看出,初始輸入值相差0.0001,經過DLOG系統(tǒng)的迭代演化,誤差在迭代23次就開始被放大,即呈現(xiàn)出比較好的初值敏感性。
步驟2:取x0=0.3,μ=3.92,λ=3.64, 迭代50次時其行為如圖3(b)實線所示。從對比結果可以看出,初始輸入值相差0.1,經過DLOG系統(tǒng)的迭代演化,誤差在開始間斷就開始被放大,滿足加密的需要。
四、試驗測試與結果分析
應用算法針對CDMA尋址方式的連通用戶設計了一個密碼驗證系統(tǒng),分別實現(xiàn)對漢字和圖片文件加密解密的仿真試驗,結果證明該加密算法是一種有效的加密算法,進一步提高了抗破譯性,可以有效地保護數(shù)據(jù)。
1、漢字加密
中國是世界上手機用戶增長最快的國家,對手機中漢字的加密工作越來越重要。在Visual Basic6.0環(huán)境下,模擬手機用戶進行了加密與解密測試。
步驟1:對漢字進行數(shù)據(jù)文件加密。在加密文本框中輸入明文數(shù)據(jù)文件,輸入密碼(如“l(fā)v1234"),保存的文件名為aaa.txt;打開加密的文件aaa.txt可以看到,加密后的數(shù)據(jù)已經無法識別,如圖4(b)所示。

步驟2:解密。打開加密文件,輸入正確密碼(如“l(fā)v1234”),解密后可以看到還原出來的數(shù)據(jù)和初始數(shù)據(jù)完全一致;輸入密碼(如“yan123’’),解密后的信息可以看出和原文差別極大,已經無法識別,如圖4(c)所示。
2、圖像文件加密
隨著多媒體、通訊和網(wǎng)絡技術的飛速發(fā)展,除文本外,圖形、圖像、聲音等多媒體信息廣泛應用于通訊領域,它以直觀、形象、快速等特點得到了人們的共識,但一些重要的數(shù)據(jù)在傳輸過程中如果被他人截獲是很危險的,因此在存儲和傳輸多媒體信息時也必須進行加密處理,對圖形和圖像文件加密是對多媒體信息保護的一種很好的方法。
在Visual Basic 6.0環(huán)境下,采用設計的加密解密系統(tǒng)對各種格式的圖像文件加密和解密測試,仿真實驗結果如圖5所示。

五、基于雙混沌和延遲Fibonacci數(shù)列的手機加密算法的特點
(1)充分利用混沌對初值的敏感性,雙重混沌增加了控制參數(shù),使混沌行為更加復雜,難于重構。
(2)提供很大的密鑰集,在不知道密鑰的情況下,進行窮舉破譯困難。
(3)擾動的方法實現(xiàn)有限精度的混沌序列,使融合后的序列更具有隨機的特征。
(4)明文長度參與到加密中,更給密文生成帶來不確定性,使局部攻擊十分困難,在密碼不變的場合更能發(fā)揮保護作用。
(5)針對漢字存儲特點采用雙字節(jié)加密,增大密文可變空間,更進一步提高了數(shù)據(jù)的安全性。
如果將混沌技術應用在電信用戶的密碼認證上,使用混沌序列碼對信息進行加密,可以其處于無序碼的保護狀態(tài)下,增強手機用戶信息的抗破譯能力,這將是電信系統(tǒng)信息安全技術一次新的突破。
小知識之Fibonacci數(shù)列
Fibonacci數(shù)列,又稱黃金分割數(shù)列,指的是這樣一個數(shù)列:0、1、1、2、3、5、8、13、21、……在數(shù)學上,斐波納契數(shù)列以如下被以遞歸的方法定義:F0=0,F(xiàn)1=1,F(xiàn)n=F(n-1)+F(n-2)(n>=2,n∈N*)在現(xiàn)代物理、準晶體結構、化學等領域,斐波納契數(shù)列都有直接的應用,為此,美國數(shù)學會從1960年代起出版了《斐波納契數(shù)列》季刊,專門刊載這方面的研究成果。










