?

基于混沌序列的圖像加密算法設計

2022-07-08 22:23孫彬哲莊曼丹梁為斌宋金龍孫洪波
探索科學(學術版) 2022年1期
關鍵詞:網速加密算法初值

孫彬哲 莊曼丹 梁為斌 宋金龍 王 清 孫洪波

北京理工大學珠海學院 廣東 珠海 519088

1 引言

數據加密在日常生活中的個人隱私保護、商業信息保密、電子支付安全乃至軍事情報的傳遞等方面都具有重要的意義。第二次世界大戰期間,德國軍隊傳遞情報所使用的恩尼格瑪密碼體系號稱牢不可破,卻仍然被英國通過數理統計的方法破譯。相對于普通加密算法,采用混沌序列的加密算法在常用的數理分析手段面前具有更強的抗破解能力。

混沌現象是一類看似隨機,實則可以通過精確的數學規律描述的現象。小到樹葉飄落的軌跡,大到山川河流的變遷,都是混沌現象。對于特定的混沌現象,通??梢猿橄鬄橐粋€對初始條件極為敏感的非線性動力學系統,如著名的三體系統,這種非線性動力學系統稱為混沌系統。如果一個混沌系統某一時刻的狀態已知,則系統后續任意時刻的狀態可以通過數學規律計算得知,系統在該時刻的狀態稱為系統的初值,后續若干時刻的狀態值則構成一個混沌序列。當一個混沌系統的狀態受到微小的擾動,這一微小擾動將會通過系統的非線性機制不斷放大,最值使得系統后續的狀態與未被擾動前應有的演化趨勢大相徑庭,使得系統表現出不確定性和不可重復的現象,這就是混沌系統的初值敏感性,體現在數值上就是系統初值發生微小改變會導致后續的混沌序列發生明顯的改變。

本文利用混沌系統的特性使得設計的加密算法可以取得比傳統加密算法更好的效果,將系統初值作為生成密鑰的必需信息,不知道系統初值即無法推測加密信息所使用的密鑰,因此也無法通過數理統計方法對密文進行分析破譯。同時,由于混沌系統的初值敏感性,密碼空間可以隨著系統初值精度設置的提高而增大,使加密算法抗暴力破解的性能得到有效提高。

2 方法與模型

加密算法的具體設計如下。

2.1 混沌系統模型的建立

可采用的混沌系統模型可有多種選擇,此處以最常見的幾種混沌系統作介紹:

2.1.1 邏輯斯蒂映射

邏輯斯蒂映射(logistic map)是一個典型的一維混沌映射系統,其數學表達式如下:

式中:μ為控制參數,xn為該混沌序列的第n個元素,當控制參數μ和序列初始值x0滿足3.5699456<μ≤4,0<x0<1時,系統處于混沌狀態。

2.1.2 埃農映射

埃農映射(Hénon map)是一個常見的二維混沌映射系統,應用這一系統可以生成二維混沌序列,數學表達式為xn+1=1+yn-ax2n,yn+1=bxn,當參數值分別取為a=1.4及b=0.3時,系統處于混沌狀態。

2.1.3 洛倫茲映射

洛倫茲映射(Lorenz map)是一個三維混沌映射系統,是數值試驗中最早發現的呈現混沌運動的耗散系統,該系統的一個簡單物理實現是流體在下方加熱上方冷卻的熱對流管中的環流,記x為流體速度,y和z分別為水平和垂直的溫度差,P與流體的普朗特數(表示流體中能量和動量遷移過程相互影響程度的無量綱標量)成比例,b是與空間相關的常數,R與流體的瑞利數(描述動量擴散系數與熱擴散系數之間關系的無量綱標量)成比例,其數學表達式為dx/dt=P(y-x),dy/dt=Rx-y-xz,dz/dt=xy-bz,當參數值分別取p=10,b=8/3,R=28時,系統處于混沌狀態。

在實際的加密算法開發工作中,通常要根據所需的混沌序列維度等特征選擇適合混沌系統,通過給選定的混沌系統賦初值可以計算得到所需的混沌序列,可將多個不同混沌系統所生成的混沌序列復合使用。

2.2 密鑰生成算法的設計

在主流的對稱加密算法和非對稱加密算法中,密鑰的生成都是一個偽隨機數的生成過程,這是因為計算機算法無法生成真正意義上的隨機數,大部分程序和編程語言中的隨機數發生器都是由可確定的函數如梅森旋轉、線性同余函數通過特定“種子”作為算法的迭代初始值產生的偽隨機數,這些“種子”來自于當前系統時間、鍵盤敲擊速度、鼠標位置、實時網速等可獲得的參數,這意味著:如果知道了種子,或者已經產生的隨機數,都可以預測接下來隨機數序列?;煦缧蛄袑τ诿荑€生成的真正意義在于:當獲取為系統初值的鍵盤敲擊速度、實時網速數值出現微小的偏差時,計算得到的混沌序列就會截然不同,而鍵盤敲擊速度、實時網速等參數屬于現實世界的物理量,由于誤差必然存在而無法被精確測量,因此難以被通過諸如網速檢測的方法竊取生成密鑰時的網速從而破解密鑰。下面以一個簡單的密鑰生成算法實例進行說明:

對于特定時刻網速v(bps)作為系統初值生成的混沌序列X=[x1,x2,x3…,xn],取xi的倒數第二位數值除以2,得到取值為0或1的余數,遍歷整個混沌序列所有元素,即可得到一個二進制隨機數序列,該序列中0和1在統計學上符合隨機分布,出現的概率在50%上下波動。此處特別說明:混沌序列中各個元素的最后一位數值由于計算機浮點數的精度限制并不能確保的精確值,計算所得的余數序列在統計學上可能呈現出某種系統性偏差,因此不能采用。當系統測得的網速數值出現微小差異時,所生成的混沌序列與原來截然不同,計算出的密鑰也與真實密鑰截然不同,無法對加密信息進行破譯。因此,運用以上算法生成的隨機數序列可以作為加密算法的密鑰使用。

2.3 與傳統加密算法的結合

下文以AES為例介紹混沌加密與傳統加密算法的結合。

AES(Advanced Encryption Standard,高級加密標準)是美國聯邦政府所采用的加密標準,現已代替DES(Data Encryption Standard,數據加密標準)被全世界廣泛使用。AES算法加密流程主要包括一下幾個部分:

2.3.1 沙盒代換:通過類似查字典的方式為每個字節的數據找到一個對應的“序號”,從而將所有字節由明文逐個替換成密文;

2.3.2 行移位和列混淆:將數據矩陣中各行各列的數據按照特定的規律進行亂序排列;

2.3.3 密鑰輪加:將二進制隨機數密鑰與待加密數據進行異或運算。

上述幾個加密步驟在實際的加密過程中通常會重復執行多次,以確保密文具有充足的加密強度?;煦缂用芘c上述加密算法結合最簡單的方式是將混沌序列計算得到的二進制隨機數序列作為密鑰輪加步驟的主密鑰使用,在每個加密循環中,由主密鑰通過RIJNDAEL密鑰生成方案產生對應的回合密鑰并整合到算法中,與待加密數據進行異或運算。

3 結果與分析

下圖分別為待加密的原始圖像(校園鳥瞰圖,源文件大小42.9 MB)和經前文所敘的混沌序列算法加密后的圖像以及兩圖像的局部放大對比圖??梢?加密后的圖像無法辨認出原始圖像所包含的信息。因此,加密算法具有良好的效果。

4 結論

數據加密在日常生活中的個人隱私保護、商業信息保密、電子支付安全乃至軍事情報的傳遞等方面都具有重要的意義。相對于普通加密算法,采用混沌序列的加密算法在常用的數理分析手段面前具有更強的抗破解能力。本文將混沌系統的特性應用于圖像的加密,利用混沌系統的特性使得加密算法可以取得更好性能,設計出具有抗數理分析方法破譯的高強度圖像加密算法,該算法可與傳統加密算法結合,進一步提高加密數據的安全性。

猜你喜歡
網速加密算法初值
具非定常數初值的全變差方程解的漸近性
帶有隨機初值的復值Ginzburg-Landau方程的弱平均動力學
一種適用于平動點周期軌道初值計算的簡化路徑搜索修正法
英國網速快慢相差800倍
混沌參數調制下RSA數據加密算法研究
HES:一種更小公鑰的同態加密算法
基于小波變換和混沌映射的圖像加密算法
網速太慢
對稱加密算法RC5的架構設計與電路實現
具有無窮大初值的二維奇異攝動問題的漸近解
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合