在数字电视付费频道或付费视频点播等商业应用中,为了激发用户对节目的兴趣和购买欲望,运营商希望将视频图像文件加密后不被完全破坏,而是能够被解码并显示部分视频信息,但要使非法用户无法接收加密后的图像信息。根据这一情况,我们今天就来谈一下付费数字电视视频是如何加密的。

一、付费数字电视视频文件加密原理

将视频进行帧分解,像素位置可视为棋盘上的格,则视频就可映射为高维空间中的广义棋盘上站满着各色马。而将骑士的巡游视为帧间平面上的跳动,从而达到置乱视频帧,实现对视频文件加密。马的不同巡游只须根据少数几个参数(如巡游方向、巡游开始位置、巡游步长)进行控制,因此可视为不同的密钥。基于此,我们提出了一种基于广义骑士巡游的帧间分块视频文件加密方案,可以满足付费数字电视业务的应用需求。

二、 骑士巡游问题

1、骑士巡游与广义骑士巡游

骑士巡游问题(KTP)来源于国际象棋,就是骑士(马)从棋盘上的某个初始棋格开始以跳“斜日”([1,2]马)的方式(水平跳1格、垂直跳2格,或水平跳2格、垂直跳1格)跳遍棋盘上的每个棋格一次且仅一次的一种方案。其实质就是在nxn棋盘上的马步图中找哈密尔顿(Hamilton)路径或圈的问题。

广义骑士巡游,包含两层含义:一是棋盘是广义的,即棋盘是高维空间(包括二维平面上的)任意形状的棋盘;二是骑士(马)是广义的,即骑士不再局限于“马跳斜日”,而应当是满足一定条件的任意跳法。本文所涉及的广义骑士巡游是将广义骑士与广义棋盘相结合。

2、广义骑士巡游矩阵

一个8x8棋盘上的骑士巡游路径可以用如下的矩阵T(如图1所示)来表示,称其为骑士巡游矩阵翻,其中,1表示骑士巡游的起点,6表示骑士巡游的终点,i表示骑士(马)第i步所处棋盘上的位置。1,2,…,64的路线又称Hamilton路径(简称H-路径),若起点与终点重合,则称为Hamilton圈(简称为H-圈)。同理,广义骑士巡游矩阵就是指高维广义棋盘上的骑士巡游路径的矩阵表示,然而此时巡游矩阵不再是平面矩阵,而是高维空间矩阵。

付费数字电视视频如何加密

三、帧平面间骑士巡游的视频文件加密方案

设原始视频和加密后视频分别为V={Vi}(i=1,2,…)和V'={V'i}(i=1,2,…),Vi和Vi'分别表示原始视频和加密后视频的第i帧视频图像,每帧视频图像的大小为row*col,则视频文件加密方案表述如下:

步骤1:将原始视频V={Vi}每8帧划分为一个视频片断Fk={Fkj}(k=1,2,3,…j=1,2,3,...,8),Fkj表示第k个视频片断中的第j帧图像。

步骤2:由巡游方向、巡游步长、巡游开始位置等密钥参数,并使用加密算法产生一个8*8*8的三维棋盘巡游矩阵T={Tij}8*8*8作为视频文件加密方案的密钥矩阵T;

步骤3:将利用下文方案(1—4)得到的加密后的视频片断,Fk'拼接成加密视频V'={V'i}(i=1,2,…)。其加密示意图如图2所示。

付费数字电视视频如何加密

方案1:时域帧巡游加密

(1)将各视频片断中的各帧图像Fkj进行8*8分块,于是每个视频片断中便可得到(row/8)x(col/8)个8*8*8的分块视频片断Fk{m,n}(表示第(m,n)块所对应的视频片断。

(2)将密钥矩阵强T={Tij}8*8*8一与大小为8*8*8的分块视频片断R{m,n}位置相对应,将r中对应位置1所对应的像素值移到对应位置2,对应位置2所对应的像素值移到对应位置3,以此类推。最后将对应8*8*8位置的像素值移到对应位置1,这样就得到了置乱加密后的分块视频片断F'k{m,n}。

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

(1)将各视频片断中的各帧图像Fkj,进行8*8分块,于是每个视频片断中便可得到(row/8)*(col/8)个8*8*8的块视频片断F'k{m,n},并对块视频片断对应的各帧图像分别进行DCT变换,即Dk{m,n}=DCT(F'k{m,n})。

(2)将密钥矩阵T={Tij}8*8*8与大小为8*8*8的Dk{m,n}位置相对应,将r中对应位置1所对应的DCT系数移到对应位置2,对应位置2所对应的DCT系数移到对应位置3,以此类推。最后将对应8*8*8位置的DCT系数移到对应位置1,这样就得到了置乱加密后的块视频片断的DCT系数D'k{m,n},并对D'k{m,n}进行反变换,即F'k{m,n}=IDCT (Fk{m,n})得到置乱加密后的分块视频片断F'k{m,n}。

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

方案3与方案2基本思想一致,可以看作是方案2的一种改进。其不同点在于,在将各视频片断中的各帧图像Fkj进行16*16分块DCT变换得Dk{m,n}之后,只是加密16*16分块的的DCT系数的低中频系数(D'k{m,n}的前8行8列),而不是全部加密。

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

(1)将各视频片断中的各帧图像Fkj分别进行DCT变换,即Dkj=DCT (Fkj),并对Dkj进行8*8分块,于是每个视频片断中便可得到(raw/8 )*(col/8)个8*8*8的块视频片断的DCT系数矩阵Dk{m,n}(表示第(m,n)块所对应的视频片断的DCT系数)。

(2)将密钥矩阵T={T(y)}8*8*8与8*8*8的Dk{m,n}位置相对应,将r中对应位置1所对应的DCT系数移到对应位置2,对应位置2所对应的DCT系数移到对应位置3,以此类推。最后将对应8*8*8位置的DCT系数移到对应位置1,这样就得到了置乱加密后的块视频片断的DCT系数D'k{m,n},将DCT系数D'k{m,n}组合成各个加密后的块视频片断的DCT系数D'k,对D'k进行反变抉即F'k=IDCT(Dk)得到置乱加密后的视频片断F'k。

四、付费数字电视视频文件加密实验结果与分析

1、加密算法算例

选取视频akyio.avi作为测试视频,在AMD CPU为1.60 GHz,内存为512 Mbyte的PC机上进行视频文件加密和解密实验。测试中,密钥参数的谢置为巡游方向为[1,2,2]、巡游步长为2、巡游开始位置为(1,1,1),具体实验仿真效果如图3所示。

付费数字电视视频如何加密

2、各方案在付费电视上应用分析

从图3可以看出,依次采用方案1-4加密后的视频帧图像的可理解性依次变差,可以用在付费数字电视的不同阶段。例如,图3b中画面的细节变得模糊不清,但其大体内容还可以辨识,如果接收者有兴趣,想要正常地、舒适地继续观看,则需要付费以获得解密密码,所以方案1可面向付费数字电视电视节目开播阶段的感兴趣用户;图3c,3d较图3b来说,画面质量下降很快,可近似看到目标的运动,但看不清画面的内容,让合法用户中拖欠费用的用户无法忍受其加密后的视频质量,同样需要付费才能获得解密密码,所以方案2和方案3可以面向拖欠费用的用户;图3e中的画面已经面日全非,无法从中看到有意义的视频画面,所以方案4可以用于防范窃取付费数字电视节目信号的攻击破坏者。

3、付费数字电视视频文件加密性能分析

(1)安全性分析

本方案采用巡游方向、巡游步长和巡游开始位置作为密钥参数产生广义骑士巡游矩阵作为密钥,其个数足够多。对于一个8*8的棋盘,它拥有的不同巡游路径(巡游矩阵)的个数大约是l.305x10的35次方,对于大于8*8的棋盘,尽管目前还没有关于此类棋盘上巡游数目下界的文献,但可以肯定的是,其骑士巡游的数目一定远大于8*8棋盘上巡游的数目,事实上,8*8棋盘上骑士巡游矩阵的个数已经远远大于Hilbert曲线、Peano方法。椭圆曲线、幻方置乱变换等方法的密钥个数。特别是随着巡游矩阵维数的增加,其巡游矩阵的数目必然会有极大的增加,因此可以推断8*8*8棋盘下的广义骑士巡游矩阵的数量将会是一个天文数字,克服了乱序表固定或有限的缺点,因而,该方案的安全性很高。

(2)付费数字电视视频文件加密方案性能分析

1)计算速度分析

该方案将视频首先进行每8帧分段,并在分段内对各帧图片分块加密,实现了帧问分块图像的加密,克服了传统算法对各帧视频图像整体加密带来的运算量大的缺点,运算速度大大提高,满足实时性的要求。

2)压缩效率

方案1中的视频加密算法只是将视频片断中帧间像素值在相邻的1个或2个像素之间进行置乱,相关性改变较小,所以编码效率改变基本不变。而方案2、方案3和方案4保证了DCT系数只在同频带内被置乱,不会发生高低频系数之间的迁移,这样就保证了在后面最化的时候,系数很少为0的低频子带能分配到较多的量化比特,而高频子带则分配到较少的最化比特,很好地保证了编码效率。

3)加密视频视觉质量可控性

首先提出了4种加密方案,每个方案可以由付费数字电视部门根据实际需要进行选择,适时而用,避免了单一方案模式灵活性不够的弊端。

其次,提出的加密方案可通过骑士巡游步长的选取,控制加密视频的视觉质量(清晰程度)。通过研究,一般来说,巡游步长选取的越大,其加密视频的视觉质量(清晰程度)也越差,如图4所示(以方案1为例进行说明)。

付费数字电视视频如何加密

根据广义骑士巡游与视频文件加密之间的相互关系,我们提出了一种适用于付费数字电视的视频文件加密方案。该方案克服了传统加密算法中乱序表固定或有限、计算速度慢的缺点,达到了安全性和实时性加密的要求,而且该方案灵活性高,可通过密钥参数中的巡游步长控制加密视频的视觉质量,满足数字付费电视播放各个阶段的应用。

小知识之椭圆曲线

椭圆曲线是数学中性质极其丰富的一类几何对象,它深刻联系了数学的各个分支,与著名的费马猜想也有着密切联系。椭圆曲线就是平面中光滑的三次曲线---即用三次多项式方程定义的零点集。