視頻加密之Zigzag置亂算法和改變Huffman碼算法

Zigzag置亂算法

Zigzag置亂算法的基本思想是使用一個隨機(jī)的置亂序列來代替Zigzag掃描順序,來將各個8x8塊的DCT系統(tǒng)映射成一個1x64矢量。

基本算法由三部組成,步驟如下:

1、產(chǎn)生一個基數(shù)為64的置亂序列表;

2、把DC系統(tǒng)分成兩個較小值的數(shù)。假設(shè)DC是二進(jìn)制數(shù)d7d6d5d4d3d2d1d0,將它分成兩個數(shù)d7d6d5d4和d3d2d1d0,它們的范圍都在[0,15]。然后將DC系統(tǒng)置為d7d6d5d4,將原最后一個AC系數(shù)設(shè)置為d3d2d1d0;

3、用隨機(jī)置亂序列表將經(jīng)分離處理的8x8塊映射成1x64序列。

Zigzag置亂算法有嚴(yán)重的安全性問題,Zigzag置亂算法數(shù)度很快,不影響視頻的實時傳輸,但是經(jīng)過加密的視頻壓縮后碼流大小將顯著增加。因為運用非Zigzag順序?qū)?x8塊映射成1x64的矢量,將會極大減少連續(xù)零的個數(shù),從而減少壓縮率。視頻流大小經(jīng)過加密后增加和達(dá)46%??紤]到MPEG視頻流數(shù)量的巨大,則會更重大小增量是很難容忍的。

改變Huffman碼算法

改變Huffman碼算法碼表的視頻加密算法原理是:對于編碼采用Huffman編碼的視頻標(biāo)準(zhǔn),將通用Huffman碼表修改后使用,修改后的特殊Huffman碼作為密鑰,非法接收方無此特殊碼表,就無法正確解碼視頻信息。

該算法的安全性取決于保持壓縮率不便的前提下,Huffman碼表的可便空間(密碼空間)

改變Huffman碼表,一般會降低壓縮率,Huffman編碼是對數(shù)據(jù)流中出現(xiàn)頻率高的位組合模式對應(yīng)短碼,出現(xiàn)頻率高低的位組合模式對應(yīng)長碼字,達(dá)到短碼平均字,壓縮數(shù)據(jù)集的目的,表通過統(tǒng)計碼流中各種位組合模式出現(xiàn)的概率制作。本算法在改變各組合模式對應(yīng)的Huffman碼字中,保持對應(yīng)的碼字長度不變,即保持了特定出現(xiàn)概率的組合模式對應(yīng)的特定碼字長度不變,也就保持了原壓縮率不變。

該算法完全不增加計算量,適用于使用編碼的各種視頻和圖像壓縮編碼標(biāo)準(zhǔn)和算法,其確定是安全性較差。