大俠好,歡迎來到FPGA技術(shù)江湖,江湖偌大,相見即是緣分。大俠可以關(guān)注FPGA技術(shù)江湖,在“闖蕩江湖”、"行俠仗義"欄里獲取其他感興趣的資源,或者一起煮酒言歡。“煮酒言歡”進(jìn)入IC技術(shù)圈,這里有近50個(gè)IC技術(shù)公眾號(hào)。
第一部分 設(shè)計(jì)概述
1.1 設(shè)計(jì)目的
在多媒體技術(shù)高度發(fā)展的今天,視頻信息安全愈發(fā)受到人們的關(guān)注。傳統(tǒng)的視頻加密方法主要應(yīng)用在軟件層面上,其算法設(shè)計(jì)復(fù)雜、加密速度慢,不適用于視頻的實(shí)時(shí)加密。FPGA 器件憑借高帶寬全并行的特性可以實(shí)現(xiàn)高速運(yùn)算和視頻采集,能夠滿足視頻的實(shí)時(shí)性要求,但開發(fā)難度較大。ARM 器件具備易于開發(fā) 的優(yōu)勢(shì),但其運(yùn)算速度低。圖像的保密技術(shù)主要有圖像加密技術(shù)和圖像隱藏技術(shù)兩種。解密通過與加密算法配套的解密操作與密鑰,獲得原始圖像的信息,從而可以有效的保護(hù)原始圖像的隱秘性和信息的安全傳輸。
因此,本次比賽我們使用自制的 FPGA 板卡完成圖像及視頻加密解密系統(tǒng), 發(fā)揮 FPGA 的高并行性及 FPGA 的 IP 核重用優(yōu)勢(shì),對(duì)比傳統(tǒng)軟件上實(shí)現(xiàn)的圖像加密解密速度慢,具有實(shí)時(shí)高速的優(yōu)點(diǎn)。本設(shè)計(jì)使用 Zynq7020 芯片采用自制的 雙 hdmi 拓展板,結(jié)合 FPGA 與 ARM 的優(yōu)勢(shì)。在硬件層面分為加密端和解密端, 加密端實(shí)現(xiàn)基于攝像頭傳感器的視頻實(shí)時(shí)采集、加密和密匙流動(dòng)態(tài)配置功能;解密端實(shí)現(xiàn)基于 hdmi in 數(shù)據(jù)的實(shí)時(shí)讀取、解密、并通過 hdmi out 接口輸出。在軟件算法層面主要結(jié)合了基于 Logistic 混沌序列的像素加密手段和基于 Arnold 貓映射的圖像置亂加密手段,具體內(nèi)容見下面章節(jié)介紹。
1.2 應(yīng)用領(lǐng)域
此技術(shù)可應(yīng)用于傳輸含有個(gè)人隱私、企業(yè)信息、國(guó)家機(jī)密等重要信息的視頻及圖像數(shù)據(jù),如安防監(jiān)控、視頻會(huì)議等。
1.3 主要技術(shù)特點(diǎn)
在算法層面上,首先通過確定好圖像像素的地址,通過運(yùn)用 Arnold 貓映射對(duì)確定好的像素地址進(jìn)行置亂。由于該操作不會(huì)改變像素本身的值,存在被暴力破解的風(fēng)險(xiǎn)。因此在經(jīng)過上述操作后,還需要通過使用 Logistic 混沌映射對(duì)像素點(diǎn)本身的值進(jìn)行置亂,改變像素點(diǎn)的值,保證圖像的安全性。在硬件層面上,線性反饋位移寄存器所產(chǎn)生的偽隨機(jī)序列具有良好的相關(guān) 性,運(yùn)用該特性實(shí)現(xiàn)混沌圖像加密算法硬件化。
1.4 關(guān)鍵性能指標(biāo)
(1)密鑰空間
(2)密文圖像的相鄰像素間的相關(guān)性
(3)密圖的信息熵
(4)輸出視頻的幀率
1.5 主要?jiǎng)?chuàng)新點(diǎn)
(1)結(jié)合圖像與視頻的相關(guān)性,在靜態(tài)圖像加密技術(shù)的基礎(chǔ)上完成彩色視頻加密技術(shù)的開發(fā);
(2)加密算法方面,結(jié)合了 Logistic 混沌映射圖像擴(kuò)散算法和 Arnold 貓映射圖像置亂算法,具有較好的抵抗統(tǒng)計(jì)學(xué)、信息熵和差分攻擊能力,保證了圖像的安全性;
(3)運(yùn)用 Zynq 系列芯片,在 FPGA 上完成視頻的采集、加密、解密和顯示, 在 ARM 上完成數(shù)據(jù)的傳輸以及各模塊的調(diào)用,充分結(jié)合了 ARM 易開發(fā)和 FPGA 高性能、低功耗的優(yōu)勢(shì)。
第二部分 系統(tǒng)組成及功能說明
2.1 整體介紹
本設(shè)計(jì)使用 Zynq7020 芯片采用自制的雙 hdmi 拓展板,結(jié)合 FPGA 與 ARM 的優(yōu)勢(shì)。在硬件層面分為加密端和解密端,加密端實(shí)現(xiàn)基于攝像頭傳感器的視頻實(shí)時(shí)采集、加密和密匙流動(dòng)態(tài)配置功能;解密端實(shí)現(xiàn)基于 hdmi in 數(shù)據(jù)的實(shí)時(shí)讀取、解密、并通過 hdmi out 接口輸出。下面分別是加密端整體框圖和解密端整體框圖。
加密端框圖:
解密端框圖:
2.2 各模塊介紹
(1)OV7670 圖像采集模塊:
此模塊主要的任務(wù)是配置外部攝像頭和拼接視頻流數(shù)據(jù)。采用 SCCB 接口對(duì)外界 OV7670 攝像頭內(nèi)部寄存器進(jìn)行配置,同時(shí)提供 XCLK 時(shí)鐘源聯(lián)合控制攝像頭的幀率,顯示分辨率等一系列參數(shù)。
(2)HDMI_OUT 圖像并轉(zhuǎn)串輸出模塊:
此模塊主要功能是完成對(duì)物體識(shí)別模塊的視頻流轉(zhuǎn)化為 TMDS 差分信號(hào),并完成時(shí)鐘的配置驅(qū)動(dòng)外部 HDMI 顯示器或者接入另一塊板卡的 hdmi 輸入接口。
(3)HDMI_IN 圖像串轉(zhuǎn)并輸入模塊:
此模塊主要功能是完成對(duì)物體識(shí)別模塊的視頻流轉(zhuǎn)化為 TMDS 差分信號(hào),并完成時(shí)鐘的配置驅(qū)動(dòng)外部 HDMI 顯示器。顯示器將實(shí)時(shí)顯示雙攝像頭的畫面,在有入侵情況下完成對(duì)物體的框選,使監(jiān)控更直觀方便。
(4)基于 Arnold 貓變換&logistic 混沌序列圖像加密模塊:
該模塊主要完成了對(duì)于一幀圖像數(shù)據(jù)的 Arnold 置亂加密與基于 logistic 混沌序列的像素點(diǎn)加密。其中置亂次數(shù)及密匙流為加密雙方提前約定,固化與此 ip 中。采用 axi4-s 的視頻流數(shù)據(jù)格式,基于 xilinx 的視頻流標(biāo)準(zhǔn),具有較好的可移植性。
(5)基于 Arnold 貓變換&logistic 混沌序列圖像解密模塊:
該模塊主要完成了對(duì)于一幀圖像數(shù)據(jù)的 Arnold 逆置亂解密與基于 logistic 混沌序列的像素點(diǎn)解密。注意兩者順序與加密模塊正好相反,其中置亂次數(shù)及密匙流為加密雙方提前約定,固化與此 ip 中。采用 axi4-s 的視頻流數(shù)據(jù)格式,基于 xilinx 的視頻流標(biāo)準(zhǔn),具有較好的可移植性。
第三部分 完成情況及性能參數(shù)
Matlab 仿真加密效果:
3.1 灰度直方圖統(tǒng)計(jì)
圖像的灰度直方圖可以反映圖像中像素灰度的分布情況,通過圖像灰度的分布特點(diǎn)來進(jìn)行圖像的恢復(fù),攻擊者可以利用這一特性對(duì)加密圖像進(jìn)行攻擊。如果 加密后的圖像的灰度值分布沒有規(guī)律可循,攻擊者也就無(wú)法通過像素灰度的分布特征來恢復(fù)圖像。我們通過 matlab 仿真運(yùn)算得到基于 Arnold 貓變換&logistic 混沌序列圖像加密算法的加密后擁有較好的加密效果。
3.2 像素點(diǎn)相關(guān)性分析
圖像的各相鄰像素之間通常有一定的相關(guān)性,攻擊者如果能夠利用好這個(gè)現(xiàn) 象就有機(jī)會(huì)對(duì)加密圖像實(shí)施攻擊。所以對(duì)加密者而言,能否降低圖像像素間的相關(guān)性是評(píng)價(jià)加密算法是否可行的一個(gè)重要依據(jù)。所以引入相關(guān)系數(shù)來衡量圖像相 鄰像素間的相關(guān)性。可以看到原圖的水平、垂直和對(duì)角線方向的相鄰像素相關(guān)性 很強(qiáng),而加密后的圖像水平、垂直和對(duì)角線方向上的相鄰像素間相關(guān)系數(shù)值很小, 尤其是水平方向上的相關(guān)系數(shù),為 5.186×10-4,遠(yuǎn)小于 0.01,即相關(guān)性很弱。
第四部分 總結(jié)
可擴(kuò)展之處
(1)視頻圖像采集格式為 RGB888,即一個(gè)像素會(huì)占用 24bit 的空間,由這種格式組成一幅 640x480 的圖像需要 1MB 左右,這種原始視頻數(shù)據(jù)對(duì)于存儲(chǔ)器的容量有很高的要求,對(duì)于后續(xù)的視頻處理和傳輸工作都有很大的局限性。因此,后續(xù)可以設(shè)計(jì)一些算法對(duì)視頻數(shù)據(jù)進(jìn)行壓縮,為存儲(chǔ)器騰出空間,提高存儲(chǔ)空間資源。
(2)本系統(tǒng)中采用 HDMI 實(shí)現(xiàn)加密視頻數(shù)據(jù)板間傳輸,這種傳輸方式距離近,暫時(shí)無(wú)法遠(yuǎn)距離傳播。因此,后續(xù)可以加入以太網(wǎng)等網(wǎng)絡(luò)傳輸方式對(duì)視頻進(jìn)行傳輸,以推廣該技術(shù)的應(yīng)用。