• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      超混沌視頻加密系統(tǒng)的FPGA設(shè)計與實現(xiàn)

      2018-10-24 02:28:20
      電訊技術(shù) 2018年10期
      關(guān)鍵詞:加密算法密鑰攝像頭

      (天津工業(yè)大學(xué) 電氣工程與自動化學(xué)院,天津 300387)

      1 引 言

      隨著互聯(lián)網(wǎng)和多媒體技術(shù)的發(fā)展,信息安全變得越來越重要。而信息安全主要依賴于加密技術(shù),其中以混沌加密為代表的加密技術(shù)研究在近20年來受到了很多學(xué)者的高度重視[1]?;煦缦到y(tǒng)是一種復(fù)雜的非線性運動,它對初始條件具有高度的敏感性,運動軌道長期不可預(yù)測,因此混沌系統(tǒng)表現(xiàn)出非常好的密碼學(xué)特性[2]。以混沌為基礎(chǔ)的視頻圖像加密研究在近年來也出現(xiàn)了很多,如Sun Fu-Yan等[3]提出的基于混沌映射的彩色圖像加密算法、張錯玲等[4]提出的基于Lorenz超混沌理論的數(shù)字圖像加密算法、謝紅梅等[5]提出的基于Logistic混沌映射的圖像加密設(shè)計、朱艷平[6]提出的基于CNN超混沌的視頻加密新算法等,但多是以理論算法研究為主,缺少具體實現(xiàn)方式。李夢瑤[7]提出的基于FPGA的視頻圖像加密系統(tǒng)、陳仕坤等[8]提出的視頻混沌加密、劉國良等[9]提出的基于混沌映射和Hash函數(shù)的圖像加密算法,雖然都有具體的實現(xiàn)方式,但其采用的加密算法多為混沌映射的形式,混沌映射一般都是有周期的,利用混沌映射進行加密的數(shù)據(jù),經(jīng)過有限的輪次加密后,由于周期性數(shù)據(jù)又會恢復(fù)為原來的明文數(shù)據(jù),很容易被破解,所以數(shù)字混沌映射的周期性對密碼系統(tǒng)的安全性來說是不利的[10]。但超混沌系統(tǒng)是具有多個正的Lyapunov指數(shù),這意味著系統(tǒng)的運動向多個方向擴展,于是超混沌系統(tǒng)較一般的混沌系統(tǒng)具有更強的隨機性和不可預(yù)測性,因此也更適用于混沌加密技術(shù)[11-12]。視頻具有數(shù)據(jù)量大、結(jié)構(gòu)復(fù)雜、實時性要求高等特點,而FPGA具有靈活、并行運算速度快、存儲量大、客戶化定制、在線可重構(gòu)等突出特點,在視頻圖像處理領(lǐng)域有獨到的優(yōu)勢[13],因此本文選用FPGA這種具體的硬件實現(xiàn)方式來完成基于超混沌的視頻加密。

      2 基于Qi超混沌的視頻加密

      2.1 Qi超混沌偽隨機序列的生成

      Qi超混沌系統(tǒng)是Qi等[12,14]在2008年提出的一個四維連續(xù)非線性混沌系統(tǒng),它的兩個最大的正Lyapunov指數(shù)分別為13和3,因此其軌道非?;靵y,具有很強的偽隨機性;其參數(shù)空間較大,頻譜帶寬較寬,其帶寬是一般混沌系統(tǒng)甚至有些超混沌系統(tǒng)帶寬的20~30倍,因此非常適合作為保密通信的載體。Qi超混沌方程表示如下[12]:

      (1)

      當取參數(shù)49≤a≤55、20≤b≤24、c=13、d=8、e=33、f=30時,該系統(tǒng)是超混沌系統(tǒng)。為了用FPGA實現(xiàn)Qi超混沌生成偽隨機序列,需要對連續(xù)的超混沌微分方程進行離散化。考慮到離散化精度、資源消耗和生成混沌序列速度等問題,Euler法[15]相對較簡單,比較易于實現(xiàn),且占用資源少,因此這里選用Euler法。

      一階微分方程Euler法可表示為

      (2)

      式中:τ為采樣時間。對式(2)離散化后得到的方程為

      (3)

      通過FPGA實現(xiàn)可以得到4個輸出并合并為

      [x1(i),x2(i),x3(i),x4(i)] 。

      (4)

      式中:i表示第i輪的輸出。進一步可得到二進制偽隨機序列

      d=[110101100…11001010] 。

      (5)

      采用FPGA硬件設(shè)計偽隨機數(shù)發(fā)生器,并能與計算機進行數(shù)據(jù)通信,其系統(tǒng)結(jié)構(gòu)如圖1所示。該系統(tǒng)主要包括超混沌系統(tǒng)模塊、先入先出存儲模塊(FIFO)、FIFO控制模塊、數(shù)據(jù)收發(fā)模塊、密鑰轉(zhuǎn)換模塊。數(shù)據(jù)收發(fā)模塊根據(jù)串口通信協(xié)議編寫,實現(xiàn)從計算機接收初始密鑰和發(fā)送偽隨機序列給加密模塊。密鑰轉(zhuǎn)換模塊實現(xiàn)將接收到的初始密鑰根據(jù)一定的規(guī)則轉(zhuǎn)換成超混沌系統(tǒng)的初始值。超混沌系統(tǒng)模塊是核心算法模塊,主要實現(xiàn)混沌系統(tǒng)迭代計算及偽隨機序列生成。FIFO模塊調(diào)用自IP核,用于數(shù)據(jù)緩存,并可實現(xiàn)跨時鐘域的數(shù)據(jù)交互。FIFO控制模塊用于控制FIFO的數(shù)據(jù)讀寫以及發(fā)送模塊的使能。

      圖1 FPGA實現(xiàn)Qi超混沌偽隨機數(shù)發(fā)生器系統(tǒng)結(jié)構(gòu)圖Fig.1 Diagram of FPGA implementation of Qi hyperchaotic pseudo random number generator system

      如圖2所示,通過在Quartus II 11.0軟件中編寫仿真用的測試程序,然后與Modelism軟件聯(lián)合進行仿真來生成十六進制Qi超混沌偽隨機序列。

      圖2 Modelism仿真產(chǎn)生的Qi超混沌偽隨機序列Fig.2 Pseudo random sequence generated by Qi hyperchaos using Modelism simulation

      2.2 偽隨機序列測試

      為了表明選擇Qi超混沌系統(tǒng)作為加密載體的正確性,對Qi超混沌系統(tǒng)生成的序列做了偽隨機測試。本文采用SP800-22的標準,其被認為是衡量偽隨機序列性能的標準,被廣泛用于偽隨機序列的測試中[16]。在Windows系統(tǒng)下運用Cygwin軟件來運行STS測試套件,測試的序列長度為1 000萬位,采用STS-2.0軟件包來完成隨機性測試,表1為測試結(jié)果。由Qi超混沌系統(tǒng)產(chǎn)生的序列的測試結(jié)果通過了全部15項隨機數(shù)標準測試,證明其具有很強的隨機性和不可預(yù)測性,為超混沌視頻加密提供了前提條件。根據(jù)標準,當P-value值大于0.1時,說明該項測試通過。表1顯示所有15項測試P-value值均大于0.1,因此全部通過測試。

      表1 NIST偽隨機數(shù)測試結(jié)果Tab.1 NIST pseudorandom number test results

      2.3 加解密算法

      2.3.1加密算法

      本文的視頻加密方法是以Qi超混沌生成的偽隨機序列為基礎(chǔ),采用雙重加密方式,既對攝像頭采集的數(shù)據(jù)加密,又對同步動態(tài)隨機存儲器(SDRAW)的存儲地址加密。不同于文獻[6-9,17]中的只對攝像頭采集數(shù)據(jù)的加密方法,這種雙重加密方法目前尚未有文獻報道。該方法能強化加密的安全性,使其更難以破解。雙重加密步驟分為數(shù)據(jù)加密和地址加密。

      (1)數(shù)據(jù)加密

      為了使用隨機性更強的偽隨機序列,首先舍棄了前200輪的隨機序列,加密時再由前8位二進制密鑰轉(zhuǎn)換成一個十進制數(shù),這個十進制數(shù)值將用于確定200輪之后的超混沌系統(tǒng)迭代的起始輪次,即從該迭代輪次開始產(chǎn)生的超混沌序列才為有效的偽隨機序列(目的是為了讓破解者難以發(fā)現(xiàn)具體使用的是哪一輪迭代的偽隨機序列,增加安全性),然后有效的序列再與攝像頭采集到的視頻數(shù)據(jù)進行異或操作,如圖3所示;接著進行數(shù)據(jù)的行移位操作,即將異或后的數(shù)據(jù)排列成4×4表格形式,第一行數(shù)據(jù)排序不變,后面各行依次左移一位;行移位后再進行列混淆,同樣將數(shù)據(jù)排列成4×4表格形式,最后一列不變,其他列依次向下移一位,由此完成了第一輪混淆。然后再重復(fù)進行兩輪混淆操作,一共循環(huán)操作3次,最后再輸出加密數(shù)據(jù),從而使數(shù)據(jù)充分達到擴散和混淆的目的。

      (2)地址加密

      同數(shù)據(jù)加密相似,通過輸入的第9~16位二進制密鑰先轉(zhuǎn)換為十進制數(shù),通過這個十進制數(shù)來對應(yīng)選取200輪之后有效的Qi超混沌迭代起始輪次,從此輪開始產(chǎn)生的Qi超混沌偽隨機序列為有效的偽隨機序列,然后有效的隨機序列再與原來的地址進行異或操作,形成密文地址,如圖4所示。同樣,經(jīng)過異或后的地址還要經(jīng)過行移位和列混淆操作,共循環(huán)操作3次,從而使原來的有效地址變?yōu)榧用芎蟮臒o效地址,來達到加密的效果。

      圖3 加密算法流程圖Fig.3 Flow chart of encryption algorithm

      2.3.2解密過程

      解密就是加密的逆過程。正確輸入密鑰后,F(xiàn)PGA內(nèi)部先將存儲地址進行列混淆的逆操作,再進行行移位的逆操作,接著根據(jù)正確的密鑰找到對應(yīng)輪次的超混沌序列進行異或,共逆循環(huán)3次,得到正確的存儲地址,而后數(shù)據(jù)也進行和存儲地址相似的逆操作,得到正確的采集數(shù)據(jù),最后在計算機上顯示攝像頭采集的視頻畫面。

      只要解密密鑰有一位與加密密鑰不同,視頻不會被正確解密,而持續(xù)處在加密狀態(tài)。

      3 FPGA實現(xiàn)

      本實驗采用的FPGA芯片是Intel(前Altera)公司的EP4CE15F17C8,通過Verilog HDL語言實現(xiàn)在Quartus II 11.0平臺上的模塊化設(shè)計。

      3.1 FPGA實現(xiàn)實時視頻采集

      整個FPGA實現(xiàn)的視頻采集流程如圖4所示。首先系統(tǒng)上電初始化,然后進行OV7670攝像頭的初始化操作,初始化配置工作完成后進入數(shù)據(jù)的有效幀控制模塊,判別幀數(shù)據(jù)是否有效,若有效則進入FIFO讀寫緩沖模塊,利用FIFO模塊可以有效實現(xiàn)整個視頻數(shù)據(jù)流的跨時鐘交互[18]。接著進入SDRAM存儲模塊,再判斷是否寫滿一頁數(shù)據(jù),若寫滿,則地址加1,同時對SDRAM施行乒乓操作,切換存儲bank,這樣可以避免視頻幀交錯的發(fā)生,使視頻顯示達到流暢操作,然后將完整的視頻數(shù)據(jù)流和地址傳送給VGA顯示模塊進行處理,最后顯示在VGA顯示器上。

      圖4 FPGA實現(xiàn)實時視頻采集流程圖Fig.4 Flow chart of capturing real-time video using FPGA

      3.2 FPGA實現(xiàn)超混沌視頻加密

      圖5為FPGA實現(xiàn)超混沌視頻加密的總體框圖。本實驗使用FPGA實現(xiàn)的超混沌視頻加密主要分為四大模塊,即串口通信模塊、OV7670數(shù)字攝像頭視頻采集模塊、FPGA加密模塊和VGA顯示模塊。

      圖5 FPGA實現(xiàn)超混沌視頻加密總體框圖Fig.5 Block diagram of FPGA implementation of hyperchaotic video encryption

      實現(xiàn)流程如圖6所示,共分為4個階段:

      (1)由上位機輸入144位密鑰,并與加解密按鍵共同控制,即加密時輸入密鑰給FPGA,隨后啟動加密按鍵,進入加密狀態(tài);解密時輸入正確的解密密鑰,隨后啟動解密按鍵,進入解密狀態(tài);

      (2)通過串口發(fā)送模塊再將密鑰發(fā)送給Qi超混沌模塊,使其生成有效的偽隨機序列;

      (3)超混沌生成的有效偽隨機序列與攝像頭采集的視頻數(shù)據(jù)通過數(shù)據(jù)加密模塊進行視頻數(shù)據(jù)的加密操作,完成數(shù)據(jù)加密后,超混沌生成的有效偽隨機序列再與存儲地址通過地址加密模塊進行地址的加密操作;

      (4)將先后加密完成的數(shù)據(jù)和地址傳送到VGA顯示模塊進行加密后的視頻顯示。

      圖6 FPGA實現(xiàn)超混沌加密流程圖Fig.6 Flow chart of FPGA implementation of hyperchaos encryption

      4 實現(xiàn)結(jié)果與分析

      4.1 實現(xiàn)結(jié)果

      由于視頻的數(shù)據(jù)量大以及實驗采用的攝像頭的像素(30萬)有限,所以在顯示時采用了640 PPI×480 PPI的分辨率、RGB565的數(shù)據(jù)傳輸格式,其中PPI是Pixels Per Inch的縮寫。圖7為明文視頻截圖,圖8為數(shù)據(jù)和地址雙重加密的視頻截圖。

      圖7 明文視頻采集截圖Fig.7 Screenshot of capturing plain video

      圖8 數(shù)據(jù)和地址雙重加密后視頻采集截圖Fig.8 Screenshot of capturing cipher video after both data and address encryption

      在進行視頻采集顯示時,由于本系統(tǒng)采用硬件FPGA技術(shù)進行處理,在視頻處理速度上占有優(yōu)勢。通過軟件程序測得明文的視頻幀速率為25 frame/s,數(shù)據(jù)加密后的幀速率約為23 frame/s,數(shù)據(jù)和地址同時加密的幀速率約為20 frame/s。從圖7和圖8中主觀視覺效果可以看出,加密后的視頻圖像與明文視頻圖像差別很大,無法從加密后的視頻圖像中找出明文視頻的特征,具有良好的主觀視覺效果,而加密視頻所消耗的時間只是增加了10 ms(5 frame/s的差距)左右,且不會影響到視頻的顯示效果。

      4.2 安全性分析

      由于視頻屬于動態(tài)圖像,并不完全適合采用靜態(tài)圖像的安全性分析方法。本文主要從密鑰空間和統(tǒng)計特性來分析該超混沌視頻加密的安全性。

      4.2.1密鑰空間分析

      密鑰空間是指加密算法中密鑰的取值范圍,通常以位為單位,即以位的多少來對獨特密鑰進行計數(shù)。密鑰的位越長,其密鑰空間也就越大[9]。破解密鑰空間主要是使用窮舉法,也就是對所有可能的密碼進行逐一推測、驗證和排除,直到找到正確的密碼為止[4,9]。本文采用的加密密鑰來自混沌初值的4個變量x1、x2、x3、x4,以及控制超混沌序列開始位置的密鑰,其中Qi超混沌初值采用的是二進制的32位精度浮點數(shù)計算,超混沌偽隨機序列開始位置密鑰采用的是十進制數(shù)計算,因此本文的加密密鑰可達144位,目前能夠抵御眾多攻擊算法的AES加密算法的最低密鑰位數(shù)也只是128位[19]。假設(shè)密碼分析人員使用目前世界上運行速度最快的計算機以每秒千萬億次搜索密鑰,想要破解144位密鑰仍然需要大約7×1020年才能窮舉所有密鑰,所以此密鑰空間足以抵御窮舉攻擊。

      4.2.2統(tǒng)計特性分析

      截取攝像頭采集的視頻文件的最后一幀圖像,采用Matlab計算,通過Matlab將原始彩色圖像和加密后的彩色圖像都提取出紅、綠、藍三色分量,分別對其進行統(tǒng)計特性分析[16]。在該超混沌視頻加密系統(tǒng)中,圖9和圖10分別為明文視頻幀像素直方圖和數(shù)據(jù)與地址雙重加密視頻幀的像素直方圖。

      圖9 明文視頻幀的紅綠藍3個分量的像素直方圖Fig.9 The plaintext pixel histogram of RGB components of video frames

      圖10 數(shù)據(jù)和地址加密紅綠藍3個分量的像素直方圖Fig.10 Pixels histogram of encryption of both data and address of RGB components

      從圖9可以看出,圖像的像素點分布并不均勻,主要集中在50~210之間的區(qū)域,特性比較明顯;圖10顯示像素點分布比原始視頻幀的像素點以及文獻[6-9]中所采集的像素直方圖的像素點分布更加均勻,更加類似于白噪聲分布,統(tǒng)計特性不明顯,從而大大降低了明密文的相關(guān)性,極大地增強了加密的安全性。

      5 結(jié)束語

      本文給出了超混沌視頻加密系統(tǒng)的FPGA設(shè)計與實現(xiàn),以Qi超混沌系統(tǒng)產(chǎn)生的偽隨機序列為基礎(chǔ),對視頻采樣數(shù)據(jù)和地址進行雙重超混沌加密,與現(xiàn)有文獻中的加密方法進行了對比。FPGA實現(xiàn)結(jié)果顯示,超混沌視頻加密系統(tǒng)數(shù)據(jù)處理速度快,穩(wěn)定性好,且加密后的密文能夠較好地隱藏原視頻中的信息,達到了預(yù)期的視頻加密效果,極大地提高了加密的安全性。

      本文的設(shè)計實現(xiàn)只是階段性的結(jié)果,下一步將進一步研究視頻數(shù)據(jù)的遠距離傳輸以及加密算法。

      猜你喜歡
      加密算法密鑰攝像頭
      探索企業(yè)創(chuàng)新密鑰
      浙江首試公路非現(xiàn)場執(zhí)法新型攝像頭
      攝像頭連接器可提供360°視角圖像
      密碼系統(tǒng)中密鑰的狀態(tài)與保護*
      一種對稱密鑰的密鑰管理方法及系統(tǒng)
      基于ECC的智能家居密鑰管理機制的實現(xiàn)
      基于小波變換和混沌映射的圖像加密算法
      奔馳360°攝像頭系統(tǒng)介紹
      Hill加密算法的改進
      對稱加密算法RC5的架構(gòu)設(shè)計與電路實現(xiàn)
      类乌齐县| 年辖:市辖区| 黄梅县| 若尔盖县| 长子县| 吴江市| 江津市| 吕梁市| 大英县| 皮山县| 宝山区| 合阳县| 沙河市| 红原县| 庆阳市| 盘山县| 社旗县| 宣恩县| 江油市| 长顺县| 那曲县| 甘泉县| 巴楚县| 大荔县| 安徽省| 海林市| 绥芬河市| 新沂市| 饶阳县| 襄垣县| 临海市| 吉林省| 鄂托克旗| 台北市| 龙里县| 永寿县| 岫岩| 宾阳县| 安图县| 镇康县| 满洲里市|