视频加密算法研究与应用毕业论文
2021-04-26 22:40:58
摘 要
在互联网技术和多媒体技术快速发展的背景下,视频传输已经广泛运用于不同的领域,重要视频信息的安全性问题受到很大关注,视频的加密需求也随之变大。视频具有信息量巨大的特点,视频加密除了要求有较高的安全性还要保证编码效率和实时性不受影响,这对视频加密技术提出了比较大的挑战。本文针对目前最流行的视频编码标准H.264,对其编解码的原理以及相关技术进行研究,根据其逻辑划分视频编码层和网络抽象层的特点,获取到视频加密数据。利用强大的多媒体开发框架GStreamer,以模块的思想对视频加密系统进行搭建,其基于插件的思想使得本系统能够使用众多优秀的多媒体插件来提高总体效率。引入轻量级的分组加密算法speck,实现对视频的分层加密处理,该算法以其轻量级、可伸缩和高效的特点,在保证安全的同时拥有较小的计算复杂度,很好应用于实时性要求较高的场景。本文通过开发基于GStreamer的加解密插件,使用speck加密算法,实现了一个实时视频传输的加密系统。该系统分为服务器端与客户端,能独立地完成编解密功能,本文针对不同的安全需求,实现了不同强度的加密方案。经实验表明,本视频加密系统能完成视频流数据的加密传输以及加密播放,并且具有较高的处理效率和灵活的可扩展性。
关键字:H.264; GStreamer; 视频加密; speck算法;
Abstract
In the context of the rapid development of Internet technology and multimedia technology, video transmission has been widely used in different areas. The security issue of important video information is greatly concerned, and the needs of video encryption increase with it. Video has a huge amount of information. Meanwhile, the requirements of video encryption is not only a high security but also to ensure that the coding efficiency and time-validity are not affected, which presents video encryption technology a noteworthy challenge. This paper is for the most popular video coding standard H.264, and do some research about the encoding and decoding theory and correlative technique, divide the characteristics of the video coding layer and the network abstraction layer according to its logic to get video encryption data and use the powerful multimedia development framework GStreamer to build the video encryption system with the thought of module. Its plug-in-based idea makes the system using many excellent multimedia plug-ins to improve the overall efficiency. The lightweight cipher block algorithm speck is introduced to realize the hierarchical encryption of video. The algorithm has a small computational complexity with its own features of lightweight, scalable and efficient while ensuring security. It works very well in the relatively high demand scenes. In this paper, through the development of encryption and decryption plug-in based on GStreamer and the use of speck encryption algorithm to achieve a real-time video transmission encryption system. The system is divided into server and client, can complete the encryption and decryption function independently. This paper achieves different intensity of the encryption scheme for different security needs. Experiments show that this video encryption system can accomplish the video stream data encryption transmission and encryption play, and has a high processing efficiency and flexible scalability.
Keywords: H.264; GStreamer; video encryption; speck algorithm;
目 录
摘 要 I
Abstract II
第1章 绪论 1
1.1 研究背景 1
1.2 研究现状 1
1.3 本文研究内容 2
1.4 本文组织架构 2
第2章 流媒体相关技术研究 4
2.1 视频压缩必要性 4
2.2 H.264视频编码标准 4
2.2.1 H.264编解码器特点 4
2.2.2 基于H.264分层结构 5
2.3 流媒体开发框架 6
2.3.1 流媒体开发框架GStreamer 6
2.3.2 GStreamer框架研究 6
2.4 本章小结 7
第3章 基于GStreamer的视频加密系统分析与设计 8
3.1 基于H.264视频传输模型的建立 8
3.2 视频加密算法 9
3.2.1 轻量级分组加密算法speck 9
3.2.2 OFB加密模式 11
3.3 基于H.264视频传输加密模型的建立 12
3.4 H.264网络抽象层数据分析 13
3.5 本章小结 14
第4章 基于GStreamer的视频加密系统的实现 14
4.1 系统开发环境 15
4.2 基于GStreamer加密插件的实现 15
4.2.1 加解密数据的获取 15
4.2.2 speck加密的实现 16
4.3 服务器端实现 17
4.4 客户端实现 17
4.5 本章小结 18
第5章 结果与性能分析 18
5.1 测试方案 19
5.2 结果分析 19
5.2.1 基于I帧的视频加密分析 19
5.2.2 完全加密分析 20
5.3 系统性能分析 20
5.4 本章小结 21
第6章 总结与展望 21
6.1 本文工作总结 22
6.2 未来工作展望 22
参考文献 23
致谢 24
第1章 绪论
1.1 研究背景
流媒体技术是一种在线播放技术,在网络技术高速发展和人们生活需求的推动下,像网络视频聊天、视频会议、视频播放等许多流媒体应用早已普及,在流媒体的广泛应用同时也带来了一些问题。
一方面,由于视频的数据量是非常大的,需要对视频进行必要处理,减少和去除冗余的视频数据,在不影响视频质量的条件下,用更少的带宽传送,以便进行传输和存储,这就需要视频压缩。人们不断地在视频压缩的算法上进行着研究。H.264是最新的视频编码标准,和之前的标准相比拥有更好的性能和表现,同时它也是多媒体压缩编码的发展趋势。及时了解H.264的发展,掌握其核心技术,并且能够在生活中充分利用和改进它,是十分有价值的。
另一方面,由于视频交流与每个人的生活联系得越来越紧密,视频信息的安全问题就显得尤为的重要。由于视频数据量巨大且使用范围特别广,它虽然给我们带来便利但是它同时却隐藏着巨大危险,我们的隐私很容易被有企图之人窃取、篡改和传播等。因此,对视频信息的保护也是迫切需要的。故本文针对这种需求,对视频加密进行研究,期望能对视频的安全性有所保证。
1.2 研究现状
经过自己查阅资料和研究,视频加密的研究主要是基于以下三类方案[1]。
第一类,可以使用直接加密算法对视频加密,即完全加密算法,该加密算法一般采用高强度的加密算法,直接加密全部的原始数据。由Qiao和Nahrstedt的 《A New Algorithm for MPEG Video Encryption》于1997年提出了VEA算法[2],该算法是将明文数据块分为奇偶两份,一半执行简单的按位异或操作,另一半用传统的DES算法加密。