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

為防止未授權(quán)的用戶違法竊取業(yè)務(wù),在數(shù)字電視傳播過程中需要對(duì)數(shù)據(jù)進(jìn)行加密。而圖像置亂是近年來提出的有效解決手段,它采用密碼學(xué)的基本思想和一些新的手段,將需要保護(hù)的圖像直接進(jìn)行置亂或分存等處理,使其在視覺效果上不包含任何有意義的內(nèi)容來達(dá)到加密目的。那么,我今天就給大家介紹一個(gè)基于DCT變換商務(wù)圖像置亂加密算法,就可以幫您解決這個(gè)問題。

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

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

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

二維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)中的安全管理因素,在置亂時(shí),首先對(duì)原圖進(jìn)行分解。整個(gè)圖像置亂處理過程如圖所示。

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

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

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

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

4)根據(jù)矩陣B元素的大小,制作二元矩陣,定義為KEY矩陣。當(dāng)B(i,j)<0時(shí),KEY(i,j)=1;當(dāng)B(i,j)≥0時(shí),KEY(i,j)=0。

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

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

式中:α=10,β=0.5。

步驟3)中,得到矩陣B的具體過程如下:

block_size=8;

fori=1:block_size

forj=1:block_size

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

end

end

下圖為DCT頻域分布及矩陣C的對(duì)比。矩陣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ù)字電視收費(fèi)節(jié)目的瀏覽功能及付費(fèi)用戶的管理功能,置亂結(jié)果圖由兩個(gè)分解圖片構(gòu)成。下圖為置亂之后的效果圖。置亂圖I,II為原始圖置亂之后的效果圖。

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

置亂圖的恢復(fù)過程為置亂的逆過程。

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

基于實(shí)際應(yīng)用方面考慮,置亂圖II的矩陣具有其固定格式的矩陣數(shù)值,置亂圖I基本包含原圖中的直流成分,如果直接用到數(shù)字電視系統(tǒng),則無法滿足數(shù)據(jù)安全方面的要求,也不能滿足數(shù)字電視系統(tǒng)中的發(fā)送端根據(jù)用戶付費(fèi)情況控制接收端的要求。為解決這一問題,本加密算法中針對(duì)置亂圖I,II可選參數(shù)條件下對(duì)其進(jìn)行加密。此部分可以根據(jù)數(shù)字制式電視臺(tái)的要求采用不同方式的加密算法。本文采用基于種子的偽隨機(jī)矩陣來進(jìn)行加密。過程如圖:

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

1)生成一個(gè)基于Seed的偽隨機(jī)序列矩陣,記為R=Random(Seed,[m,n]),R中各項(xiàng)的取值范圍限定為0~255,參數(shù)[m,n]定義矩陣R的實(shí)際大小。

2)矩陣R分別和置亂圖I,II矩陣做XOR運(yùn)算,分別得到加密圖I,II。

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

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

CAS系統(tǒng)實(shí)現(xiàn)三層加密體制,但無法解決嚴(yán)重危害運(yùn)營(yíng)商利益的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),主要針對(duì)的是廣電單向網(wǎng)絡(luò);近年來經(jīng)過廣電雙向化網(wǎng)絡(luò)改造,部分地區(qū)開始使用雙向網(wǎng)絡(luò),當(dāng)初制定標(biāo)準(zhǔn)時(shí)沒有考慮到雙向性。

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

1、認(rèn)證過程:

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

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

1)可以防止CW共享攻擊。Counter狀態(tài)序列號(hào)的信息中包含用戶的收視節(jié)目的狀態(tài)付費(fè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ā)送端的共享圖片傳輸無需其他費(fèi)用,可以采用與用戶配對(duì)的方法。從而在CAS三層加密的基礎(chǔ)上,增加了一道保護(hù)。

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

圖像置亂加密算法可基本滿足數(shù)字電視的管理及播放要求,因CAS系統(tǒng)擁有本論文提出的算法運(yùn)算功能,在推廣過程中無須增加其他硬件,保證了可推廣性。

小知識(shí)之CAS系統(tǒng)

數(shù)字電視平臺(tái)的CAS系統(tǒng)是實(shí)現(xiàn)廣播運(yùn)營(yíng)者對(duì)廣播接收者進(jìn)行接入的控制,決定接收者是否擁有接收相關(guān)電視節(jié)目的權(quán)限。