基于攝像頭采集的混沌視頻加密研究
摘要 實(shí)時(shí)視頻采集、存儲(chǔ)和處理,已在各領(lǐng)域得到廣泛應(yīng)用。文中介紹了基于FPGA的視頻采集系統(tǒng)設(shè)計(jì)的總體框架,并闡述了其中的設(shè)計(jì)流程,利用混沌信號(hào)對(duì)數(shù)據(jù)進(jìn)行加密提高視頻數(shù)據(jù)的安全性。在DE2平臺(tái)下驗(yàn)證實(shí),文中設(shè)計(jì)的FPGA視頻采集系統(tǒng)完成了對(duì)實(shí)時(shí)視頻進(jìn)行混沌加密,實(shí)驗(yàn)結(jié)果表明,設(shè)計(jì)達(dá)到了初定的目標(biāo),加密的性能和效果能滿足應(yīng)用需要。
關(guān)鍵詞 視頻采集;FPGA;混沌加密;乒乓控制
實(shí)時(shí)視頻采集、存儲(chǔ)和處理已經(jīng)在得到廣泛應(yīng)用,如遠(yuǎn)程監(jiān)控、安防、工程控制、醫(yī)療器械等。通常情況下,用CCD或CMOS采集視頻,而得到的都是模擬視頻信號(hào),直接進(jìn)行傳輸、存儲(chǔ)和處理比較困難,因此必須將其轉(zhuǎn)換為數(shù)字視頻信號(hào)。文中采用視頻解碼芯片和現(xiàn)場(chǎng)可編程門陣列FPGA設(shè)計(jì)的實(shí)時(shí)圖像采集系統(tǒng),不僅可以有效地縮短研發(fā)周期,而目可以廣泛應(yīng)用于圖像識(shí)別、網(wǎng)絡(luò)視頻傳輸和實(shí)時(shí)監(jiān)控等各類圖像信息處理系統(tǒng)。
此外,考慮到該設(shè)計(jì)的視頻采集系統(tǒng)可以投入后續(xù)的一些應(yīng)用,如網(wǎng)絡(luò)視頻或視頻會(huì)議等。信息安全對(duì)于本系統(tǒng)較為重要,要求本系統(tǒng)應(yīng)該具有一定的數(shù)據(jù)保密功能。由于目前許多加密算法的結(jié)構(gòu)復(fù)雜、運(yùn)算量大,對(duì)于視頻采集這種實(shí)時(shí)性要求較高的數(shù)據(jù)流而言難以達(dá)到速度要求,因此,文中設(shè)計(jì)的系統(tǒng)選擇了—種加密效果良好,且易于硬件實(shí)現(xiàn)的混沌算法以對(duì)視頻數(shù)據(jù)進(jìn)行加密。
1 混沌加密實(shí)現(xiàn)原理
1.1 混沌加密原理
混沌信號(hào)用于數(shù)據(jù)保密通信中有多種形式,究其根底混沌保密是利用混沌信號(hào)的各種特性實(shí)現(xiàn)的。在數(shù)據(jù)的發(fā)送端將其作為密鑰明文信息和混沌信號(hào)經(jīng)加密變換后形威密文,然后在信道中傳送,在接收端合法用戶知道解密密鑰和解密變換因此能夠得到正確的明文。這種加密原理主要源于傳統(tǒng)的對(duì)稱密鑰加密算法。
目前常用于加密的混沌同步方法主要有:驅(qū)動(dòng)一響應(yīng)同步及串聯(lián)同步法、主動(dòng)一被動(dòng)同步方法、互耦合混沌同步法。自適應(yīng)同步方法、神經(jīng)網(wǎng)絡(luò)同步方法等。傳統(tǒng)的混沌加密算法首先需要產(chǎn)生混沌信號(hào),混沌信號(hào)的產(chǎn)生要求較高。首先硬件要支持浮點(diǎn)運(yùn)算,并且需要迭代一定次數(shù)才能產(chǎn)生混沌,所以占用硬件資源較大;相比較而言,本設(shè)計(jì)為實(shí)現(xiàn)視頻加密所采用的二維貓映射混沌加密算法和擴(kuò)散算法,不會(huì)帶來(lái)信號(hào)失真,運(yùn)算復(fù)雜度低,易于硬件的實(shí)現(xiàn),加密效果較好。
1.2 貓映射加密算法
貓映射的數(shù)學(xué)表達(dá)式為
其中,modl表示只取實(shí)數(shù)的小數(shù)部分。為將貓映射用于加密,需要對(duì)它進(jìn)行適當(dāng)處理,首先將貓映射擴(kuò)展到N×N,并進(jìn)行離散化,如式(3)所示。
在實(shí)際圖像貓映射加密中,為讓圖像加密效果更理想,需要經(jīng)過(guò)n次迭代計(jì)算完成n階貓映射算法。需要說(shuō)明的是,應(yīng)用貓映射算法加密的圖像必須是正方形,否則會(huì)產(chǎn)生像素混疊導(dǎo)致解碼失敗。因此,模運(yùn)算的N表示圖像寬度。
1.3 擴(kuò)散算法
擴(kuò)散算法的數(shù)學(xué)表達(dá)式為
其中,f(xk,yk),f(xk+1,yk),f(xk+2,yk),f(xk+3,yk)表示一行中的連續(xù)4個(gè)像素值。進(jìn)行模256的算法是為了使經(jīng)過(guò)擴(kuò)散運(yùn)算后的結(jié)果范圍在[0,255]內(nèi),保證運(yùn)算結(jié)果仍為8位。此外,由于B矩陣中的元素都是整數(shù),對(duì)于不支持浮點(diǎn)數(shù)運(yùn)算的硬件平臺(tái)來(lái)說(shuō),比較容易實(shí)現(xiàn)。
2 視頻采集系統(tǒng)的設(shè)計(jì)
此次設(shè)計(jì)采用的FPGA核心芯片是Altera公司CycloneII系列,型號(hào)EP2C35F672C。此型號(hào)芯片含有33 216個(gè)邏輯單元,內(nèi)置483 840bit的內(nèi)部RAM容量,其中包括105個(gè)M4K RAM模塊,35個(gè)內(nèi)嵌乘法器,4個(gè)PLL和475個(gè)I/O管腳。
評(píng)論