• 正文
    • 第一部分 設計概述
    • 第二部分 系統(tǒng)組成及功能說明
    • 第三部分 完成情況及性能參數(shù)
  • 相關推薦
申請入駐 產(chǎn)業(yè)圖譜

基于 FPGA 的圖像及視頻加密解密系統(tǒng)

02/08 12:00
1761
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

大俠好,歡迎來到FPGA技術江湖,江湖偌大,相見即是緣分。大俠可以關注FPGA技術江湖,在“闖蕩江湖”、"行俠仗義"欄里獲取其他感興趣的資源,或者一起煮酒言歡?!爸缶蒲詺g”進入IC技術圈,這里有近50個IC技術公眾號。

第一部分 設計概述

1.1 設計目的

多媒體技術高度發(fā)展的今天,視頻信息安全愈發(fā)受到人們的關注。傳統(tǒng)的視頻加密方法主要應用在軟件層面上,其算法設計復雜、加密速度慢,不適用于視頻的實時加密。FPGA 器件憑借高帶寬全并行的特性可以實現(xiàn)高速運算和視頻采集,能夠滿足視頻的實時性要求,但開發(fā)難度較大。ARM 器件具備易于開發(fā) 的優(yōu)勢,但其運算速度低。圖像的保密技術主要有圖像加密技術和圖像隱藏技術兩種。解密通過與加密算法配套的解密操作與密鑰,獲得原始圖像的信息,從而可以有效的保護原始圖像的隱秘性和信息的安全傳輸。

因此,本次比賽我們使用自制的 FPGA 板卡完成圖像及視頻加密解密系統(tǒng), 發(fā)揮 FPGA 的高并行性及 FPGA 的 IP 核重用優(yōu)勢,對比傳統(tǒng)軟件上實現(xiàn)的圖像加密解密速度慢,具有實時高速的優(yōu)點。本設計使用 Zynq7020 芯片采用自制的 雙 hdmi 拓展板,結合 FPGA 與 ARM 的優(yōu)勢。在硬件層面分為加密端和解密端, 加密端實現(xiàn)基于攝像頭傳感器的視頻實時采集、加密和密匙流動態(tài)配置功能;解密端實現(xiàn)基于 hdmi in 數(shù)據(jù)的實時讀取、解密、并通過 hdmi out 接口輸出。在軟件算法層面主要結合了基于 Logistic 混沌序列的像素加密手段和基于 Arnold 貓映射的圖像置亂加密手段,具體內容見下面章節(jié)介紹。

1.2 應用領域

此技術可應用于傳輸含有個人隱私、企業(yè)信息、國家機密等重要信息的視頻及圖像數(shù)據(jù),如安防監(jiān)控、視頻會議等。

1.3 主要技術特點

在算法層面上,首先通過確定好圖像像素的地址,通過運用 Arnold 貓映射對確定好的像素地址進行置亂。由于該操作不會改變像素本身的值,存在被暴力破解的風險。因此在經(jīng)過上述操作后,還需要通過使用 Logistic 混沌映射對像素點本身的值進行置亂,改變像素點的值,保證圖像的安全性。在硬件層面上,線性反饋位移寄存器所產(chǎn)生的偽隨機序列具有良好的相關 性,運用該特性實現(xiàn)混沌圖像加密算法硬件化。

1.4 關鍵性能指標

(1)密鑰空間

(2)密文圖像的相鄰像素間的相關性

(3)密圖的信息熵

(4)輸出視頻的幀率

1.5 主要創(chuàng)新點

(1)結合圖像與視頻的相關性,在靜態(tài)圖像加密技術的基礎上完成彩色視頻加密技術的開發(fā);

(2)加密算法方面,結合了 Logistic 混沌映射圖像擴散算法和 Arnold 貓映射圖像置亂算法,具有較好的抵抗統(tǒng)計學、信息熵和差分攻擊能力,保證了圖像的安全性;

(3)運用 Zynq 系列芯片,在 FPGA 上完成視頻的采集、加密、解密和顯示, 在 ARM 上完成數(shù)據(jù)的傳輸以及各模塊的調用,充分結合了 ARM 易開發(fā)和 FPGA 高性能、低功耗的優(yōu)勢。

第二部分 系統(tǒng)組成及功能說明

2.1 整體介紹

本設計使用 Zynq7020 芯片采用自制的雙 hdmi 拓展板,結合 FPGA 與 ARM 的優(yōu)勢。在硬件層面分為加密端和解密端,加密端實現(xiàn)基于攝像頭傳感器的視頻實時采集、加密和密匙流動態(tài)配置功能;解密端實現(xiàn)基于 hdmi in 數(shù)據(jù)的實時讀取、解密、并通過 hdmi out 接口輸出。下面分別是加密端整體框圖和解密端整體框圖。

加密端框圖:

解密端框圖:

2.2 各模塊介紹

(1)OV7670 圖像采集模塊:

此模塊主要的任務是配置外部攝像頭和拼接視頻流數(shù)據(jù)。采用 SCCB 接口對外界 OV7670 攝像頭內部寄存器進行配置,同時提供 XCLK 時鐘源聯(lián)合控制攝像頭的幀率,顯示分辨率等一系列參數(shù)。

(2)HDMI_OUT 圖像并轉串輸出模塊:

此模塊主要功能是完成對物體識別模塊的視頻流轉化為 TMDS 差分信號,并完成時鐘的配置驅動外部 HDMI 顯示器或者接入另一塊板卡的 hdmi 輸入接口。

(3)HDMI_IN 圖像串轉并輸入模塊:

此模塊主要功能是完成對物體識別模塊的視頻流轉化為 TMDS 差分信號,并完成時鐘的配置驅動外部 HDMI 顯示器。顯示器將實時顯示雙攝像頭的畫面,在有入侵情況下完成對物體的框選,使監(jiān)控更直觀方便。

(4)基于 Arnold 貓變換&logistic 混沌序列圖像加密模塊:

該模塊主要完成了對于一幀圖像數(shù)據(jù)的 Arnold 置亂加密與基于 logistic 混沌序列的像素點加密。其中置亂次數(shù)及密匙流為加密雙方提前約定,固化與此 ip 中。采用 axi4-s 的視頻流數(shù)據(jù)格式,基于 xilinx 的視頻流標準,具有較好的可移植性。

(5)基于 Arnold 貓變換&logistic 混沌序列圖像解密模塊:

該模塊主要完成了對于一幀圖像數(shù)據(jù)的 Arnold 逆置亂解密與基于 logistic 混沌序列的像素點解密。注意兩者順序與加密模塊正好相反,其中置亂次數(shù)及密匙流為加密雙方提前約定,固化與此 ip 中。采用 axi4-s 的視頻流數(shù)據(jù)格式,基于 xilinx 的視頻流標準,具有較好的可移植性。

第三部分 完成情況及性能參數(shù)

Matlab 仿真加密效果:

3.1 灰度直方圖統(tǒng)計

圖像的灰度直方圖可以反映圖像中像素灰度的分布情況,通過圖像灰度的分布特點來進行圖像的恢復,攻擊者可以利用這一特性對加密圖像進行攻擊。如果 加密后的圖像的灰度值分布沒有規(guī)律可循,攻擊者也就無法通過像素灰度的分布特征來恢復圖像。我們通過 matlab 仿真運算得到基于 Arnold 貓變換&logistic 混沌序列圖像加密算法的加密后擁有較好的加密效果。

3.2 像素點相關性分析

圖像的各相鄰像素之間通常有一定的相關性,攻擊者如果能夠利用好這個現(xiàn) 象就有機會對加密圖像實施攻擊。所以對加密者而言,能否降低圖像像素間的相關性是評價加密算法是否可行的一個重要依據(jù)。所以引入相關系數(shù)來衡量圖像相 鄰像素間的相關性。可以看到原圖的水平、垂直和對角線方向的相鄰像素相關性 很強,而加密后的圖像水平、垂直和對角線方向上的相鄰像素間相關系數(shù)值很小, 尤其是水平方向上的相關系數(shù),為 5.186×10-4,遠小于 0.01,即相關性很弱。

第四部分 總結

可擴展之處

(1)視頻圖像采集格式為 RGB888,即一個像素會占用 24bit 的空間,由這種格式組成一幅 640x480 的圖像需要 1MB 左右,這種原始視頻數(shù)據(jù)對于存儲器的容量有很高的要求,對于后續(xù)的視頻處理和傳輸工作都有很大的局限性。因此,后續(xù)可以設計一些算法對視頻數(shù)據(jù)進行壓縮,為存儲器騰出空間,提高存儲空間資源。

(2)本系統(tǒng)中采用 HDMI 實現(xiàn)加密視頻數(shù)據(jù)板間傳輸,這種傳輸方式距離近,暫時無法遠距離傳播。因此,后續(xù)可以加入以太網(wǎng)等網(wǎng)絡傳輸方式對視頻進行傳輸,以推廣該技術的應用。

相關推薦

登錄即可解鎖
  • 海量技術文章
  • 設計資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

任何技術的學習就好比一個江湖,對于每一位俠客都需要不斷的歷練,從初入江湖的小白到歸隱山林的隱世高人,需要不斷的自我感悟自己修煉,讓我們一起仗劍闖FPGA乃至更大的江湖。