基于DCT的圖像置亂加密算法及在數(shù)字電視中的應(yīng)用

為防止未授權(quán)的用戶違法竊取業(yè)務(wù),在數(shù)字電視傳播過程中需要對數(shù)據(jù)進(jìn)行加密。圖像或視頻信息的加密方法是傳統(tǒng)研究中遇到的新問題。圖像置亂是近年來提出的有效解決手段,它采用密碼學(xué)的基本思想和一些新的手段,將需要保護(hù)的圖像直接進(jìn)行置亂或分存等處理,使其在視覺效果上不包含任何有意義的內(nèi)容來達(dá)到加密目的。下面我就給大家介紹一種基于DCT變換來實現(xiàn)圖像置亂加密算法。

一、基于DCT的圖像置亂加密算法

1、DCT變換的性質(zhì)

DCT變換是一種線性正交變換,具有實數(shù)域內(nèi)變換、確定變換矩陣(與變換對象內(nèi)容無關(guān))、二維DCT變換有可分離性等特點。正是基于這種特點,DCT變換在需要對大量數(shù)據(jù)實時處理的圖像處理中具有非常重要的地位。

二維DCT變換公式為

圖像置亂加密算法及在數(shù)字電視中的應(yīng)用

式中:u=0,1,…,M-1;v=0,1,…,N-1。二維DCT反變換公式為:

圖像置亂加密算法及在數(shù)字電視中的應(yīng)用

式中:x=0,1,…,M-1;y=0,1,…,N-1。

2、基于DCT的圖像置亂

考慮加密算法在數(shù)字電視網(wǎng)中的安全管理因素,在置亂時,首先對原圖進(jìn)行分解。整個圖像置亂處理過程如圖所示。

圖像置亂加密算法及在數(shù)字電視中的應(yīng)用置亂過程如下:

1)讀取原圖后,以8×8為單位分塊。

2)對每一個單元快進(jìn)行DCT變化,使空間域數(shù)據(jù)轉(zhuǎn)換為頻域數(shù)據(jù)。

3)用Mask矩陣對每一個頻域中的8×8數(shù)據(jù)進(jìn)行處理,得到的矩陣定義為矩陣B。

4)根據(jù)矩陣B元素的大小,制作二元矩陣,定義為KEY矩陣。

當(dāng)B(i,j)<0時,KEY(i,j)=1;當(dāng)B(i,j)≥0時,KEY(i,j)=0。5)針對矩陣B的所有元素取絕對值,定義為矩陣C。即C=|B|。DCT變換中,低頻區(qū)的數(shù)據(jù)變化對原圖的變化較大,為了解決此問題,在預(yù)處理過程中導(dǎo)入了一個Mask矩陣,Mask矩陣如下:

圖像置亂加密算法及在數(shù)字電視中的應(yīng)用

式中:α=10,β=0.5。步驟3)中,得到矩陣B的具體過程如下:

block_size=8;

fori=1:

block_sizeforj=1:

block_sizeB(I,j)=round(A(I,j).*mask(I,j))./mask(I,j);

end

end

下圖為DCT頻域分布及矩陣C的對比。矩陣C為圖像頻域數(shù)據(jù)處理為目的生成的矩陣。

圖像置亂加密算法及在數(shù)字電視中的應(yīng)用

由上圖中可以看出DCT之后頻域數(shù)據(jù)的分布,高頻區(qū)的(I區(qū))數(shù)據(jù)基本趨于0。I區(qū)中所有元素都可以采用下述的替代法。若要替換I區(qū)中第i行,第j列的系數(shù),給出如下的M和N。

圖像置亂加密算法及在數(shù)字電視中的應(yīng)用

然后把M值重新賦給第i行,第j列處;把N值賦給第9-j行,第9-i列處。新得到的矩陣,記作置亂圖I。

不難得出,用M和N表示原有系數(shù)C(i,j)的公式為:

圖像置亂加密算法及在數(shù)字電視中的應(yīng)用

為滿足數(shù)字電視收費節(jié)目的瀏覽功能及付費用戶的管理功能,置亂結(jié)果圖由兩個分解圖片構(gòu)成。下圖為置亂之后的效果圖。置亂圖I,II為原始圖置亂之后的效果圖。

圖像置亂加密算法及在數(shù)字電視中的應(yīng)用

3、置亂圖像的加解密過程

基于實際應(yīng)用方面考慮,置亂圖II的矩陣具有其固定格式的矩陣數(shù)值,置亂圖I基本包含原圖中的直流成分,如果直接用到數(shù)字電視系統(tǒng),則無法滿足數(shù)據(jù)安全方面的要求,也不能滿足數(shù)字電視系統(tǒng)中的發(fā)送端根據(jù)用戶付費情況控制接收端的要求。

為解決這一問題,本加密算法中針對置亂圖I,II可選參數(shù)條件下對其進(jìn)行加密。此部分可以根據(jù)數(shù)字制式電視臺的要求采用不同方式的算法。本文采用基于種子的偽隨機(jī)矩陣來進(jìn)行加密。過程如圖所示。

圖像置亂加密算法及在數(shù)字電視中的應(yīng)用1)生成一個基于Seed的偽隨機(jī)序列矩陣,記為R=Random(Seed,[m,n]),R中各項的取值范圍限定為0~255,參數(shù)[m,n]定義矩陣R的實際大小。

2)矩陣R分別和置亂圖I,II矩陣做XOR運(yùn)算,分別得到加密圖I,II。3)分別對加密圖I,II與偽隨機(jī)矩陣R做XOR運(yùn)算得出解密圖I,II。

二、圖像置亂加密算法在數(shù)字電視中的應(yīng)用

CAS系統(tǒng)實現(xiàn)三層加密體制,但無法解決嚴(yán)重危害運(yùn)營商利益的CW共享攻擊。共享服務(wù)器將特定加密頻道的授權(quán)控制信息(ECM)發(fā)送到正版卡里;正版卡解出CW后返回共享服務(wù)器;共享服務(wù)器通過網(wǎng)絡(luò)等渠道將CW傳播給盜版用戶的非法終端。

出現(xiàn)這種漏洞的原因在于沒有適應(yīng)雙向網(wǎng)絡(luò):CA是1996年頒布的標(biāo)準(zhǔn),主要針對的是廣電單向網(wǎng)絡(luò);近年來經(jīng)過廣電雙向化網(wǎng)絡(luò)改造,部分地區(qū)開始使用雙向網(wǎng)絡(luò),當(dāng)初制定標(biāo)準(zhǔn)時沒有考慮到雙向性。

本文提出的圖像置亂算法是一種有效解決CA安全問題的方案。數(shù)字電視的雙向網(wǎng)絡(luò)就可以保證回傳接口與數(shù)字電視管理系統(tǒng)之間的信息交流。

認(rèn)證過程如下:雙方共享一張圖,是發(fā)送方定期給接收方的。接收方根據(jù)共享圖生成置亂圖I、置亂圖II,置亂圖I用IC卡信息為Seed,使用R函數(shù)制作加密圖I、置亂圖II用Counter狀態(tài)序列號為Seed,使用R函數(shù)制作加密圖II,并把加密圖傳送給發(fā)送方;發(fā)送方解密兩張加密圖,如果復(fù)原順利,則表示認(rèn)證通過。圖片的復(fù)原過程中,發(fā)送方可以同時確認(rèn)用戶信息,IC卡信息以及當(dāng)前的用戶付費狀態(tài)(Counter狀態(tài)序列號)。

上述操作有如下意義:

1)可以防止CW共享攻擊,Counter狀態(tài)序列號的信息中包含用戶的收視節(jié)目的狀態(tài)付費相關(guān)的參數(shù),這部分是由CAS系統(tǒng)與管理端共享的信息。如果通過共享攻擊破解,則管理端和接收端的信息不一致,發(fā)送方無法復(fù)原圖片,認(rèn)證失敗,從而防止CW共享攻擊。

2)防止IC卡的機(jī)械復(fù)制,如果發(fā)現(xiàn)IC卡復(fù)制情況,當(dāng)前需要重新發(fā)送新的IC卡。采用此置亂算法,則發(fā)送端更換共享圖就可以解決問題。更換共享圖可以根據(jù)管理端的需要,按周期替換。

3)傳輸過程中,使用的所有圖片都是毫無意義的置亂圖。發(fā)送端的共享圖片傳輸無需其他費用,可以采用與用戶配對的方法。從而在CAS三層加密的基礎(chǔ)上,增加了一道保護(hù)。

4)置亂加密算法中的替換函數(shù)C(i,j)可以根據(jù)管理端的要求,定期更改參數(shù),從而防范與避免可能發(fā)生的安全隱患。R函數(shù)可以用公鑰加密算法來代替。

基于DCT的圖像置亂加密算法可適用于收費電視節(jié)目的安全管理,并簡化原數(shù)字電視加解密系統(tǒng)兩端間的交互流程,加強(qiáng)CA共享所帶來的安全性,可以有效防止CW共享攻擊。