基于被擾動的Lorenz系統(tǒng)的混沌加密算法

為了應對有限精度產(chǎn)生的混沌動力學特性退化問題,近年來有許多的改進方案,為此,我們提出一種基于被擾動的Lorenz系統(tǒng)的混沌加密算法。該加密算法能夠在保證加密速度的前提下,使得混沌序列隨機性、加密系統(tǒng)安全性等方面都優(yōu)于基于三維混沌密碼系統(tǒng)和基于聯(lián)合混沌加密系統(tǒng)。

一、基于被擾動的Lorenz系統(tǒng)的混沌加密算法設計

1、對Lorenz系統(tǒng)參數(shù)的擾動

Lorenz系統(tǒng)是一經(jīng)典的三維混沌系統(tǒng),其動力學方程為:

基于被擾動的Lorenz系統(tǒng)的混沌加密算法

其中a、b、c是系統(tǒng)參數(shù),該系統(tǒng)當a=1O、b>24.74、c=8/3時,系統(tǒng)進入混沌狀態(tài)。然而在精度有限的計算機上模擬計算的過程中,當?shù)螖?shù)較大時,z維上的數(shù)據(jù)會出現(xiàn)短周期的
現(xiàn)象,如圖1所示。

基于被擾動的Lorenz系統(tǒng)的混沌加密算法

往介紹擾動過程之前先引入Legendre多項式:

Legendre方程:

基于被擾動的Lorenz系統(tǒng)的混沌加密算法

式(2),當|x|<1時,可得到有界解,并且當n為非負整數(shù),即n=0,1 ,2,3...時,在x=±1點亦有有界解。這種情況下,隨n值變化方程的解相應變化(如圖2)。

基于被擾動的Lorenz系統(tǒng)的混沌加密算法

構(gòu)成一組由正交多項式組成的多項式序列,即:Legendre多項式:

基于被擾動的Lorenz系統(tǒng)的混沌加密算法

其遞增表達式由(3)式給出:

基于被擾動的Lorenz系統(tǒng)的混沌加密算法

Legendre多項式產(chǎn)生具有自相關性和較高的線性復雜度性的,均值偽隨機序列,利用它來對混沌系統(tǒng)參數(shù)進行擾動。提高了混沌序列的隨機性、復雜性。彌補了計算機等數(shù)字系統(tǒng)有限精度所帶來的不足,從而增強加密系統(tǒng)的安全性。

選取b作為擾動的系統(tǒng)參數(shù),具體擾動過程如下:

1)選定初始值x0∈(-1,1),利用式(3)。通過迭代,得到一個序列:

基于被擾動的Lorenz系統(tǒng)的混沌加密算法

2)將序列bm應用到Lorenz系統(tǒng)的每一次迭代中,Lorenz系統(tǒng)在每一次迭代前,首先通過下面公式:

基于被擾動的Lorenz系統(tǒng)的混沌加密算法

得到每一次迭代需要的b,從而擾動了Lorenz系統(tǒng)中的系統(tǒng)參數(shù)b。

2、算法描述

本法選用的混沌系統(tǒng)為Lorenz系統(tǒng),首先利用Legendre多項式的遞推式(3)產(chǎn)生序列bm,將這個序列值分別作為Loren系統(tǒng)(l)選代過程中系統(tǒng)參數(shù)b的改變值,Loren系統(tǒng)經(jīng)過特定次數(shù)的迭代以后得到最后所需的混沌序列。這個特定次數(shù)(除第一次外)是由上一次加密的密文和當前的明文共同決定的,然后用混沌序列對原文信息進行加密操作。從而隱藏原文。

3、加密過程

本文以一副圖像為例介紹具體加密過程。

似沒.我們要加密一個圖像文件P(N×M)。首先,將圖像P(N×M)從定到右、由上而下進行掃描,將掃描到的數(shù)據(jù)放到P[N]中,具體加密方法如下:

1)將x0∈(-1,1)作為初始值代入(3)進行遞推。遞推50次得到序列:

基于被擾動的Lorenz系統(tǒng)的混沌加密算法

2)對第m,(m+1)和(m+2)個像素加密時,將x,y,z,a=10,b=bm.c=8/3作為式(1)的初始值進行迭代,略去前500次迭代。以501次為起點繼續(xù)迭代特定次數(shù)得到(特定次數(shù)是由待加密像前兩個已加密的像索值決定)偽隨機序列:

基于被擾動的Lorenz系統(tǒng)的混沌加密算法

迭代過程中,每迭代一次,將b值按(4)進行變化,不斷的對系統(tǒng)進行擾動。

迭代完成后,分別將第m,(m+1)和(m+2)個像素值p(m),p(m+1和P(m+2)與某一個rij進行異或操作得到密文c(m)和c(m+2)即:

基于被擾動的Lorenz系統(tǒng)的混沌加密算法

其中,rij中i ,j的值由式(5)求的:

基于被擾動的Lorenz系統(tǒng)的混沌加密算法

3)對圖像文件前三個像素值文件加密時,首先用x,y,x,a=10,b=b1.c=8/3作為初值進行達代50次,由步驟2得到密文c(1).c(2)和c(3)。然后按步驟2依次對圖像中的每個像素進行操作,最后將整個文件操作完畢,最后可以得到加密后的密文圖像c。

4、解密過程

解密過程與加密過程相反,即:步驟2中提到的迭代的次數(shù)由前3個像素值決定。式(6)改為:

基于被擾動的Lorenz系統(tǒng)的混沌加密算法

二、實驗結(jié)果

利用上述算法,Legendre多項式的初始值為x0=0.421518,Lorenz系統(tǒng)的初始值為x=1.184 07,y==1.362 86,z=1.25215和c=2.666 74。對256x256的lean圖(圖3(a))進行加密,圖3(c)為加密后的結(jié)果。圖3(b)和(d)分別是待加密圖像和已加密圖像的直方圖。

基于被擾動的Lorenz系統(tǒng)的混沌加密算法

小知識之擾動

一般是指系統(tǒng)在正常范圍內(nèi)的波動。它往往有一定的規(guī)律可循,并具有可預知性,為一般意義上的環(huán)境波動行為。