《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 視頻混沌加密及其FPGA實(shí)現(xiàn)
視頻混沌加密及其FPGA實(shí)現(xiàn)
2015年電子技術(shù)應(yīng)用第1期
陳仕坤,禹思敏
廣東工業(yè)大學(xué) 自動(dòng)化學(xué)院,廣東 廣州510006
摘要: 混沌具有確定性系統(tǒng)的內(nèi)在隨機(jī)性、有界遍歷性以及對(duì)初值和系統(tǒng)參數(shù)的敏感性,與信息加密應(yīng)具備的基本特性相一致?;诨煦缲堄成涞幕驹?,利用FPGA的并行處理算法和豐富的邏輯資源,首先對(duì)視頻信號(hào)進(jìn)行采集,然后利用混沌貓映射對(duì)采集的視頻信號(hào)進(jìn)行加密,并給出了相關(guān)的視頻混沌加密的設(shè)計(jì)方法和FPGA硬件實(shí)現(xiàn)結(jié)果。
中圖分類號(hào): TN901
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2015)01-0111-04
Video chaotic encryption and its FPGA implementation
Chen Shikun,Yu Simin
School of Automation, Guangdong University of Technology,Guangzhou 510006,China
Abstract: Chaotic systems possess inherent randomness, bounded ergodicity and highly sensitive to initial value and system parameters of deterministic systems, which accord with the basic features of information encrypting systems. In this paper, based on the principle of chaotic cat mapping and using FPGA parallel operation algorithm and its abundant logic resources, video data are firstly captured. Then, the captured video data are encrypted according to chaotic cat mapping. The related design process for video chaotic encryption and FPGA hardware implementation results are also demonstrated.
Key words : chaotic cat mapping;video capture;video encryption

  

0 引言

  隨著科技的飛速發(fā)展,視頻采集技術(shù)獲得了十分廣泛的應(yīng)用。在工業(yè)自動(dòng)化控制、醫(yī)療器械、安防設(shè)備等領(lǐng)域都能看到視頻采集的身影[1-2]。然而在一些特殊的場(chǎng)合,比如網(wǎng)絡(luò)視頻和視頻會(huì)議等,對(duì)于數(shù)據(jù)安全有較高的要求。這就需要對(duì)傳輸?shù)囊曨l數(shù)據(jù)進(jìn)行加密處理[3-7]。但是對(duì)于網(wǎng)絡(luò)視頻和視頻會(huì)議等對(duì)數(shù)據(jù)實(shí)時(shí)性要求非常高的應(yīng)用場(chǎng)合,由于其加密算法復(fù)雜并且數(shù)據(jù)運(yùn)算量大,顯然不符合實(shí)時(shí)性的要求。因此,本文采用一種加密效果好并且易于實(shí)現(xiàn)的混沌貓映射算法來完成加密運(yùn)算,以滿足安全性和實(shí)時(shí)性的需要。

  視頻加密主要有兩種方法,一種是采用基于Linux操作系統(tǒng)下的C語言或MATLAB語言等軟件的方法加以實(shí)現(xiàn),這種方法的特點(diǎn)是可移植性較好,實(shí)現(xiàn)起來較為簡(jiǎn)單方便。但這種方法是面向處理器的,指令執(zhí)行采用的是串行操作的方式,執(zhí)行速度相對(duì)較慢,因而視頻信號(hào)處理的實(shí)時(shí)性也相對(duì)較差。另一種則是采用硬件描述語言的方法加以實(shí)現(xiàn),這種方法是面向最基本的邏輯單元或門電路單元,其主要特點(diǎn)是能夠充分利用FPGA的并行處理優(yōu)勢(shì)。但這種方法在通常情況下不支持對(duì)浮點(diǎn)數(shù)的運(yùn)算和處理,實(shí)現(xiàn)難度相對(duì)較大[7]。與靜止圖像加密的主要不同之處在于,對(duì)視頻信號(hào)處理和混沌加密的實(shí)時(shí)性具有很高的要求。因此,本文采用硬件描述語言和FPGA技術(shù)實(shí)現(xiàn)視頻數(shù)據(jù)的混沌加密。利用FPGA并行處理等優(yōu)良特性可以更好地將CCD攝像頭采集的模擬視頻信號(hào)轉(zhuǎn)化為數(shù)字視頻信號(hào)并完成對(duì)其加密等多個(gè)步驟,從而最終完成對(duì)視頻的混沌加密。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)能同時(shí)滿足視頻采集的實(shí)時(shí)性和安全性這兩者的要求。

1 視頻混沌加密原理

  1.1 二維貓映射

  貓映射最早由Arnold提出,因?yàn)槌S靡粡堌埬樠菔径妹?。它是一種將明文置亂的加密方式。二維貓映射的數(shù)學(xué)表達(dá)式如下:

  12.png

  式中(xn,yn)是一幅N×N圖像的像素點(diǎn)位置,(xn+1,yn+1)是原像素點(diǎn)坐標(biāo)經(jīng)過貓映射變換之后所得到的新坐標(biāo),N=240。A的兩個(gè)特征值,其對(duì)應(yīng)的李氏指數(shù)}OVILQ2@79U%MZC)HRLP`E2.jpg,該映射是混沌的[6]。同時(shí),它符合混沌運(yùn)動(dòng)的兩個(gè)因素:拉伸和折疊。又由于det A=1, 因此該二維的貓映射是保面積映射。并且貓映射是一一映射,圖像中的一個(gè)像素點(diǎn)唯一地映射到另一個(gè)像素點(diǎn)中去。

  1.2 二維貓映射參數(shù)的選取

  傳統(tǒng)的二維貓映射為了取得較好的加密效果,需要對(duì)圖像進(jìn)行多次的置亂,因此導(dǎo)致了加密系統(tǒng)的時(shí)間代價(jià)大,效率低下。多次置亂的加密公式如下:

  3.png

  A矩陣可以表示為:

  4.png

  P和P-1為互逆矩陣,?茲為一對(duì)角矩陣,其數(shù)學(xué)表達(dá)式為:

  5.png

  將式(4)代入式(3)中,得:

  6.png

  由上式可知,多次A矩陣的貓映射加密相當(dāng)于B矩陣的一次貓映射加密,相當(dāng)于圖像完成了A矩陣的多次拉伸和折疊[7]。因貓映射加密具有周期性,周期大小與圖像分辨率、矩陣中參數(shù)大小等有密切聯(lián)系[5]。因此,選擇好矩陣中的參數(shù)可以令效果事半功倍。

  因此在選擇參數(shù)時(shí)盡量選擇令加密圖像像素分布均勻的迭代次數(shù)n,以達(dá)到最好的加密效果。貓映射的周期M由圖像大小N以及貓映射矩陣中的參數(shù)所決定,因此,通過MATLAB仿真來獲得加密周期M和最佳的加密參數(shù)。

  選取矩陣A=1  2

  3  7,當(dāng)圖像大小為240×240時(shí),貓映射加密的周期為60,不同迭代次數(shù)圖像的加密效果如圖1所示。

001.jpg

  從仿真結(jié)果可知,二維貓映射置亂的迭代次數(shù)并不是越大越好,譬如A矩陣迭代20次之后,圖像中的信息能被肉眼所分辨。而A矩陣的60次迭代之后圖像又被還原。雖然A矩陣的5次迭代和55次迭代之后的加密圖像已經(jīng)都被完全打亂,但由于迭代次數(shù)過多會(huì)造成矩陣中的元素過大,不便于計(jì)算。因此本實(shí)驗(yàn)采用的加密矩陣為:

  7.png

  式中B矩陣為貓映射加密的置亂矩陣,其效果相當(dāng)于A矩陣的5次變換。使用B矩陣對(duì)圖像置亂,不但解決了視頻數(shù)據(jù)的安全性問題,更由于算法的簡(jiǎn)單易于實(shí)現(xiàn),可以很好地滿足視頻采集系統(tǒng)的實(shí)時(shí)性要求。

2 FPGA采集系統(tǒng)的設(shè)計(jì)

  本實(shí)驗(yàn)采用的FPGA芯片是Xilinx公司VirtexⅡ Pro系列的XC2VP30。該FPGA芯片包含13 969個(gè)邏輯片、428 Kb的分布式RAM、136個(gè)乘法器單元、2 448 Kb的塊RAM、8個(gè)數(shù)字時(shí)鐘管理模塊、2個(gè)PowerPC核和8個(gè)G比特收發(fā)器。

  2.1 FPGA采集系統(tǒng)概述

  本文的采集系統(tǒng)由Xilinx公司的XUP Xilinx VirtexⅡ Pro開發(fā)板為核心開發(fā)平臺(tái)、視頻采集子板VDEC1、CCD攝像頭和LCD液晶顯示器組成。其系統(tǒng)設(shè)計(jì)框圖如圖2所示。

002.jpg

  2.2 FPGA采集系統(tǒng)流程

  整個(gè)采集系統(tǒng)包括4個(gè)模塊:AD芯片初始化模塊、ITU656解碼模塊、緩存模塊和VGA顯示模塊[8]。4個(gè)模塊均由Verilog語言編寫,在Xilinx公司的ISE開發(fā)環(huán)境下完成。

  系統(tǒng)上電之后,首先會(huì)由I2C初始化模塊進(jìn)行ADV-7183B芯片的相關(guān)初始化,包括ADV7183B采集數(shù)據(jù)后輸出的數(shù)據(jù)格式和相關(guān)制式的設(shè)置等。初始化完成后,AD芯片采集到的數(shù)據(jù)會(huì)不斷地傳送到ITU656解碼模塊中,解碼模塊判斷數(shù)據(jù)是否為有效數(shù)據(jù)的起始信號(hào),若為有效顯示數(shù)據(jù),則將該場(chǎng)的有效顯示數(shù)據(jù)進(jìn)行顏色空間的轉(zhuǎn)換,由YUV422格式轉(zhuǎn)換為能被顯示器識(shí)別的RGB格式。然后由線緩存對(duì)每一行數(shù)據(jù)進(jìn)行緩沖操作,若寫滿一行數(shù)據(jù)則切換另一個(gè)線緩存器。利用乒乓操作對(duì)Block RAM組成的緩存進(jìn)行讀寫操作,不但很好地解決了異步時(shí)鐘下的數(shù)據(jù)存儲(chǔ)問題,而且避免了同時(shí)讀寫數(shù)據(jù)時(shí)造成的沖突。從Block RAM中讀出的數(shù)據(jù)會(huì)被存儲(chǔ)到幀緩存中,最后會(huì)將數(shù)據(jù)交由VGA控制模塊顯示到屏幕上[9]。視頻采集系統(tǒng)的流程圖如圖3所示。

003.jpg

3 混沌貓映射的FPGA實(shí)現(xiàn)

  完成視頻的采集和存儲(chǔ)之后,需要對(duì)視頻數(shù)據(jù)進(jìn)行加密。貓映射加密的實(shí)質(zhì)是對(duì)圖像的像素點(diǎn)進(jìn)行置亂操作,由于其易于實(shí)現(xiàn)的特點(diǎn)很好地滿足了視頻數(shù)據(jù)的實(shí)時(shí)性要求,故貓映射加密是一種優(yōu)秀的視頻預(yù)加密方案。

  在硬件的實(shí)現(xiàn)上,需要對(duì)一幀完整的圖像數(shù)據(jù)的像素點(diǎn)進(jìn)行置亂,將原本順序存儲(chǔ)的像素點(diǎn)分別分配到貓映射后的地址。這個(gè)操作就需要一個(gè)模塊把原本遞增的地址變量轉(zhuǎn)化為貓映射后的地址變量,再按照映射后的地址將像素值存入到幀緩存相應(yīng)的地址中。然而,一維地址變量并不能直接進(jìn)行貓映射的運(yùn)算,需要將其轉(zhuǎn)化為二維地址變量:

  8.png

  式中xaddr和yaddr為二維地址變量,saddr為一維地址變量, cpixel為每行像素個(gè)數(shù)。

  從第1節(jié)的結(jié)論可知,選取的貓映射加密矩陣B為:

  9.png

  將矩陣B代入式(8)即可得到混沌貓映射后的二維地址。最后,還需要將這個(gè)二維地址轉(zhuǎn)換為一維地址存入幀緩存中:

  KLRNO95MS83C[WHFF%S5[J9.png

  根據(jù)上述混沌貓映射的原理,得視頻加密的實(shí)現(xiàn)框圖如圖4所示。

004.jpg

  利用FPGA并行操作的優(yōu)點(diǎn),使地址的貓映射變換和視頻數(shù)據(jù)的解碼同時(shí)進(jìn)行,大大縮減了數(shù)據(jù)處理所消耗的時(shí)間。同時(shí)由解碼模塊向VGA控制器和貓映射地址變換器發(fā)出一個(gè)控制信號(hào),以確保控制信號(hào)與數(shù)據(jù)的同步性。

4 FPGA硬件實(shí)現(xiàn)結(jié)果

  4.1 實(shí)驗(yàn)結(jié)果波形分析

  由于視頻的數(shù)據(jù)量較大,因此,本系統(tǒng)采用了采用240×240的分辨率和RGB656作為RGB數(shù)據(jù)的傳輸格式,采用RGB656降低了數(shù)據(jù)量的同時(shí)也保證了圖像的質(zhì)量。實(shí)驗(yàn)的最后,采用了Xilinx公司的在線邏輯分析儀Chipscope進(jìn)行了數(shù)據(jù)的仿真,視頻采集系統(tǒng)的數(shù)據(jù)仿真圖如圖5所示。

005.jpg

  4.2 硬件實(shí)驗(yàn)結(jié)果

  本實(shí)驗(yàn)使用的采集系統(tǒng)由FPGA開發(fā)板、視頻采集子板、CCD攝像頭三部分組成。采集系統(tǒng)主要設(shè)置了兩個(gè)功能鍵,由撥碼開關(guān)組成,開關(guān)一實(shí)現(xiàn)對(duì)視頻截取的功能,開關(guān)二實(shí)現(xiàn)了視頻數(shù)據(jù)實(shí)時(shí)加密的功能。攝像機(jī)獲取的原視頻圖像如圖6(a)所示,通過混沌貓映射后的視頻加密圖像如圖6(b)所示。

006.jpg

5 結(jié)論

  本文給出了基于FPGA和CCD攝像頭的視頻采集以及貓映射混沌加密系統(tǒng)的設(shè)計(jì),實(shí)驗(yàn)結(jié)果表明,視頻數(shù)據(jù)通過混沌貓映射對(duì)像素的位置置亂,隱藏了原視頻數(shù)據(jù)中的信息,達(dá)到了較好的視頻加密效果。同時(shí),本實(shí)驗(yàn)中采用了硬件描述語言,可充分利用FPGA快速的并行處理特性,使得視頻數(shù)據(jù)的采集、處理和加密能較好地滿足實(shí)時(shí)性的要求。

參考文獻(xiàn)

  [1] 左事君,劉新朝,何巧珍,等.基于FPGA的高清視頻采集與顯示系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2011,37(6):56-58.

  [2] 李昂,宋海聲,蘇小蕓.基于Android的視頻監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2012,38(7):138-139,143.

  [3] 王亞民,鄧虎超.H.264標(biāo)準(zhǔn)中基于感知加密算法的視頻加密方案[J].電子技術(shù)應(yīng)用,2012,38(1):133-135,138.

  [4] 丁瑋,閆偉齊,齊東旭.基于Arnold變換的數(shù)字圖像置亂技術(shù)[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2001,13(4):338-341.

  [5] 李廈.基于混沌映射的數(shù)字圖像置亂算法[D].哈爾濱:哈爾濱理工大學(xué),2008.

  [6] 禹思敏.混沌系統(tǒng)與混沌電路:原理、設(shè)計(jì)及其在通信中的應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2011.

  [7] 李敬園.基于FPGA的視頻混沌加密技術(shù)研究[D].廣州:廣東工業(yè)大學(xué),2013.

  [8] Xilinx university program Virtex-II pro development system hardware reference manual[Z].2005.

  [9] 向守坤,黃啟俊,江冠群,等.基于FPGA的ITU2R BT.656數(shù)字視頻轉(zhuǎn)換接口系統(tǒng)[J].電子測(cè)量技術(shù),2009,32(4):113-117.


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