空中無(wú)人平臺(tái)視頻圖像加密算法

因?yàn)榭罩袩o(wú)人信息平臺(tái)需要的視頻加密方案是保密性強(qiáng)且加密不改變視頻碼流格式,不影響壓縮比,不影響視頻的正常實(shí)時(shí)播放。所以我們今天介紹的加密算法,是充分利用壓縮過程提供的信息來對(duì)加密過程提供基礎(chǔ)嗎,使得加密和壓縮均具有較好的性能嗎,加密在壓縮之后并且不改變壓縮比。

一、空中無(wú)人平臺(tái)視頻圖像加密算法

1、 MPEG編碼介紹

在MPEG編碼過程中,視頻圖像被分割成圖像組層(GOP),每個(gè)圖像組層(GOP)由一系列I, _P和B幀組成,其中I幀是不需要參考其它幀的幀內(nèi)圖,通過DCT變換方法單獨(dú)編碼; P幀是參考前面的I幀或者P幀來進(jìn)行預(yù)測(cè)編碼的預(yù)測(cè)圖;B幀是進(jìn)行雙向運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)編碼的雙向預(yù)測(cè)圖像。一個(gè)GOP至少要有一幅I幀。典型的排列如圖所示:

空中無(wú)人平臺(tái)視頻圖像加密算法

每幀圖像包含若干圖像切片(slice),每個(gè)切片包含若干個(gè)宏塊,宏塊是一個(gè)16×16像素的圖像塊,是視頻編碼的基本單位。每個(gè)宏塊用亞取樣的方式更進(jìn)一步分成4個(gè)8×8像素亮度塊(Y塊)和2個(gè)8×8像素色度塊(一個(gè)Cr塊和一個(gè)Cb塊)。

每個(gè)Y,Cb和Cr塊都要進(jìn)行DCT、量化和熵編碼。DCT變換后將大部分低頻分量集中到8×8塊空間的左上角,變換系數(shù)進(jìn)行量化后許多AC系數(shù)變成了0,量化輸出的結(jié)果是根據(jù)zig-zag順序排列的:<DC,AC1,AC2,…,AC63>。DC系數(shù)表示在空間塊上量度的平均值,AC系數(shù)包含了圖像信息的細(xì)節(jié)。

按照視頻壓縮標(biāo)準(zhǔn)(MPEG4)編碼得到的視頻碼流都是遵循協(xié)議規(guī)定的固定格式和語(yǔ)法結(jié)構(gòu)來分層組織壓縮后的視頻信息的。各層都由一個(gè)標(biāo)志信息頭開始(塊層除外),后接其他格式信息或視頻壓縮后的有關(guān)圖像內(nèi)容數(shù)據(jù)。代表圖像內(nèi)容信息的主要是DCT系數(shù)及運(yùn)動(dòng)矢量MV。標(biāo)志字及格式信息都是一些很容易從數(shù)據(jù)流中分辨出來的特殊碼字,起同步和指示視頻信息結(jié)構(gòu)的作用,沒有這些標(biāo)志字或者這些標(biāo)志字被破壞時(shí)將無(wú)法解碼。而且,標(biāo)志信息不含任何視頻內(nèi)容,加密的意義也不大,所以不加密標(biāo)志信息。

2、加密的關(guān)鍵信息

(1)加密幀內(nèi)塊DC碼字

DCT變換使得能量集中于低頻部分,因此,低頻部分系數(shù)的改變對(duì)于圖像的可理解性更加敏感。由于DCT變換將像素塊的64個(gè)像素的平均值由低頻直流系數(shù)DC表示,DC含有圖像的大致信息,幀內(nèi)塊的DC系數(shù)采用定長(zhǎng)八位編碼單獨(dú)編碼,加密后得到的隨機(jī)碼字除了兩個(gè)非法碼字外都在其碼表中,所以通過避免加密后取值為非法碼字,加密幀內(nèi)塊DC是可行的。我們可以采用高強(qiáng)度密碼加密。

(2)加密AC系數(shù)的符號(hào)位

AC系數(shù)則對(duì)應(yīng)圖像中的細(xì)節(jié),而且AC和DC是相關(guān)的,對(duì)每個(gè)塊AC系數(shù)的和大約是DC的整數(shù)倍。因此在高保密級(jí)別的場(chǎng)合,軍事,需要對(duì)AC系數(shù)的符號(hào)位也進(jìn)行加密,否則可以從AC系數(shù)來破譯DC系數(shù)。對(duì)于較低頻率的交流系數(shù)AC,在63個(gè)系數(shù)(除去DC)中選擇加密n個(gè)系數(shù)。顯然,加密的系數(shù)個(gè)數(shù)越多,圖像的可理解性就越差,密碼系統(tǒng)的安全性就越高,同時(shí),加密的系數(shù)越多,加密算法越復(fù)雜,造成的壓縮比改變也就越多。而且由于AC符號(hào)位所占碼流的比例很大,如果全部加密所有系數(shù),計(jì)算量將是很大的。所以系數(shù)個(gè)數(shù)n的選擇要考慮安全和壓縮比兩個(gè)因素,可根據(jù)應(yīng)用需求來確定。加密較少量的AC系數(shù),我們也采用高強(qiáng)度的密碼加密。

(3)加密運(yùn)動(dòng)矢量MV符號(hào)位

運(yùn)動(dòng)矢量代表了視頻圖像中非常重要的運(yùn)動(dòng)信息,加密運(yùn)動(dòng)矢量,能夠破壞P幀和B幀的正確解碼。僅僅加密運(yùn)動(dòng)矢量的符號(hào),能夠降低加密的運(yùn)算復(fù)雜度,因?yàn)镸V是差分編碼,改變符號(hào)位不僅改變了MV的方向還改變了MV的大小。同時(shí),因?yàn)檫\(yùn)動(dòng)矢量的編碼過程是對(duì)符號(hào)單獨(dú)編碼,能夠保持壓縮比不變。為了增加已知明文攻擊的難度,我們也采用高強(qiáng)度密碼加密,與DCT和AC系數(shù)符號(hào)的加密方法一樣。

所以,在空中無(wú)人信息平臺(tái)下,我們選擇加密幀內(nèi)塊DC碼字、MV符號(hào)位和AC系數(shù)的符號(hào)位。對(duì)這幾種關(guān)鍵信息在標(biāo)準(zhǔn)序列壓縮編碼后碼流中的比例統(tǒng)計(jì)結(jié)果如表所示。而加密算法我們采用國(guó)際標(biāo)準(zhǔn)的分組加密算法AES加密提取的關(guān)鍵信息來提高加密方案整體的安全性。

空中無(wú)人平臺(tái)視頻圖像加密算法

二、空中無(wú)人平臺(tái)視頻圖像加密算法性能分析

1、 保密性分析

本加密算法,能夠同時(shí)加密幀內(nèi)數(shù)據(jù)和幀間數(shù)據(jù)信息。

加密幀內(nèi)信息,即加密幀內(nèi)塊DC碼字和加密AC系數(shù),加密幀間信息,即加密運(yùn)動(dòng)矢量,破壞了P、B幀與I幀之間的依賴關(guān)系,從而實(shí)現(xiàn)P幀和B幀的加密。對(duì)于本加密方案總體上的保密性,從攻擊者的角度來看,完全破解本加密方案的難度在理論上同破解本加密方案中所采用的分組加密算法AES相當(dāng),而AES分組加密算法目前被認(rèn)為是難以破解的,具有較強(qiáng)的抵抗已知明文和選擇明文攻擊的能力。所以本加密方案的保密性是十分可靠的。

2、 加密速度

本加密方案僅選取碼流中少量的關(guān)鍵信息加密,加密的關(guān)鍵信息在標(biāo)準(zhǔn)序列的壓縮碼流中所占比例約為10%左右,加密或解密的速度是非常快的。在空中無(wú)人平臺(tái)的條件下,MPEG-4視頻碼流,傳輸時(shí)間為2s,再加上解密時(shí)間也不會(huì)超過3s鐘,即使被攻擊者截獲也不會(huì)在這么短的時(shí)間內(nèi)破解,所以本加密方案時(shí)延小,不影響視頻的正常實(shí)時(shí)播放。而且本加密方案使用的分組加密算法加密后的密文長(zhǎng)度和明文長(zhǎng)度相等,不需要在碼流中附加傳遞其他任何信息,所以不會(huì)產(chǎn)生額外的碼流數(shù)據(jù),不增加碼流大小,即不會(huì)增加附加的網(wǎng)絡(luò)帶寬要求。

本文分析了現(xiàn)有幾種視頻加密算法的特性,結(jié)合空中無(wú)人信息平臺(tái)的特點(diǎn)給出了一種加密關(guān)鍵信息的視頻加密方案。該加密方案選取視頻序列中的關(guān)鍵信息DC碼字、AC系數(shù)符號(hào)位和運(yùn)動(dòng)矢量MV符號(hào)位加密,具有加解密數(shù)據(jù)量小,加解密速度快的特點(diǎn)。使用該加密方案還可以保持碼流格式不變,不增加附加的帶寬要求,加解密不影響視頻圖像質(zhì)量,能保證視頻的正常實(shí)時(shí)傳輸播放。

小知識(shí)之MPEG-4

MPEG-4是一個(gè)正在制定的國(guó)際標(biāo)準(zhǔn),它支持用于通信、訪問和數(shù)字視聽數(shù)據(jù)處理的新方法(特別是基于內(nèi)容的)。