詳解基于MPEG2的三種視頻加密算法

MPEG是活動(dòng)圖像專(zhuān)家組(Moving Picture Experts Group)的縮寫(xiě)。根據(jù)MPEG2視頻編碼過(guò)程和加密過(guò)程的不同,主要分成三大類(lèi)算法:

MPEG2視頻直接加密算法、MPEG2視頻選擇性加密算法和MEPG2視頻DCT系數(shù)加密算法。

MPEG2視頻直接加密算法:

MPEG2直接加密算法是直接將視頻看成二進(jìn)制數(shù)據(jù)進(jìn)行加密,如圖所示:

詳解基于MPEG2的三種視頻加密算法

其中M代表了原始的視頻流,K表示密鑰,E表示編碼加密后的視頻數(shù)據(jù)。這種加密直接加密壓縮的視頻流數(shù)據(jù),這里用DES進(jìn)行加密實(shí)驗(yàn)。DES算法為密碼體制中的對(duì)稱(chēng)密碼體制,明文按64為進(jìn)行分組,密鑰長(zhǎng)64為,密鑰事實(shí)上是56為參與DES運(yùn)算(第8、16、24、32、40、48、56、64位是校驗(yàn)位,使得每個(gè)密鑰都有奇數(shù)個(gè)1)分組后的明文組和56位的密鑰按位替代或交換的方法形成密文組的加密方法。理論上MPEG2視頻直接加密算法有極高的安全性,DES算法有極高的安全性,它有56位長(zhǎng)的密鑰,而其窮舉空間為256,要想破解攻擊,如果一臺(tái)計(jì)算機(jī)每秒檢測(cè)1億個(gè)密鑰,需要23年的時(shí)間,這基本上是不可能破解的,到現(xiàn)在仍然沒(méi)有一個(gè)有效的攻擊手段,但是與安全性相對(duì)應(yīng)的是加密的繁瑣性,用DES算法加密視頻需要大量的時(shí)間,這與視頻本省的價(jià)值很難成正比。

DES算法簡(jiǎn)單概述,如圖所示:

詳解基于MPEG2的三種視頻加密算法

假設(shè)輸入的明文數(shù)據(jù)是64比特,請(qǐng)參考下圖中詳細(xì)的復(fù)述過(guò)程:

詳解基于MPEG2的三種視頻加密算法

MPEG2視頻選擇性加密算法:

MPEG2視頻選擇性加密算法是根據(jù)MPEG2視頻編碼特性的加密方法為主要方向,總體上是對(duì)視頻的部分塊進(jìn)行加密,其方向大致分為三個(gè)方向:基于IPB幀結(jié)構(gòu)特征的加密算法,僅加密頭信息的方法和SECMPEG加密方法。

(1)基于MPEG2視頻幀結(jié)構(gòu)的選擇性加密算法,最早提出的加密思想僅僅加密1幀,因?yàn)?幀包含了大量的視頻信息,P幀和B幀主要是針對(duì)1幀進(jìn)行預(yù)測(cè)的,如果加密了1幀會(huì)直接影響P幀和B幀,這也是算法的主要思想。之后有Agi和Gong研究證明,IPB幀的幀間相關(guān)性主要是由于P幀和B幀中的I-block所決定的,但只加密1幀的思想沒(méi)有考慮到I-block的加密,因此這種僅加密1幀的視頻加密算法是不能確保視頻信息的安全的。在這之后也有人提出將二者同時(shí)加密的加密算法,這種算法保證了視頻數(shù)據(jù)的安全性,但是由于完成這種算法的操作過(guò)于復(fù)雜,而且計(jì)算量很大使得視頻加密算法的時(shí)效性很差,所以不滿(mǎn)足視頻加密的要求。同時(shí)也有人提出提高視頻序列中1幀效率的方法,但是與上面的方法有著相同的不足之處,而且這種加密算法會(huì)明顯增加視頻加密后的數(shù)據(jù)量影響了視頻的壓縮率。

(2)基于加密頭信息的方法就是將頭文件信息金加密,使其變?yōu)殡S機(jī)序列,然后放回到原來(lái)的我i遏制,由于改變了視頻序列的頭文件信息使得接收方在不知道密鑰時(shí)不能得到視頻原有信息,從而實(shí)現(xiàn)視頻加密。而且由于視頻序列中頭文件信息很少,而且可以很容易的進(jìn)行加密操作,對(duì)相應(yīng)的加密算法要求較低,并且計(jì)算復(fù)雜度很低,可以快速實(shí)現(xiàn)加密過(guò)程,并且不改變視頻的壓縮比。

(3)類(lèi)似MPEG比特流算法。有meye人和Gadegast設(shè)計(jì)的一種新的似MPEG比特流,稱(chēng)之為SECMPEG。這種算法思想有很好的兼容性,可以根據(jù)不同級(jí)別的安全要求進(jìn)行相應(yīng)的設(shè)計(jì),但是存在了一個(gè)相對(duì)來(lái)說(shuō)比較明顯的漏洞,這種類(lèi)似MPEG比特流不能與MPEG格式兼容,需要相應(yīng)解密器才能夠?qū)崿F(xiàn)。

MEPG2視頻DCT系數(shù)加密算法:

MPEG2視頻DCT系數(shù)加密算法是由Tang提出的DCT數(shù)據(jù)置亂算法引申出來(lái)的。在MPEG視頻編碼過(guò)程中使用DCT變數(shù)將視頻數(shù)據(jù)有空間域轉(zhuǎn)換到頻域中,盡量去除數(shù)據(jù)的自相關(guān)性。而這種DCT系數(shù)加密算法的主要操作就將MPEG視頻編碼的得到的頻域數(shù)據(jù)進(jìn)行相應(yīng)的加密操作,其加密方式主要包括以下幾種方法:

1、保留直流系數(shù)不便,置亂其他的頻域系數(shù)。

2、置亂所有的頻域系數(shù)。

3、將直流系數(shù)分散保存,然后置亂其他的頻域系數(shù)。

4、將多i個(gè)直流系數(shù)保存,然后整體打亂,置亂算法有頻域系數(shù)。

但是將DCT系統(tǒng)數(shù)進(jìn)行置亂后的結(jié)果是改變了能量大小排列,違背了之字型結(jié)構(gòu)掃描的能量序列,導(dǎo)致加密后的視頻的壓縮比降低。在這之后Tosu等人對(duì)Tang的算法進(jìn)行了改進(jìn),將64個(gè)DCT系數(shù)按照頻帶劃分為3段,可以根據(jù)安全性和壓縮比要求的不同,對(duì)不同的段置亂加密的加密算法,而且其效果有了很好的提升。