付費(fèi)數(shù)字電視視頻文件如何加密

在數(shù)字電視付費(fèi)頻道或付費(fèi)視頻點(diǎn)播等商業(yè)應(yīng)用中,為了激發(fā)用戶對(duì)節(jié)目的興趣和購(gòu)買欲望,運(yùn)營(yíng)商希望將視頻圖像文件加密后不被完全破壞,而是能夠被解碼并顯示部分視頻信息,但要使非法用戶無(wú)法接收加密后的圖像信息。根據(jù)這一情況,我們今天就來(lái)談一下付費(fèi)數(shù)字電視視頻是如何加密的。

一、付費(fèi)數(shù)字電視視頻文件加密原理

將視頻進(jìn)行幀分解,像素位置可視為棋盤上的格,則視頻就可映射為高維空間中的廣義棋盤上站滿著各色馬。而將騎士的巡游視為幀間平面上的跳動(dòng),從而達(dá)到置亂視頻幀,實(shí)現(xiàn)對(duì)視頻文件加密。馬的不同巡游只須根據(jù)少數(shù)幾個(gè)參數(shù)(如巡游方向、巡游開(kāi)始位置、巡游步長(zhǎng))進(jìn)行控制,因此可視為不同的密鑰?;诖耍覀兲岢隽艘环N基于廣義騎士巡游的幀間分塊視頻文件加密方案,可以滿足付費(fèi)數(shù)字電視業(yè)務(wù)的應(yīng)用需求。

二、 騎士巡游問(wèn)題

1、騎士巡游與廣義騎士巡游

騎士巡游問(wèn)題(KTP)來(lái)源于國(guó)際象棋,就是騎士(馬)從棋盤上的某個(gè)初始棋格開(kāi)始以跳“斜日”([1,2]馬)的方式(水平跳1格、垂直跳2格,或水平跳2格、垂直跳1格)跳遍棋盤上的每個(gè)棋格一次且僅一次的一種方案。其實(shí)質(zhì)就是在nxn棋盤上的馬步圖中找哈密爾頓(Hamilton)路徑或圈的問(wèn)題。

廣義騎士巡游,包含兩層含義:一是棋盤是廣義的,即棋盤是高維空間(包括二維平面上的)任意形狀的棋盤;二是騎士(馬)是廣義的,即騎士不再局限于“馬跳斜日”,而應(yīng)當(dāng)是滿足一定條件的任意跳法。本文所涉及的廣義騎士巡游是將廣義騎士與廣義棋盤相結(jié)合。

2、廣義騎士巡游矩陣

一個(gè)8x8棋盤上的騎士巡游路徑可以用如下的矩陣T(如圖1所示)來(lái)表示,稱其為騎士巡游矩陣翻,其中,1表示騎士巡游的起點(diǎn),6表示騎士巡游的終點(diǎn),i表示騎士(馬)第i步所處棋盤上的位置。1,2,…,64的路線又稱Hamilton路徑(簡(jiǎn)稱H-路徑),若起點(diǎn)與終點(diǎn)重合,則稱為Hamilton圈(簡(jiǎn)稱為H-圈)。同理,廣義騎士巡游矩陣就是指高維廣義棋盤上的騎士巡游路徑的矩陣表示,然而此時(shí)巡游矩陣不再是平面矩陣,而是高維空間矩陣。

付費(fèi)數(shù)字電視視頻如何加密

三、幀平面間騎士巡游的視頻文件加密方案

設(shè)原始視頻和加密后視頻分別為V={Vi}(i=1,2,…)和V'={V'i}(i=1,2,…),Vi和Vi'分別表示原始視頻和加密后視頻的第i幀視頻圖像,每幀視頻圖像的大小為row*col,則視頻文件加密方案表述如下:

步驟1:將原始視頻V={Vi}每8幀劃分為一個(gè)視頻片斷Fk={Fkj}(k=1,2,3,…j=1,2,3,...,8),F(xiàn)kj表示第k個(gè)視頻片斷中的第j幀圖像。

步驟2:由巡游方向、巡游步長(zhǎng)、巡游開(kāi)始位置等密鑰參數(shù),并使用加密算法產(chǎn)生一個(gè)8*8*8的三維棋盤巡游矩陣T={Tij}8*8*8作為視頻文件加密方案的密鑰矩陣T;

步驟3:將利用下文方案(1—4)得到的加密后的視頻片斷,F(xiàn)k'拼接成加密視頻V'={V'i}(i=1,2,…)。其加密示意圖如圖2所示。

付費(fèi)數(shù)字電視視頻如何加密

方案1:時(shí)域幀巡游加密

(1)將各視頻片斷中的各幀圖像Fkj進(jìn)行8*8分塊,于是每個(gè)視頻片斷中便可得到(row/8)x(col/8)個(gè)8*8*8的分塊視頻片斷Fk{m,n}(表示第(m,n)塊所對(duì)應(yīng)的視頻片斷。

(2)將密鑰矩陣強(qiáng)T={Tij}8*8*8一與大小為8*8*8的分塊視頻片斷R{m,n}位置相對(duì)應(yīng),將r中對(duì)應(yīng)位置1所對(duì)應(yīng)的像素值移到對(duì)應(yīng)位置2,對(duì)應(yīng)位置2所對(duì)應(yīng)的像素值移到對(duì)應(yīng)位置3,以此類推。最后將對(duì)應(yīng)8*8*8位置的像素值移到對(duì)應(yīng)位置1,這樣就得到了置亂加密后的分塊視頻片斷F'k{m,n}。

方案2:8*8-DCT巡游加密

(1)將各視頻片斷中的各幀圖像Fkj,進(jìn)行8*8分塊,于是每個(gè)視頻片斷中便可得到(row/8)*(col/8)個(gè)8*8*8的塊視頻片斷F'k{m,n},并對(duì)塊視頻片斷對(duì)應(yīng)的各幀圖像分別進(jìn)行DCT變換,即Dk{m,n}=DCT(F'k{m,n})。

(2)將密鑰矩陣T={Tij}8*8*8與大小為8*8*8的Dk{m,n}位置相對(duì)應(yīng),將r中對(duì)應(yīng)位置1所對(duì)應(yīng)的DCT系數(shù)移到對(duì)應(yīng)位置2,對(duì)應(yīng)位置2所對(duì)應(yīng)的DCT系數(shù)移到對(duì)應(yīng)位置3,以此類推。最后將對(duì)應(yīng)8*8*8位置的DCT系數(shù)移到對(duì)應(yīng)位置1,這樣就得到了置亂加密后的塊視頻片斷的DCT系數(shù)D'k{m,n},并對(duì)D'k{m,n}進(jìn)行反變換,即F'k{m,n}=IDCT (Fk{m,n})得到置亂加密后的分塊視頻片斷F'k{m,n}。

方案3:16*16-DCT--8*8巡游加密

方案3與方案2基本思想一致,可以看作是方案2的一種改進(jìn)。其不同點(diǎn)在于,在將各視頻片斷中的各幀圖像Fkj進(jìn)行16*16分塊DCT變換得Dk{m,n}之后,只是加密16*16分塊的的DCT系數(shù)的低中頻系數(shù)(D'k{m,n}的前8行8列),而不是全部加密。

方案4:DCT-8*8分塊巡游加密

(1)將各視頻片斷中的各幀圖像Fkj分別進(jìn)行DCT變換,即Dkj=DCT (Fkj),并對(duì)Dkj進(jìn)行8*8分塊,于是每個(gè)視頻片斷中便可得到(raw/8 )*(col/8)個(gè)8*8*8的塊視頻片斷的DCT系數(shù)矩陣Dk{m,n}(表示第(m,n)塊所對(duì)應(yīng)的視頻片斷的DCT系數(shù))。

(2)將密鑰矩陣T={T(y)}8*8*8與8*8*8的Dk{m,n}位置相對(duì)應(yīng),將r中對(duì)應(yīng)位置1所對(duì)應(yīng)的DCT系數(shù)移到對(duì)應(yīng)位置2,對(duì)應(yīng)位置2所對(duì)應(yīng)的DCT系數(shù)移到對(duì)應(yīng)位置3,以此類推。最后將對(duì)應(yīng)8*8*8位置的DCT系數(shù)移到對(duì)應(yīng)位置1,這樣就得到了置亂加密后的塊視頻片斷的DCT系數(shù)D'k{m,n},將DCT系數(shù)D'k{m,n}組合成各個(gè)加密后的塊視頻片斷的DCT系數(shù)D'k,對(duì)D'k進(jìn)行反變抉即F'k=IDCT(Dk)得到置亂加密后的視頻片斷F'k。

四、付費(fèi)數(shù)字電視視頻文件加密實(shí)驗(yàn)結(jié)果與分析

1、加密算法算例

選取視頻akyio.a(chǎn)vi作為測(cè)試視頻,在AMD CPU為1.60 GHz,內(nèi)存為512 Mbyte的PC機(jī)上進(jìn)行視頻文件加密和解密實(shí)驗(yàn)。測(cè)試中,密鑰參數(shù)的謝置為巡游方向?yàn)閇1,2,2]、巡游步長(zhǎng)為2、巡游開(kāi)始位置為(1,1,1),具體實(shí)驗(yàn)仿真效果如圖3所示。

付費(fèi)數(shù)字電視視頻如何加密

2、各方案在付費(fèi)電視上應(yīng)用分析

從圖3可以看出,依次采用方案1-4加密后的視頻幀圖像的可理解性依次變差,可以用在付費(fèi)數(shù)字電視的不同階段。例如,圖3b中畫(huà)面的細(xì)節(jié)變得模糊不清,但其大體內(nèi)容還可以辨識(shí),如果接收者有興趣,想要正常地、舒適地繼續(xù)觀看,則需要付費(fèi)以獲得解密密碼,所以方案1可面向付費(fèi)數(shù)字電視電視節(jié)目開(kāi)播階段的感興趣用戶;圖3c,3d較圖3b來(lái)說(shuō),畫(huà)面質(zhì)量下降很快,可近似看到目標(biāo)的運(yùn)動(dòng),但看不清畫(huà)面的內(nèi)容,讓合法用戶中拖欠費(fèi)用的用戶無(wú)法忍受其加密后的視頻質(zhì)量,同樣需要付費(fèi)才能獲得解密密碼,所以方案2和方案3可以面向拖欠費(fèi)用的用戶;圖3e中的畫(huà)面已經(jīng)面日全非,無(wú)法從中看到有意義的視頻畫(huà)面,所以方案4可以用于防范竊取付費(fèi)數(shù)字電視節(jié)目信號(hào)的攻擊破壞者。

3、付費(fèi)數(shù)字電視視頻文件加密性能分析

(1)安全性分析

本方案采用巡游方向、巡游步長(zhǎng)和巡游開(kāi)始位置作為密鑰參數(shù)產(chǎn)生廣義騎士巡游矩陣作為密鑰,其個(gè)數(shù)足夠多。對(duì)于一個(gè)8*8的棋盤,它擁有的不同巡游路徑(巡游矩陣)的個(gè)數(shù)大約是l.305x10的35次方,對(duì)于大于8*8的棋盤,盡管目前還沒(méi)有關(guān)于此類棋盤上巡游數(shù)目下界的文獻(xiàn),但可以肯定的是,其騎士巡游的數(shù)目一定遠(yuǎn)大于8*8棋盤上巡游的數(shù)目,事實(shí)上,8*8棋盤上騎士巡游矩陣的個(gè)數(shù)已經(jīng)遠(yuǎn)遠(yuǎn)大于Hilbert曲線、Peano方法。橢圓曲線、幻方置亂變換等方法的密鑰個(gè)數(shù)。特別是隨著巡游矩陣維數(shù)的增加,其巡游矩陣的數(shù)目必然會(huì)有極大的增加,因此可以推斷8*8*8棋盤下的廣義騎士巡游矩陣的數(shù)量將會(huì)是一個(gè)天文數(shù)字,克服了亂序表固定或有限的缺點(diǎn),因而,該方案的安全性很高。

(2)付費(fèi)數(shù)字電視視頻文件加密方案性能分析

1)計(jì)算速度分析

該方案將視頻首先進(jìn)行每8幀分段,并在分段內(nèi)對(duì)各幀圖片分塊加密,實(shí)現(xiàn)了幀問(wèn)分塊圖像的加密,克服了傳統(tǒng)算法對(duì)各幀視頻圖像整體加密帶來(lái)的運(yùn)算量大的缺點(diǎn),運(yùn)算速度大大提高,滿足實(shí)時(shí)性的要求。

2)壓縮效率

方案1中的視頻加密算法只是將視頻片斷中幀間像素值在相鄰的1個(gè)或2個(gè)像素之間進(jìn)行置亂,相關(guān)性改變較小,所以編碼效率改變基本不變。而方案2、方案3和方案4保證了DCT系數(shù)只在同頻帶內(nèi)被置亂,不會(huì)發(fā)生高低頻系數(shù)之間的遷移,這樣就保證了在后面最化的時(shí)候,系數(shù)很少為0的低頻子帶能分配到較多的量化比特,而高頻子帶則分配到較少的最化比特,很好地保證了編碼效率。

3)加密視頻視覺(jué)質(zhì)量可控性

首先提出了4種加密方案,每個(gè)方案可以由付費(fèi)數(shù)字電視部門根據(jù)實(shí)際需要進(jìn)行選擇,適時(shí)而用,避免了單一方案模式靈活性不夠的弊端。

其次,提出的加密方案可通過(guò)騎士巡游步長(zhǎng)的選取,控制加密視頻的視覺(jué)質(zhì)量(清晰程度)。通過(guò)研究,一般來(lái)說(shuō),巡游步長(zhǎng)選取的越大,其加密視頻的視覺(jué)質(zhì)量(清晰程度)也越差,如圖4所示(以方案1為例進(jìn)行說(shuō)明)。

付費(fèi)數(shù)字電視視頻如何加密

根據(jù)廣義騎士巡游與視頻文件加密之間的相互關(guān)系,我們提出了一種適用于付費(fèi)數(shù)字電視的視頻文件加密方案。該方案克服了傳統(tǒng)加密算法中亂序表固定或有限、計(jì)算速度慢的缺點(diǎn),達(dá)到了安全性和實(shí)時(shí)性加密的要求,而且該方案靈活性高,可通過(guò)密鑰參數(shù)中的巡游步長(zhǎng)控制加密視頻的視覺(jué)質(zhì)量,滿足數(shù)字付費(fèi)電視播放各個(gè)階段的應(yīng)用。

小知識(shí)之橢圓曲線

橢圓曲線是數(shù)學(xué)中性質(zhì)極其豐富的一類幾何對(duì)象,它深刻聯(lián)系了數(shù)學(xué)的各個(gè)分支,與著名的費(fèi)馬猜想也有著密切聯(lián)系。橢圓曲線就是平面中光滑的三次曲線---即用三次多項(xiàng)式方程定義的零點(diǎn)集。