高性能视频加密算法研究
杨发毅张静昌
(第二军医大学图书馆上海200433)
【摘要】视频信息已经成为数字图书馆的主要信息存储方式,其版权和安全已经成为一个重要的问题。
讨论了几种典型的视频加密算法,并提出了一种新的高效视频加密算法。
【关键词】视频加密数字图书馆FRMVEA【分类号】G250.76
StudyonHighPerformanceVideoEncryptionAlgorithm
YangFayiZhangJingchang
(LibraryoftheSecondMilitaryMedicalUniversity,Shanghai200433,China)
【Abstract】Thevideoinformationhasbecomethemaininformationstoragewayofthedigitallibrary.Thevideo
information’scopyrightandsafealsobecomeaimportantquestion.Thisarticlediscussesseveralkindoftypicalvideo
encryptionalgorithms,andproposesahighlyeffectivevideoencryptionalgorithm.
【Keywords】VideoencryptionDigitallibraryFRMVEA
收稿日期:2005-10-14
收修改稿日期:2005-12-01
1引言
随着存储和编码技术的发展,视频得到了广泛的使
用。数字图书馆作为建立在Internet上的一种巨大的国
家级文化信息基础设施,以数字化的格式存储了大量的
视频类型的信息并能对存储的信息资源进行高效的管
理。它为数字视频的传播提供了一个网络化的平台。
但是,随着数字图书馆的不断发展,视频信息的安全
与版权问题,也不可避免的出现在我们面前。如何对授
权的视频信息进行保护,使其在限定的范围内传播,使
用,已经成为数字图书馆建设面临的重要问题。
目前,对视频信息的主要保护来自对视频信息的加
密。目前,世界上比较流行的用于MPEG视频标准的加
密算法分为两大类型。一种类型是对视频流的数据全部
加密,这些算法虽然安全性能很高,但同时加密速度非常
慢,并且花费昂贵;一种类型是根据MPEG视频流的结
构,对某些特定帧进行加密,即选择性加密算法,如VEA
视频加密算法,它只对MPEG视频压缩中DCT系数的标
志比特进行加密。这种算法安全性能比较高,同时加密
速度比较快,而且帧的大小基本不发生改变,但是,这种
加密算法也有其明显的缺陷,那就是可能遭受攻击而被
破解[1,2]。
本文中,作者提出一种新的快速MPEG视频的实时
加密算法FRMVEA(FastRealMpegVideoEncryptionAl2
gorithm)。新算法在VEA加密算法的基础上进行了几个
方面的改进:第一,FRMVEA使用合适的密钥来加密数
据,其安全性能有明显的改善;第二,FRMVEA算法对宏
块中交叉的Y块和色度块Cr,Cb之一进行加密,相比
VEA算法只对所有Y块进行加密,FRMVEA算法不仅加
密强度提高了,速度也更快了;第三,FRMVEA通过确定
的DCT系数的标志比特个数来降低加密的计算复杂性。
实践证明,FRMVEA加密算法具有加密速度非常快,加密
强度高,多余消耗少等特点,易于用软、硬件实现,是一种
简单、实用、高效的视频加密方法。
2MPEG视频加密原理和几种MPEG视频加密算法
介绍
2.1MPEG视频编码原理
见参考文献[4-6]。
2.2几种MPEG视频加密算法介绍
(1)完全加密算法(NaiveAlgorithm)。它用传统的密码直
接加密数据,算法安全性很高,但是改变了原来的数据格式,
同时计算复杂度较高。最直接的方式就是用标准的加密方式
(如DES)对视频进行加密,将视频比特流同传统的文本数据
同样对待,没有利用视频压缩后数据流的特殊结构。这种方
法显然计算量巨大,很难保证视频的实时传输。
·74·
《现代图书情报技术》2006年第3期信息检索技术总第134期
(2)选择性加密(SelectiveAlgorithm)。基本的Selective
Algorithm基于I、P、B帧结构且只对I帧进行加密,由于帧间
关联以及P、B帧中未加密的I块,导致此基本方法不安全。
Tang提出新的改进方法,称为SECMPEG,它将SelectiveAlgo2
rithm和附加头文件信息结合起来,可以使用两种传统的加密
方法DES和RSA实现4个级别的安全性:
①加密所有格式头信息;
②加密所有的格式头信息及DCT的DC系数和较低层的AC系
数;
③加密I帧、P帧和B帧中所有的I块;
④加密所有数据。
可见,这4个级别的安全性是由低到高递增的,但是SEC2
MPEG并不能与MPEG标准兼容,需要专门的解码器播放。
(3)Zig-Zag置乱算法(Zig-ZagPermutationAlgorithm)。
Zig-Zag置乱算法的基本思想:使用一个随机的置乱序列来
代替Zig-Zag扫描顺序,来将各个8×8块的DCT系数映射
成一个1×64矢量。基本算法由三步组成,步骤如下:
①产生一个基数为64的置乱序列表;
②把DC系数分成两个较小值的数。
假设DC是二进制数d7d6d5d4d3d2d1d0,将它分成两个数
d7d6d5d4和d3d2d1d0,它们的范围都在[0,15]。然后将DC系数置
为d7d6d5d4,将原最后一个AC系数置为d3d2d1d0。(这种分离处理
是基于以下两点:
1)通常DC系数值远大于AC系数值,因此乱序后很容易被识别。
分离变小后就难于从AC系数中区分出来;
2)最末一个AC系数作用很小,通常为0,可以用其存放
d3d2d1d0,恢复时取0值,不影响图象质量,也不增加数据量。
③用随机置乱序列表将经分离处理的8×8块映射成1×64序列
(Vector)。
Zig-Zag置乱算法有严重的安全性问题。对已知明文攻
击是脆弱的。
(4)改变Huffman码表算法。改变Huffman码表的视频
加密算法原理是:对于熵编码用Huffman编码的视频编码标
准,将通用Huffman码表修改后使用,修改后的特殊Huffman
码表作为密钥。非法接收方无此特殊码表,不能正确解码视
频(图像)信息。该算法的安全性取决于保持压缩率不变的前
提下,Huffman码表的可变空间(密码空间)。改变Huffman码
表,一般会降低压缩率。Huffman编码是对数据流中出现频
率高的位组合模式对应短码字,出现频率低的位组合模式对
应长码字,达到缩短平均码字,压缩数据的目的。Huffman码
表通过统计码流中各种位组合模式出现的概率制作。本算法
在改变各组合模式对应的Huffman码字时,保持对应码字长
度不变,即保持了特定出现概率的组合模式对应的特定码字
长度不变,也就保持了原压缩率不变。该算法完全不增加计
算量。适用于使用Huffman编码的各种视频和图像压缩编码
标准和算法。其缺点是安全性较差(密钥空间小)。
(5)基于统计规律的视频加密算法(VideoEncryptionAl2
gorithm,VEA)。MPEG有一定的统计特征,不同字节值的出
现频率相当;连续值成对出现的频率相当;I帧的1/16小块
中,连续值成对出现的次数一般不大于1。研究MPEG的属
性和它的统计特征并对MPEG按字节逐一处理可以得到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。)(bs).(bms).(b。s
+。).(bms),接收端的解密则利用密钥k对媒体流进行和加
密端相同的XOR处理过程,该方法的破译复杂度为2m一1,
当m=56时和DES在穷尽搜索方式上的破译复杂度相同。
该方法不加密头信息结构格式等数据,只加密图像数据本身。
将待加密数据分为两半,一半用密码方法(函数E)加密,另一
半用简单异或,因此总体减少了计算量,提高了计算速度。该
方法不影响压缩率。适用于压缩的视频(或图像)编码数据,
而且压缩效果越好,加密效果也越好[3,7]。
3FRMVEA加密算法
本文中,我们基于VEA加密算法进行了几个方面的
改进,提出了一种新的快速MPEG视频的实时加密算法
FRMVEA。
3.1FRMVEA加密算法设计
MPEG视频加密算法的目标就是阻止那些非授权接
收者用非法手段方式解码视频数据。一般的方案就是提
供一种可逆转的变换Ek给视频流S(简单图像明文),然
后产生一个比特流C=Ek(S)(加密文本)。一个知道密
钥k合法接收者就能够用变换Dk=Ek-1来解密视频数
据。FRMVEA也是一种选择性加密算法,它仅仅只对
MPEG压缩视频的每个宏块确定的64个DCT系数和运
动矢量的标志比特加密[8]。
为了描述FRMVEA算法的实际操作,如果我们忽略
其它比特,而仅仅只考虑MPEG视频流的标志位,那么,
MPEG视频流S就可以用下式来表示:
S=...S1…S2…S3…Sm…Sm+1…Sm+2….
这里,Si(i=1,2,3,….m,m+1…)是运动矢量或者
DCT系数(对于I帧和运动矢量的DC系数,它们的标志
比特有不同的值,因为它们编码方法不相同)。
FRMVEA从每一个宏块中选择64个标志比特(8字
节)进行加密,由于I帧图像、P帧图像和B帧图像的特
性不同,所以,在选择的时候有所区别。
我们可以用βα1α2α3α4…αn这样一个比特流来表示
一个MPEG压缩8×8块,这里的β表示DC系数的代码,
·84·
《现代图书情报技术》2006年第3期信息检索技术总第134期
αi表示第i个AC系数的标志比特。
根据前面的介绍,我们知道,每一个16×16宏块有6
个8×8块组成,它们是由Y1,Y2,Y3,Y4四个亮度块和
Cr,Cb两个色度块组成。图2定义了FRMVEA算法的β
和αi标志比特的选取顺序。FRMVEA的解密操作的选
择和加密操作一样。
FRMEVA加密采用从一片片图像切片中的选取的每
一个宏块的比特流和密钥k异或得到新的比特流,并将
新值一一对应替代原比特值的方法。
设宏块比特流为Sh
那么按照前述,根据每个宏块选择64个标志比特,有Sh
=…S1…S2…S64
Si(i=1,2,3…64)为选取的宏块的所有标志比特。
设FRMVEA的密钥是随机生成的长度为m(m≥64)的比
特流km,bi(i=1,2.,…m)为第i位上的比特值,那么,其密钥
的表达式为:
km=b1b2b3…bm
设FRMVEA的加密过程为Ek,其表达式为:
Ek(Sh)=…(k1⊕S1)…(k2⊕S2)…(k64⊕S64)…
标志比特根据已给定的密钥可以随机改变,其值要
么不会改变(如果密钥中相应的比特为0),要么从0变
为1,要么从1变为0。对于拥有密钥的接收者,可以通
过解密得到原始的视频数据。由于Ek(Ek(Sh))=Sh,
FRMVEA的解密过程Ek-1与其加密操作完全相同,加密
所用的密钥和解密所用的密钥也相同,如果不知道密钥,
将解码出和原始视频不同的视频。
3.2FRMVEA加密算法分析
FRMVEA的加密效果在MPEG视频解码期间的逆离
散变换余弦(IDCT)中得到了充分的体现。假定A代表
一个8×8图像块,在经过离散余弦变换(DCT)后,我们
得到了一个8×8图像块B,那么就有:
B=DCT(A)
当我们对B进行FRMVEA加密操作的时候(为了简
单起见,我们将忽略MPEG量化,Zig-Zag的顺序及
Huffman熵编码操作),对应于已经得到的密钥我们实际
上改变了B的元素的值。用Z代表加密的结果,那么有:
Z=FRMVEA(B)
在对Z解密后再解码,我们将得到一个图像块,用Ax
表示,显然
Ax=IDCT(FRMVEA-1(Z))=IDCT(B)
Ax是接近原始图像像素值A,但不完全等同原始图
像像素值A,因为前面说了,为了简单起见,在加密的时
候,忽略了MPEG量化,Zig-Zag的顺序及Huffman熵编
码等操作,因此解码后将得到图像块Ay:
图2宏块中标志比特的选择顺序
(注:I帧宏块按照上面的顺序,P帧宏块不选Y1块的α10、α11,B帧
宏块不选四个Y块的α11)
Ay=IDCT(Z)=Ax+N
这里的N为噪声或者相对于A的变换增加值。对于
8×8矩阵C,如果我们定义:
|C|=6
7
0
6
7
0
|αij|
那么:|Ay-Ax|=|N|
|N|的值将伴随A和FRMVEA的密钥变化而变化。
上面的分析显示,虽然FRMVEA仅仅只改变了DCT
系数的标志比特,但在MPEG解码的逆离散余弦变换
(IDCT)操作中,多数图像像素值将发生改变;由于DC系
数的编码和运动矢量的编码不相同,如果最初对DC系数
的猜测是错误的,那么,要正确猜测到随后的DC系数是
非常困难的。同时,由于改变了P帧和B帧运动矢量的
标志比特,将会误导非授权者对视频的解码播放。
FRMVEA加密算法仅仅选择每个宏块的6个子块的
其中三个子块的64个DCT系数的标志比特进行加密,因
此,我们可以预料到,它会大大地减少了加密计算量和加
密时间。例如,对于352×240分辨率的视频帧,每帧含
有22×15个16×16的宏块,如果要求播放速度为每秒
30帧,那么,FRMVEA每秒需要加密的数据为22×15×
·94·
《现代图书情报技术》2006年第3期信息检索技术总第134期
30×8=79200字节,而现在普通配置的处理芯片为赛扬
2G的电脑,其处理速度大致为每秒9100000字节,因此,
如果用普通配置的处理芯片为赛扬2G的电脑作为处理
平台,FRMVEA算法在一秒内对三十帧352×240分辨率
的视频帧加密所需要的时间为:79200÷9100000=0.
0087秒。从计算来看,加密的速度是惊人,而加密所需要
的时间微乎其微。同时我们也看到,加密速度和加密时
间与帧的分辨率有关,会随分辨率的大小不同而发生变
化。
我们将FRMVEA加密算法与MPEG-1标准编码程
序相结合,测试对加密对MPEG编码效率的影响。每次
都采用不同的密钥加密,共进行了5次测试,测试得到的
所有视频图像都无法识别,测试结果如表1所示,这里,
我们用f表示每秒的帧数。
表1测试结果
实验序号没有加密的压缩(f)加密后的压缩(f)
10.3000.295
20.2990.299
30.3150.303
40.2980.298
50.2970.297
平均值0.3020.298
实验环境采用奔腾2GCPU、256MDDR的内存的微
机,WinXP操作系统。从以上的说明和分析,我们可以得
出FRMVEA加密算法所具有的三点性质:
(1)FRMVEA有选择性地对每一个宏块所选定的64个
标志比特用长度为m(m≥64)的密钥进行按比特异或加密,
可操作性非常强,便于软、硬件的简单实现;由于对每个宏块
选择64个标志比特进行加密,因此,相对于其它可选择性的
视频加密方法,如VEA等,加密强度大大提高;由于密钥长度
m≥64,在加密的时候,可以按顺序选用其中一段长度为64的
子密钥加密,也可以随机组成长度为64的子密钥加密,因此,
如果要攻击加密的MPEG视频,需要攻击的次数必定≥263,
其破解难度大于破解DES密钥的难度。
(2)用FRMVEA加密视频多次,而只需要解密一次,这是
因为对于两个密钥k1和k2,其中k1≠k2,FRMVEA有如下性
质:Ek1(Ek2(S))=E(k1⊕K2)(S)
如果k3=k1⊕K2,则可以只用k3解密加密视频一次即
可。
(3)由于在加密中,其过程是选取宏块的64个DCT系数
的标志比特用密钥进行加密,然后把加密结果替换选取的64
个DCT系数标志比特,所以,加密后,MPEG的大小不会发生
改变。
4结论
数字图书馆拥有的视频资源的数量在飞速的增长。
新增的视频资源大部分是数字格式。如何组织、管理这
些视频资源,进行高效和安全的运用,相比于以前的非数
字视频资源的数字化,任务更为突出。我们提出的FRM2
VEA加密方法,采用选择性的加密方法,选择每个宏块中
的三个子块的64个DCT系数的标志比特用密钥进行异
或加密,可以有效的减轻对硬件资源的要求,减少加密消
耗的时间,具有较高的实用价值。
参考文献:
1杨京峰,张成昱.数字图书馆中视频资源应用及技术浅析.现代图
书情报技术,2004(11):14-16
2邓达,张凌,董守斌,余英林.数字化视频图书馆的若干关键技术
及其实现.华南理工大学学报,1999(3):19-24
3廉士国,孙金生,王执铨.视频加密算法及其发展现状.信息与控
制,2004(10):560-566
4divxvsxvid.http://home.so—net.tom.hk/lfchan/ebook/source/
408.htm(AccessedFeb.10,2004)
5WallaceGregoryK.TheJPEGstillimagecompressionstandard.Com2
municationsoftheACM,1991,34(4):30-44
6P.J.Shenoy,P.Goyal,S.RaoandH.M.Vin.“Symphony:An
IntegratedMultimediaFileSystem.”InProceedingsofSPIE/ACM
ConferenceonMultimediaComputingandNetworking(MMCN98),
SanJose,CA,pages124-138,January,1998
7M.Vernick,C.VemkatramaniandT.Chiueh.“AdventuresinBuild2
ingtheStonyBrookVideoServer”,InProceedingsofACMMultimedi2
a,pages287-295,Boston,Nov.,1997
8FrancoChiaraluce.LorenzoCiccarelli.EnnioGambi,eta1.Anew
chaoticalgorithmforvideoencryption.IEEETransactionsonConsumer
Electronics,2002,48(4):838-844
(作者E-mail:fyyang@smmu.edu.cn)
《现代图书情报技术》2006年(年刊)征订通知
《现代图书情报技术》2006年(年刊)即将出版。每册定价30元(含邮费)。内容涉及数字图书馆技术、图书馆自动化、信息检索技术、
网络资源与建设、网络多媒体技术、图书情报技术工作交流等方面。如欲定购,请直接将款汇到:北京中关村北四环西路33号《现代图书
情报技术》编辑部邮编:100080,本刊编辑部收,款到后即将发票随刊一并寄出。印数有限,欲购从速!
编辑部联系电话:(010)82624938。(编辑部)
·05·
《现代图书情报技术》2006年第3期信息检索技术总第134期
|
|