[发明专利]通过AES‑CBC算法进行并行加密的方法及系统有效
申请号: | 201410572913.0 | 申请日: | 2014-10-23 |
公开(公告)号: | CN104284208B | 公开(公告)日: | 2017-11-10 |
发明(设计)人: | 郑铸东 | 申请(专利权)人: | 航天数字传媒有限公司 |
主分类号: | H04N21/2389 | 分类号: | H04N21/2389 |
代理公司: | 北京智汇东方知识产权代理事务所(普通合伙)11391 | 代理人: | 郭海彬,范晓斌 |
地址: | 100081 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 通过 aes cbc 算法 进行 并行 加密 方法 系统 | ||
技术领域
本发明涉及视频加密领域,特别是涉及一种通过AES-CBC算法进行并行加密的方法及系统。
背景技术
传输流(Transport Stream),一般称为TS。TS视频文件是分包发送的,每一个包长为188字节。包的结构为,包头为4个字节,负载为184个字节。TS视频文件主要应用于实时传送的节目,比如实时广播的电视节目。
传输流(Transport Stream),一般称为TS。TS视频文件是分包发送的,每一个包长为188字节。包的结构为,包头为4个字节,负载为184个字节。TS视频文件主要应用于实时传送的节目,比如实时广播的电视节目。
AES(Advanced Encryption Standard)加密算法,又称Rijndael加密法,是一种区块加密标准,AES有不同的工作模式。其中,CBC(Cipher Block Chaining)称为密码块链接,如图1所示,AES-CBC算法中,前一个块的加密结果被反馈到当前块的加密中,换句话说,每一个块被用来修改下一个块的加密,这样使得当同一个明文块重复出现时产生不同的密文块。每个加密块不仅依赖于产生它的明文块,而且依赖于所有前面的明文块。以128bit密钥算法为例。明文块需要分为128bit,也就是16字节的明文块。每一个明文块加密需要依赖:16字节密钥,上一个明文块加密后的密文块(用于初始化向量IV),本明文块的明文。该算法导致所有明文块上下依赖,无法将TS视频文件分为几个部分,用多线程或多台机器并行加密,导致加密等待时间较长。
发明内容
本发明的目的是要提供一种能够对传输流视频文件即TS视频文件并行加密的技术,来缩短TS视频文件的加密时间。
特别地,本发明提供了一种通过AES-CBC算法进行并行加密的方法,用于对传输流视频文件进行并行加密,包括如下步骤:
a,将所述传输流视频文件切割为按播放顺序排列的n个长度为L的子视频块,n为整数,且n≥2;
b,选择一长度为a的密钥;
c,为避免跨界,确定长度188字节与长度a的最小公倍数b;
d,在相邻的所述各子视频块首尾之间插入由一个或多个传输流包组成的填充部分;其中,所述填充部分由长度为a的头部和长度为(kb-a-L)的尾部组成,所述尾部用作一个所述子视频块的前缀部分来作为初始化向量IV,所述头部用作前一个所述子视频块的后缀部分,并且将首个子视频块上填充一长度为(kb-a-L)前缀部分作为该首个子视频块的初始化向量IV,在末尾子视频块填充一长度为a的后缀部分,以使得填充后各子视频块的长度为kb,k为整数;
e,使用所述密钥对各所述子视频块独立并行加密,分别形成各所述子视频块对应的各密文块;
f,将各所述密文块按所述播放顺序连接在一起组成所述传输流包视频文件的密文块。
进一步地,在步骤a中,选择所述子视频块的数量n为并行加密的线程数。
进一步地,在解密时,根据所述各密文块的4个包头字节来判断该4个包头字节是否属于传输流包,若是则抛弃后面的184个字节。
进一步地,所述密钥的长度选择为128bit、192bit或256bit。
进一步地,所述各传输流包各不相同。
本发明还提供一种通过AES-CBC算法进行并行加密的系统,用于对传输流视频文件进行并行加密,包括:
视频分割模块,将所述传输流视频文件切割为按播放顺序排列的n个长度为L的子视频块,n为整数,且n≥2;
密钥选择模块,选择一长度为a的密钥;
填充模块,用于根据确定长度188字节与长度a的最小公倍数b;并在相邻的所述各子视频块首尾之间插入由一个或多个传输流包组成的填充部分;其中,所述填充部分由长度为a的头部和长度为(kb-a-L)的尾部组成,所述尾部用作一个所述子视频块的前缀部分来作为初始化向量IV,所述头部用作前一个所述子视频块的后缀部分,并且将首个子视频块上填充一长度为(kb-a-L)前缀部分作为该首个子视频块的初始化向量IV,在末尾子视频块填充一长度为a的后缀部分,以使得填充后各子视频块的长度为kb,k为整数;
子视频块加密模块,使用所述密钥对各所述子视频块独立并行加密,分别形成各所述子视频块对应的各密文块;
合并模块,用于将各所述密文块按所述播放顺序连接在一起组成所述传输流包视频文件的密文块。
进一步地,所述子视频块的数量n与并行加密的线程数相同。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天数字传媒有限公司,未经航天数字传媒有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410572913.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:具负载平衡功能的切换式电源供应装置
- 下一篇:柔性丝锥夹头结构总成