《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于DSP的混沌數(shù)字圖像加密與硬件設(shè)計(jì)
基于DSP的混沌數(shù)字圖像加密與硬件設(shè)計(jì)
電子科技
徐小云,,禹思敏,,徐禮國
摘要: 介紹了在DSP基礎(chǔ)上,,實(shí)現(xiàn)數(shù)字圖像的混沌加密及硬件實(shí)現(xiàn)方法。根據(jù)離散化和數(shù)字化處理技術(shù),,對三維Lorenz混沌系統(tǒng)作離散化處理,用C語言和DSP技術(shù)產(chǎn)生三維Lorenz混沌迭代序列,分別對數(shù)字圖像的紅,、綠、藍(lán)三基色信號進(jìn)行混沌加密和解密,?;谛酒吞枮門MS32 0VC5509A的DSP開發(fā)平臺,以bmp格式的灰度圖像為例,,設(shè)計(jì)了Lorenz混沌序列對數(shù)字圖像進(jìn)行加密與解密算法,,給出了DSP硬件實(shí)現(xiàn)結(jié)果表明,改善了安全性,、提高了速度,、滿足了實(shí)時性要求。
Abstract:
Key words :

摘要 介紹了在DSP" title="DSP">DSP基礎(chǔ)上,,實(shí)現(xiàn)數(shù)字圖像的混沌加密" title="混沌加密">混沌加密及硬件實(shí)現(xiàn)" title="硬件實(shí)現(xiàn)">硬件實(shí)現(xiàn)方法,。根據(jù)離散化和數(shù)字化處理技術(shù),對三維Lorenz混沌系統(tǒng)作離散化處理,,用C語言和DSP技術(shù)產(chǎn)生三維Lorenz混沌迭代序列,,分別對數(shù)字圖像的紅、綠,、藍(lán)三基色信號進(jìn)行混沌加密和解密,。基于芯片型號為TMS32 0VC5509A的DSP開發(fā)平臺,,以bmp格式的灰度圖像為例,,設(shè)計(jì)了Lorenz混沌序列對數(shù)字圖像進(jìn)行加密與解密算法,給出了DSP硬件實(shí)現(xiàn)結(jié)果表明,,改善了安全性,、提高了速度、滿足了實(shí)時性要求,。
關(guān)鍵詞  Lorenz系統(tǒng)" title="Lorenz系統(tǒng)">Lorenz系統(tǒng),;圖像加密" title="圖像加密">圖像加密;DSP,;混沌加密,;硬件實(shí)現(xiàn)

    隨著計(jì)算機(jī)及通信技術(shù)的發(fā)展,,圖像處理及應(yīng)用愈加廣泛。現(xiàn)代DSP技術(shù)的發(fā)展和應(yīng)用為實(shí)現(xiàn)圖像處理奠定了基礎(chǔ),。高性能的DSP處理器作為圖像處理首選的核心器件,,并能通過軟件編程實(shí)現(xiàn)各種處理算法,提高系統(tǒng)處理能力和擴(kuò)展系統(tǒng)功能,。
    近來混沌的同步控制理論日趨成熟,,為混沌在通信中的應(yīng)用提供了理論基礎(chǔ)?;煦缧盘柕姆侵芷谛赃B續(xù)寬帶頻譜,,類似噪聲的特性。另外,,混沌信號對初始條件的高度敏感,,即使兩個完全相同的混沌系統(tǒng)從近乎相同的初始條件開始演化,其軌道將很快變得互不相關(guān),,這使得混沌信號具有長期不可預(yù)測性和抗截獲能力,。而且具有多個正李氏指數(shù)的超混沌系統(tǒng),及復(fù)雜的運(yùn)動軌跡,,這使得混沌信號具有較高的復(fù)雜度,。同時混沌系統(tǒng)本身具有確定性,由非線性系統(tǒng)的方程,、參數(shù)和初始條件所決定,,因此,混沌信號易于產(chǎn)生復(fù)制,?;煦缧盘柕碾[蔽性、不可預(yù)測性,、高復(fù)雜度和易于實(shí)現(xiàn)等特性都適合于保密通信,。與其他加密方法不同的是,混沌加密是一種動態(tài)加密方法,,由于其處理速度和密鑰長度無關(guān),,因此這種方法的計(jì)算效率高、可用于實(shí)時信號處理和靜態(tài)加密場合,。且用此方法加密的信息很難破譯,,具有很高的保密度,。即使在連續(xù)攝動存在的情況下,,混沌同步效應(yīng)過程也是穩(wěn)定的。特別是在混沌信號上加上一個較小的信息源,,當(dāng)混合信號傳到接收器上后,,由接收器上參數(shù)相同的混沌電路捕捉其中主要的混沌分量,,可以較好地恢復(fù)輸送的信息源。
    目前對混沌加密的實(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)識別等問題。針對上述問題本文提出了用三維Lorenz混沌系統(tǒng)和DSP技術(shù)實(shí)現(xiàn)混沌數(shù)字圖像加密及其硬件實(shí)現(xiàn)的新方法,。根據(jù)離散化和數(shù)字化處理技術(shù),,對三維Lorenz系統(tǒng)作離散化處理后,能產(chǎn)生混沌迭代序列,。在設(shè)計(jì)圖像紅,、綠、藍(lán)三基色信號混沌加密與解密算法的基礎(chǔ)上,,利用芯片型號為TMS320VC5509A" title="TMS320VC5509A">TMS320VC5509A的DSP開發(fā)平臺,,進(jìn)行了8×8的bmp格式灰度圖像加密與解密的硬件實(shí)驗(yàn)研究,并給出了實(shí)驗(yàn)結(jié)果,,其系統(tǒng)框圖如圖1所示,。

a.JPG



1 Lorenz系統(tǒng)離散化及DSP硬件實(shí)現(xiàn)
    Lorenz系統(tǒng)作為經(jīng)典三維混沌系統(tǒng),生成的混沌序列有其自身的特點(diǎn),。與一維和二維等低維混沌系統(tǒng)相比,,具有更為復(fù)雜的混沌動力學(xué)行為,產(chǎn)生的混沌序列更不可預(yù)測,。系統(tǒng)的3個初始值和3個參數(shù)都可以作為生成加密混沌序列的種子密鑰,,產(chǎn)生的密鑰空間大于一維和二維的混沌系統(tǒng)。如果對系統(tǒng)輸出的混沌序列進(jìn)行處理,,還可以采用單變量或多變量組合的加密混沌序列,,使得序列密碼的設(shè)計(jì)和應(yīng)用更加靈活方便。
    由于Lorenz系統(tǒng)是三維連續(xù)混沌系統(tǒng),,而DSP只能處理數(shù)字信號或離散信號,,所以要先對連續(xù)混沌系統(tǒng)作離散化處理。對混沌系統(tǒng)離散化通常有3種方法,。Euler算法,、改進(jìn)Euler算法和Runge—Kutta算法。這3種離散化的方法各有優(yōu)缺點(diǎn),一些較簡單的一維和二維混沌系統(tǒng),,常使用精度較高的Runge—Kutta算法,,由于受到硬件資源的限制,一般用Euler算法在型號為TMS320VC5509A的DSP平臺上產(chǎn)生Lorenz混沌序列,。
    在選擇存儲器時應(yīng)從以下方面考慮:首先圖像壓縮算法中間數(shù)據(jù)量大,,要求處理器的片上內(nèi)存盡可能大,盡量避免對外部存儲器讀寫操作,。TMS320VC5509A的片上存儲器包括32 k位×16位DARAM,,96 k位×16位SARAM,共128 k位的存儲空間,。其中DARAM為雙地址,,在每個周期內(nèi)可以對其進(jìn)行2次操作(2次讀,2次寫,,1次讀和1次寫),,這樣增加片上存儲器的利用率。其次,,VC5509A片上資源豐富,,包括I2C總線,3個Mc-BSPs,。VC5509A采用144引腳LQFP封裝,,便于安裝、調(diào)試,;VC5509A功耗小,,工作在200 MHz主頻下,功耗僅100 mW,,適合嵌入式應(yīng)用,。
    DSP基本系統(tǒng)由獨(dú)立的電源系統(tǒng)供電,而硬件平臺的其他器件共用另一套電源供電系統(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位,。外部時鐘40 MHz,,內(nèi)部時鐘20 MHz,所有指令均單周期完成,,處理器內(nèi)部采用高度并行機(jī)制,,可同時進(jìn)行多達(dá)11項(xiàng)各類操作。
    (2)兩套相同的外部數(shù)據(jù),、地址總線,,支持局部存儲器和全局共享存儲器。
    (3)6個高速并行通信口,,采用異步傳輸方式,,最大速率可達(dá)20 Mb·s-1。通過令牌傳遞可靈活實(shí)現(xiàn)數(shù)據(jù)雙向傳輸,,這種結(jié)構(gòu)適合DM642之間的互連,。
    (4)6個DMA通道,每個通道的最大速率可達(dá)20 Mb·s-1,。DMA內(nèi)部總線與CPU的地址,、數(shù)據(jù)、指令總線完全分開,,避開了總線使用上的瓶頸,。
    綜上所述,在選用DSP芯片時,,應(yīng)考慮性能是否滿足快速判讀算法的要求,,即選擇那些指令周期短、數(shù)據(jù)吞吐率高,、通信能力強(qiáng),、指令集功能完備的處理器,同時還要兼顧功耗和開發(fā)支持環(huán)境等因素,。本設(shè)計(jì)采用TI公司的TMS320VC5509A芯片,,選擇TMS320VC5509A作為主處理器芯片。
    Lorenz混沌連續(xù)系統(tǒng)的無量綱狀態(tài)方程為
    f.jpg
    根據(jù)Euler算法,,將Lorenz方程離散化,,用Matlab仿真驗(yàn)證產(chǎn)生多渦卷,利用DSP技術(shù)實(shí)現(xiàn)離散混沌系統(tǒng),。
    由式(1)可得其離散化和變量比例壓縮后的方程為
    g.jpg
    式(2)中的T為離散化的取樣時間,;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所示。

b.JPG



2 基于Lorenz系統(tǒng)的數(shù)字圖像加密
    用驅(qū)動一響應(yīng)同步對DSP中存儲的數(shù)字圖像進(jìn)行混沌加密,??紤]n維自治動力系統(tǒng)du/dt=f(u),把它分解為兩個子系統(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個子系統(tǒng)w’,,即dw'/dt=g(v,,w’),則構(gòu)造了1個新的系統(tǒng)dv/dt=g(v,,w),,dw/dt=g(v,w),,dw'/dt=g(v,,w’),其中,,系統(tǒng)(v,,w)為驅(qū)動系統(tǒng);(v,,w’)為響應(yīng)系統(tǒng),。當(dāng)響應(yīng)系統(tǒng)的條件李亞譜諾夫指數(shù)都為負(fù)值時,可實(shí)現(xiàn)混沌系統(tǒng)的同步,。對于驅(qū)動一響應(yīng)同步,,并不是任何變量都可以用作驅(qū)動變量來實(shí)現(xiàn)混沌同步,。顯然,同步的要求是條件李氏指數(shù)均為負(fù),、或者可用李氏穩(wěn)定性理論來證明其同步,。同步的理論證明需要構(gòu)造李氏函數(shù),在一般情況下,,李氏函數(shù)的構(gòu)造并不容易,。此外,條件李氏指數(shù)的計(jì)算也比較困難,。為判斷混沌是否同步,,在工程實(shí)用方面,,可通過相圖來判斷是否達(dá)到同步,,即在同步情況下,同步相圖為對角線,,同步誤差為0,,從實(shí)際應(yīng)用的角度,可通過仿真來確定用哪些變量驅(qū)動可同步,,哪些不可同步,。對于Lorenz系統(tǒng),分別用X,,Y,,Z作為驅(qū)動變量來實(shí)現(xiàn)驅(qū)動-響應(yīng)同步,通過Matlab仿真以后,,發(fā)現(xiàn)用X,,Y作為驅(qū)動變量時相圖均如圖4所示,達(dá)到同步時,,同步相圖為對角線,,誤差趨于0。而用Z作為驅(qū)動變量時,,其相圖如圖5所示,,同步相圖不是對角線,誤差不為0,,不能實(shí)現(xiàn)同步,。也就是說,對于Lorenz系統(tǒng),,用X,,Y都可實(shí)現(xiàn)驅(qū)動-響應(yīng)同步,用Z實(shí)現(xiàn)不了,,在本文中用Y來驅(qū)動實(shí)現(xiàn)驅(qū)動-響應(yīng)同步,,其同步原理圖,,如圖6所示。

c.JPG


    發(fā)送信號與接收信號均受同一信號P(t)驅(qū)動,,在方程參數(shù)匹配的情況下,,可實(shí)現(xiàn)嚴(yán)格的同步,這種嚴(yán)格的同步不受信號S0(t)幅度大小的影響,?;煦缧盘柵c圖像信號相疊加時,混沌信號要大于圖像信號,,但不能太大,,否則將破壞系統(tǒng)的混沌狀態(tài)。一般應(yīng)滿足,,混沌信號與圖像信號的比值在10~100之間,。不同的混沌系統(tǒng),比值的要求也不同,。此外,,在保密性要求較高時,一般取比值>100,。
    DSP5509允許用戶通過圖像窗口觀測圖像,,具體操作步驟如下:
    (1)首先選取一幅靜止的圖像,將圖像轉(zhuǎn)換成80×80的bmp格式文件,,通過Matlab工具將圖像數(shù)據(jù)轉(zhuǎn)換成矩陣形式儲存,。
    (2)在CCS3.3中進(jìn)行C語言編程,將圖像轉(zhuǎn)存進(jìn)DSP的SARAM中,。通過編譯,、運(yùn)行,將數(shù)據(jù)下載到硬件DSP5509中,。
    (3)在CCS3.3界面上打開View里面的Graph中的image窗口進(jìn)行相關(guān)的配置,,設(shè)置如圖7所示,點(diǎn)擊“OK”使配置生效,。于是CCS3.3的界面上出現(xiàn)了一幅的bmp圖像如圖8所示,。

d.JPG


    在對圖像進(jìn)行混沌加密前,必須保證在三基色圖像信號溶入后Lorenz混沌吸引子不會發(fā)散,??赏ㄟ^編程,將3個基色信號分別溶人到混沌吸引子中,,在示波器上通過觀察到3個信號分別溶入后的混沌吸引子相圖與原混沌吸引子相圖幾乎一致,,說明圖像的三基色信號被加密在混沌信號之中。

3 硬件實(shí)驗(yàn)結(jié)果
    將程序下載到DSP實(shí)驗(yàn)板上運(yùn)行,,得到如圖9所示的加密圖像,。當(dāng)發(fā)送端與接收端參數(shù)完全匹配時,,加入解密程序,將會得到如圖10所示的解密圖像,,其還原質(zhì)量較好,。若解密時稍改動一下Lorenz系統(tǒng)初始值,例如,,將c=8/3改變成c=3,,其余參數(shù)不變,將解不出原圖像,,會得到與圖9相近的圖像,。同理,若接收端的某個參數(shù)略有失配,,則也將無法還原出原圖像信號,,這說明該系統(tǒng)的安全性來自于對發(fā)送端與接收端參數(shù)失配的高度敏感性,在事先不知道發(fā)送端系統(tǒng)參數(shù)的情況下,,要想破譯出原圖像信號難度較大,。

e.JPG


    由于開始混沌還沒有完全進(jìn)入同步,,所以在圖像的上部分出現(xiàn)一點(diǎn)模糊現(xiàn)象,,但總體來說,解密的效果較好,。

4 結(jié)束語
    采用三維Lorenz混沌系統(tǒng)對數(shù)字圖像加密,,能改善低維混沌加密時密鑰空間的不足。用DSP作為數(shù)字信號處理器件,,實(shí)現(xiàn)發(fā)送端與接收端的混沌迭代參數(shù)完全匹配,,圖像的還原質(zhì)量較好。在三維Lorenz混沌系統(tǒng)的圖像加密中,,采用了閉環(huán)方案,,并且用DSP硬件進(jìn)行實(shí)現(xiàn),圖像信息經(jīng)多次迭代后,,使得初始明文圖像的微小差異在加密過程中得到不斷的擴(kuò)散,,能進(jìn)一步抵御選擇明文攻擊,安全性能得到了改善,。此外,,這種利用DSP硬件實(shí)現(xiàn)圖像加密與解密的方法,與軟件加密與解密相比,,在速度上有了較大的提高,,能滿足實(shí)時性的要求。
    由于混沌信號具有信號頻譜寬,,形似噪聲,,狀態(tài)不可預(yù)估等特點(diǎn),,攻擊者很難從中提取真實(shí)信號。此外,,接收端真實(shí)信號的恢復(fù)依賴于驅(qū)動系統(tǒng)和響應(yīng)系統(tǒng)的同步,,這要求二者具有相同的參數(shù),微小的差異將導(dǎo)致同步失敗,,而不能在接收端恢復(fù)真實(shí)信號,。這使非法接收者難以用統(tǒng)計(jì)分析方法估計(jì)系統(tǒng)的參數(shù),從而不能破譯真實(shí)信號,,使系統(tǒng)具有較好的保密性能,。然而,目前盡管混沌保密通信技術(shù)的研究仍處于實(shí)驗(yàn)室階段,,但由于混沌保密通信具有實(shí)時性強(qiáng),、保密性高、運(yùn)算速度快等明顯優(yōu)點(diǎn),,已顯示出其在保密通信領(lǐng)域中的優(yōu)勢,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。