李明晶,王曼瑋,王 盈
(長春大學(xué) a.電子信息工程學(xué)院;b.研究生部,長春 130022)
基于非線性電路的數(shù)據(jù)文件加密方法實(shí)現(xiàn)
李明晶a,王曼瑋b,王 盈b
(長春大學(xué) a.電子信息工程學(xué)院;b.研究生部,長春 130022)
混沌在非線性科學(xué)中是一個很重要的組成部分,由于它具有確定性、有界性、對初值的敏感性、長期不可預(yù)測性等固定特性,使其混沌理論及其應(yīng)用研究獲得了巨大的發(fā)展。在混沌保密通信、數(shù)據(jù)加密、流體混合等領(lǐng)域,成為大家普遍所接受的方法及其應(yīng)用重點(diǎn)。由于混沌信號明顯的寬帶白噪聲特點(diǎn),可根據(jù)非線性動態(tài)系統(tǒng)產(chǎn)生并且很容易進(jìn)行控制。動態(tài)系統(tǒng)的不同初始狀態(tài)下,所產(chǎn)生的混沌信號相互之間不但正交且獨(dú)立。因此,混沌信號在保密技術(shù)方面中得到了廣泛的應(yīng)用。
混沌;非線性; 數(shù)據(jù)加密
在信息化、網(wǎng)絡(luò)化時代,人們手中的數(shù)字化信息,可以借由很多種方式傳播開去。數(shù)據(jù)文件就是傳達(dá)信息的媒介之一,網(wǎng)絡(luò)上的數(shù)據(jù)文件很多是要求發(fā)送方和接收方都要進(jìn)行加密通信,可以看出當(dāng)今社會對信息的安全保障要求之高。而混沌序列,具有對初始條件和混沌參數(shù)敏感等特征,近些年來在加密領(lǐng)域得到了廣泛的應(yīng)用。使用必要的算法將信息進(jìn)行加解密,實(shí)現(xiàn)信息的保護(hù)。
在通信技術(shù)中,應(yīng)用混沌序列信號進(jìn)行擴(kuò)頻、調(diào)制、加密等手段,不僅僅是奠定了混沌保密通信在未來發(fā)展中的廣闊前景,更使通信系統(tǒng)在實(shí)際運(yùn)用中保留了許多混沌信號的特點(diǎn)。然而,凡事都有雙面性,正是由于混沌信號在系統(tǒng)初始狀態(tài)的高度敏感性,使其作為通信信號載體進(jìn)行同步傳輸具有一定的困難性,所以需要通過保證通信系統(tǒng)中收發(fā)雙發(fā)同步來實(shí)現(xiàn)。
圖1 系統(tǒng)結(jié)構(gòu)框圖
1.1 設(shè)計(jì)主要思路
本課題的主要設(shè)計(jì)內(nèi)容是構(gòu)造非線性混沌電路,以此利用混沌電路實(shí)現(xiàn)通信同步?;诨煦绲臄?shù)據(jù)文件加密算法及實(shí)現(xiàn),即設(shè)計(jì)一個在MATLAB環(huán)境下,基于混沌的數(shù)字文件加密系統(tǒng)分析加密的結(jié)構(gòu)特點(diǎn),完成加密的理論與變換,選擇一個加密原理。對任意輸入的文件數(shù)據(jù)進(jìn)行仿真實(shí)驗(yàn),實(shí)現(xiàn)其方法的應(yīng)用。
擬采用的實(shí)施方案:
(1)構(gòu)造非線性混沌電路;
(2)利用非線性電路實(shí)現(xiàn)通信同步;
(3)利用MATLAB軟件對文件加密,做出加密前和加密后的仿真分析。
根據(jù)混沌序列的自身特點(diǎn),借助MATLAB編程語言,編寫適當(dāng)?shù)乃惴ㄐ畔⑦M(jìn)行加解密,實(shí)現(xiàn)對秘密消息的加密保護(hù)。系統(tǒng)結(jié)構(gòu)框圖如圖1,第一步就是推導(dǎo)狀態(tài)方程,在對其平衡點(diǎn)進(jìn)行穩(wěn)定性分析之后,借助MATLAB軟件,編好程序,再進(jìn)一步仿真,最終得到非線性混沌電路。
1.2 基于非線性電路的圖像加密方法
Logistic映射是一個標(biāo)志性的、有確定形式特征的非線性簡潔迭代方程。雖然整個系統(tǒng)中并沒有任何隨機(jī)因素,最終卻顯示出類似于完全隨機(jī)、對初始條件和混沌參數(shù)敏感的現(xiàn)象。因此,本設(shè)計(jì)中,擬采用Logistic映射迭代出混沌序列,置亂了源圖像的像素點(diǎn),使得加密效果得以產(chǎn)生。對比結(jié)果是比直接加密圖像的效果更好?;贚ogistic映射與排序變換的圖像加密算法,是在利用混沌映射中混沌信號對的初始值的敏感性和偽隨機(jī)性,以重新排列混沌序列這種方式,來獲取已被置亂的圖像的地址變換碼。又因?yàn)檫@樣排序所存在的不規(guī)則性,所獲得到的新的混沌圖像置亂后,比一般算法更具安全性。利用這種算法實(shí)際進(jìn)行仿真實(shí)驗(yàn)的操作,分析數(shù)據(jù)之后看出,像素置亂算法具有良好的圖像文件加密性能。
1.3 圖像加解密的仿真
人類數(shù)據(jù)信息中,圖像信息應(yīng)用最為廣泛,所以實(shí)驗(yàn)運(yùn)用異或運(yùn)算將數(shù)據(jù)進(jìn)行隱藏,連續(xù)使用同一數(shù)據(jù)對圖像數(shù)據(jù)兩次異或運(yùn)算圖像的數(shù)據(jù)不發(fā)生改變,利用這一特性對圖像信息進(jìn)行加密保護(hù)。用戶輸入的密碼必須是0-1之間的任何一個數(shù)據(jù),進(jìn)行加密過程中,加密的程序與解密的程序輸入的密碼必須一致才能正確解密圖像。
2.1 圖像的加密技術(shù)
通過電子電路來產(chǎn)生非線性體系統(tǒng),我們可以借助設(shè)備來進(jìn)行相關(guān)數(shù)據(jù)的測量記錄。比如示波器:顯示混沌系統(tǒng)的電壓數(shù)據(jù),觀測其電流波形,比較相位圖。而功率譜圖,我們可以利用頻譜分析儀進(jìn)行進(jìn)一步測量分析。各類非線性動力學(xué)中的相關(guān)參數(shù)數(shù)據(jù),對于現(xiàn)在這個信息化、網(wǎng)絡(luò)化的時代來說,很方便,很快捷,所以混沌電路的研究價值很高。隨著信息化社會的進(jìn)步,混沌電路通信、數(shù)據(jù)文件保密通信等,不論是系統(tǒng)芯片,還是高精度的混沌元件,在研究設(shè)計(jì)上,都不再是難事,并以此來構(gòu)造和測試各種混沌分析軟件。
傳統(tǒng)意義中的加密算法,基本都不適合對圖像進(jìn)行加密,因?yàn)閳D像中所包含的信息量都很大。傳統(tǒng)圖像加密算法都是根據(jù)位置置亂,如變換。這些加密算法都具有加密速度快的優(yōu)點(diǎn)。但是,其技術(shù)安全性完全依賴于算法的安全性,使之很難滿足于現(xiàn)代加密系統(tǒng)的硬性要求。從對圖像數(shù)據(jù)處理的方式來分類,那么技術(shù)層面上的加密是由位置置換、值的變換以及組合形式三部分組成。假若從圖像的像素信號處理的這方面來看,則有空間域、頻率域這兩種算法。
2.1.1 Logistic加密算法
置亂變化加密技術(shù)是圖像加密中最基本的加密技術(shù)之一,也是一般的圖像安全技術(shù)中最為基礎(chǔ)的技術(shù)。在其本身來看,圖像像素點(diǎn)置亂就是對圖像的像素數(shù)據(jù)塊做一次不同于原圖像像素現(xiàn)有排列的全排列。
2.1.2 Logistic加密算法的原理
在加密技術(shù)發(fā)展初期,數(shù)字圖像加密主要是通過使圖像像素位置發(fā)生變換來完成加密的。也就是說,將源圖像矩陣中的像素隨意全排列,直到出現(xiàn)漸變效果,新的圖像將完全不同于原圖像,使這個圖像數(shù)據(jù)本身成為類似于隨機(jī)數(shù)據(jù)的方式而達(dá)到加密的目的。
數(shù)字圖像的置亂變換,只要都符合映射的條件,一一對應(yīng),即可以從一維、二維、三維以及高維變換來分析,也就是可逆變換。既能由正變換對圖像進(jìn)行加密的工作,反過來,也可以利用逆變換,對已經(jīng)加密后的圖像進(jìn)行完整解密。
一維變換中,首先需要做的是對源圖像逐行掃描,得到對應(yīng)的一維向量。然后再重新整合、排列其中元素,最終重新根據(jù)掃描順序,得到新的圖像數(shù)據(jù)矩陣,成為加密后的圖像。
二維變換中,先運(yùn)用數(shù)學(xué)變換把二維圖像像素的坐標(biāo)進(jìn)行一個整體變換,接下來按像素的坐標(biāo)的對應(yīng)關(guān)系將圖像像素點(diǎn)重新構(gòu)成新一個圖像數(shù)據(jù)矩陣,成為加密圖像。
三維變換中,將源圖形分成(n+1)×n的塊,同樣對源圖像逐行掃描,得到對應(yīng)的一維向量。再重新排列、規(guī)則變換圖像像素點(diǎn)坐標(biāo),最終重新根據(jù)掃描順序,得到新的圖像數(shù)據(jù)矩陣,得到加密后的圖像。由變換域的置換這方面來說,存在基于以下三種空間的置亂變換:位置、色彩和頻率,也就是由像素位置亦或是色彩的不同變換來達(dá)到置亂圖像,最終加密的目的。
2.1.3 Logistic加密的變換特征分析
恢復(fù)置亂后的圖像,重新得到原圖像,也就是解密。原圖像與加密后的圖像,它們必須要是可逆或能夠通過變換恢復(fù)到初態(tài)的周期性的關(guān)系。不同組合的密鑰,是決定置換的結(jié)果不盡相同的關(guān)鍵。所以要保證密鑰空間要盡可能大。
一般來說,我們是在空域研究圖像置亂技術(shù)的,在這個階段中會有很大概率改變圖像中像素間的關(guān)系,編碼時,就會在一定程度上降低壓縮率。所以,如何將圖像置亂加密和圖像壓縮兩大項(xiàng)可以更加有效地結(jié)合在一起,在目前來看是主要研究方向。
2.1.4 Logistic加密置亂程度的度量
關(guān)于置亂變換的優(yōu)缺點(diǎn),除上述的要求以外,我們也可以按照置亂度來進(jìn)行定量。圖像相鄰像素間的平均灰度差是我們衡量置亂通常所用的手段。經(jīng)過大量對比分析,圖像置亂前后,位置置亂、灰度置亂都看出原圖像平滑區(qū)域分布較多,像素值與像素值之間相較于相鄰區(qū)域來說,很穩(wěn)定,沒有太大的區(qū)分(除紋理區(qū)外)。而置亂后的結(jié)果與之相差極大,不同的像素值間,像素點(diǎn)隨機(jī)交錯,大范圍內(nèi)像素值趨平的區(qū)域不復(fù)存在了。由此,相鄰灰度差的置亂就此出現(xiàn)。實(shí)際上也就任意像素與其所相鄰的像素像素值之間的差值越大,置亂圖像效果越好。
2.2 基于混沌的圖像加密技術(shù)
2.2.1 混沌圖像加密系統(tǒng)模型
借由具有非周期性和偽隨機(jī)這些特點(diǎn)的混沌序列,同初態(tài)明文序列依次異或,最終達(dá)到加密的效果,這就是混沌加密。英國數(shù)學(xué)家Matthews最早提到混沌流密碼,解決了作為序列密鑰流生成器,Logistic混沌映射所存在的問題,以加大密鑰空間。
混沌映射、擴(kuò)散函數(shù)和重復(fù)次數(shù)是加密系統(tǒng)的安全性的關(guān)鍵點(diǎn)。在系統(tǒng)中,明文圖像要達(dá)到密文圖像的效果,就需要借由混沌置亂、擴(kuò)散和反復(fù)迭代加密。在諸如此類的混沌映射因素外,還有置亂的次數(shù)也與密碼混沌加密系統(tǒng)的安全性有著密切相關(guān)的聯(lián)系。假若置亂的次數(shù)越多,每次迭代的密鑰又不同,混沌加密系統(tǒng)秘密性越高。
圖2 圖像混沌加密的模型
2.2.2 基于Logistic映射的圖像加密算法
數(shù)字圖像的置亂加密算法的目的:利用相關(guān)非線性變換來替換原有的圖像矩陣,讓圖像完全與原圖像不同。即使圖像是一個二維矩陣,借助混沌序列,調(diào)制由像素值組成的一維向量,依舊能夠?qū)⒍S矩陣變?yōu)橐粋€一維向量,實(shí)現(xiàn)加密。
2.3 Logistic映射加密示例與分析
Logistic映射,目前應(yīng)用非常廣泛的,由映射特征所做的相關(guān)算法。假設(shè),某單一種類的昆蟲,在固定一段范圍內(nèi)繁殖時,數(shù)量上其子代大大超過親代,我們就說,于子代繁殖出之后,親代的數(shù)量幾乎就能夠無視掉了。
比方說:設(shè)Mi是某種昆蟲第i年的個體總數(shù),其中Mi與i有關(guān),i的取值為1,2,3,...而一維Logistic映射可以有如下數(shù)學(xué)表示:
M(1)iii=μ(M-M),其中μ為控制系數(shù)。
Logistic映射的定義式如下:
Xk+1=uxk(1-xk)
(1)
其中,0﹤μ﹤4為分叉參數(shù),x∈(0,1)。當(dāng)3.569456﹤μ﹤4時,logistics映射工作狀態(tài)一直處于初始狀態(tài)。即:Logistic映射的作用下,初態(tài)所產(chǎn)生的序列{以k=0,1,...),是非周期性的、不收斂的,同時異常敏感于初始值。于(0,1)中隨機(jī)取一個混沌置換初值x0,多次置亂,最后用混沌密碼序列加密各個像素值。
2.3.1 加密技術(shù)設(shè)計(jì)原理
運(yùn)用異或運(yùn)算方式將數(shù)據(jù)進(jìn)行數(shù)據(jù)隱藏,持續(xù)堅(jiān)持使用同一數(shù)據(jù)分別對圖像數(shù)據(jù)進(jìn)行兩次異或運(yùn)算圖像的數(shù)據(jù)一定不會發(fā)生改變。利用上述所發(fā)現(xiàn)的這一特性對圖像信息進(jìn)行加密保護(hù)。用戶輸入的密碼必須是在0~1 之間的任何一個數(shù)據(jù),并對其進(jìn)行加密,并且加密的程序與解密的程序輸入的密碼必須完全一致才能正確解密。
加密程序核心代碼如下:
fori=1:N-1 % 進(jìn)行N-1 次循環(huán)
m(i+1)=4*m(i)-4*m(i)^2; % 循環(huán)產(chǎn)生密碼
end
m=mod(1000*m,256); %1000*m除以256 的余數(shù)
m=uint8(m); %強(qiáng)制轉(zhuǎn)換為無符號整型
n=1; %定義變量n
fori=1:a
for j=1:b
e(i,j)=bitxor(m(n),x(i,j)); % 將圖像信息藏在e(i,j) 矩陣中進(jìn)行
異或運(yùn)算
n=n+1;
end
End
2.3.2 運(yùn)行結(jié)果與分析
對圖像進(jìn)行加密算法的仿真是一個應(yīng)用MATLAB語言程序編寫然后再執(zhí)行的過程。程序?qū)⒗肕ATLAB軟件提供的豐富的函數(shù),在命令窗口進(jìn)行程序的運(yùn)行來實(shí)現(xiàn)仿真。
3.1 MATLAB預(yù)處理
第一步,是MATLAB對原圖像的圖像數(shù)據(jù)做出灰度處理的部分,調(diào)用MATLAB軟件、并順利完成接下來的其他運(yùn)作。
(1)為了讓它成為矩陣數(shù)組,我們一開始要做的是讀取彩色圖像數(shù)據(jù)。
(2)將原始的圖像轉(zhuǎn)換成灰度圖像。因?yàn)榭紤]到本設(shè)計(jì)只對灰度圖像做加密解密算法的仿真,所以需要存在這一部分的預(yù)先準(zhǔn)備。
3.2 顯示圖像
置亂變換加密圖像的這樣一種算法,即隨機(jī)排序,變換圖像的像素點(diǎn)坐標(biāo)。
為了更好地演示圖像置亂變換的原理,我們選取Logistic映射來做置亂變換,進(jìn)行MATLAB仿真。首先在256X256像素大小,即灰度值為255的白色圖片正中間,選取8X8的像素點(diǎn),令其灰度值為0,接下來分別做兩輪置亂加密變換,最終呈現(xiàn)的就是置亂加密后的圖像。
3.3 圖像的加密
本設(shè)計(jì)中所描述的加密算法,是借由圖像分組,進(jìn)行一系列運(yùn)算變換,整個圖像就好比是一個大的數(shù)據(jù)塊,多次的置亂可以轉(zhuǎn)換明文的統(tǒng)計(jì)特征,最終達(dá)到加密的算法。在諸如此類的混沌映射因素外,假若置亂的次數(shù)越多,每次迭代的密鑰又不同,混沌加密系統(tǒng)秘密性越高。通過兩種方法的交互使用,最后就能夠以循環(huán)次數(shù)比較少的情況下迅速加密。本部分為圖像加密過程,主要是對圖像做加密處理。
(1)任意混沌序列作圖像加密算法中的密鑰(例如:貓映射、Logistic映射、Henon映射),相對應(yīng)的混沌映射參數(shù)。(本設(shè)計(jì)中我們應(yīng)用的是Logistic映射)
(2)進(jìn)行圖像像素位置的置亂變換。
(3)再繼續(xù)重復(fù)操作上述的置亂變換。
根據(jù)要求,選擇任意點(diǎn)作為它的初態(tài),所得到的混沌的實(shí)值序列實(shí)際上是不可以拿來作圖像加密工作的。原因是,這個混沌實(shí)值序列的值不一定會在像素灰度值的取值范圍內(nèi)。所以,首先要做的是預(yù)先處理混沌實(shí)值。介于混沌系統(tǒng)存在非周期性、隨機(jī)性以及敏感性的特點(diǎn),需要混沌序列上任意元素值做出取整浮點(diǎn)數(shù)的操作,以保證能夠有相應(yīng)的位數(shù)。
3.4 顯示圖像
比較加密前圖像與加密后圖像的效果。
3.5 圖像解密
這一部分則是第三步(加密過程)的逆過程,因?yàn)橛成渚哂幸灰粚ΨQ性,所以解密的步驟與加密過程完全相反,可是密鑰值(即混沌參數(shù)和置亂擴(kuò)散參數(shù))必須完全一致,否則無法對圖像進(jìn)行解密操作。
解密過程也就是由加密矩陣的密鑰,產(chǎn)生解密矩陣,把加密后的圖像再次位置置亂的算法逆運(yùn)算,得到加密圖像。再將加密圖像通過解密程序解密,形成最后的解密圖像。
在這次基于非線性電路的數(shù)據(jù)文件的加密解密及仿真方法的實(shí)現(xiàn)研究中,我們運(yùn)用了MATLAB,開發(fā)項(xiàng)目的大量時間是對圖像的加密、對加解密后圖像進(jìn)行仿真比較等方面,它為我們提供一個強(qiáng)大的分析能力和對動態(tài)系統(tǒng)的模型化和仿真。實(shí)驗(yàn)結(jié)果表明:原圖加密,方針實(shí)際操作后所呈現(xiàn)出的新圖像,完全不同于原圖,成功地完成了對圖像數(shù)據(jù)的加密的目的。此混沌序列算法非常適用對圖像數(shù)據(jù)的加密,進(jìn)而實(shí)現(xiàn)對數(shù)據(jù)的保密,在網(wǎng)絡(luò)傳輸中能夠很好地保護(hù)圖像數(shù)據(jù)不被第三方輕易獲取其內(nèi)容,實(shí)現(xiàn)數(shù)據(jù)的隱藏保護(hù)。
[1] 陳魯生,沈世鎰.現(xiàn)代密碼學(xué)[M].北京:科學(xué)出版社,2002.
[2] 蘇莉萍.基于混沌的圖像置亂加密算法及MATLAB的實(shí)現(xiàn)[J].裝備制造技術(shù),2007(8):79-81.
[3] 葉群.混沌及其在圖像加密中的應(yīng)用研究[D].長沙:湖南師范大學(xué), 2009.
[4] 高鐵杠,陳增強(qiáng),袁著祉.混沌系統(tǒng)的混合同步及其在安全通信中的應(yīng)用[J].通信學(xué)報,2005(3):21-24.
[5] 趙百超.基于混沌理論的信息加密算法研究[D].沈陽:東北大學(xué),2001.
[6] 周霖.基于混沌的圖像加密及其DSP實(shí)現(xiàn)[J].廣東工業(yè)大學(xué)學(xué)報,2014,32(1):45-46.
[7] 畢偉光.吳愛國.BI Weiguang.WU Aiguo 一種用于混沌保密的新型混沌信號產(chǎn)生電路[J].信息安全與通信保密,2007(5):131-132.
[8] 吳健珍,謝劍英.基于混沌的保密通信方案的研究[J].通信技術(shù),2003,135(3):87-89.
[9] 權(quán)安靜,將國平,左濤.基于Logistic映射的分組密碼算法研究及其應(yīng)用[J].東南大學(xué)學(xué)報(自然科學(xué)版),2004(S1):11-14.
[10] 秦紅磊.混沌置換網(wǎng)絡(luò)的設(shè)計(jì)及其硬件實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2001,27(6):54-56.
責(zé)任編輯:程艷艷
Implement of a Data File Encryption Method Based on Nonlinear Circuit
LI Mingjinga, WANG Manweib, WANG Yingb
(a. College Electronic Information Engineering; b. Graduate Department, Changchun University, Changchun 130022, China)
Chaos, with its fixed features such as certainty, bounded property, susceptibility to initial value, long-term unpredictability and so on, is a very important part in nonlinear science, letting the research on its chaos theory and application have a great progress, which becomes a common method and an applied focus in the fields of security communication in chaos, data encryption and fluid mixing. Due to the obvious characteristic of wide band white noise of the chaotic signal, it is easy to control according to the nonlinear dynamic system. Under different initial states of dynamic system, the generated chaotic signals are mutually independent and orthogonal. Therefore, chaotic signal has been widely used in security technology.
chaos; nonlinear; encryption data
2016-09-12
吉林省教育廳科研項(xiàng)目(吉教科文合字[2014]第302號)
李明晶(1977-),女,吉林公主嶺人,副教授,博士,主要從事光電跟蹤測量和圖像融合算法研究;王曼瑋(1993-),女,江蘇南京人,碩士研究生,主要從事控制工程研究。
TP309
A
1009-3907(2016)12-0015-06