视频实时加密算法的研究与实现
发布时间:2026-01-31 03:21:10| 浏览次数:

(1.常德职业技术学院计算机系,常德415000;2.国防科技大学计算机学院,长沙410000)
摘要:提出一种新的视频实时加密算法RMVEA。RMVEA建立在数字多媒体实时动态系统上,独立于任何视频压缩算法,为实时数字
视频提供高强度、高速度的加密。实验结果表明该算法在基本不增加视频编码器负载及系统延时的情况下,能有效解决视频压缩率与密钥选择自由度的矛盾。
法分为两大类型:一种类型是对视频流的数据全部加密,这类算法虽然安全性能很高,但同时加密速度非常慢,并且花费昂贵;另一种类型是根据MPEG视频流的结构,对某些特定帧进行加密,即选择性加密算法,如VEA视频加密算法[1],
密。这种算法安全性能比较高,而且帧的大小基本不发生改变,但是,这种加密算法也有其明显的缺陷,那就是假若有一个未授权者掌握有数个简单图像明文帧,他就能够很容易地找到密钥从而破解整个的视频。
RMVEA。这种算法对VEA加密算法进行了两个方面的改进:首先,RMVEA使用合适的密钥来加密数据,其安全性能有
明显的改善;第二,RMVEA算法对宏块中的所有Y块和色度块Cr,Cb进行了加密,RMVEA算法的加密强度大大提高。
标准虽然不同,但它们的视频流的采样和编码结构是基本相同的,这里,以MPEG-1为例,来说明MPEG视频的编码结构和原理。MPEG-1视频的采样结构是由视频帧组序列
和B帧组成,其中I帧是不需要参考其它帧的帧内图;P帧是参考前面的I帧或者P帧的来进行预测编码的预测图;B帧是进行双向运动补偿预测编码的双向预测图像。一个GOP至少要有一幅I帧。
本单位。每一个宏块用亚取样的方式更进一步分成4个8×8像素亮度块(Y块)和2个8×8像素色度块(1个Cr块和1个Cb块)。
每一个Y,Cb和Cr块都要进行DCT(离散余弦变换)、量化和熵编码。离散余弦变换后将大部分低频分量集中到
8×8块空间的左上角,变换系数进行量化后许多AC系数变成了0,量化输出的结果是根据zig-zag顺序线形排列的:
DC,AC1,AC2,,AC63。DC系数表示在空间块上亮度的平均值,AC系数包含了图像信息的细节。
为了描述RMVEA算法的实际操作,如果忽略其它比特,而仅仅只考虑MPEG视频流的标志位,那么,MPEG视频流
RMVEA从每一个宏块中选择64个标志比特进行加密,由于I帧、P帧和B帧的图像特性不同,因此,在选择的时候有所区别,具体如表1所示。
量的编码不相同,如果最初对DC 系数的猜测时错误的,那 么要正确猜测到随后的 DC 系数是非常困难的。同时,由于 改变了 P 帧和 B 帧运动矢量的标志比特,将会误导非授权者 对视频的解码播放。
从以上的说明和分析,可以得出 RMVEA 加密算法所具 有的 3 点性质:
个标志比特用长度为 m(m≥64)的密钥进行按比特异或加 密,可操作性非常强,便于软、硬件的简单实现;由于对每 个宏块选择 64 个标志比特进行加密,因此,相对于其它可选 择性的视频加密方法,如 VEA 等,加密强度大大提高;由于 密钥长度 m≥64,在加密的时候,可以按顺序选用其中一段 长度为 64 的子密钥加密,也可以随机组成长度为 64 的子密 钥加密,因此,如果要攻击加密的 MPEG 视频,需要攻击的
根据前面的介绍,每一个 16×16 宏块有 6 个 8×8 块组 成,它们是由 Y1,Y2,Y3,Y4 4 个亮度块和 Cr,Cb 两个 色度块组成。
RMEVA 加密采用表 1 中的选择方式选择每一个宏块的 比特流和密钥 k 异或得到新的比特流,并将新值一一对应替代
会改变(如果密钥中相应的比特为 0),要么从 0 变为 1,要 么从 1 变为 0。对于拥有密钥的接收者,可以通过解密得到 原始的视频数据。由于 Ek(Ek(Sh))= Sh,RMVEA 的解密
换余弦(IDCT)中得到了充分的体现。假定 A 代表 1 个 8×8 图像块,在经过离散余弦变换(DCT)后,得到了 1 个 8×8 B 图像块,那么就有
当对 B 进行 RMVEA 加密操作的时候(为了简单起见, 将忽略 MPEG 量化,zig-zag 的顺序及 Huffman 熵编码操作), 对应于已经得到的密钥实际上改变了 B 的元素的值。用 Z 代
略了 MPEG 量化、zig-zag 的顺序及 Huffman 熵编码等操作, 所以解码后将得到图像块 Ay。
64 个 DCT 系数标志比特,因此,加密后,MPEG 的大小不 会发生改变。
加密了 AC 系数,图 1(c)是用本文提出的 RMVEA 算法加密 的。从实验结果可以看到,RMVEA 的加密是成功的,图 1(c) 的图像帧经过加密,已经无法识别了。
在这里,用 f 表示每秒的帧数,表 2 表示未用 RMVEA 算法 加密压缩和用 RMVEA 算法加密两个方面的多余消耗。
从表 2 可以看到,消耗在加密编码计算上的时间是非常 小的,大约只占编码消耗的 0.5%,这样的加密消耗相对于
表 2 未用 RMVEA 算法加密压缩和用 RMVEA 算法加密 两个方面的多余消耗
明,RMVEA 加密算法具有加密速度非常快、加密强度高、 多余的消耗少等特点,易于用软、硬件实现,是一种简单、 实用、高效的视频加密方法。
算法 RMVEA,RMVEA 采用选择性的加密方法,选择每个宏 块的 64 个 DCT 系数的标志比特用密钥进行异或加密,加密 速度快,所消耗的时间非常少,并且算法简单,其加密强度 可以和 DES 等加密方法相当,易于用软件和硬件简单实现, 是一种具有较高实用价值的视频实时加密方案。
机,Windows XP 操作系统,选用分辨率为 352×240、帧率 为每秒 30 帧的测试序列,将 RMVEA 加密算法、传统的 VEA
mpeg-encode 程序相结合用 C 语言编程对这些视频文件进行 了测试,得出了 3 种加密算法编码加密(解密)时间对照结 果。表 3 为 3 种加密算法编码加密(解密)时间对照结果:
3 李玉晖, 朱山风, 段上为等译. 李 臻审校. 多媒体数 字压缩原理与标准. 北京: 电子工业出版社, 2000-08
到此为止,所有工作完成,开启 TOMCAT 服务器,然后 输入:,系统即开始提供安全 的连接和认证服务。
(1)优良的重用性。作者在多个项目中十分方便地重用 了这些模块。在 jsp 页面中加入 PageSchemeTag 就可以实现 http 和 https 的混合使用;通过 LogonAction 进行登陆验证, 在过渡页面中加入 SetLogonTag,在其它需要保护的页面中 加入 ChkLogonTag,就可以实现安全认证;
(2)安全性高。本认证构架具有很好的安全性。没有直 接通过 Cookies 进行认证,而是巧妙地利用了 Cookies 的功能,
(3)易维护。设计的构架中,各个模块全部通过 Java 类的方式实现,最关键的是几个功能模块构成完整的自治体 系,和具体应用的耦合度很小,使得代码的维护复杂度大大 降低。构架中唯一和外界发生联系的是 LogonAction 中的判
系,随应用不同只要作很小的修改即可。在这里可以改进的 地方,将认证方法 authenticate()用一个 EJB 来实现,然后在
(4) 友好的人机界面。此构架提供了很好的人机界面。 混合使用 HTTP 和 HTTPS 功能时,对于客户端是完全透明的, 也就是 说不需要用 户额外的操 作,系统通 过标签 PageSchemeTag 自动完成 HTTP 和 HTTPS 的切换。具体应用 唯 一 要 做 的 就 是 在 JSP 页 面 的 最 前 面 放 置 标 签 PageSchemeTag 即可。
扩展的安全算法。利用了 JSP 定制标签功能,servlet 的安全 性,巧妙地利用了 Cookies 的方便之处,避开了 Cookies 的不