高性能视频加密算法研究
杨发毅 张静昌
(第二军医大学图书馆 上海 200433)
【摘要 】 视频信息已经成为数字图书馆的主要信息存储方式 ,其版权和安全已经成为一个重要的问题。
讨论了几种典型的视频加密算法 ,并提出了一种新的高效视频加密算法。
【关键词 】 视频加密 数字图书馆 FRMVEA 【分类号 】 G250. 76
Study on H igh Performance V ideo Encryption A lgor ithm
Yang Fay i Zhang J ingchang
(L ibra ry of the S econd M ilitary M edica l U niversity, Shangha i 200433, China)
【Abstract】 The video information has become the main information storage way of the digital library. The video
information’s copyright and safe also become a important question. This article discusses several kind of typ ical video
encryp tion algorithm s, and p roposes a highly effective video encryp tion algorithm.
【Keywords】 V ideo encryp tion D igital library FRMVEA
收稿日期 : 2005 - 10 - 14
收修改稿日期 : 2005 - 12 - 01
1 引 言
随着存储和编码技术的发展 ,视频得到了广泛的使
用。数字图书馆作为建立在 Internet上的一种巨大的国
家级文化信息基础设施 ,以数字化的格式存储了大量的
视频类型的信息并能对存储的信息资源进行高效的管
理。它为数字视频的传播提供了一个网络化的平台。
但是 ,随着数字图书馆的不断发展 ,视频信息的安全
与版权问题 ,也不可避免的出现在我们面前。如何对授
权的视频信息进行保护 ,使其在限定的范围内传播 ,使
用 ,已经成为数字图书馆建设面临的重要问题。
目前 ,对视频信息的主要保护来自对视频信息的加
密。目前 ,世界上比较流行的用于 MPEG视频标准的加
密算法分为两大类型。一种类型是对视频流的数据全部
加密 ,这些算法虽然安全性能很高 ,但同时加密速度非常
慢 ,并且花费昂贵 ;一种类型是根据 MPEG视频流的结
构 ,对某些特定帧进行加密 ,即选择性加密算法 ,如 VEA
视频加密算法 ,它只对 MPEG视频压缩中 DCT系数的标
志比特进行加密。这种算法安全性能比较高 ,同时加密
速度比较快 ,而且帧的大小基本不发生改变 ,但是 ,这种
加密算法也有其明显的缺陷 ,那就是可能遭受攻击而被
破解 [ 1, 2 ]。
本文中 ,作者提出一种新的快速 MPEG视频的实时
加密算法 FRMVEA ( Fast Real Mpeg V ideo Encryp tion A l2
gorithm)。新算法在 VEA加密算法的基础上进行了几个
方面的改进 :第一 , FRMVEA 使用合适的密钥来加密数
据 ,其安全性能有明显的改善 ;第二 , FRMVEA算法对宏
块中交叉的 Y块和色度块 Cr, Cb之一进行加密 ,相比
VEA算法只对所有 Y块进行加密 , FRMVEA算法不仅加
密强度提高了 ,速度也更快了 ;第三 , FRMVEA通过确定
的 DCT系数的标志比特个数来降低加密的计算复杂性。
实践证明 , FRMVEA加密算法具有加密速度非常快 ,加密
强度高 ,多余消耗少等特点 ,易于用软、硬件实现 ,是一种
简单、实用、高效的视频加密方法。
2 MPEG视频加密原理和几种 MPEG视频加密算法
介绍
2. 1 MPEG视频编码原理
见参考文献 [ 4 - 6 ]。
2. 2 几种 MPEG视频加密算法介绍
(1)完全加密算法 (Naive A lgorithm)。它用传统的密码直
接加密数据 ,算法安全性很高 ,但是改变了原来的数据格式 ,
同时计算复杂度较高。最直接的方式就是用标准的加密方式
(如 DES)对视频进行加密 ,将视频比特流同传统的文本数据
同样对待 ,没有利用视频压缩后数据流的特殊结构。这种方
法显然计算量巨大 ,很难保证视频的实时传输。
·74·
《现代图书情报技术 》 2006年 第 3期 信息检索技术 总第 134期
(2)选择性加密 ( Selective A lgorithm )。基本的 Selective
A lgorithm基于 I、P、B帧结构且只对 I帧进行加密 ,由于帧间
关联以及 P、B帧中未加密的 I块 ,导致此基本方法不安全。
Tang提出新的改进方法 ,称为 SECMPEG,它将 Selective A lgo2
rithm和附加头文件信息结合起来 ,可以使用两种传统的加密
方法 DES和 RSA实现 4个级别的安全性 :
①加密所有格式头信息 ;
②加密所有的格式头信息及 DCT的 DC系数和较低层的 AC系
数 ;
③加密 I帧、P帧和 B帧中所有的 I块 ;
④加密所有数据。
可见 ,这 4个级别的安全性是由低到高递增的 ,但是 SEC2
MPEG并不能与 MPEG标准兼容 ,需要专门的解码器播放。
(3) Zig - Zag置乱算法 ( Zig - Zag Permutation A lgorithm)。
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)基于统计规律的视频加密算法 (V ideo Encryp tion A l2
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。) ( b s ). ( bm s ). ( b。 s
+。). ( bm s ) ,接收端的解密则利用密钥 k对媒体流进行和加
密端相同的 XOR处理过程 ,该方法的破译复杂度为 2m一 1,
当 m = 56时和 DES在穷尽搜索方式上的破译复杂度相同。
该方法不加密头信息结构格式等数据 ,只加密图像数据本身。
将待加密数据分为两半 ,一半用密码方法 (函数 E)加密 ,另一
半用简单异或 ,因此总体减少了计算量 ,提高了计算速度。该
方法不影响压缩率。适用于压缩的视频 (或图像 )编码数据 ,
而且压缩效果越好 ,加密效果也越好 [ 3, 7 ]。
3 FRMVEA加密算法
本文中 ,我们基于 VEA加密算法进行了几个方面的
改进 ,提出了一种新的快速 MPEG视频的实时加密算法
FRMVEA。
3. 1 FRMVEA加密算法设计
MPEG视频加密算法的目标就是阻止那些非授权接
收者用非法手段方式解码视频数据。一般的
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
就是提
供一种可逆转的变换 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 = b1 b2 b3 ⋯bm
设 FRMVEA的加密过程为 Ek ,其表达式为 :
Ek ( Sh ) = ⋯ ( k1 ⊕ S1 ) ⋯ ( k2 ⊕ S2 ) ⋯ ( k64⊕ S64 ) ⋯
标志比特根据已给定的密钥可以随机改变 ,其值要
么不会改变 (如果密钥中相应的比特为 0) ,要么从 0变
为 1,要么从 1变为 0。对于拥有密钥的接收者 ,可以通
过解密得到原始的视频数据。由于 Ek ( Ek ( Sh ) ) = Sh ,
FRMVEA的解密过程 Ek - 1与其加密操作完全相同 ,加密
所用的密钥和解密所用的密钥也相同 ,如果不知道密钥 ,
将解码出和原始视频不同的视频。
3. 2 FRMVEA加密算法分析
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 | = 67
0
67
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)
1 0. 300 0. 295
2 0. 299 0. 299
3 0. 315 0. 303
4 0. 298 0. 298
5 0. 297 0. 297
平均值 0. 302 0. 298
实验环境采用奔腾 2GCPU、256MDDR 的内存的微
机 ,W inXP操作系统。从以上的说明和分析 ,我们可以得
出 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
4 divx vs xvid. http: / /home. so— net. tom. hk / lfchan /ebook / source /
408. htm (Accessed Feb. 10, 2004)
5 W allace Gregory K. The JPEG still image comp ression standard. Com2
munications of the ACM, 1991, 34 (4) : 30 - 44
6 P. J. Shenoy, P. Goyal, S. Rao and H. M. V in. “Symphony: An
Integrated Multimedia File System. ” In Proceedings of SP IE /ACM
Conference on Multimedia Computing and Networking (MMCN98 ) ,
San Jose, CA, pages 124 - 138, January, 1998
7 M. Vernick, C. Vemkatramani and T. Chiueh. “Adventures in Build2
ing the Stony B rook V ideo Server”, In Proceedings of ACM Multimedi2
a, pages 287 - 295, Boston, Nov. , 1997
8 Franco Chiaraluce. Lorenzo Ciccarelli. Ennio Gambi, et a1. A new
chaotic algorithm for video encryp tion. IEEE Transactions on Consumer
Electronics, 2002, 48 (4) : 838 - 844
(作者 E - mail: fyyang@ smmu. edu. cn)
《现代图书情报技术 》2006年 (年刊 )征订通知
《现代图书情报技术》2006年 (年刊 )即将出版。每册定价 30元 (含邮费 )。内容涉及数字图书馆技术、图书馆自动化、信息检索技术、
网络资源与建设、网络多媒体技术、图书情报技术工作交流等方面。如欲定购 ,请直接将款汇到 :北京中关村北四环西路 33号《现代图书
情报技术》编辑部 邮编 : 100080,本刊编辑部收 ,款到后即将发票随刊一并寄出。印数有限 ,欲购从速 !
编辑部联系电话 : (010) 82624938。 (编辑部 )
·05·
《现代图书情报技术 》 2006年 第 3期 信息检索技术 总第 134期