超混沌加密算法及其軟件實現(xiàn)

混沌同步保密通信和信息加密是近年發(fā)展起來的新研究領域,利用混沌變量的寬帶、似噪聲特性、以及對初始狀態(tài)極為敏感的特點,可以設計出超混沌加密算法。由于其處理速度和密鑰長度無關,因此超混沌加密算法的計算效率較高,安全性好。那么今天,就給大家介紹一下這種超混沌加密算法。

一、超混沌加密算法描述

1、超混沌加密算法原理

一般混沌系統(tǒng)是一種典型的三維現(xiàn)象,其特點是只有一個正的李雅普諾夫指數(shù),其運動軌跡只在某個方向上產(chǎn)生不穩(wěn)定性。在自然界中普遍存在高維非線性系統(tǒng),它們有不止一個正的李雅普諾夫指數(shù),其運動軌跡在兩個以上的方向出現(xiàn)指數(shù)型的發(fā)散軌跡,這種混沌態(tài)被稱為超混沌。

從安全性的角度考慮,因為超混沌系統(tǒng)比低維混沌系統(tǒng)具有更復雜的相空間,用它設計的加密算法不易被一類基于混沌同步的分析方法破譯。

2、超混沌加密算法實現(xiàn)過程

以用Rossler系統(tǒng)和Lorenz系統(tǒng)構造的超混沌系統(tǒng)為例,加密端方程式:

式中,s——中間變量,s—m+3x2;c——密文,c一10x5+30s/x6; m——明文。

解密端方程式:

式中,s1為解密端方程中的中間變量,s1=(c-10y5)y6/30;c——密文。

恢復的明文為mr=s1-3y2

如果加密端方程與解密端方程的參數(shù)、初始狀態(tài)完全相等,且沒有信道傳輸差錯,則密文能精確恢 復到明文,即有mr=m。

二、超混沌加密算法的軟件實現(xiàn)

對超混沌系統(tǒng)采用歐拉法進行數(shù)值積分,步長取0.01。程序用Vc++6.0編寫。加密軟件面向二進制數(shù),使之適用于任何文件類型。以64位為一個單元進行處理。加密時,將讀入的二進制數(shù)和經(jīng)放大的混沌信號進行異或運算,解密時作同樣處理。處理前后的文件字節(jié)數(shù)不變。

程序根據(jù)用戶輸入的口令對混沌系統(tǒng)的參數(shù)、初始狀態(tài)和程序運行參數(shù)進行重載。將口令通過安全通道傳送給接收方。接收方輸入相同的口令才能解密。設置了高、標準、低三檔保密級別,默認值為標準。

程序的主要流程如下:

1、啟動程序進入主窗口,內(nèi)部預置為標準加密強度,允許打開文件操作;

2、用戶選定加密/解密功能、加密級別,并打開文件后,允許輸入口令操作;

3、輸入口令并檢查合格后,界面線程啟動,允許“開始處理”按鈕;

4、工作者線程啟動,根據(jù)從界面線程處獲得的信息開始加密或解密,并允許中斷操作,此時界面線程等待用戶中斷和工作者線程消息;

5、若收到用戶中斷命令,立即中斷工作者線程的執(zhí)行,否則直到加密/解密完成;

6、界面線程收到工作者線程加密/解密完成消息后,終止工作者線程,整理界面,恢復界面初始狀態(tài),并準備好下一次加密/解密前的工作。

三、超混沌加密算法的安全性分析

經(jīng)過加密,真實信號完全被混沌信號淹沒,在信號通道傳送的是混沌信號。由于混沌信號的頻譜寬、形似噪聲等特點,使攻擊者很難從中提取真實信號。

真實信號和混沌信號不是進行簡單的相加運算,而是異或運算,得到的結果已偏離原來的混沌吸引子,因此用統(tǒng)計分析方法,或用相空間重構等方法估計混沌系統(tǒng)的參數(shù),都是無效的。此外,超混沌系統(tǒng)的相對空間較復雜,增加了破譯的難度。

通過以上分析說明,超混沌加密算法能抵御一類針對混沌的分析破譯方法。

綜上所述,超混沌加密算法可用于任何類型文件的加、解密,超混沌算法的安全性好,解密精確恢復,速度滿足一般文件加密系統(tǒng)的要求。

小知識之歐拉法:

歐拉法(euler method)是以流體質(zhì)點流經(jīng)流場中各空間點的運動即以流場作為描述對象研究流動的方法