佟吉鋼,張振新,陳增強(qiáng),孫青林
(南開大學(xué) 信息技術(shù)科學(xué)學(xué)院,天津 300071)
隨著計算機(jī)網(wǎng)絡(luò)的普及,網(wǎng)絡(luò)視頻的使用隨處可見,視頻數(shù)據(jù)的安全也變得尤為重要.人們考慮將混沌系統(tǒng)引入其中,利用它的一些特性來提高數(shù)據(jù)安全,并取得了一些成果.文獻(xiàn)[1]針對混沌系統(tǒng)與網(wǎng)絡(luò)環(huán)境進(jìn)行了充分分析,提出將混沌應(yīng)用于網(wǎng)絡(luò)環(huán)境下的數(shù)據(jù)加密的基本要求及分析方法,為這一領(lǐng)域奠定了基礎(chǔ);文獻(xiàn)[2-3]對多種混沌方程應(yīng)用于加密的方案進(jìn)行論證,得到肯定的結(jié)論.但文獻(xiàn)[1]中的混沌加密方法僅是針對圖象,文獻(xiàn)[2-3]的研究對象雖然是視頻,它們都采用單一方式進(jìn)行加密.目前視頻加密方式主要采用諸如DES、AES、VEA等一般直接加密算法,算法的實現(xiàn)計算復(fù)雜度大,加密速度相對較慢[4];或采用選擇性加密方法充分考慮視頻數(shù)據(jù)本身的特征及壓縮標(biāo)準(zhǔn)的要求,對編碼過程中產(chǎn)生的關(guān)鍵信息進(jìn)行加密[5-6];將加密與壓縮編碼相結(jié)合的方法,這種算法將加密和數(shù)據(jù)編碼方式相結(jié)合,加密速度快,數(shù)據(jù)格式不變,常見的有離散余弦變換(discrete cosine transform,DCT)系數(shù)加密算法、熵編碼過程加密算法等[7-9].后2種加密算法的實現(xiàn)需要深入熟悉了解視頻編碼的原則方式.而上述這些加密算法進(jìn)行驗證的實驗平臺多是利用計算機(jī),網(wǎng)絡(luò)環(huán)境下的實時視頻加密考慮還相對較少.為此,從嵌入式系統(tǒng)靈活高效的特點考慮,設(shè)計基于FPGA的網(wǎng)絡(luò)視頻流混沌加密系統(tǒng).
設(shè)計基于FPGA的網(wǎng)絡(luò)視頻流混沌加密系統(tǒng)作為對稱加密系統(tǒng),其網(wǎng)絡(luò)硬件拓?fù)浣Y(jié)構(gòu)分為:1)視頻加密部分:服務(wù)器將實時視頻流以數(shù)據(jù)包的形式發(fā)出,由FPGA開發(fā)板對數(shù)據(jù)實時進(jìn)行各種方式加密處理,加密后的數(shù)據(jù)經(jīng)路由器在網(wǎng)絡(luò)中傳輸.2)視頻解密部分:作為網(wǎng)絡(luò)中的視頻媒體接收端,將接收到的視頻加密數(shù)據(jù)經(jīng)過FPGA開發(fā)板進(jìn)行相應(yīng)的實時解密后傳送給用戶PC機(jī),由PC機(jī)將解密后的數(shù)據(jù)包還原為可以播放的視頻流進(jìn)行實時播放.設(shè)計的具體視頻數(shù)據(jù)加密處理流程如圖1所示.由攝像頭捕獲實時視頻數(shù)據(jù),視頻幀為符合H.263標(biāo)準(zhǔn)的QCIF格式(176×144,30幀/s),出于一般實際考慮在服務(wù)器中先采用H.263編解碼器進(jìn)行視頻壓縮處理,再由FPGA開發(fā)板對壓縮后的H.263編碼視頻流進(jìn)行實時完全加密,加密后的視頻數(shù)據(jù)包發(fā)送到網(wǎng)絡(luò)上,并最終傳到用戶端;解密端的工作過程與其類似,流程相反.FPGA開發(fā)板在整個系統(tǒng)中的作用:1)對H.263編碼后的視頻流數(shù)據(jù)進(jìn)行完全加密,實現(xiàn)基于Baker映射、Cat映射、Logistic映射和超混沌系統(tǒng)的和雙重加密在內(nèi)的隨機(jī)加密算法選擇或?qū)?yīng)的解密功能;2)采用雙網(wǎng)卡模式保證使用過程的方便、靈活.在加密端將服務(wù)器傳來的視頻數(shù)據(jù)以上述加密算法實時加密,獲得的數(shù)據(jù)經(jīng)由以太網(wǎng)傳輸;在系統(tǒng)解密端其工作與之相反.為保證用戶使用透明,將原FPGA開發(fā)板擴(kuò)展設(shè)計為雙網(wǎng)卡,雙網(wǎng)卡系統(tǒng)IP的使用設(shè)置與路由器的要求相同.
圖1 系統(tǒng)視頻加密流程Fig.1 The video encryption process of the system
為方便用戶使用,使其只需修改自身IP地址即可實現(xiàn)網(wǎng)絡(luò)實時視頻數(shù)據(jù)的加密及解密工作,將系統(tǒng)設(shè)計成雙網(wǎng)卡.使用以SPARTAN-3E 1600E芯片(160×104系統(tǒng)門)為核心的FPGA開發(fā)板[10-11],利用其FX2形式的擴(kuò)展接口設(shè)計添加一個硬件網(wǎng)卡(如圖2所示).設(shè)計的網(wǎng)卡通過以太網(wǎng)接口和物理層接口芯片LAN83C185完成以太網(wǎng)物理層協(xié)議轉(zhuǎn)換.MAC子層IP核xps_ethernetlite完成數(shù)據(jù)鏈路層的工作,其上的TCP/IP及應(yīng)用層的工作由植入FPGA開發(fā)板的 μCLinux操作系統(tǒng)完成,具體的硬件框圖及軟件系統(tǒng)結(jié)構(gòu)如圖2、3所示.
圖2 FPGA開發(fā)板系統(tǒng)硬件結(jié)構(gòu)Fig.2 The hardware structure of the system on FPGA development board
圖3 FPGA開發(fā)板系統(tǒng)結(jié)構(gòu)圖Fig.3 The system structure based on FPGA development board
平臺使用的μCLinux系統(tǒng),其所需內(nèi)核及用戶程序的編譯均是在Linux環(huán)境下完成,因此在PC機(jī)中安裝VMWare Work Station并在其中安裝Red Hat Linux建立μCLinux交叉編譯環(huán)境.同時安裝Windows版本的EDK和ISE完成硬件設(shè)計及與下載和配置相關(guān)的工作.μCLinux移植包括硬件與軟件設(shè)計,硬件設(shè)計使用EDK9.2和ISE9.2完成[12],軟件設(shè)計在虛擬機(jī)中的Linux環(huán)境完成.軟件是在Linux中安裝μCLinux的配置工具,使用不具有MMU(內(nèi)存管理單元)的PetaLinux[13],在Linux內(nèi)注冊petalinx環(huán)境變量即可完成它的安裝.
在對uclinux內(nèi)核進(jìn)行裁剪與編譯之前安裝BSP(板級支持包)確保uclinux能夠根據(jù)目標(biāo)板的硬件選擇相應(yīng)驅(qū)動程序.具體安裝使用petalinux內(nèi)部命令petalinux-copy-autoconfig來完成.對 uclinux內(nèi)核進(jìn)行設(shè)計時:在petalinux-dist目錄下執(zhí)行make menuconfig命令進(jìn)入內(nèi)核編譯選項,對內(nèi)核的配置主要包括:Vender/Product Selection子菜單包含了對目標(biāo)板類型、處理器類型的配置;Kernel/Library/ Defaults Selection子菜單主要包含對內(nèi)核、庫以及用戶程序的設(shè)置:對kernel的設(shè)置包括對文件系統(tǒng)設(shè)置、驅(qū)動程序的選擇、內(nèi)核調(diào)試等功能的選擇等;對庫以及默認(rèn)項的設(shè)置主要針對uclinux上層應(yīng)用而言,主要包括:系統(tǒng)設(shè)置如網(wǎng)卡信息設(shè)置等.
在uclinux驅(qū)動目錄下的adapter.c文件實現(xiàn)Xilinx網(wǎng)卡驅(qū)動與Linux設(shè)備驅(qū)動的連接.編譯兩塊網(wǎng)卡時,需將adapter.c對庫的依賴性及一個網(wǎng)卡對應(yīng)的文件做相應(yīng)的改動.依據(jù)圖3中FPGA硬件選擇相應(yīng)驅(qū)動程序,盡量去掉多余的內(nèi)核選項以精減內(nèi)核,最終編譯得到uclinux內(nèi)核大小約為3.5M.
將內(nèi)核文件下載到開發(fā)板,并利用ifconfig命令將2個網(wǎng)卡分配到不同網(wǎng)段,即可實現(xiàn)2個網(wǎng)卡在各自網(wǎng)段內(nèi)的通信.實驗證明設(shè)計的雙網(wǎng)卡系統(tǒng)完全可以正常工作.設(shè)計完成的硬件實物如圖4所示.完成FPGA配置后的內(nèi)部資源使用情況如表1所示.
圖4 FPGA開發(fā)板及擴(kuò)展網(wǎng)卡Fig.4 Extended network card and FPGA development board
表1 SPARTAN-3E 1600E芯片內(nèi)部資源使用統(tǒng)計Table 1 The statistics of resource used in SPARTAN-3E 1600E
系統(tǒng)網(wǎng)絡(luò)通訊采用客戶端-服務(wù)器模型.實時視頻數(shù)據(jù)在網(wǎng)絡(luò)傳輸時需要很大帶寬,TCP協(xié)議雖然能提供穩(wěn)定可靠的傳輸,但過多的控制數(shù)據(jù)包必然導(dǎo)致帶寬下降;UDP協(xié)議則以可靠性的代價換取了低帶寬占用的優(yōu)點.因此采用基于UDP協(xié)議的CS模型并將視頻數(shù)據(jù)僅做普通數(shù)據(jù)流處理.系統(tǒng)運行采用linux下的select調(diào)用機(jī)制提高運行效率,系統(tǒng)調(diào)用的工作方式類似于中斷:當(dāng)客戶端沒發(fā)出請求時,系統(tǒng)服務(wù)進(jìn)程僅阻塞在某幾個文件描述符(在linux系統(tǒng)中socket也被視為一種文件描述符)上并等待其中某一個發(fā)生變化以激活此進(jìn)程進(jìn)行相應(yīng)服務(wù).實驗表明select調(diào)用方式,系統(tǒng)CPU占用率至多為1%~2%,而多線程方式則高達(dá)90%以上.
分包協(xié)議是針對MTU(最大傳輸單元)問題所設(shè)置的:在petalinux嵌入式系統(tǒng)平臺中,當(dāng)發(fā)送的數(shù)據(jù)包大于1 500時,系統(tǒng)便無法將數(shù)據(jù)包發(fā)出.而petalinux的TCP/IP棧卻缺少分片功能,致使其不能夠轉(zhuǎn)發(fā)長度大于1 500的數(shù)據(jù)包.為此本設(shè)計仿照分片協(xié)議開發(fā)了分包協(xié)議.其功能主要在服務(wù)器和客戶端實現(xiàn):在服務(wù)器端,在發(fā)送一個大數(shù)據(jù)包前,按照如圖5所示的格式將數(shù)據(jù)包分為多個小于1 500的片:用major字段標(biāo)識數(shù)據(jù)包ID,minor字段前4位標(biāo)識各分片的順序,后4位標(biāo)識分片總數(shù).客戶端則根據(jù)major和minor字段將分片重組為原數(shù)據(jù)包.其后的type、Ks、Data段分別表示加密類型、本數(shù)據(jù)片密鑰及加密數(shù)據(jù).
圖5 網(wǎng)絡(luò)數(shù)據(jù)包格式Fig.5 The data packet format in network
為解決網(wǎng)絡(luò)中的丟包問題,同時在客戶端建立一個可容納100個數(shù)據(jù)分片的存儲池,每次客戶端接收到一個數(shù)據(jù)分片時便依據(jù)此數(shù)據(jù)分片的major和minor段去檢索存儲池,以尋找匹配的分片,若找到則進(jìn)行數(shù)據(jù)包重組并顯示.該數(shù)據(jù)存儲池設(shè)有一個當(dāng)前指針,當(dāng)新分片沒有找到匹配分片時便被放到當(dāng)前指針位置,并將指針后移.當(dāng)數(shù)據(jù)分片丟失到一定數(shù)量時,隨著當(dāng)前指針的移動將丟失匹配的數(shù)據(jù)分片,其位置會被新的數(shù)據(jù)分片覆蓋.
分包協(xié)議的設(shè)計對用戶是透明的,降低了對嵌入式系統(tǒng)的客觀要求,有利于整體性能的提升.實驗證明:在分片協(xié)議設(shè)計實現(xiàn)之后,客戶端能夠通過FPGA開發(fā)板接收到視頻數(shù)據(jù)并正常播放.
利用二維離散混沌系統(tǒng)對明文進(jìn)行分組置換操作,經(jīng)過多輪迭代產(chǎn)生置亂算法,實現(xiàn)圖像加密.在此考慮將Baker映射、Cat映射引入實時視頻加密系統(tǒng)[14],因其置亂算法組合很多,造成密鑰分析的困難.Logistic映射是比較常見的混沌.四維超混沌系統(tǒng)比低維混沌系統(tǒng)具有更復(fù)雜的相空間,其運動軌道在2個或2個以上的方向上進(jìn)行指數(shù)級發(fā)散,從安全性角度講,用超混沌離散時間序列設(shè)計算法不易被破譯,具有更復(fù)雜的系統(tǒng)特性,利用其實現(xiàn)視頻加密具有更高的安全性.
Cat映射[15]是一個二維可逆混沌映射,其動力學(xué)方程的一般形式為
其線性轉(zhuǎn)換矩陣行列式為1,所以Cat映射是一個保面積映射,即一一映射,可將單位矩陣內(nèi)一點唯一的變換到另一點.a、b均為1時,2個李雅普諾夫指數(shù)為
Cat映射變換過程是先將單位方形進(jìn)行拉伸,而后求模,使之重新折疊為單位方形.因其具有較好的混沌特性、折疊和拉伸特性,而被廣泛應(yīng)用于圖像置亂和加密.
一般的Baker映射[16]離散化需將其進(jìn)行離散處理.設(shè)正方形為N×N,用B(n1,…,nk)代表離散化的一般Baker映射,Ni=n1+…+ni,ni|N,i=1,…,k,且n1+…+nk=N.對于象素(r,s)有[17]
Logistic映射是一維離散時間非線性動力系統(tǒng),其形式為
式中:μ∈(0,4]為分支參數(shù),xk+1∈(0,1).由于其本身的非線性特點使它能產(chǎn)生一系列偽隨機(jī)且極敏感依賴于映射的參量μ與初始值x0的動態(tài)軌跡.μ取值變化對迭代過程的影響,迭代結(jié)果及系統(tǒng)軌跡具體見文獻(xiàn)[17].
采用超混沌系統(tǒng)[19]比低維混沌系統(tǒng)具有更復(fù)雜相空間和系統(tǒng)特性,利用其實現(xiàn)視頻加密將具有更高的安全性,設(shè)計選用的超混沌方程為
該系統(tǒng)的軌跡具體見文獻(xiàn)[18],當(dāng)取a=35,b=3,c=12,d=7,γ=0.58時系統(tǒng)的正李雅普諾夫指數(shù)相對較大,分別為λ1=0.501 1,λ2=0.185 8,λ3=0,λ4=-26.101 0.李雅普諾夫指數(shù)越大,說明鄰近的2條軌跡分離的速度越快,折疊特性越復(fù)雜,從安全的角度看,用超混沌系統(tǒng)設(shè)計加密算法不易被破譯.系統(tǒng)初值為X0=(x01,x02,x03,x04).
由于所設(shè)計的系統(tǒng)為對稱加密系統(tǒng),解密過程是加密的逆過程,在此僅討論系統(tǒng)的視頻加密過程.
離散二維Baker映射和Cat映射目前被廣泛用于置亂加密,但幾乎所有現(xiàn)存的基于混沌的加密方案都是利用置亂方法來實現(xiàn)數(shù)字圖像或視頻的密鑰置亂.在此所提出的加密系統(tǒng)是利用二維Baker映射對編碼后H.263實時視頻流直接進(jìn)行數(shù)據(jù)置亂.加密系統(tǒng)密鑰k由l、n1、n2、n3、n4構(gòu)成,l代表數(shù)據(jù)置亂的迭代次數(shù),利用密鑰代入到相應(yīng)的混沌方程,將相應(yīng)的數(shù)據(jù)塊在內(nèi)存中做替換操作即可.如圖6所示,從編碼后的H.263視頻流中取出N×N字節(jié)數(shù)據(jù),這里N取32.密碼分析者很容易猜出編碼后視頻流的頭結(jié)構(gòu),因此不改變H.263視頻流的前8個字節(jié);迭代選定的數(shù)據(jù)(b1,b2,…,bNN)置亂操作次;將置亂后的數(shù)據(jù)(bp1,bp2,…,bpN×N)存到視頻數(shù)據(jù)流的原來位置,獲得加密后的H.263視頻流.
圖6 二維Baker映射加密方式Fig.6 2-D Baker map encryption
Baker映射和Cat映射加密方式具有一定相似性,因此對Cat映射的加密過程不做過多敘述.該加密方式是對除H.263的幀頭即其前8字節(jié)的所有視頻數(shù)據(jù)加密,但該算法為原址加密,無需太大的內(nèi)存消耗,此時Baker映射和Cat映射加密的CPU負(fù)荷分別為45.3%、29.9%.表明針對數(shù)據(jù)置亂加密方式,完全可以進(jìn)行實時視頻加密.
由于超混沌方程具有復(fù)雜的相空間,選用它可以有效提高系統(tǒng)的安全性.其系統(tǒng)密鑰k,由初值狀態(tài)x0(x01,x02,x03,x04)構(gòu)成.在實際的應(yīng)用中,首先利用密鑰向混沌方程中迭代3 000次以使混沌系統(tǒng)進(jìn)入到某一分岔,再迭代時便記下方程的值以生成一個混沌序列,并使用該序列與原視頻進(jìn)行異或操作實現(xiàn)數(shù)據(jù)混淆.為保證較高的精度采用四階龍格庫塔階(Runge-Kutta)法求解超混沌方程計算獲得該方程離散時間序列.超混沌狀態(tài)(x1,x2,…,xN×N)將被離散化得到比特序列(c1,c2,…,cNN)以實現(xiàn)混淆操作,混淆操作(異或操作)具體方程為
混淆后的H.263視頻流與未改變的其他H.263視頻數(shù)據(jù)一起用做網(wǎng)絡(luò)視頻傳輸?shù)妮斎霐?shù)據(jù).Logistic映射的加密方式比較簡單,也是將離散化之后的比特序列與原視頻數(shù)據(jù)進(jìn)行異或操作,在此不再贅述.
為利用系統(tǒng)對初值的敏感性提高安全性,本系統(tǒng)超混沌初值為保留小數(shù)點后14位,加上整數(shù)位,初值位數(shù)為15位.系統(tǒng)初值的高位數(shù),可以很好的保證系統(tǒng)安全性,但大量迭代計算也對其實時性提出很高要求.為此采取折衷辦法:對所有數(shù)據(jù)分片采用統(tǒng)一密鑰.此外密鑰不通過網(wǎng)絡(luò)傳遞,而是在所有結(jié)點內(nèi)系統(tǒng)初始時設(shè)為某個定值.這樣在系統(tǒng)初始化階段,利用已確定的密鑰在程序初始化階段便計算出所需要的混沌加密、解密序列并存放在內(nèi)存中,實驗中其所耗內(nèi)存僅為1.3 KB.當(dāng)需要發(fā)送數(shù)據(jù)或有網(wǎng)絡(luò)數(shù)據(jù)到來時,便可采用查表方式直接獲得加密、解密序列.該方式極大降低了對系統(tǒng)CPU的要求,同時由于超混沌系統(tǒng)的固有特性也保證加密數(shù)據(jù)的安全性.采用此種方式,此時CPU負(fù)荷僅為1.3%.而采用Logistic映射計算較小,可在線加密,此時CPU負(fù)荷僅為0.5%.表明基于數(shù)據(jù)混淆原理的超混沌系統(tǒng)完全可用于實時視頻加密.當(dāng)然出于安全性考慮也可將超混沌初值即系統(tǒng)密鑰設(shè)得更高.
Cat映射和Baker映射是基于數(shù)據(jù)置亂的加密原理而Logistic映射和超混沌方程是基于數(shù)據(jù)混淆的加密原理,當(dāng)這2種加密方式同時作用于一段數(shù)據(jù)時并不會產(chǎn)生不兼容的問題.因此可采取雙重加密方式將上述4種加密算法兩兩結(jié)合使系統(tǒng)更復(fù)雜,傳輸?shù)囊曨l數(shù)據(jù)更安全.具體采用Baker映射與超混沌或Logistic映射,Cat映射與超混沌或Logistic映射,4種雙重加密方式.這里以Baker映射和超混沌結(jié)合使用為例,說明其方法,如圖7所示,對H.263編碼后的視頻流依照5.1部分所提的程序進(jìn)行置亂加密得到的數(shù)據(jù),再依照5.2部分的流程繼續(xù)進(jìn)行超混沌方式的二次加密處理,得到加密后的數(shù)據(jù),同H.263視頻流前8個字節(jié)合并作為加密后的視頻流.其他3種聯(lián)合加密方式、思路與其大致相同.表2為系統(tǒng)加密時CPU負(fù)荷情況.
表2 雙重加密系統(tǒng)運行時CPU負(fù)荷統(tǒng)計Table 2 The statistics of CPU load
圖7 Baker映射與超混沌聯(lián)合加密Fig.7 The combination encryption with Baker mapand hyperchaos
如圖5所示:其數(shù)據(jù)包的第3個字節(jié)為“type”字段,該字段用來標(biāo)識本數(shù)據(jù)分片所采取的加密方式,第4個字節(jié)為該數(shù)據(jù)分片的特定密鑰Ks,其后Data段是傳輸?shù)囊曨l加密數(shù)據(jù).在服務(wù)器端隨機(jī)選擇不同的加密方式,在type段做了相應(yīng)標(biāo)識,并將本數(shù)據(jù)包使用的密鑰存放于Ks段.而在客戶端對接收到的數(shù)據(jù)包則依此進(jìn)行相應(yīng)的解密操作,即依據(jù)type段所標(biāo)識的該數(shù)據(jù)包使用的加密方式,利用Ks段提供的密鑰進(jìn)行相應(yīng)解密.在加密過程中,系統(tǒng)對編碼后的H.263視頻流在4種雙重加密方式中隨機(jī)選擇,并將一個數(shù)據(jù)分片作為一個加密對象進(jìn)行加密,視頻流中的每個數(shù)據(jù)分片可隨機(jī)選擇不同的加密方案和密鑰,不同的加密方案需要對應(yīng)解密方法才可獲得正確的原始數(shù)據(jù),有效提高了加密后的視頻數(shù)據(jù)的安全性.
在局域網(wǎng)環(huán)境利用服務(wù)器、計算機(jī)和FPGA開發(fā)板搭建網(wǎng)絡(luò)實驗?zāi)M平臺,進(jìn)行試驗和相關(guān)測試.
使用Baker映射和超混沌方程的雙重加密其系統(tǒng)的密鑰k由kB、kC(kB由Baker映射產(chǎn)生,kC由超混沌方程產(chǎn)生)組成,兩者互相獨立,因此其密鑰空間可以表示為
式中:kB由參數(shù)l和密鑰序列{n1,n2,n3,n4}組成,其密鑰空間kB(N)由整數(shù)N的因子排列成不同序列次數(shù)決定.計算N=32時,N×N空間下kB密鑰空間為4.7×107.kC由參數(shù)x0(x01,x02,x03,x04)構(gòu)成,其空間為1014×1014×1014×1014使用Baker映射和超混沌雙重加密密鑰空間為4.7×1059>2100≈1032.因此此種雙重加密方式完全可以保證有足夠的密鑰空間抵擋野蠻攻擊.其他3種雙重加密方式進(jìn)行類似分析也得到同樣結(jié)論而這只是針對網(wǎng)絡(luò)中的一個數(shù)據(jù)包,一幀圖像由多個數(shù)據(jù)包構(gòu)成,每個數(shù)據(jù)包均采用不同密鑰,因此其安全性得到有效保證.
使用Baker映射和超混沌方程的雙重加密方式進(jìn)行測試,設(shè)置二維Baker映射的兩組密鑰分別為
設(shè)置超混沌方程的2組密鑰分別為
KC1、KC2兩組密鑰僅x04的最后一位不同.
在加密程序中以Kb1、KC1為密鑰對圖像進(jìn)行加密.在圖8中可見,在Baker映射與超混沌雙重加密方式下,只有二者密鑰都完全正確時才可正確解密視頻圖像,當(dāng)某個密鑰有極微小差別時,并不能解密.
對表2中的其他組合方式雙重加密進(jìn)行相應(yīng)測試也得到同樣結(jié)論.結(jié)合密鑰空間分析與圖8密鑰敏感度測試結(jié)果表明:上述各種組合下的雙重加密與隨機(jī)加密算法可實現(xiàn)對網(wǎng)絡(luò)實時視頻正確加密解密.
圖8 網(wǎng)絡(luò)實驗實時視頻截圖Fig.8 The cut real time video of experiment in LAN
本文提出了一種基于FPGA的網(wǎng)絡(luò)視頻流混沌實時加密系統(tǒng)的設(shè)計實現(xiàn)方案.對網(wǎng)絡(luò)實時視頻流進(jìn)行完全加密,實現(xiàn)了基于Cat映射、Baker映射、Logistic映射和超混沌在內(nèi)的雙重加密、隨機(jī)選擇加密多種加密算法.網(wǎng)絡(luò)中的每個數(shù)據(jù)分片采用不同的加密方式和密鑰,并將其設(shè)計成一款方便實用的即插即用型硬件加密平臺.在局域網(wǎng)環(huán)境下,系統(tǒng)連續(xù)運行24 h,仍然穩(wěn)定、沒有故障發(fā)生.實驗證明,該系統(tǒng)使用方便,加密效果理想,視頻播放流暢,具有很好的安全性和應(yīng)用前景.
[1]ALVAREZ G,LI S.Some basic cryptographic requirements for chaos-based cryptosystems[J].International Journal of Bifurcation and Chaos,2006,16(8):2129-2151.
[2]張萌,劉忠信,孫青林,等.Chaotic video encryption algorithm based on Baker map[J].中國圖像圖形學(xué)報,2006,9(11):441-445.
ZHANG Meng,LIU Zhongxin,SUN Qinglin,et al.Chaotic video encryption algorithm based on Baker map[J].Journal of Image and Graphics,2006,9(11):441-445.
[3]CHIARALUCE F,CICCARELLI L,GAMBI E,et al.A new chaotic algorithm for video encryption[J].IEEE Transactions on Consumer Electronics,2002,48(4):838-844.
[4]LIU Fuwen,HARTMUT K.A survey of video encryption algorithms[J].Computers&Security,2010,29(1):3-15.
[5]QIAO L,NAHRSTEDT K.Comparison of MPEG encryption algorithms[J].International Journal on Computers&Graphics,1996,22(3):219-230.
[6]QIAO L,NAHRSTEDT K,TAM M C.Is MPEG encryption by using random list instead of zigzag order secure?[C]// IEEE International Symposium on Consumer Electronics,Singapore,1997:226-229.
[7]TANG L.Methods for encrypting and decrypting MPEG video data efficiently[C]//Proceedings of the 4th ACM International Conference on Multimedia.New York:ACM,1996:219-230.
[8]ALATTAR A M,AL-REGIB G I.Evaluation of selective encryption techniques for secure transmission of MPEG2 compressed bit streams[C]//Proceedings of the 1999 IEEE International Symposium on Circuits and Systems.Washington:IEEE,1999:340-343.
[9]梁盼,付永慶,陶寶泉.基于H.264的DCT變換系數(shù)解碼的FPGA實現(xiàn)[J].應(yīng)用科技,2010,37(2):20-23.
LIANG Pan,F(xiàn)U Yongqing,TAO Baoquan.Implementation of H.264 IDCT algorithm based on FPGA[J].Applied Science and Technology,2010,37(2):20-23.
[10]Getting started with the MicroBlaze development kit-spartan-3e 1600e edition ug258(v1.2)april 24,2007[EB/ OL]http://china.xilinx.com/.
[11]Digilent VDEC1 video decoder board.[EB/OL].[2011-05-10]http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,648,415&Prod=VDEC1.
[12]薛小剛,葛毅敏.Xilinx ISE9.X PFGA/CPLD設(shè)計指南[M].北京:人民郵電出版社,2007.
XUE Xiaogang,GE Yimin.The design guide of PFGA/ CPLD by Xilinx ISE9.X[M].Beijing:Posts and Telecom Press,2007.
[13]PetaLinux User Guide[EB/OL].[2011-05-10].http:// developer.petalogix.com/#PetaLinuxDocumentation.
[14]MAO Yaobin,CHEN Guanrong,LIAN Shiguo.A novel fast image encryption scheme based on 3D chaotic Baker maps[J].International Journal of Bifurcation and Chaos,2004,14(10):3613-3624.
[15]CHEN Guanrong,MAO Yaobin,CHUI C K.A symmetric image encryption scheme based on 3D chaotic cat maps[J].Chaos,Solitons and Fractals,2004,21:749-761.
[16]FRIDRICH J R.Symmetric ciphers based on two dimensional chaotic maps[J].International Journal of Bifurcation and Chaos,1998,8(6):1259-1284.
[17]KANSO A,SMAOUI N.Logistic chaotic maps for binary numbers generations[J].Chaos,Solitons& Fractals,2009,40(5),2557-2568.
[18]LI Yuxia,WALLACE K S T,CHEN Guanrong.Generating hyperchaos via state feedback control[J].International Journal of Bifurcation and Chaos,2005,15(10):3367-3375.