個塊,之 后對于后續(xù)L個數(shù)據(jù)塊反復利用前一個塊的明文作為當前一個塊的序列密碼的密鑰。通過 控制參數(shù)L對加密速度進行控制,參數(shù)L的值可以在應(yīng)用系統(tǒng)中根據(jù)當前數(shù)據(jù)量進行動態(tài) 調(diào)整,以實現(xiàn)吞吐量的自適應(yīng)。
[0024] 如附圖1所示,所述算法由如下步驟完成,解密算法則是執(zhí)行反向的操作:
[0025] Begin:
[0026] 1.根據(jù)需要對原始數(shù)據(jù)進行可選的初始操作(如混亂處理等),并按長度為 SegLength的塊為單位對數(shù)據(jù)序列進行如下處理
[0027] While沒有到達最后一個塊Do:
[0028] 2.使用一個傳統(tǒng)加密方法F對最前面的n個塊進行加密
[0029] EndWhile
[0030] While后續(xù)數(shù)據(jù)長度大于等于SegLengthDo:
[0031] 3.使用方法F對先進先出隊列中當前塊Segi進行加密
[0032] 4.對接下來的L個塊,令其密文CiphersSegj-i十Seg:
[0033] EndWhile
[0034] 5.對最后一個塊按照后面給出的填充算法進行填充并使用方法F加密(當已處理 完所有數(shù)據(jù),即數(shù)據(jù)長度是SegLength的整數(shù)倍時,按最后一個塊長度為0處理)
[0035] End。
[0036] 為避免攻擊者可能獲得部分塊的明文,在初始化過程中可以對最前面的n個塊數(shù) 據(jù)用算法F進行全加密,其中n是以會話Key作為種子生成的一個整數(shù)。此外初始化中可 選的擾亂操作可以增加安全性。第4步中的L是一個實時調(diào)整的反饋參數(shù),它是通過對緩 沖區(qū)中數(shù)據(jù)輸入速度等因素進行綜合分析得到的,每次使用的L表示一個傳統(tǒng)加密的塊后 面連續(xù)異或的塊個數(shù),這組數(shù)據(jù)在解密的時候是需要的,因此也需要存儲。一種方案是將L 的序列存儲成為單獨的文件,另一種方案是將EFlag(1表示獨立加密,0表示與前面一塊異 或)作為本塊作為每一個塊的頭部信息。
[0037] 實際系統(tǒng)中我們可以根據(jù)數(shù)據(jù)視頻的分辨率和編碼器的目標碼率對數(shù)據(jù)量進行 估計,選擇參數(shù)L,并當緩沖區(qū)充滿程度高于某閥值后對加密參數(shù)進行短暫翻番,以控制加 密數(shù)據(jù)吞吐量和加密算法吞吐量匹配。
[0038] 經(jīng)驗證,當L較小時,加密吞吐量近接近線性增加,但當L較大時加密吞吐量受到 異或操作的速度限制,兩個測試序列分別收斂于llGBps和5. 9GBps附近。算法吞吐量受到 系統(tǒng)中重負載的進程影響較多,而受到I/O【輸入輸出】傳輸影響很小。
[0039]由于嵌入式系統(tǒng)中控制模塊中的主要工作就是數(shù)據(jù)加密和存儲,因此負載因素在 實際系統(tǒng)中對性能影響不大。
[0040] 前述的加密方法能夠應(yīng)用于,基于DSP和ARM的嵌入式視頻處理平臺。所述的平 臺的視頻處理系統(tǒng)主要由采集/顯示、數(shù)據(jù)處理、數(shù)據(jù)控制三部分構(gòu)成。
[0041] 在一種實施例中,上述的視頻處理系統(tǒng)包括感知數(shù)據(jù)采集模塊,其由采集模塊、模 數(shù)轉(zhuǎn)換、FPGA以及FIFO組成。運行時用戶控制命令由CPLD(可編程邏輯器件)給出,F(xiàn)PGA 首先截獲、讀取和解析命令字,根據(jù)用戶要求的模式進行處理。采集模塊負責將視頻信號數(shù) 字化,同時對輸入的信號進行格式轉(zhuǎn)換后放在FIFO中,通過中斷通知DSP理器。在數(shù)據(jù)處 理模塊的DRAM中,開辟可存放多幀圖像的緩存區(qū),通過EDMA搬移數(shù)據(jù)周期性存放。
[0042] 數(shù)據(jù)處理部分由DSP、DRAM和Flash Memory組成。DSP選用TI公司的C6455作 為數(shù)據(jù)處理的主處理芯片,用于數(shù)據(jù)壓縮和加密處理。采用64Mbyte的外部存儲器DRAM作 為編碼模塊的數(shù)據(jù)緩存,用于存放壓縮過程中的參考幀、重建幀、加密壓縮碼流等,以解決 編碼過程中片內(nèi)存儲資源不足的問題。選用8MB Flash Memory芯片作為程序存儲器,實現(xiàn) 系統(tǒng)的加電自舉。
[0043] 數(shù)據(jù)控制部分由控制模塊實現(xiàn),其核心選用三星公司生產(chǎn)的基于ARM920T內(nèi)核的 S3C2410芯片為核心,采用uClinux作為操作系統(tǒng)。模塊的存儲器包括DRAM和Flash,CPLD 模塊主要完成外部芯片選信號的譯碼,基于雙端口 RAM實現(xiàn)DSP和ARM的數(shù)據(jù)交互,可由 JTAG接口系統(tǒng)進行開發(fā)和調(diào)試。
[0044] 嵌入式視頻感知系統(tǒng)中實時視頻數(shù)據(jù)帶寬高,但由于系統(tǒng)往往由電池供電,設(shè)備 的計算及電能資源十分有限,限制了數(shù)據(jù)加密保護時復雜加密算法的使用。本申請通過分 析加密資源與數(shù)據(jù)量之間的不對稱關(guān)系,并根據(jù)具體應(yīng)用場景中的應(yīng)用需求提出了一種吞 吐量可調(diào)節(jié)的通用多媒體數(shù)據(jù)快速加密方法,解決了以往視頻加密方法格式通用性不佳、 無法根據(jù)實時數(shù)據(jù)帶寬波動進行動態(tài)調(diào)節(jié)的問題。最后給出了基于DSP和ARM的嵌入式視 頻感知系統(tǒng),系統(tǒng)中實現(xiàn)了基于視頻數(shù)據(jù)快速加密方法的實時媒體數(shù)據(jù)存儲以及基于改進 算法的視頻重要幀傳輸。
【主權(quán)項】
1. 一種面向海量編碼多媒體數(shù)據(jù)的速度可調(diào)節(jié)加密方法,所述方法包括以下步驟: Sl將輸入明文數(shù)據(jù)分割成若干子數(shù)據(jù)塊;S2對分割后的數(shù)據(jù)中的第一子數(shù)據(jù)塊使用 現(xiàn)有加密算法進行加密;S3對接下來的多個子數(shù)據(jù)塊,使用前一個加密的子數(shù)據(jù)塊的明文 與之進行按位異或操作,所述子數(shù)據(jù)塊個數(shù)為一指定參數(shù),所述指定參數(shù)為事先指定或根 據(jù)數(shù)據(jù)緩沖使用量計算,以達到速度動態(tài)調(diào)節(jié)的目的;S4對輸入數(shù)據(jù)重復步驟S2和S3直 到全部數(shù)據(jù)處理完畢; 若步驟(1)輸入數(shù)據(jù)為字節(jié)流,則按照給定長度進行數(shù)據(jù)分塊,末尾補足根據(jù)步驟Sl 中所選的現(xiàn)有加密方法;若步驟Sl輸入數(shù)據(jù)為網(wǎng)絡(luò)數(shù)據(jù)包,則直接以數(shù)據(jù)包為子數(shù)據(jù)塊。2. -種面向海量編碼多媒體數(shù)據(jù)的速度可調(diào)節(jié)加密方法,所述方法包括以下步驟: Sl將輸入明文數(shù)據(jù)分割成若干子數(shù)據(jù)塊;S2對分割后的數(shù)據(jù)中的第一子數(shù)據(jù)塊使用 現(xiàn)有加密算法進行加密;S3對接下來的多個子數(shù)據(jù)塊,總使用第一個加密的子數(shù)據(jù)塊的明 文與之進行按位異或操作,所述子數(shù)據(jù)塊個數(shù)為一指定參數(shù),所述指定參數(shù)為事先指定或 根據(jù)數(shù)據(jù)緩沖使用量計算,以達到速度動態(tài)調(diào)節(jié)的目的;S4對輸入數(shù)據(jù)重復步驟S2和S3 直到全部數(shù)據(jù)處理完畢; 若步驟(1)輸入數(shù)據(jù)為字節(jié)流,則按照給定長度進行數(shù)據(jù)分塊,末尾補足根據(jù)步驟Sl 中所選的現(xiàn)有加密方法;若步驟Sl輸入數(shù)據(jù)為網(wǎng)絡(luò)數(shù)據(jù)包,則直接以數(shù)據(jù)包為子數(shù)據(jù)塊。3. 根據(jù)權(quán)利要求1或2所述的加密方法,其特征在于,當所述步驟Sl中輸入 的數(shù)據(jù)為網(wǎng)絡(luò)數(shù)據(jù)包時,在步驟S3中,若異或操作中前面子數(shù)據(jù)塊長度比當前子 數(shù)據(jù)塊短,則需要對所述前面的子數(shù)據(jù)塊進行重復拼接以補足長度,具體方法為:其中,PL1是第i個數(shù)據(jù)包的長度,p ^是第i個數(shù)據(jù)包第k字節(jié)的明文,c ?是該明文所 對應(yīng)的密文。4. 一種采用權(quán)利要求1-3中加密方法的平臺,其特征在于:所述的平臺為基于DSP和 ARM的嵌入式視頻處理平臺,所述的平臺的視頻處理系統(tǒng)主要由采集/顯示部分、數(shù)據(jù)處理 部分以及數(shù)據(jù)控制部分組成。5. 根據(jù)權(quán)利要求4所述的平臺,其特征在于:所述的采集/顯示部分包括感知數(shù)據(jù)采 集模塊,該模塊由采集模塊、模數(shù)轉(zhuǎn)換、FPGA以及FIFO組成,運行時用戶控制命令由可編程 邏輯器件給出,F(xiàn)PGA首先截獲、讀取和解析命令字,根據(jù)用戶要求的模式進行處理;采集模 塊負責將視頻信號數(shù)字化,同時對輸入的信號進行格式轉(zhuǎn)換后放在FIFO中,通過中斷通知 DSP理器;在數(shù)據(jù)處理模塊的DRAM中,開辟可存放多幀圖像的緩存區(qū),通過EDMA搬移數(shù)據(jù) 周期性存放。6. 根據(jù)權(quán)利要求4所述的平臺,其特征在于:所述的數(shù)據(jù)處理部分由DSP、DRAM和 Flash Memory組成,所述DSP選用TI公司的C6455作為數(shù)據(jù)處理的主處理芯片,用于數(shù)據(jù) 壓縮和加密處理;采用64Mbyte的外部存儲器DRAM作為編碼模塊的數(shù)據(jù)緩存,用于存放壓 縮過程中的參考幀、重建幀、加密壓縮碼流,以解決編碼過程中片內(nèi)存儲資源不足的問題; 選用8MB Flash Memory芯片作為程序存儲器,實現(xiàn)系統(tǒng)的加電自舉。7. 根據(jù)權(quán)利要求4所述的平臺,其特征在于:所述的數(shù)據(jù)控制部分由控制模塊實現(xiàn),其 核心選用三星公司生產(chǎn)的基于ARM920T內(nèi)核的S3C2410芯片為核心,采用uClinux作為操 作系統(tǒng);模塊的存儲器包括DRAM和Flash,CPLD模塊主要完成外部芯片選信號的譯碼,基于 雙端口 RAM實現(xiàn)DSP和ARM的數(shù)據(jù)交互,能夠由JTAG接口系統(tǒng)進行開發(fā)和調(diào)試。
【專利摘要】本發(fā)明公開了一種面向海量編碼多媒體數(shù)據(jù)的速度可調(diào)節(jié)加密方法以及采用該方法的視頻處理平臺,將輸入明文數(shù)據(jù)分割成若干子數(shù)據(jù)塊,使用傳統(tǒng)塊加密方法加密一個塊,之后對于后續(xù)多個數(shù)據(jù)塊反復利用前一個塊的明文作為當前一個塊的序列密碼的密鑰進行加密,或者之后對于后續(xù)多個數(shù)據(jù)塊反復利用第一個塊的明文作為當前一個塊的序列密碼的密鑰進行加密。以及采用了上述方法的視頻處理平臺。采用上述加密方法以及平臺可以在計算資源受限條件下完成海量實時多媒體感知數(shù)據(jù)加密。
【IPC分類】H04N21/2347, H04N21/4408
【公開號】CN105187851
【申請?zhí)枴緾N201510463276
【發(fā)明人】肖晨
【申請人】北京郵電大學
【公開日】2015年12月23日
【申請日】2015年7月31日