仇潤鶴,劉仕輝
(1.東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 201620;2.東華大學(xué) 數(shù)字化紡織服裝技術(shù)教育部工程研究中心,上海201620)
新型加密算法的DSP平臺設(shè)計
仇潤鶴1,2,劉仕輝1,2
(1.東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 201620;2.東華大學(xué) 數(shù)字化紡織服裝技術(shù)教育部工程研究中心,上海201620)
基于研制以DSP為核心的混沌圖像加密系統(tǒng)的目的,本文論述了一套采用TMS320DM642為核心的硬件平臺,并利用集成開發(fā)工具CCS軟件開發(fā)的圖像加密系統(tǒng);系統(tǒng)采用TVP5150PBS實現(xiàn)模擬信號的采集處理,利用SAA7121H實現(xiàn)圖像信號的編碼與輸出。文中給出了硬件實現(xiàn)框圖,分別介紹了DSP實驗平臺的各模塊和其結(jié)構(gòu)功能,并將該系統(tǒng)下載到芯片進行硬件驗證,測試結(jié)果表明該系統(tǒng)穩(wěn)定、有效地實現(xiàn)了圖像的加密與處理。
圖像加密;DSP;CCS;采集;編碼
近年來由于信息產(chǎn)業(yè)的進步,圖像加密技術(shù)已得到廣泛應(yīng)用,其中基于混沌的圖像加密系統(tǒng)成為關(guān)注熱點之一。對于混沌的圖像加密系統(tǒng)的硬件實現(xiàn),相比于以前利用FPGA系統(tǒng)實現(xiàn)加密,數(shù)字信號處理器(DSP)具有運算速度快,處理數(shù)據(jù)信息量大等特點,能處理實時性的圖像信號和視頻信號,適合研制成基于置亂與擴散融合的超混沌彩色圖像加密系統(tǒng)。
針對圖像加密的實際應(yīng)用性,近年來國內(nèi)外已經(jīng)有多種基于DSP的加密系統(tǒng)設(shè)計:文獻[1]提出的是以DSP為平臺,實現(xiàn)數(shù)字圖像的混沌加密及硬件實現(xiàn)方法,它是基于芯片型號為TMS32 0VC5509A的DSP為硬件平臺,用灰度圖像作為處理圖像,設(shè)計了Chen混沌序列對數(shù)字圖像進行加密與解密算法,給出了DSP硬件實現(xiàn)。測試結(jié)果表明該系統(tǒng)改善了安全性、提高了速度、滿足了實時性要求。同樣,文獻[2]也是基于浮點型的DSP平臺設(shè)計了系統(tǒng),不同的是它通過該系統(tǒng)實現(xiàn)圖像復(fù)原,這正好是加密系統(tǒng)的逆變換,通過驗證表明該系統(tǒng)相比于流媒體技術(shù)具有更快的處理速度。文獻[3]中,憑借DSP具有強大的系統(tǒng)性功能,并對DSP芯片在實時圖像處理系統(tǒng)中的應(yīng)用進行了分析,希望對圖像處理領(lǐng)域提供幫助。為此,本文論述了一套采用TMS320DM642為核心的硬件平臺,并借助于集成開發(fā)工具CCS軟件為核心的混沌圖像加密系統(tǒng)。相比于C5000系列芯片,TMS320DM642具有更快的運算速度和對數(shù)據(jù)流的處理;算法上面采用的復(fù)合混沌加密算法不但具有實時性圖像處理能力,同時還具有加密和抗破譯效果。
該系統(tǒng)采用視頻解碼電路TVP5150PBS實現(xiàn)模擬信號的采集處理,利用視頻編碼電路SAA7121H實現(xiàn)圖像信號的編碼與輸出。圖1為文中給出的加密系統(tǒng)中TMS320DM642分別與TVP5150PBS和SAA7121H的硬件鏈接原理框圖。
圖1 TMS320DM642與TVP5150PBS、SAA7121H接口電路圖
如圖1所示,TMS320DM642是通過串行時鐘信號SCL和串行數(shù)據(jù)線SDA配置TMS320DM642分別與TVP5150PBS 和SAA7121H[4]。配置結(jié)束后,TVP5150PBS按照指定的工作模式采集數(shù)據(jù),通過信號SCLK、Yout和INTREQ將采集到數(shù)據(jù)送到TMS320DM642中進行處理,TMS320DM642中將處理后的數(shù)據(jù)再通過VP0_CLK1、VP0CTL0和VP0CTL1傳輸?shù)絊AA7121H中后輸出。系統(tǒng)由以下幾個部分組成:
信號解碼模塊:主要是解碼器TVP5150PBS通過I/O端口獲取CCD上傳輸來的圖像信號,并對圖像信號進行解碼,以獲得機器可以識別的串并聯(lián)信號,再進行串并轉(zhuǎn)換。
圖像加密模塊:把解碼以后的信號通過混沌系統(tǒng)方程產(chǎn)生的混沌序列,進行置亂與擴散處理。
信號編碼模塊:將加密處理后的信號并串轉(zhuǎn)換,并按照指定時序?qū)⑿盘杺鬏數(shù)絊AA7121H中去進行編碼輸出。
2.1信號解碼模塊
該模塊主要由控制模塊、數(shù)據(jù)讀取模塊、I2C總線和分頻器組成。
分頻器 (clk_divider):SEED-VPM642平臺上輸入時鐘CLKIN 為50MHz,LCKMODE[1:0]上拉或下拉為10,及片內(nèi)PLL(鎖相環(huán))設(shè)置為×12,故CPU內(nèi)核頻率為600 MHz。由于內(nèi)核頻率很高,所以必須對其進行分頻,以輸出能夠滿足I2C總線要求的I/O端口數(shù)據(jù)傳輸速率。經(jīng)分頻輸出滿足I2C總線要求的I/O數(shù)據(jù)傳輸速率。
總線模塊:主要產(chǎn)生I2C總線的時序,配置TVP5150PBS寄存器的讀寫。
控制模塊:利用狀態(tài)機來控制系統(tǒng)各模塊的工作順序。當輸出start為高電平時執(zhí)行I2C模塊配置TVP5150PBS,當配置結(jié)束時輸出out為高電平,開始執(zhí)行DSP的數(shù)據(jù)采集。
DSP數(shù)據(jù)傳輸模塊:按照總線模式通過I/O端口讀寫數(shù)據(jù)并進行串并轉(zhuǎn)換。
在系統(tǒng)上電時,DSP需要配置TVP5150PBS的控制寄存器,使其按照指定模式工作。TVP5150PBS的配置接口支持I2C模式,I2C總線時序圖[5]如圖2所示。
由I2C總線時序圖可以看出,完整周期的數(shù)據(jù)傳送過程中有下面幾種信號:
Start信號:在SCL保持為高電平時,SDA由高電平向低電平變化時開啟I2C總線。
圖2 I2C總線完整數(shù)據(jù)時序圖
Stop信號:在SCL保持高電平時,SDA由低電平向高電平轉(zhuǎn)換時結(jié)束I2C總線。
反饋信號:在數(shù)據(jù)傳輸過程中,SDA是雙向總線,所以在傳輸時需要接受來自接收端的反饋信號以確定是否繼續(xù)傳送數(shù)據(jù)。
I2C總線在傳送數(shù)據(jù)時,必須要保證在SCLK為高電平時SDA上數(shù)據(jù)要穩(wěn)定,否則就誤判為Start或Stop信號。
TVP5150PBS作為I2C總線的從設(shè)備,最多可配置2個,一條I2C總線只能同時訪問 2個 TVP5150TVP5150PBS,而SEED-VPM642模板上有4個TVP5150PBS,所以用總線切換的方式將I2C分成兩組,總線切換由DM642的GP0[0]口來控制。
初始化TVP5150PBS操作時[6],利用狀態(tài)機按如下過程完成:
Step1:DSP產(chǎn)生一個起始條件;
Step2:DSP發(fā)出一個TVP5150PBS的地址,并注明讀/寫操作,等待響應(yīng);
Step3:接受到TVP5150PBS的響應(yīng)后,DSP發(fā)出要配置的寄存器地址,等待TVP5150PBS響應(yīng);
Step4:接收到TVP5150PBS的響應(yīng)后,發(fā)送要配置的數(shù)據(jù),等待TVP5150PBS響應(yīng);
Step5:接收到TVP5150PBS的響應(yīng)后,發(fā)送停止位,結(jié)束一次配置。
在進行配置寄存器時,TVP5150PBS需要一段時間延時來完成當前的配置,此時TVP5150PBS保持SCLK為低,通知DSP配置尚未完成。延時配置需要的最大延時為64us,編程如下:
2.2信號加密模塊
本文的信號加密模塊,主要是對采集到的圖像信號進行置亂與擴散處理。
設(shè)經(jīng)過A/D采樣后的數(shù)字信號為X[n],通過預(yù)處理后的密鑰值,在通過公式(1)的混沌方程:
經(jīng)多次迭代可得到偽隨機序列Y[n],把X[n]與Y[n]通過置亂與擴散處理即可得到加密序列。擴散方式如下:
給定初值 x10,x20,x30;r、c、h分別為明文像素中水平、豎直、斜對角線上若干數(shù)值的和。
系統(tǒng)的軟件設(shè)計是在TI提供的開發(fā)調(diào)試環(huán)境CodeComposer Studio(CCS)中完成的,該軟件設(shè)計是基于 DSP/BIOS[7-8]構(gòu)架的。
圖像加密的具體操作流程:
1)首先從捕獲隊列中獲取一個圖象幀的句柄,也就是首地址;
2)其次以這個緩沖區(qū)為圖象數(shù)據(jù)的源做處理;
3)將處理過的圖象COPY到申請好的顯示隊列的幀緩沖句柄;
4)執(zhí)行緩沖入隊操作。
基本代碼如下所示:
在主函數(shù)main()中,對程序的執(zhí)行參數(shù)進行介紹,并調(diào)用函數(shù)JM()進行明文圖像的加密或解密操作。
2.3編碼模塊
編碼解碼模塊由分頻器模塊、控制模塊、I2C模塊和數(shù)據(jù)傳輸模塊組成,主要是在SAA7121內(nèi)對處理后的輸出信號進行并串轉(zhuǎn)換,然后將其按照指定的時序模式傳遞信號,最終轉(zhuǎn)換成模擬信號輸出。圖3為數(shù)據(jù)信號的傳輸時序。
圖3 數(shù)據(jù)信號的傳輸時序
由圖3所示,LLC時鐘頻率為27 MHz,TLLC是一個LLC時間周期,δ代表高低電平的空占比 (tHIGH/tLOW),tr是上升時間(20%—80%),tf是下降時間(20%—80%),tsu:DAT、tHD: DAT分別指的是數(shù)據(jù)信號的輸入起始時間(set-up time)和輸入保持時間(hold time)。
為了方便對結(jié)果的分析,本文使用單一的圖像而不是視頻作為CCD攝像機的輸入。為了方便DSP端程序的測試,將程序固化到TMS320DM642板上。在實際使用FlashBurn時,首先要將DSP工程編譯生成的.out文件用TI的十六進制轉(zhuǎn)換工具轉(zhuǎn)換為HEX文件,然后先下載FBTC,再下載HEX。
圖像加密步驟如下:
Step1:從算法程序中調(diào)用預(yù)處理后的加密密鑰。
Step2:使用FlashBurn將程序燒入DM642板上。
Step3:在CCD攝像頭前放置固定圖片。
Step4:在液晶屏上觀察原圖像與加密圖像。
把圖像文件通過仿真器下載到PC上加以分析,得到圖4、圖5兩幅同一圖像的加解密圖像對比。
圖4 原明文圖像
圖5密文圖像
圖4、圖5兩幅圖像的對比可以得出,該系統(tǒng)有加密效果。但是加密的密鑰是否對明文和密文極度依賴和敏感,必須通過檢測在密鑰泄露與否的情況下密文圖像還能正常解密,圖6所示的就是在僅知道密鑰前提下解密的圖像;圖7測試的就是正確的解密圖像。
圖6 錯誤的解密圖像
圖7正確的解密圖像
圖6、圖7兩幅解密圖片可以看出該加密算法對明文極度敏感;即有較強的抗破譯性。
然而在現(xiàn)實生活中,圖像數(shù)據(jù)在傳輸中肯定會有許多噪聲干擾,那么,好的加密算法也要有一定的抗噪聲能力,最后對該加密算法的抗干擾能力進行了測試,并把原圖像和加噪聲后還原的圖像進行了對比,結(jié)果如圖8、圖4所示。
通過與原明文圖像的對比可以看出,解密的圖像仍然可以看得比較清晰,所以該算法的抗噪性能是比較好的。
通過該系統(tǒng)對一幀圖像進行的測試可以得出,一種好的基于DSP的加密系統(tǒng),在算法上它不僅能夠加密,同時也要考慮眾多因素:
1)該加密算法的密鑰空間是否足夠大,是否能夠有效抵御強力攻擊;
2)加密算法是否對圖像灰度值產(chǎn)生置亂與擴散,密文分布與相鄰像素值是否隨機均勻和不相關(guān),從而抵御統(tǒng)計攻擊;
3)此種加密算法是否對明文極端敏感,以便能夠有效抵御差分攻擊。同時在硬件平臺上,DSP測試平臺是否具有實時性,快速性。這些都將是設(shè)計一種DSP加密系統(tǒng)的制約因素。而本文的系統(tǒng)設(shè)計,由測試結(jié)果可以看出很具有實際應(yīng)用性。
圖8 加高斯白噪聲解密圖
文中較詳細的討論了一種基于TMS320DM642的DSP硬件平臺實現(xiàn)了混沌圖像的加密系統(tǒng)的設(shè)計,系統(tǒng)分別應(yīng)用了TVP5150PBS和SAA7121H實現(xiàn)了圖像信號的采集解碼處理與信號的編碼輸出處理。并借助于集成開發(fā)軟件CCS對系統(tǒng)進行測試,得出該系統(tǒng)可以有效地對圖像進行加密。
[1]何丹,李敬園.基于Chen系統(tǒng)的DSP混沌圖像加密[J].電子設(shè)計工程,2013,21(255):26-32.
[2]Rajan K,Patnaik L K.CBP and ART image reconstruction algorithms on media and DSP processors[J].Microprocessors and Microsystems,2011,25(5):233-238.
[3]宋琦.DSP芯片在實時圖像處理系統(tǒng)中的應(yīng)用分析[J].電子技術(shù)與軟件工程,2015(9):124-130.
[4]徐陽.基于DM642的自動目標跟蹤系統(tǒng)設(shè)計[D].重慶:重慶大學(xué),2013.
[5]趙彬.嵌入式系統(tǒng)PCI總線接口設(shè)計 [J].紅河學(xué)院學(xué)報,2006,24(15):96-103.
[6]李群林.基于圖像技術(shù)的核電站汽輪機蒸汽濕度測量方法的研究[D].湖南:湖南大學(xué),2007.
[7]彭啟蹤,管慶.DSP集成開發(fā)環(huán)境一一一CCS及DSP/BIOS的原理與應(yīng)用[M].北京:北京電子工業(yè)出版社,2005.
[8]嚴新忠,劉喆.基于DSP/BIOS設(shè)備驅(qū)動模型的視頻驅(qū)動程序開發(fā)[J].現(xiàn)代電子技術(shù),2008.
Design of a DSP platform based on a new image encryption algorithm
QIU Run-he1,2,LIU Shi-hui1,2
(1.College of Information Sciences and Technology,Donghua University,Shanghai 201620,China;2.Engineering Research Center of Digitized Textile&Fashion Technology,Ministry of Education,Donghua University,Shanghai 201620,China)
Based on the purpose of developing the chaotic image encryption system which uses DSP as the core unit,this essay discusses a system based on TMS320DM642 as the core of hardware well as the help of integrated development tool CCS as the core of software platform.System makes the acquisition and processing of analog signal by use of TVP5150PBS and achieves encoding and output of the image signal by use of SAA7121H.This essay presents the framework of this hardware and introduces the structures and functions of each module of DSP experimental platform.Besides,this system has been downloaded to the chip for hardware verification and it proves that the system could do encryption and procession of the image stably and effectively.
image encryption;DSP;CCS;acquisition;encoding
TN98
A
1674-6236(2016)16-0180-04
2015-08-21稿件編號:201508118
上海市教委科研創(chuàng)新重點項目(12zz059)
仇潤鶴 (1962— ),男,上海人,博士,教授。研究方向:通信與信息系統(tǒng)、信號檢測和處理、寬帶無線通信與應(yīng)用、無線遠程監(jiān)控系統(tǒng)、圖像加密處理。