高性能视频加密算法研究(精品)
发布时间:2026-10-25 14:28:35| 浏览次数:

【摘要】视频信息已经成为数字图书馆的主要信息存储方式,其版权和安全已经成为一个重要的问题。讨论了几种典型的视频加密算法,并提出了一种新的高效视频加密算法。
随着存储和编码技术的发展,视频得到了广泛的使用。数字图书馆作为建立在Internet上的一种巨大的国家级文化信息基础设施,以数字化的格式存储了大量的视频类型的信息并能对存储的信息资源进行高效的管理。它为数字视频的传播提供了一个网络化的平台。
但是,随着数字图书馆的不断发展,视频信息的安全与版权问题,也不可避免的出现在我们面前。如何对授权的视频信息进行保护,使其在限定的范围内传播,使用,已经成为数字图书馆建设面临的重要问题。
目前,对视频信息的主要保护来自对视频信息的加密。目前,世界上比较流行的用于MPEG视频标准的加密算法分为两大类型。一种类型是对视频流的数据全部加密,这些算法虽然安全性能很高,但同时加密速度非常慢,并且花费昂贵;一种类型是根据MPEG视频流的结构,对某些特定帧进行加密,即选择性加密算法,如VEA视频加密算法,它只对MPEG视频压缩中DCT系数的标志比特进行加密。这种算法安全性能比较高,同时加密速度比较快,而且帧的大小基本不发生改变,但是,这种加密算法也有其明显的缺陷,那就是可能遭受攻击而被破解[1,2]。
本文中,作者提出一种新的快速MPEG视频的实时加密算法FRMVEA(FastRealMpegVideoEncryptionAl2gorithm)。新算法在VEA加密算法的基础上进行了几个方面的改进:第一,FRMVEA使用合适的密钥来加密数据,其安全性能有明显的改善;第二,FRMVEA算法对宏块中交叉的Y块和色度块Cr,Cb之一进行加密,相比VEA算法只对所有Y块进行加密,FRMVEA算法不仅加密强度提高了,速度也更快了;第三,FRMVEA通过确定的DCT系数的标志比特个数来降低加密的计算复杂性。实践证明,FRMVEA加密算法具有加密速度非常快,加密强度高,多余消耗少等特点,易于用软、硬件实现,是一种简单、实用、高效的视频加密方法。
(1)完全加密算法(NaiveAlgorithm)。它用传统的密码直接加密数据,算法安全性很高,但是改变了原来的数据格式,同时计算复杂度较高。最直接的方式就是用标准的加密方式(如DES)对视频进行加密,将视频比特流同传统的文本数据
同样对待,没有利用视频压缩后数据流的特殊结构。这种方法显然计算量巨大,很难保证视频的实时传输。
(2)选择性加密(SelectiveAlgorithm)。基本的SelectiveAlgorithm基于I、P、B帧结构且只对I帧进行加密,由于帧间关联以及P、B帧中未加密的I块,导致此基本方法不安全。Tang提出新的改进方法,称为SECMPEG,它将SelectiveAlgo2rithm和附加头文件信息结合起来,可以使用两种传统的加密方法DES和RSA实现4个级别的安全性:
可见,这4个级别的安全性是由低到高递增的,但是SEC2MPEG并不能与MPEG标准兼容,需要专门的解码器播放。
1)通常DC系数值远大于AC系数值,因此乱序后很容易被识别。分离变小后就难于从AC系数中区分出来;
2)最末一个AC系数作用很小,通常为0,可以用其存放d3d2d1d0,恢复时取0值,不影响图象质量,也不增加数据量。
(4)改变Huffman码表算法。改变Huffman码表的视频加密算法原理是:对于熵编码用Huffman编码的视频编码标准,将通用Huffman码表修改后使用,修改后的特殊Huffman码表作为密钥。非法接收方无此特殊码表,不能正确解码视频(图像)信息。该算法的安全性取决于保持压缩率不变的前提下,Huffman码表的可变空间(密码空间)。改变Huffman码表,一般会降低压缩率。Huffman编码是对数据流中出现频率高的位组合模式对应短码字,出现频率低的位组合模式对应长码字,达到缩短平均码字,压缩数据的目的。Huffman码表通过统计码流中各种位组合模式出现的概率制作。本算法在改变各组合模式对应的Huffm an码字时,保持对应码字长度不变,即保持了特定出现概率的组合模式对应的特定码字长度不变,也就保持了原压缩率不变。该算法完全不增加计算量。适用于使用Huffm an编码的各种视频和图像压缩编码标准和算法。其缺点是安全性较差(密钥空间小) 。
(5)基于统计规律的视频加密算法(V ideo Encryption A l2go rithm,V EA) 。M PEG有一定的统计特征,不同字节值的出现频率相当;连续值成对出现的频率相当; I帧的1/16小块中,连续值成对出现的次数一般不大于1。研究M PEG的属性和它的统计特征并对M PEG按字节逐一处理可以得到VEA 方法。 VEA算法是对所有块的DCT系数的符号位进行加密,包括I(P)B帧。 VEA采用一个长为m的伪随机序列bi作为密钥k,明文为s=sl s2 s s +l s +2 s2 , si为DC和AC系数的符号位,因为DC为差分编码,所以 s为差值的符号位。VEA的加密函数为Ek(S) = (b。 s。 ) (b s ) (bms ) (b。 s +。 ) (bms ) ,接收端的解密则利用密钥k对媒体流进行和加密端相同的XOR处理过程,该方法的破译复杂度为2m一1,当m=56时和DES在穷尽搜索方式上的破译复杂度相同。该方法不加密头信息结构格式等数据,只加密图像数据本身。将待加密数据分为两半,一半用密码方法(函数E)加密,另一半用简单异或,因此总体减少了计算量,提高了计算速度。该方法不影响压缩率。适用于压缩的视频(或图像)编码数据,而且压缩效果越好,加密效果也越好[3,7] 。
本文中,我们基于VEA加密算法进行了几个方面的改进,提出了一种新的快速MPEG视频的实时加密算法
MPEG视频加密算法的目标就是阻止那些非授权接收者用非法手段方式解码视频数据。一般的方案就是提供一种可逆转的变换Ek给视频流S(简单图像明文) ,然后产生一个比特流C=Ek (S) (加密文本) 。一个知道密钥k合法接收者就能够用变换D k =Ek - 1来解密视频数据。 FRMV EA也是一种选择性加密算法,它仅仅只对MPEG压缩视频的每个宏块确定的64个DCT系数和运动矢量的标志比特加密[8] 。
为了描述FRMV EA算法的实际操作,如果我们忽略其它比特,而仅仅只考虑MPEG视频流的标志位,那么,MPEG视频流S就可以用下式来表示:
这里,Si ( i=1(2)3,…m,m+1…)是运动矢量或者DCT系数(对于I帧和运动矢量的DC系数,它们的标志比特有不同的值,因为它们编码方法不相同) 。
FRMV EA从每一个宏块中选择64个标志比特(8字节)进行加密,由于I帧图像、P帧图像和B帧图像的特性不同,所以,在选择的时候有所区别。
我们可以用βα1α2α3α4…αn这样一个比特流来表示一个MPEG压缩8×8块,这里的β表示DC系数的代码,
根据前面的介绍,我们知道,每一个16×16宏块有6个8×8块组成,它们是由Y1(Y2)Y3,Y4四个亮度块和Cr,Cb两个色度块组成。图2定义了FRMVEA算法的β和αi标志比特的选取顺序。 FRMV EA的解密操作的选择和加密操作一样。
FRM EVA加密采用从一片片图像切片中的选取的每一个宏块的比特流和密钥k异或得到新的比特流,并将新值一一对应替代原比特值的方法。
那么按照前述,根据每个宏块选择64个标志比特,有Sh =…S1…S2…S64
设FRMV EA的密钥是随机生成的长度为m(m≥64)的比特流km,bi ( i=1(2 )…m)为第i位上的比特值,那么,其密钥的表达式为:
标志比特根据已给定的密钥可以随机改变,其值要么不会改变(如果密钥中相应的比特为0) ,要么从0变为1,要么从1变为0。对于拥有密钥的接收者,可以通过解密得到原始的视频数据。 由于Ek (Ek (Sh) ) = Sh,FRMV EA的解密过程Ek - 1与其加密操作完全相同,加密所用的密钥和解密所用的密钥也相同,如果不知道密钥,将解码出和原始视频不同的视频。
FRMVEA的加密效果在MPEG视频解码期间的逆离散变换余弦( IDCT)中得到了充分的体现。假定A代表一个8×8图像块,在经过离散余弦变换(DCT)后,我们得到了一个8×8图像块B,那么就有:
当我们对B进行FRMV EA加密操作的时候(为了简单起见,我们将忽略M PEG量化,Zig - Zag的顺序及Huffman熵编码操作) ,对应于已经得到的密钥我们实际上改变了B的元素的值。用Z代表加密的结果,那么有:
Ax是接近原始图像像素值A,但不完全等同原始图像像素值A,因为前面说了,为了简单起见,在加密的时候,忽略了M PEG量化,Zig-Zag的顺序及H uffm an熵编码等操作,因此解码后将得到图像块Ay:
(注: I帧宏块按照上面的顺序,P帧宏块不选Y1块的α10、α11 ,B帧宏块不选四个Y块的α11 )
这里的N为噪声或者相对于A的变换增加值。对于8×8矩阵C,如果我们定义:
上面的分析显示,虽然FRMV EA仅仅只改变了DCT 系数的标志比特,但在MPEG解码的逆离散余弦变换( IDCT)操作中,多数图像像素值将发生改变;由于DC系数的编码和运动矢量的编码不相同,如果最初对DC系数的猜测是错误的,那么,要正确猜测到随后的DC系数是非常困难的。同时,由于改变了P帧和B帧运动矢量的标志比特,将会误导非授权者对视频的解码播放。
FRMV EA加密算法仅仅选择每个宏块的6个子块的其中三个子块的64个DCT系数的标志比特进行加密,因此,我们可以预料到,它会大大地减少了加密计算量和加密时间。例如,对于352×240分辨率的视频帧,每帧含有22×15个16×16的宏块,如果要求播放速度为每秒30帧,那么,FRMV EA每秒需要加密的数据为22×15 ×
30×8=79200字节,而现在普通配置的处理芯片为赛扬2G的电脑,其处理速度大致为每秒9100000字节,因此,如果用普通配置的处理芯片为赛扬2G的电脑作为处理平台,FRMV EA算法在一秒内对三十帧352×240分辨率的视频帧加密所需要的时间为: 79200÷9100000 =00087秒。从计算来看,加密的速度是惊人,而加密所需要的时间微乎其微。同时我们也看到,加密速度和加密时间与帧的分辨率有关,会随分辨率的大小不同而发生变化。
我们将FRMVEA加密算法与MPEG- 1标准编码程序相结合,测试对加密对MPEG编码效率的影响。每次都采用不同的密钥加密,共进行了5次测试,测试得到的所有视频图像都无法识别,测试结果如表1所示,这里,我们用f表示每秒的帧数。
实验环境采用奔腾2 GC PU、256MDD R的内存的微机,W inXP操作系统。从以上的说明和分析,我们可以得出FRMV EA加密算法所具有的三点性质:
(1)FRMV EA有选择性地对每一个宏块所选定的64个标志比特用长度为m(m≥64)的密钥进行按比特异或加密,可操作性非常强,便于软、硬件的简单实现;由于对每个宏块选择64个标志比特进行加密,因此,相对于其它可选择性的视频加密方法,如VEA等,加密强度大大提高;由于密钥长度m≥64,在加密的时候,可以按顺序选用其中一段长度为64的子密钥加密,也可以随机组成长度为64的子密钥加密,因此,如果要攻击加密的M PEG视频,需要攻击的次数必定≥263 ,其破解难度大于破解DES密钥的难度。
(3)由于在加密中,其过程是选取宏块的64个DCT系数的标志比特用密钥进行加密,然后把加密结果替换选取的64个DCT系数标志比特,所以,加密后,MPEG的大小不会发生改变。
数字图书馆拥有的视频资源的数量在飞速的增长。新增的视频资源大部分是数字格式。如何组织、管理这些视频资源,进行高效和安全的运用,相比于以前的非数字视频资源的数字化,任务更为突出。我们提出的FRM2VEA加密方法,采用选择性的加密方法,选择每个宏块中的三个子块的64个DCT系数的标志比特用密钥进行异或加密,可以有效的减轻对硬件资源的要求,减少加密消耗的时间,具有较高的实用价值。
《现代图书情报技术》2006年(年刊)征订通知现代图书情报技术》2006年(年刊)即将出版。每册定价30元(含邮费) 。内容涉及数字图书馆技术、图书馆自动化、信息检索技术、络资源与建设、网络多媒体技术、图书情报技术工作交流等方面。如欲定购,请直接将款汇到:北京中关村北四环西路33号《现代图书报技术》编辑部 邮编: 100080,本刊编辑部收,款到后即将发票随刊一并寄出。印数有限,欲购从速!辑部联系电话: (***)********。 (编辑部)