工程加密中混沌動(dòng)力學(xué)Logistic模型的應(yīng)用

結(jié)合現(xiàn)代集成電路的設(shè)計(jì)規(guī)模和現(xiàn)代數(shù)字電路ASIC設(shè)計(jì)的優(yōu)勢(shì),提出并實(shí)現(xiàn)了64位精度的算法器,外界通過(guò)簡(jiǎn)單控制就可高速實(shí)現(xiàn)Logistic算法中的大量迭代運(yùn)算,并且輸出的混沌序列的周期長(zhǎng)度達(dá)到實(shí)用標(biāo)準(zhǔn)。

一、Logistic模型的基本特性

Logistic模型:

工程加密中混沌動(dòng)力學(xué)Logistic模型的應(yīng)用

其中,u為控制參數(shù),且0≤u<4,z∈[0.1]

該模型只有一個(gè)變量x,屬于一維方程,但具有極其復(fù)雜的動(dòng)力學(xué)規(guī)律。根據(jù)模型的定義,我們可以通過(guò)Logistlc模型的分岔圖可以直觀了解u的取值對(duì)迭代過(guò)程的影響和迭代結(jié)果的分布情況。 在圖l中以u(píng)為x軸,迭代多次的Xn的平均值為了軸。

工程加密中混沌動(dòng)力學(xué)Logistic模型的應(yīng)用

從圖1中可以看出該模型的迭代值強(qiáng)烈依賴u,隨著u的不同xn的最終分布可以分為兩個(gè)區(qū)域:周期區(qū)和混沌區(qū)。當(dāng)u的值很小時(shí),當(dāng)?shù)螖?shù)趨于無(wú)窮大時(shí),迭代值趨于一個(gè)定值;隨著擾的增大,迭代值的周期數(shù)以倍周期分岔的方式不斷地增長(zhǎng)。當(dāng)u值大于3.57時(shí),時(shí)間序列面,x0,x1,x2,…xn,…依次排列得到的時(shí)間序列如同分布在區(qū)間[0,1]上的隨機(jī)數(shù),稱之為混沌狀態(tài)。

1)周期區(qū)

結(jié)論1通過(guò)分析圖1可以得出結(jié)論1:從周期2n-1到2n(n>1),各分岔點(diǎn)un存在如下關(guān)系:

工程加密中混沌動(dòng)力學(xué)Logistic模型的應(yīng)用

即各分岔點(diǎn)之間的距離以比例δ倍縮小,且δ為一無(wú)理數(shù),這個(gè)數(shù)被稱為費(fèi)根包姆(Feigenbaum)δ常數(shù)。

結(jié)論2通過(guò)分析圖2我們得出每分岔一次,在x方向上的結(jié)構(gòu)也在較小的標(biāo)度上重復(fù)出現(xiàn)一次疊周期2n中接近于xi處各之間的距離△1,△2,…,△n漸近的按因子a衰減:

工程加密中混沌動(dòng)力學(xué)Logistic模型的應(yīng)用

這里的費(fèi)根包姆δ和α常數(shù)是一種普適常量,在倍周期分岔現(xiàn)象中具有普遍意義,與函數(shù)的形式無(wú)關(guān)。這兩個(gè)常數(shù)也說(shuō)明了倍周期分岔進(jìn)入混沌是一種相當(dāng)普遍的自然現(xiàn)象。

2)混沌區(qū)

指出在混沌區(qū)也存在一些周期窗口,如周期3, 5,6…等,并且通過(guò)這些周期又不斷岔分出周期3*21,3* 22,…等,最終進(jìn)入混沌。混沌區(qū)中包含周期窗口,窗口區(qū)內(nèi)又有混沌,這種不斷重復(fù)的自相似結(jié)構(gòu)有無(wú)窮多個(gè)層次,最終形成了我們現(xiàn)在看到的混沌區(qū)域。這里需要說(shuō)明的是由于圖形分辨率的限制,周期大于5的窗口在圖1中沒(méi)能被直觀體現(xiàn)。

工程加密中混沌動(dòng)力學(xué)Logistic模型的應(yīng)用

二、Logistlc算法器的設(shè)計(jì)

在這一節(jié)中將著重介紹算法的設(shè)計(jì)思想和具體實(shí)現(xiàn)。

1、算法器數(shù)字電路的工作狀態(tài)

在本次設(shè)計(jì)中要實(shí)現(xiàn)的迭代乘法算法為:

工程加密中混沌動(dòng)力學(xué)Logistic模型的應(yīng)用

通過(guò)分析算法特點(diǎn)和加密過(guò)程,我們將實(shí)現(xiàn)一次加密工作乘法器內(nèi)部要經(jīng)歷的狀態(tài)分為四種狀態(tài),其狀態(tài)圖如圖3所示。

工程加密中混沌動(dòng)力學(xué)Logistic模型的應(yīng)用

狀態(tài)1:算法器處于復(fù)位狀態(tài),由輸入信號(hào)sta控制。

狀態(tài)2:算法器處于初始化狀態(tài),X(64Bit),U(64Bit) ,NUM(迭代次數(shù))的順序依次輸入初始化數(shù)據(jù)。

狀態(tài)3:算法器完成規(guī)定的迭代次數(shù)后Ready有效,進(jìn)入混沌態(tài)。

狀態(tài)4:算法器將需加密的數(shù)據(jù)在寫(xiě)信號(hào)有效時(shí)的第一個(gè)時(shí)鐘周期生成密文,當(dāng)密文被讀走的同時(shí),并準(zhǔn)備好下一次加密數(shù)據(jù)時(shí)所需的數(shù)據(jù),直至加密全過(guò)程結(jié)束,sta腳重新回到有效態(tài)。這樣就可以周而復(fù)始的加密任意大小的文件。

2、Logistic模型算法的實(shí)現(xiàn)

為了保證迭代運(yùn)算保持在混沌態(tài),U的取值為3.8~4之間的數(shù),在帶人運(yùn)算前先將U值通過(guò)除4轉(zhuǎn)換為小數(shù)(64Bit),然后在每一次的迭代運(yùn)算中積分兩次乘以二。X.(l-X)積最大為1/4,所以在每于次的迭代運(yùn)算不會(huì)產(chǎn)生大于1的數(shù)。

在實(shí)現(xiàn)迭代運(yùn)算的設(shè)計(jì)中,設(shè)計(jì)的重點(diǎn)之一是超長(zhǎng)度數(shù)據(jù)間的乘法。乘法運(yùn)算占用的資源是最大的,如果對(duì)一些無(wú)效位不進(jìn)行處理,64位與64位數(shù)據(jù)相乘后生成l28位的結(jié)果中冗余數(shù)據(jù)還將占用大量的硬件資源;并且如果直接利用兩個(gè)寬為64位的數(shù)據(jù)相乘,這里采用的Xilinx公司軟件2.1版的Foundation將不能對(duì)設(shè)計(jì)進(jìn)行綜合(synthe-
sis)形成宏單元。對(duì)算法進(jìn)行改進(jìn),將兩個(gè)64位數(shù)據(jù)A[63:0]、B[63:0]分成兩部分同時(shí)相乘,將結(jié)果處理后再相加,得到精度仍為64位的積。這樣在輸出時(shí)宏單元就可以少占用64位的輸出,內(nèi)部珍貴的資源就可以節(jié)省下來(lái)。其工作流程圖如圖4所示。

工程加密中混沌動(dòng)力學(xué)Logistic模型的應(yīng)用

在每一次Logistlc運(yùn)算中要進(jìn)行兩次乘法運(yùn)算,為了節(jié)省資源,兩次乘法用同一個(gè)乘法器,這樣是以降低運(yùn)算速度為代價(jià),損失大約一半時(shí)間。通過(guò)外部控制信號(hào)(sel)和時(shí)鐘信號(hào)(clk)來(lái)控制乘法運(yùn)算的順序:在第一個(gè)時(shí)鐘周期完成z=x.(1-z),有效數(shù)據(jù)取前[126: 63]位,實(shí)現(xiàn)乘2;在第2個(gè)時(shí)鐘周期完成y=u.2,有效數(shù)據(jù)仍取前[126:63]位,實(shí)現(xiàn)乘2。所得結(jié)果反饋給Logistic函數(shù)發(fā)生器的控制部分作為下一次運(yùn)算的x。

在乘法器中,我們將每組的u值存入一個(gè)模塊中,這個(gè)控制模塊負(fù)責(zé)控制64×64位的乘法模塊的輸入和時(shí)鐘信號(hào);并且1-x產(chǎn)生64位有效數(shù)據(jù)的運(yùn)算過(guò)程也由它完成。

三、算法器的具體實(shí)現(xiàn)及分析

1、算法器的原理圖和時(shí)序仿真

u13是算法器中的控制器,通過(guò)握手信號(hào)和外部交換信息,控制每次加密過(guò)程中初始化、明文輸入、和密文輸出的全過(guò)程;H1實(shí)現(xiàn)乘法的宏器件。u13利用控制信號(hào)線控制乘法器實(shí)現(xiàn)Logistic算法。

我們將原理圖通過(guò)綜合過(guò)程后,利用產(chǎn)生的時(shí)間延遲參數(shù)進(jìn)行后時(shí)序仿真來(lái)校驗(yàn)設(shè)計(jì)功能。因?yàn)槠颍@里僅分析算法器在數(shù)據(jù)加密狀態(tài)下的時(shí)序。

工程加密中混沌動(dòng)力學(xué)Logistic模型的應(yīng)用

通過(guò)后時(shí)序仿真可以看出,算法器達(dá)到設(shè)計(jì)要求。當(dāng)將初始化數(shù)據(jù)寫(xiě)入算法器,輸入要求的時(shí)鐘數(shù)目后,算法器進(jìn)入混沌狀態(tài),ready變?yōu)楦唠娖健Mㄟ^(guò)寫(xiě)命令wr將要加密的明文數(shù)據(jù)流和混沌產(chǎn)生密鑰流異或形成密文,然后通過(guò)讀命令rd將密文取走。由于明文寫(xiě)入和密文輸出公用一個(gè)總線,所以設(shè)計(jì)使用讀信號(hào)控制數(shù)據(jù)總線方向引腳dir的電氣特性。這里讀信號(hào)和寫(xiě)信號(hào)的操作均是在其有效后的第一個(gè)時(shí)鐘開(kāi)始進(jìn)行,寫(xiě)信號(hào)需—個(gè)時(shí)鐘,讀信號(hào)需兩個(gè)時(shí)鐘。從圖6中可以看出硬件完成每項(xiàng)動(dòng)作的時(shí)序,包括施加控制信號(hào)到得到響應(yīng)的延時(shí),如rd和dir邊沿間的延時(shí)等,這些特征只能在后時(shí)序仿真中才能觀察到。通過(guò)對(duì)仿真后時(shí)序結(jié)果進(jìn)行分析后重新設(shè)計(jì),有效避免這些特殊延時(shí)可能導(dǎo)致的設(shè)計(jì)對(duì)象的邏輯功能混亂。

工程加密中混沌動(dòng)力學(xué)Logistic模型的應(yīng)用

2、乘法器的原理圖和時(shí)序仿真

本設(shè)計(jì)依據(jù)頂層設(shè)計(jì)的方法實(shí)現(xiàn)了乘法器MMM,由它具體實(shí)現(xiàn)乘法,乘數(shù)和被乘數(shù)均為64位。其管腳定義如表1所示。

工程加密中混沌動(dòng)力學(xué)Logistic模型的應(yīng)用

同樣在后時(shí)序仿真時(shí),我們也測(cè)試了作為算法器中最重要的部件一乘法器的功能。

工程加密中混沌動(dòng)力學(xué)Logistic模型的應(yīng)用

通過(guò)后時(shí)序仿真圖8可以清楚地看到乘法器實(shí)現(xiàn)兩次乘法的全過(guò)程,這里需要說(shuō)明的是:因?yàn)檫M(jìn)行每次的乘法運(yùn)算均在load的上升沿發(fā)生,load由控制器的clkout信號(hào)驅(qū)動(dòng)。而clk-out信號(hào)是由瀆信號(hào)和時(shí)鐘信號(hào)共同驅(qū)動(dòng)的,所以要求讀密文時(shí)的讀信號(hào)的有效時(shí)間長(zhǎng)度必須大于兩個(gè)時(shí)鐘周期。

工程加密中混沌動(dòng)力學(xué)Logistic模型的應(yīng)用

小知識(shí)之混沌動(dòng)力學(xué)

混沌動(dòng)力學(xué)是復(fù)雜性科學(xué)的一個(gè)重要分支,也是近三十年來(lái)的一個(gè)熱門(mén)學(xué)科,混沌動(dòng)力學(xué)已發(fā)展成相對(duì)完備的體系,并在眾多領(lǐng)域顯示出強(qiáng)大的生命力。