基于DSP的混沌數(shù)字圖像加密與硬件設(shè)計(jì)
摘要 介紹了在DSP基礎(chǔ)上,實(shí)現(xiàn)數(shù)字圖像的混沌加密及硬件實(shí)現(xiàn)方法。根據(jù)離散化和數(shù)字化處理技術(shù),對(duì)三維Lorenz混沌系統(tǒng)作離散化處理,用C語言和DSP技術(shù)產(chǎn)生三維Lorenz混沌迭代序列,分別對(duì)數(shù)字圖像的紅、綠、藍(lán)三基色信號(hào)進(jìn)行混沌加密和解密?;谛酒吞?hào)為TMS32 0VC5509A的DSP開發(fā)平臺(tái),以bmp格式的灰度圖像為例,設(shè)計(jì)了Lorenz混沌序列對(duì)數(shù)字圖像進(jìn)行加密與解密算法,給出了DSP硬件實(shí)現(xiàn)結(jié)果表明,改善了安全性、提高了速度、滿足了實(shí)時(shí)性要求。
隨著計(jì)算機(jī)及通信技術(shù)的發(fā)展,圖像處理及應(yīng)用愈加廣泛?,F(xiàn)代DSP技術(shù)的發(fā)展和應(yīng)用為實(shí)現(xiàn)圖像處理奠定了基礎(chǔ)。高性能的DSP處理器作為圖像處理首選的核心器件,并能通過軟件編程實(shí)現(xiàn)各種處理算法,提高系統(tǒng)處理能力和擴(kuò)展系統(tǒng)功能。
近來混沌的同步控制理論日趨成熟,為混沌在通信中的應(yīng)用提供了理論基礎(chǔ)?;煦缧盘?hào)的非周期性連續(xù)寬帶頻譜,類似噪聲的特性。另外,混沌信號(hào)對(duì)初始條件的高度敏感,即使兩個(gè)完全相同的混沌系統(tǒng)從近乎相同的初始條件開始演化,其軌道將很快變得互不相關(guān),這使得混沌信號(hào)具有長期不可預(yù)測性和抗截獲能力。而且具有多個(gè)正李氏指數(shù)的超混沌系統(tǒng),及復(fù)雜的運(yùn)動(dòng)軌跡,這使得混沌信號(hào)具有較高的復(fù)雜度。同時(shí)混沌系統(tǒng)本身具有確定性,由非線性系統(tǒng)的方程、參數(shù)和初始條件所決定,因此,混沌信號(hào)易于產(chǎn)生復(fù)制?;煦缧盘?hào)的隱蔽性、不可預(yù)測性、高復(fù)雜度和易于實(shí)現(xiàn)等特性都適合于保密通信。與其他加密方法不同的是,混沌加密是一種動(dòng)態(tài)加密方法,由于其處理速度和密鑰長度無關(guān),因此這種方法的計(jì)算效率高、可用于實(shí)時(shí)信號(hào)處理和靜態(tài)加密場合。且用此方法加密的信息很難破譯,具有很高的保密度。即使在連續(xù)攝動(dòng)存在的情況下,混沌同步效應(yīng)過程也是穩(wěn)定的。特別是在混沌信號(hào)上加上一個(gè)較小的信息源,當(dāng)混合信號(hào)傳到接收器上后,由接收器上參數(shù)相同的混沌電路捕捉其中主要的混沌分量,可以較好地恢復(fù)輸送的信息源。
目前對(duì)混沌加密的實(shí)現(xiàn)還局限于計(jì)算機(jī)仿真,有關(guān)硬件實(shí)現(xiàn)的報(bào)道也很少。而用于混沌加密的系統(tǒng),通常是一維或二維,如Logistic映射等,這類系統(tǒng)的方程形式簡單且易于實(shí)現(xiàn),但存在密鑰空間小、抵御窮舉攻擊能力差、容易被相空間重構(gòu)方法進(jìn)行混沌系統(tǒng)識(shí)別等問題。針對(duì)上述問題本文提出了用三維Lorenz混沌系統(tǒng)和DSP技術(shù)實(shí)現(xiàn)混沌數(shù)字圖像加密及其硬件實(shí)現(xiàn)的新方法。根據(jù)離散化和數(shù)字化處理技術(shù),對(duì)三維Lorenz系統(tǒng)作離散化處理后,能產(chǎn)生混沌迭代序列。在設(shè)計(jì)圖像紅、綠、藍(lán)三基色信號(hào)混沌加密與解密算法的基礎(chǔ)上,利用芯片型號(hào)為TMS320VC5509A的DSP開發(fā)平臺(tái),進(jìn)行了8×8的bmp格式灰度圖像加密與解密的硬件實(shí)驗(yàn)研究,并給出了實(shí)驗(yàn)結(jié)果,其系統(tǒng)框圖如圖1所示。
1 Lorenz系統(tǒng)離散化及DSP硬件實(shí)現(xiàn)
Lorenz系統(tǒng)作為經(jīng)典三維混沌系統(tǒng),生成的混沌序列有其自身的特點(diǎn)。與一維和二維等低維混沌系統(tǒng)相比,具有更為復(fù)雜的混沌動(dòng)力學(xué)行為,產(chǎn)生的混沌序列更不可預(yù)測。系統(tǒng)的3個(gè)初始值和3個(gè)參數(shù)都可以作為生成加密混沌序列的種子密鑰,產(chǎn)生的密鑰空間大于一維和二維的混沌系統(tǒng)。如果對(duì)系統(tǒng)輸出的混沌序列進(jìn)行處理,還可以采用單變量或多變量組合的加密混沌序列,使得序列密碼的設(shè)計(jì)和應(yīng)用更加靈活方便。
由于Lorenz系統(tǒng)是三維連續(xù)混沌系統(tǒng),而DSP只能處理數(shù)字信號(hào)或離散信號(hào),所以要先對(duì)連續(xù)混沌系統(tǒng)作離散化處理。對(duì)混沌系統(tǒng)離散化通常有3種方法。Euler算法、改進(jìn)Euler算法和Runge—Kutta算法。這3種離散化的方法各有優(yōu)缺點(diǎn),一些較簡單的一維和二維混沌系統(tǒng),常使用精度較高的Runge—Kutta算法,由于受到硬件資源的限制,一般用Euler算法在型號(hào)為TMS320VC5509A的DSP平臺(tái)上產(chǎn)生Lorenz混沌序列。
在選擇存儲(chǔ)器時(shí)應(yīng)從以下方面考慮:首先圖像壓縮算法中間數(shù)據(jù)量大,要求處理器的片上內(nèi)存盡可能大,盡量避免對(duì)外部存儲(chǔ)器讀寫操作。TMS320VC5509A的片上存儲(chǔ)器包括32 k位×16位DARAM,96 k位×16位SARAM,共128 k位的存儲(chǔ)空間。其中DARAM為雙地址,在每個(gè)周期內(nèi)可以對(duì)其進(jìn)行2次操作(2次讀,2次寫,1次讀和1次寫),這樣增加片上存儲(chǔ)器的利用率。其次,VC5509A片上資源豐富,包括I2C總線,3個(gè)Mc-BSPs。VC5509A采用144引腳LQFP封裝,便于安裝、調(diào)試;VC5509A功耗小,工作在200 MHz主頻下,功耗僅100 mW,適合嵌入式應(yīng)用。
DSP基本系統(tǒng)由獨(dú)立的電源系統(tǒng)供電,而硬件平臺(tái)的其他器件共用另一套電源供電系統(tǒng)。為了降低系統(tǒng)功耗,DSP一般采用低電壓供電,并且采用I/O和CPU內(nèi)核分開供電方式。TMS320VC5509A不同的工作頻率要求不同的核電壓,200 MHz為1.6 V,144 MHz為1.35V,108 MHz為1.2 V。DSP的I/O電壓為3.3 V。
高速DSP芯片主要特性如下:
(1)低功耗設(shè)計(jì),比上一代C54XX器件功耗低約30%。處理速度快,雙核結(jié)構(gòu),處理速度400MI·s-1。采用超長指令結(jié)構(gòu)(VLIW),單指令字長32位。外部時(shí)鐘40 MHz,內(nèi)部時(shí)鐘20 MHz,所有指令均單周期完成,處理器內(nèi)部采用高度并行機(jī)制,可同時(shí)進(jìn)行多達(dá)11項(xiàng)各類操作。
(2)兩套相同的外部數(shù)據(jù)、地址總線,支持局部存儲(chǔ)器和全局共享存儲(chǔ)器。
(3)6個(gè)高速并行通信口,采用異步傳輸方式,最大速率可達(dá)20 Mb·s-1。通過令牌傳遞可靈活實(shí)現(xiàn)數(shù)據(jù)雙向傳輸,這種結(jié)構(gòu)適合DM642之間的互連。
(4)6個(gè)DMA通道,每個(gè)通道的最大速率可達(dá)20 Mb·s-1。DMA內(nèi)部總線與CPU的地址、數(shù)據(jù)、指令總線完全分開,避開了總線使用上的瓶頸。
綜上所述,在選用DSP芯片時(shí),應(yīng)考慮性能是否滿足快速判讀算法的要求,即選擇那些指令周期短、數(shù)據(jù)吞吐率高、通信能力強(qiáng)、指令集功能完備的處理器,同時(shí)還要兼顧功耗和開發(fā)支持環(huán)境等因素。本設(shè)計(jì)采用TI公司的TMS320VC5509A芯片,選擇TMS320VC5509A作為主處理器芯片。
Lorenz混沌連續(xù)系統(tǒng)的無量綱狀態(tài)方程為
根據(jù)Euler算法,將Lorenz方程離散化,用Matlab仿真驗(yàn)證產(chǎn)生多渦卷,利用DSP技術(shù)實(shí)現(xiàn)離散混沌系統(tǒng)。
由式(1)可得其離散化和變量比例壓縮后的方程為
式(2)中的T為離散化的取樣時(shí)間;k為變量比例壓縮因子;參數(shù)a=10、b=30、c=8/3。依據(jù)式(2)得仿真結(jié)果如圖2所示。在DSP上用C語言編程實(shí)現(xiàn)其迭代序列,經(jīng)D/A轉(zhuǎn)換輸出后,可以在示波器上看到Lorenz混沌吸引子的相圖如圖3所示。
2 基于Lorenz系統(tǒng)的數(shù)字圖像加密
用驅(qū)動(dòng)一響應(yīng)同步對(duì)DSP中存儲(chǔ)的數(shù)字圖像進(jìn)行混沌加密??紤]n維自治動(dòng)力系統(tǒng)du/dt=f(u),把它分解為兩個(gè)子系統(tǒng)v和w:dv/dt=g(v,w);dw/dt=g(v,w)。其中,v=(u1,u2,…,um),w=(um+1,um+2,…,un)按照加的形式復(fù)制1個(gè)子系統(tǒng)w’,即dw'/dt=g(v,w’),則構(gòu)造了1個(gè)新的系統(tǒng)dv/dt=g(v,w),dw/dt=g(v,w),dw'/dt=g(v,w’),其中,系統(tǒng)(v,w)為驅(qū)動(dòng)系統(tǒng);(v,w’)為響應(yīng)系統(tǒng)。當(dāng)響應(yīng)系統(tǒng)的條件李亞譜諾夫指數(shù)都為負(fù)值時(shí),可實(shí)現(xiàn)混沌系統(tǒng)的同步。對(duì)于驅(qū)動(dòng)一響應(yīng)同步,并不是任何變量都可以用作驅(qū)動(dòng)變量來實(shí)現(xiàn)混沌同步。顯然,同步的要求是條件李氏指數(shù)均為負(fù)、或者可用李氏穩(wěn)定性理論來證明其同步。同步的理論證明需要構(gòu)造李氏函數(shù),在一般情況下,李氏函數(shù)的構(gòu)造并不容易。此外,條件李氏指數(shù)的計(jì)算也比較困難。為判斷混沌是否同步,在工程實(shí)用方面,可通過相圖來判斷是否達(dá)到同步,即在同步情況下,同步相圖為對(duì)角線,同步誤差為0,從實(shí)際應(yīng)用的角度,可通過仿真來確定用哪些變量驅(qū)動(dòng)可同步,哪些不可同步。對(duì)于Lorenz系統(tǒng),分別用X,Y,Z作為驅(qū)動(dòng)變量來實(shí)現(xiàn)驅(qū)動(dòng)-響應(yīng)同步,通過Matlab仿真以后,發(fā)現(xiàn)用X,Y作為驅(qū)動(dòng)變量時(shí)相圖均如圖4所示,達(dá)到同步時(shí),同步相圖為對(duì)角線,誤差趨于0。而用Z作為驅(qū)動(dòng)變量時(shí),其相圖如圖5所示,同步相圖不是對(duì)角線,誤差不為0,不能實(shí)現(xiàn)同步。也就是說,對(duì)于Lorenz系統(tǒng),用X,Y都可實(shí)現(xiàn)驅(qū)動(dòng)-響應(yīng)同步,用Z實(shí)現(xiàn)不了,在本文中用Y來驅(qū)動(dòng)實(shí)現(xiàn)驅(qū)動(dòng)-響應(yīng)同步,其同步原理圖,如圖6所示。
相關(guān)推薦
-
-
-
ping1125 | 2005-03-03
-
-
wuren_13 | 2004-11-08
-
電子陽光 | 2004-11-04
-
fancy_wind | 2004-10-29
-
-
wuren_13 | 2004-11-08
-
-
-
-
-
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論