CN102469344A - 一种视频码流加、解密方法、装置及通信、存储终端 - Google Patents

一种视频码流加、解密方法、装置及通信、存储终端 Download PDF

Info

Publication number
CN102469344A
CN102469344A CN2010105488634A CN201010548863A CN102469344A CN 102469344 A CN102469344 A CN 102469344A CN 2010105488634 A CN2010105488634 A CN 2010105488634A CN 201010548863 A CN201010548863 A CN 201010548863A CN 102469344 A CN102469344 A CN 102469344A
Authority
CN
China
Prior art keywords
ciphertext
burst
initial code
header
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010105488634A
Other languages
English (en)
Other versions
CN102469344B (zh
Inventor
谷沉沉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN 201010548863 priority Critical patent/CN102469344B/zh
Publication of CN102469344A publication Critical patent/CN102469344A/zh
Application granted granted Critical
Publication of CN102469344B publication Critical patent/CN102469344B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明适用于音视频领域,尤其涉及一种视频码流加、解密方法、装置及通信、存储终端。该视频流加密方法包括:对分片的头信息进行加密处理,得到头信息密文;对得到的头信息密文与所述头信息密文所处分片的数据信息明文进行置乱加密,得到置乱密文;对分片的起始码以及加密下一分片起始码的密钥进行加密处理,分别得到起始码密文和密钥密文;对置乱密文中与起始码密文相同的密文,采取起始码密文防竞争处理,得到中间密文;将中间密文、起始码密文以及密钥密文组合成码流密文。本发明大大降低了计算复杂度,而且不影响视频的压缩效率以及视频的图像质量。

Description

一种视频码流加、解密方法、装置及通信、存储终端
技术领域
本发明属于音视频领域,尤其涉及一种视频码流加、解密方法、装置及通信、存储终端。
背景技术
高效率数字视频编码标准H.264/AVC、MPEG-4、MPEG-2等标准定义的码流,由组织成有层次结构的句法元素组成,该层次结构可以分为序列、图像、片、宏块、子宏块等,而各个层次的信息都由句法元素分别描述。其中,句法元素是视频编码输出的码流中数据的基本单位,每个句法元素由若干比特组成,他表示某个特定的物理意义,比如可以表示:宏块类型、量化参数、残差数据等。图1示出了句法元素组成的分层结构,5层结构中,视频序列101、图像102、片103、宏块104、子宏块105,每一个层次都由头信息和该层的数据信息组成。而头信息的句法元素则是该层数据的核心,它通常包含了该层数据编码的一些参数信息,一旦头信息丢失或遭到破坏,几乎不可能再正确解码出该层的数据信息。
为了便于视频解码器在码流中取出特定的数据单元进行解码,一般需要在码流中添加起始码来标识特定数据单元的起始、终止位置。例如,H.264/AVC标准可将一个分片或者一个参数集的句法作为一个网络抽象层(NetworkAbstraction Layer,NAL)单元,在每个NAL单元前添加起始码0x000001。解码器在码流中检测到起始码,即将该位置识别为一个NAL单元的边界,两个起始码之间即为一个NAL单元。为了更精确地识别NAL单元的边界,防止将NAL单元内出现0x000001的位置识别为一个NAL单元的边界,H.264/AVC提出了“起始码防竞争”机制,即在编码生成一个NAL单元的码流时,如果检测出0x000000,0x000001,0x000002,0x000003这四种序列,就在最后一个字节前插入一个新的字节0x03,使之分别变成0x00000300,0x00000301,0x00000302,0x00000303,这样,解码器在NAL单元内部就不会检测到数据0x000001,并错误标识为NAL单元的边界。如果解码器在NAL单元内部检测到0x000003的数据,就把0x03丢弃,恢复原始数据。
随着多媒体技术和计算机网络的迅猛发展,应用视频聊天、视频点播、视频会议、视频监控的范围在不断扩大,与此同时,剽窃、窃取网络上的隐私数据等行为也日益严重。因此,在存储、传输视频数据过程中,如何保护视频数据的安全是人们关注的重点。
目前,保护视频数据安全的一种重要方法是加密视频数据的方法,该方法又分为加密全部视频数据方法和加密部分视频数据方法。而加密视频数据的方法通常都与视频编码技术结合在一起,这是因为视频的原始数据量很大,在存储、传输之前通常先进行编码压缩。
加密全部视频数据方法是将编码压缩后的视频码流数据作为普通的二进制数据,采用经典的数据加密标准(Data Encryption Standard,DES)或者视频加密算法(Video Encryption Algorithm,VEA)等算法对全部的二进制数据进行加密。该方法确保了视频数据完全不可见,具有较高的安全性,但是由于视频数据量很多,如果全部的视频数据都执行加密操作,则会增大加密、解密的计算复杂度,并产生很大的延迟,难以满足视频的实时传输要求。
加密部分视频数据方法是保持码流格式不变,对码流中的数据信息部分加密,加密的算法通常有选择性加密、空域置乱加密算法、频域置乱加密算法或者符号位加密算法等。该方法没有改变起始码和头信息的结构,而起始码和头信息的结构通常包含了视频编码的重要参数、对解码视频码流起关键作用的信息。比如MPEG-2、H.264/AVC等标准码流中的起始码,起到标识图像帧或者片的边界信息,攻击者利用这些信息可以破解码流格式,窃取视频编码算法、参数等核心技术机密,或者将部分数据信息替换为非法视频内容。另外,加密数据信息部分通常会改变视频数据的统计特性,导致视频的压缩率降低,增加码流的数据量,影响同等码率条件下的视频图像质量。
发明内容
本发明实施例的目的在于提供一种视频码流加密方法,旨在解决保护视频数据安全时导致计算复杂度、延迟增大,影响视频实时传输要求以及视频图像质量的问题。
本发明实施例是这样实现的,一种视频码流加密方法,所述方法包括:
对分片的头信息进行加密处理,得到头信息密文;
对得到的头信息密文与所述头信息密文所处分片的数据信息明文进行置乱加密,得到置乱密文;
对分片的起始码以及加密下一分片起始码的密钥进行加密处理,分别得到起始码密文和密钥密文;
对置乱密文中与起始码密文相同的密文,采取起始码密文防竞争处理,得到中间密文;
将中间密文、起始码密文以及密钥密文组合成码流密文。
本发明实施例的另一目的在于提供一种视频码流加密装置,所述装置包括:
加密头信息模块,用于对分片的头信息进行加密处理,得到头信息密文;
置乱模块,用于对得到头信息密文与头信息密文所处分片的数据信息明文进行置乱加密,得到置乱密文;
起始码和加密起始码密钥加密模块,用于对分片的起始码以及加密下一分片起始码的密钥进行加密处理,分别得到起始码密文和密钥密文;
起始码防竞争模块,用于对置乱密文中与起始码密文相同的密文,采取起始码密文防竞争处理,得到中间密文;
组合模块,用于将中间密文、起始码密文以及密钥密文组合成码流密文。
本发明实施例的另一目的在于提供包含上述视频码流加密装置的通信终端。
本发明实施例的另一目的在于提供包含上述视频码流加密装置的存储终端。
本发明实施例的另一目的在于提供视频码流解密方法,所述方法包括:
根据分片的起始码密文以及解密上一分片时获取的加密所述分片起始码的密钥,解密以获取起始码明文以及用于加密下一分片起始码的密钥,并获取所述分片的中间密文;
对分片中采取起始码密文防竞争操作的中间密文采用起始码密文逆防竞争操作,解密出置乱密文;
解密分片的置乱密文,获取头信息的密文以及数据信息明文;
解密分片的头信息密文,获取头信息。
本发明实施例的另一目的在于提供视频码流解密装置,所述装置包括:
解密起始码密文模块,用于根据分片起始码密文以及解密上一分片时获取的加密所述分片起始码的密钥,解密以获取起始码明文以及用于加密下一分片起始码的密钥,并获取所述分片的中间密文;
解密中间密文模块,用于对分片中采取起始码密文防竞争操作的中间密文采用起始码密文逆防竞争操作,解密出置乱密文;
解密置乱密文模块,用于解密分片的置乱密文,获取头信息的密文以及数据信息明文;
解密头信息密文模块,用于解密分片的头信息密文,获取头信息。
本发明实施例的另一目的在于提供包含上述视频码流解密装置的通信终端。
本发明实施例的另一目的在于提供包含上述视频码流解密装置的存储终端。
本发明实施例对包含视频码流结构和视频编码关键技术参数等重要信息的视频码流中头信息、起始码进行逐字或逐字节的加密,并通过置乱头信息密文,打乱头信息密文在视频码流中的位置,有效地隐藏起始码和头信息,保证了视频码流中头信息和起始码的安全;在对非I帧或者I帧第一分片以外的任一分片进行加密时,采用不同的密钥,进一步提高该加密方法的可靠性,提高视频码流格式抵抗破解的能力,防止视频内容被非法篡改,从而保障视频数据在存储和传输过程中的安全性。而对置乱密文中与起始码密文相同的密文,采取起始码密文防竞争处理等操作,则能够正确识别各分片的起始位置。
由于头信息和起始码在视频码流中所占的比例很低,因此对头信息和起始码加密所需的数据量很小,对头信息密文进行置乱、对置乱密文采取起始码防竞争处理所需的数据量也很小,因此本发明除了具有安全性之外,还具有计算低复杂度的特性,在对每一个分片进行视频编码后,就可对编码后的分片进行加密操作,不需为该加密操作额外增加分片进行缓存,降低传输视频码流的延迟。又由于本发明的加密方法没有改变数据信息部分,因此不会影响视频的压缩效率,而加密过程仅增加下一分片起始码加密所需密钥的密文,增加的额外数据量很小,因此也不会对视频的图像质量造成明显影响。此外,由于在每个I帧的第一个分片都使用预设的密钥加密头信息、起始码以及置乱头信息密文,而不是采用与上一个已编码分片的相关变量生成的密钥,因此可以将发生错误的视频码流密文控制在一个I帧间隔周期内,较好地保持了码流的容错性和随机访问的特性。
附图说明
图1是现有技术提供的句法元素分层的结构;
图2是本发明第一实施例提供的一种视频码流加密方法流程;
图3是本发明第一实施例提供的置乱密文结构;
图4是本发明第一实施例提供的码流密文结构;
图5是本发明第二实施例提供的一种视频码流加密装置结构;
图6是本发明第三实施例提供的一种视频码流解密方法流程;
图7是本发明第四实施例提供的一种视频码流解密装置结构。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明使用固定密钥组以及利用预先配置的密钥共同加密I帧第一分片的头信息、起始码、加密起始码的密钥以及执行置乱头信息密文、对置乱密文中与起始码密文相同的密文,采取起始码密文防竞争处理等操作,在当前分片为非I帧或者I帧第一分片以外的任一分片时,则使用固定密钥组以及利用上一个已编码分片的相关变量生成的密钥,共同对当前分片的头信息、起始码、加密起始码的密钥执行流加密的操作。进一步地,将加密头信息所得到的密文与该片数据信息明文进行置乱加密,打乱头信息密文在分片中的位置,并对置乱密文中与起始码密文相同的密文,采取起始码密文防竞争处理等操作,正确识别各分片的起始位置。
本发明提供了一种:视频码流加、解密方法、装置及通信、存储终端。
所述视频码流加密方法包括:对分片的头信息进行加密处理,得到头信息密文;
对得到的头信息密文与所述头信息密文所处分片的数据信息明文进行置乱加密,得到置乱密文;
对分片的起始码以及加密下一分片起始码的密钥进行加密处理,分别得到起始码密文和密钥密文;
对置乱密文中与起始码密文相同的密文,采取起始码密文防竞争处理,得到中间密文;
将中间密文、起始码密文以及密钥密文组合成码流密文。
所述视频码流加密装置包括:加密头信息模块,用于对分片的头信息进行加密处理,得到头信息密文;
置乱模块,用于对得到头信息密文与头信息密文所处分片的数据信息明文进行置乱加密,得到置乱密文;
起始码和加密起始码密钥加密模块,用于对分片的起始码以及加密分片起始码的密钥进行加密处理,分别得到起始码密文和密钥密文;
起始码防竞争模块,用于对置乱密文中与起始码密文相同的密文,采取起始码密文防竞争处理,得到中间密文;
组合模块,用于将中间密文、起始码密文以及密钥密文组合成码流密文。
所述通信终端包括:包含上述视频码流加密装置的通信终端。
所述存储终端包括:包含上述视频码流加密装置的存储终端。
所述视频码流解密方法包括:根据分片的起始码密文以及加密分片起始码的密钥,解密以获取起始码明文以及用于加密下一分片起始码的密钥,并获取当前分片的中间密文;
对分片中采取起始码密文防竞争操作的中间密文采用起始码密文逆防竞争操作,解密出置乱密文;
解密分片的置乱密文,获取头信息的密文以及数据信息明文;
解密分片的头信息密文,获取头信息。
所述视频码流解密装置包括:解密起始码密文模块,用于根据分片起始码密文以及解密上一分片时获取的加密该分片起始码的密钥,解密以获取起始码明文以及用于加密下一分片起始码的密钥,并获取当前分片的中间密文;
解密中间密文模块,用于对分片中采取起始码密文防竞争操作的中间密文采用起始码密文逆防竞争操作,解密出置乱密文;
解密置乱密文模块,用于解密分片的置乱密文,获取头信息的密文以及数据信息明文;
解密头信息密文模块,用于解密分片的头信息密文,获取头信息。
所述通信终端包括:包含上述视频码流解密装置的通信终端。
所述存储终端包括:包含上述视频码流解密装置的存储终端。
本发明实施例对包含视频码流结构和视频编码关键技术参数等重要信息的视频码流中头信息、起始码进行逐字或逐字节的加密,并通过置乱头信息密文,打乱头信息密文在视频码流中的位置,有效地隐藏起始码和头信息,保证了视频码流中头信息和起始码的安全;在对非I帧或者I帧第一分片以外的任一分片进行加密时,采用不同的密钥,进一步提高该加密方法的可靠性,提高视频码流格式抵抗破解的能力,防止视频内容被非法篡改,从而保障视频数据在存储和传输过程中的安全性。而对置乱密文中与起始码密文相同的密文,采取起始码密文防竞争处理等操作,则能够正确识别各分片的起始位置。
由于头信息和起始码在视频码流中所占的比例很低,因此对头信息和起始码加密所需的数据量很小,对头信息密文进行置乱、对置乱密文采取起始码防竞争处理所需的数据量也很小,因此本发明除了具有安全性之外,还具有计算低复杂度的特性,在对每一个分片进行视频编码后,就可对编码后的分片进行加密操作,不需为该加密操作额外增加分片进行缓存,降低传输视频码流的延迟。又由于本发明的加密方法没有改变数据信息部分,因此不会影响视频的压缩效率,而加密过程仅增加下一分片起始码加密所需密钥的密文,增加的额外数据量很小,因此也不会对视频的图像质量造成明显影响。此外,由于在每个I帧的第一个分片都使用预设的密钥加密头信息、起始码以及置乱头信息密文,而不是采用与上一个已编码分片的相关变量生成的密钥,因此可以将发生错误的视频码流密文控制在一个I帧间隔周期内,较好地保持了码流的容错性和随机访问的特性。
实施例一:
图2示出了本发明第一实施例提供的一种视频码流加密方法流程。
为了提高视频传输的容错性,通常将每一帧视频编码为一个或多个分片,每个分片由相应的头信息、标识分片开始或者结束的起始码以及该分片的数据信息组成。该视频码流加密方法是对视频编码生成的任意一个分片进行加密的方法,详述如下:
在步骤S201中,对分片的头信息进行加密处理,得到头信息密文;
一个视频流中通常包括I帧、P帧和B帧,其中,非I帧为视频流中除I帧以外的帧,如P帧和B帧。I帧通常是每个画面组(Group of Pictures,GOP)的第一个帧,在一个画面组中只有一个I帧,该类型的帧是一个帧内编码帧,在编码过程中只利用当前帧内的信息进行预测,而与前后帧的信息无关。P帧是前向预测帧,是根据与前一帧图像的比较,去掉与前帧相似的数据而构成的帧。B帧是双向预测帧,是根据与前后一帧图像的比较而得到的帧。P、B帧需要依靠I帧而成立。为确保前面分片的丢失和误码不影响I帧的解码,保持码流的容错性和随机访问的特性,下文中对I帧第一个分片的加密采用的密钥与I帧其余分片以及P、B帧分片的处理方式略有不同。
使用流加密算法加密当前分片f的头信息,即以密钥作为种子产生一个长度与头信息长度相等的加密密钥序列,逐位或逐字节加密当前分片f的头信息,并得到相应的头信息密文。该流加密算法可以为RC4、A5算法,当然,也可以使用其他的流加密算法加密分片的头信息,此处不作限定。
其中,对头信息进行加密处理,得到头信息密文的步骤具体为:使用配置的初始密钥与固定密钥组共同加密I帧第一个分片的头信息;
使用上一个分片的相关变量生成的密钥与固定密钥组共同加密非I帧以及I帧第一个分片以外的任一分片的头信息。
若当前分片f为I帧的第一个分片,采用配置的初始密钥h0与固定密钥组[kh1,kh2,...,khn]共同加密I帧第一个分片的头信息;否则,根据上一个已编码分片f-1的相关变量生成的密钥hf-1与固定密钥组[kh1,kh2,...,khn]共同加密I帧第一分片以外的任一分片f的头信息。即使用密钥组[h0,kh1,kh2,...,khn]加密I帧第一分片的头信息,而使用密钥组[hf-1,kh1,kh2,...,khn]加密I帧第一分片以外的任一分片f的头信息,对分片的头信息加密后就可以得到相应的头信息密文。
若当前分片f为P或B帧的分片,则根据上一个I帧或P帧或B帧已编码分片f-1的相关变量生成的密钥hf-1,与固定密钥组[kh1,kh2,...,khn]共同加密P或B帧当前分片f的头信息,即加密P或B帧分片的头信息与加密I帧第一分片以外的任一分片的头信息的密钥组,都为[hf-1,kh1,kh2,...,khn]。
为了更清楚地说明使用密钥组[hf-1,kh1,kh2,...,khn]加密非I帧以及I帧第一分片以外任一分片头信息的过程,下面举例进行说明:
假设当前分片f的头信息按字节依次用m1,m2,..,mn表示,加密后的头信息密文按字节依次用c1,c2,...,cn表示,由上一个分片f-1的相关变量生成的密钥hf-1=Lf-1%256,其中,Lf-1为上一个分片f-1编码后字节的长度,%表示对长度Lf-1取模,固定密钥组只取2个,为[kh1,kh2]。加密法则g为
ci=g(mi,kh1,kh2)=(mi+kh1×i)%256,其中i=2n-1,n为非0自然数;
ci=g(mi,hf-1,kh1,kh2)=(mi+hf-1+kh2×i)%256,其中i=2n,n为非0自然数。
假定当前分片f的头信息的前4个字节为m1,m2,m3,m4为0,1,6,1,固定密钥组[kh1,kh2]为[5,8],上一分片f-1的长度为485字节,则根据公式hf-1=Lf-1%256,得到hf-1=485%256=229,使用上述加密法则g加密当前分片f的头信息的前4个字节,得到的密文如下:
c1=(0+5×1)%256=5,
c2=(0+229+8×2)%256=246,
c3=(6+5×3)%256=21,
c4=(1+229+8×4)%256=6
即头信息m1,m2,m3,m4为0,1,0,1的密文分别为0x05,0xF6,0x15,0x06。
作为本发明的又一个实施例,加密当前分片f头信息的密钥组[h0,kh1,kh2,...,khn]和[hf-1,kh1,kh2,...,khn]可以直接由一个伪随机序列发生器产生,即密钥hf-1也可以使用其他变量生成,比如预先设定与上一个分片的变量无关的初始变量,再用logistic模型迭代产生,而不一定使用上一个分片的相关变量生成。
在步骤S202中,对得到的头信息密文与该头信息密文所处分片的数据信息明文进行置乱加密,得到置乱密文;
视频码流中头信息包含了视频编码关键技术参数等重要信息,在对码流中头信息加密后,为了进一步保护头信息密文的安全,可以将头信息密文的位置转移至分片内的另一位置,即将头信息密文隐藏在该分片的数据信息明文中。置乱隐藏位置的算法可以预先设定。
其中,对得到头信息密文与该头信息密文所处分片的数据信息明文进行置乱加密,得到置乱密文的步骤具体为:
使用配置的初始密钥与固定密钥组共同置乱I帧第一个分片的头信息密文与所述头信息密文所处分片的数据信息明文;
使用上一个分片的相关变量生成的密钥与固定密钥组共同加密非I帧以及I帧第一个分片以外的任一分片的头信息密文与所述头信息密文所处分片的数据信息明文。
其中,该非I帧为视频流中除I帧以外的帧,如P帧和B帧。本发明实施例中,在置乱I帧第一分片头信息的密文与该头信息密文所处分片的数据信息明文时,采用预先配置的c0以及固定密钥组[kc1,kc2,...,kcn]一起作为置乱头信息密文与该头信息密文所处分片的数据信息明文的密钥,在置乱非I帧以及I帧第一分片以外任一分片f头信息的密文时,则使用f分片的上一分片f-1的相关变量生成的密钥cf-1,与固定密钥组[kc1,kc2,...,kcn]一起作为置乱该f分片头信息密文与该头信息密文所处分片的数据信息明文的密钥。即,使用密钥组[c0,kc1,kc2,...,kcn]置乱I帧第一分片头信息与该头信息密文所处分片的数据信息明文的密文,使用密钥组[cf-1,kc1,kc2,...,kcn]置乱非I帧以及I帧第一分片以外的任一分片f的头信息密文与该头信息密文所处分片的数据信息明文。其中,cf-1可以使用上一个已编码分片f-1的变量,如长度变量产生。
为了更清楚地说明置乱头信息密文与该头信息密文所处分片的数据信息明文的过程,下面举例进行说明:
假设当前分片的数据信息明文长度为n字节,置乱头信息密文与该头信息密文所处分片的数据信息明文的密钥组为[cf-1,kc1,kc2],则将该头信息密文插入到数据信息明文的第d个字节后,其中,d为对式子[n×(kc1+c%(kc1+kc2))÷(kc1+kc2+c%(kc1+kc2))]向下取整所得的数,假设cf-1=20,kc1=3,kc2=5,n=525,则代入式子[n×(kc1+c%(kc1+kc2))÷(kc1+kc2+c%(kc1+kc2))]后,所得结果为306.25,向下取整后,得到d为306,即将该分片的头信息密文插入到第306个字节之后的数据信息明文中,如图3所示,该片的置乱密文中,前306个字节为数据信息明文,接着是头信息密文,然后再是219个数据信息明文。
作为本发明的又一个实施例,可以预先设定一个初始序列,该初始序列作为随机序列生成器的初始变量,生成置乱当前分片头信息密文与该头信息密文所处分片的数据信息明文的密钥组,其中,该初始序列与上一分片的相关变量无关。
在步骤S203中,对分片的起始码以及加密下一分片起始码的密钥进行加密处理,分别得到起始码密文和密钥密文;
起始码标识一个NAL单元的开始或者结束。其中,对分片的起始码以及加密该分片起始码的密钥进行加密处理,分别得到起始码密文和密钥密文的步骤具体为:
使用配置的初始密钥与固定密钥组共同加密I帧第一个分片的起始码;
使用上一个分片的相关变量生成的密钥与固定密钥组共同加密下一个非I帧分片以及I帧第一个分片以外的任一分片的起始码,并用固定密钥组加密使用上一个分片的相关变量生成的密钥。
本发明实施例中,逐位或者逐字节加密起始码的密钥包括2部分:一部分是预先配置的固定密钥组[ks1,ks2,...,ksn];另一部分是根据上一个分片f-1的相关变量生成加密当前分片f起始码的密钥sf-1,即使用密钥组[sf-1,ks1,ks2,...,ksn]加密非I帧以及I帧第一个分片以外任一分片f的起始码,该非I帧为视频中流除I帧以外的帧,如P帧和B帧。如果当前分片为I帧的第一分片,则用密钥组[s0,ks1,ks2,...,ksn]加密I帧第一分片的起始码,其中,s0为预先配置的密钥。
作为本发明的又一个实施例,为了便于解密时从码流中取出加密起始码的密钥sf-1的密文,可以固定密钥sf-1的长度。
为了更清楚地说明加密非I帧以及I帧第一分片以外的任一分片起始码的过程,下面举例进行说明:
假设当前分片f的起始码明文,按字节依次用b1,b2,b3,b4表示,加密后的起始码密文按字节顺序依次用bs1,bs2,bs3,bs4表示,起始码所需的密钥sf-1仍为上一个已编码分片的长度Lf-1与256取模,即,sf-1=Lf-1%256,对当前码流预先设定的起始码加密密钥组为[ks1,ks2],加密运算法则G为:
bsj=G(bj,ks1,ks2)=(bj+ks1×j)%256,其中j=2n-1,n为非0自然数;
bsj=G(bj,sf-1,ks1,ks2)=(bj+sf-1+ks2×j)%256,其中j=2n,n为非0自然数。
对于H.264/AVC标准的四字节起始码0x00000001,即b1=0,b2=0,b3=0,b4=1,固定密钥组[ks1,ks2]取为[3,9],上一分片f-1的长度为500字节,则根据公式sf-1=Lf-1%256,得到sf-1=500%256=244,使用上述加密法则G加密当前分片f的起始码,得到的密文如下:
bs1=(0+3×1)%256=3,
bs2=(0+244+9×2)%256=6,
bs3=(0+3×3)%256=9,
bs4=(1+244+9×4)%256=24
即起始码0x00000001的密文为0x03060918。
作为本发明的又一个实施例,加密当前分片起始码的密钥组[s0,ks1,ks2,...,ksn]和[sf-1,ks1,ks2,...,ksn]可以直接由一个伪随机序列发生器产生,即密钥sf-1也可以使用其他变量生成,比如预先设定与上一个分片变量无关的变量,再将该初始变量作为混合光学双稳模型的初始变量迭代产生,该模型可以取为:
Xn+1=Asin(Xn-XB),其中,A和XB为该系统的系数,在A=4,XB=2.5的情况下,给定初始变量Xn,则迭代产生的Xn+1将进入无序状态,因此可以利用该系统产生的毫无规则的Xn+1序列作为加密分片起始码的密钥组[s0,ks1,ks2,...,ksn]和[sf-1,ks1,ks2,...,ksn]。
为了更好地保护加密分片起始码密钥的安全,可以使用固定密钥组对获取的密钥sf-1进行加密,假定使用固定密钥组[kb1,kb2,...,kbn]逐位或者逐字节地对加密起始码的密钥sf-1加密,并得到相应的密文。
在步骤S204中,对置乱密文中与起始码密文相同的密文,采取起始码密文防竞争处理,得到中间密文;
加密每一个分片起始码可能采用的密钥有2种,一种是加密I帧第一个分片起始码的密钥,另一种是加密非I帧以及I帧第一个分片以外的任一分片起始码的密钥,相应地,将产生2种起始码密文。其中,该非I帧为视频流中除I帧以外的帧,如P帧和B帧。
为了防止将出现在当前分片的置乱密文中,且与下一个分片可能的2种起始码密文相同的密文,错误地识别为下一个分片的起始码密文,并识别为该分片的边界,需要采取起始码密文防竞争操作,即将出现在当前分片的置乱密文中,且与下一个分片的1种或2种起始码密文相同的密文,以另一种形式表示。
为了更清楚地说明采取的起始码密文防竞争操作的过程,下面举例进行说明:
假设分片f+1的一种4字节起始码密文,按字节顺序依次为:y1,y2,y3,y4;另一种为:z1,z2,z3,z4;依次检测当前分片f中置乱密文的每个字节,如果检测到下面4种序列,y1,y2,y3,y4;y1,y2,y3,y5;z1,z2,z3,z4;z1,z2,z3,z5;则将上述4种序列分别转换为,y1,y2,y3,z5,y4;y1,y2,y3,z5,y5;z1,z2,z3,z5,z4;z1,z2,z3,z5,z5;即在序列的倒数第2位插入一个z5,其中z5≠z4且z5≠y4,这样,f分片中就不存在与下一个分片f+1可能的2种起始码密文完全一样的密文。
对出现在当前分片f的置乱密文中且与下一个分片f+1的起始码密文相同的密文,都采取起始码密文防竞争操作,并得到处理后的中间密文。
在本发明实施例中,对出现在当前分片的置乱密文中且与下一个分片的起始码密文相同的密文采取起始码密文防竞争操作,确保当前分片的置乱密文中不存在与下一个分片的起始码密文相同的密文,因此不会错误地将出现与下一个分片的起始码密文相同的密文的位置识别为下一个分片的起始位置。
在步骤S205中,将中间密文、起始码密文以及密钥密文组合成码流密文。
将得到的中间密文、起始码密文以及密钥密文组合起来,并写入码流密文以便传输,如图4所示。图4示出了码流密文中第f-1分片和第f分片的结构,其中,第f-1分片的码流密文包含了该第f-1分片的起始码密文、加密该第f-1分片的起始码所用的密钥sf-1的密文、以及对该第f-1分片的置乱密文采取起始码防竞争处理后得到的中间密文;第f分片的码流密文包含了该第f分片的起始码密文、加密该第f分片的起始码所用的密钥sf的密文、以及对该第f分片的置乱密文采取起始码防竞争处理后得到的中间密文。
本发明实施例中,使用固定密钥组以及利用预先配置的密钥共同加密I帧第一分片的头信息、起始码、加密起始码的密钥以及执行置乱头信息密文、对置乱密文中与起始码密文相同的密文采取起始码密文防竞争处理等操作;在当前分片为非I帧或者I帧第一分片以外的任一分片时,则使用固定密钥组以及利用上一个已编码分片的相关变量生成的密钥,共同加密当前非I帧或者I帧第一分片以外的任一分片的头信息、起始码、加密起始码的密钥以及执行置乱头信息密文、对置乱密文中与起始码密文相同的密文采取起始码密文防竞争处理等操作。其中,固定的加密头信息的密钥组[kh1,kh2,...,khn]、置乱头信息的密钥组[kc1,kc2,...,kcn]、加密起始码的密钥组[ks1,ks2,...,ksn]以及加密起始码密钥的密钥组[kb1,kb2,...,kbn]可以根据实际情况的要求选择相同也可以不同,当固定密钥组都相同时,计算复杂度会降低,而固定密钥组不同时,则可以提高该码流抵抗攻击的能力;同理,预先配置的加密I帧第一个分片头信息的密钥h0、置乱密钥c0、加密起始码的密钥s0也可以相同或者不同,加密非I帧以及I帧第一个以外的任一分片的头信息的密钥hf-1、置乱密钥cf-1以及加密起始码的密钥sf-1,可以利用上一个已编码分片相关的相同变量或者不同变量生成,生成方法可以相同也可以不同,如都利用上一个已编码分片的字节长度采用相同或者不同的方法生成,也可以利用相同或不同的混沌模型生成。对包含视频码流结构和视频编码关键技术参数等重要信息的视频码流中头信息、起始码进行逐字或逐字节的加密,并通过置乱头信息密文,打乱头信息密文在视频码流中的位置,有效地隐藏起始码和头信息,保证了视频码流中头信息和起始码的安全;在对非I帧或者I帧第一分片以外的任一分片进行加密时,采用不同的密钥,进一步提高该加密方法的可靠性,提高视频码流格式抵抗破解的能力,防止视频内容被非法篡改,从而保障视频数据在存储和传输过程中的安全性。而对置乱密文中与起始码密文相同的密文,采取起始码密文防竞争处理等操作,则能够正确识别各分片的起始位置。
由于头信息和起始码在视频码流中所占的比例很低,因此对头信息和起始码加密所需的数据量很小,对头信息密文进行置乱、对置乱密文采取起始码防竞争处理所需的数据量也很小,因此本发明除了具有安全性之外,还具有计算低复杂度的特性,在对每一个分片进行视频编码后,就可对编码后的分片进行加密操作,不需为该加密操作额外增加分片进行缓存,降低传输视频码流的延迟。又由于本发明的加密方法没有改变数据信息部分,因此不会影响视频的压缩效率,而加密过程仅增加下一分片起始码加密所需密钥的密文,增加的额外数据量很小,因此也不会对视频的图像质量造成明显影响。此外,由于在每个I帧的第一个分片都使用预设的密钥加密头信息、起始码以及置乱头信息密文,而不是采用与上一个已编码分片的相关变量生成的密钥,因此可以将发生错误的视频码流密文控制在一个I帧间隔周期内,较好地保持了码流的容错性和随机访问的特性。
实施例二:
图5示出了本发明第二实施例提供的一种视频码流加密装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该视频码流解密装置可以是运行于通信终端或存储终端内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到这些通信终端或存储终端中或者运行于这些通信终端或存储终端的应用系统中。其中:
加密头信息模块501,用于对分片的头信息进行加密处理,得到头信息密文;
置乱模块502,用于对加密头信息模块501得到的头信息的密文与头信息密文所处分片的数据信息明文执行置乱操作,得到置乱密文;
起始码和加密起始码密钥加密模块503,对分片的起始码以及加密下一分片起始码的密钥进行加密处理,分别得到起始码密文和密钥密文;
起始码防竞争模块504,用于对置乱密文中与起始码密文相同的密文,采取起始码密文防竞争处理,得到中间密文;
组合模块505,用于将起始码防竞争模块504的中间密文、起始码和加密起始码密钥加密模块503的起始码密文以及密钥密文组合成码流密文。
本发明实施例中,对包含视频码流结构和视频编码关键技术参数等重要信息的视频码流中头信息、起始码进行逐字或逐字节的加密,并通过置乱头信息密文,打乱头信息密文在视频码流中的位置,有效地隐藏起始码和头信息,保证了视频码流中头信息和起始码的安全;在对非I帧或者I帧第一分片以外的任一分片进行加密时,采用不同的密钥,进一步提高该加密方法的可靠性,提高视频码流格式抵抗破解的能力,防止视频内容被非法篡改,从而保障视频数据在存储和传输过程中的安全性。而对置乱密文中与起始码密文相同的密文,采取起始码密文防竞争处理等操作,则能够正确识别各分片的起始位置。
由于头信息和起始码在视频码流中所占的比例很低,因此对头信息和起始码加密所需的数据量很小,对头信息密文进行置乱、对置乱密文采取起始码防竞争处理所需的数据量也很小,因此本发明除了具有安全性之外,还具有计算低复杂度的特性,在对每一个分片进行视频编码后,就可对编码后的分片进行加密操作,不需为该加密操作额外增加分片进行缓存,降低传输视频码流的延迟。又由于本发明的加密方法没有改变数据信息部分,因此不会影响视频的压缩效率,而加密过程仅增加下一分片起始码加密所需密钥的密文,增加的额外数据量很小,因此也不会对视频的图像质量造成明显影响。此外,由于在每个I帧的第一个分片都使用预设的密钥加密头信息、起始码以及置乱头信息密文,而不是采用与上一个已编码分片的相关变量生成的密钥,因此可以将发生错误的视频码流密文控制在一个I帧间隔周期内,较好地保持了码流的容错性和随机访问的特性。
作为本发明的另一个实施例,该视频码流加密装置还包括生成密钥模块506,用于生成相同或不同的用于加密分片的头信息、起始码、对起始码加密所用密钥以及置乱头信息密文的密钥。
作为本发明的另一个实施例,加密头信息模块501还包括:加密第一分片头信息单元5011,用于使用配置的初始密钥与固定密钥组共同加密I帧第一个分片的头信息;加密非第一分片头信息单元5012,用于使用上一个分片的相关变量生成的密钥与固定密钥组共同加密非I帧以及I帧第一个分片以外的任一分片的头信息。
作为本发明的另一个实施例,置乱模块502还包括:置乱第一分片头信息密文单元5021,用于使用配置的初始密钥与固定密钥组共同置乱I帧第一个分片的头信息密文与所述头信息密文所处分片的数据信息明文;置乱非第一分片头信息密文单元5022,用于使用上一个分片的相关变量生成的密钥与固定密钥组共同加密非I帧以及I帧第一个分片以外的任一分片的头信息密文与所述头信息密文所处分片的数据信息明文。
作为本发明的另一个实施例,起始码和加密起始码密钥加密模块503还包括:加密第一分片起始码单元5031,用于使用配置的初始密钥与固定密钥组共同加密I帧第一个分片的起始码;加密非第一分片起始码以及密钥单元5032,用于使用上一个分片的相关变量生成的密钥与固定密钥组共同加密下一个非I帧分片以及I帧第一个分片以外的任一分片的起始码,并用固定密钥组加密该使用上一个分片的相关变量生成的密钥。
实施例三:
图6示出了本发明第三实施例提供的一种视频码流解密方法流程,详述如下:
在步骤S601中,根据分片的起始码密文以及解密上一分片时获取的加密该分片起始码的密钥,解密以获取起始码明文以及用于加密下一分片起始码的密钥,并获取该分片的中间密文;
由于一个视频流中各分片都采用相同的起始码,因此该步骤在解码端视频流起始码未知情况下执行,例如解码端接收到的第一个I帧的第一个分片时需要执行该步骤获取起始码。此后就将该起始码保存在解码端,便于后续分片解密时使用。在已知起始码情况下,可以不执行该步骤,或者执行该步骤作为验证码流正确性的一种手段。
本发明实施例中,使用密钥组[s0,ks1,ks2,...,ksn]加密I帧第一个分片的起始码,使用密钥组[sf-1,ks1,ks2,...,ksn]加密非I帧以及I帧第一个分片以外的任一f分片的起始码,其中,该非I帧为视频流中除I帧以外的帧,如P帧和B帧。因此,在获取分片的起始码明文之前,首先应判断起始码密文是否为I帧第一个分片的起始码密文,若当前分片f为I帧第一个分片,则采用密钥组[s0,ks1,ks2,...,ksn]对相应的I帧第一个分片的起始码密文执行逆加密运算,解密出相应的起始码明文;否则,采用在f-1分片解密时获得的密钥组[sf-1,ks1,ks2,...,ksn]对f分片的起始码密文执行逆加密运算,解密出相应的起始码明文。在本发明实施例中,使用固定密钥组[kb1,kb2,...,kbn]对sf进行加密,因此,使用同样的固定密钥组[kb1,kb2,...,kbn]对sf的密文执行解密操作,就可以得到加密下一分片f+1起始码的密钥sf。即,从已识别的当前分片f的起始码密文后,根据密钥密文的固定长度取出sf-1的密文,解密出f分片起始码加密时采用的密钥sf,所得到的sf与固定密钥组[ks1,ks2,...,ksn]一起,即为加密下一分片f+1起始码的密钥。
为了更清楚地说明解密起始码明文的过程,下面举例说明:
假设使用加密运算法则G、固定密钥组[ks1,ks2]以及sf-1=Lf-1%256加密分片f的起始码,其中,Lf-1为上一个分片f-1编码后字节的长度。加密运算法则G为:
bsj=G(bj,ks1,ks2)=(bj+ks1×j)%256,其中j=2n-1,n为非0自然数;
bsj=G(bj,sf-1,ks1,ks2)=(bj+sf-1+ks2×j)%256,其中j=2n,n为非0自然数。
固定密钥组取为[3,9],字节长度Lf-1取为500,对于H.264/AVC标准的四字节起始码密文0x03060918,即bs1=3,bs2=6,bs3=9,bs4=24,假设上一分片f-1编码后的字节长度为500,则根据公式,得到sf-1=500%256=244,将起始码密文、固定密钥组[3,9]、sf-1等代入上述加密运算法则G中,解密当前分片f的起始码,得到的起始码明文如下:b1=0,b2=0,b3=0,b4=1,即所求起始码为0x00000001。
根据得到的分片f+1起始码加密的密钥,按照与加密起始码过程相同的方法就能生成下一个分片f+1的2种起始码密文,一种为I帧第一个分片的起始码密文,一种为非I帧以及I帧第一个分片以外的任一分片的起始码密文,再从密钥密文之后开始查找这两种起始码密文,确定当前分片f的结束位置,取出当前分片f的中间密文,并确定下一个分片f+1是否为I帧的第一个分片。
在步骤S602中,对分片中采取起始码密文防竞争操作的中间密文采用起始码密文逆防竞争操作,解密出置乱密文;
由于在加密时对置乱密文做了起始码密文防竞争处理,因此解密时还需对中间密文进行起始码密文防竞争逆处理,以得到置乱密文。若要从分片中采取起始码密文防竞争操作的中间密文中解密出置乱密文,需要对2种起始码密文做防竞争逆操作。
为了更清楚地说明解密采用了起始码逆防竞争操作的中间密文,获取包含头信息密文与头信息密文所处分片的数据信息明文的置乱密文的过程,下面举例进行说明:
假设在分片f+1的一种4字节起始码密文,按字节顺序依次为:y1,y2,y3,y4;另一种为:z1,z2,z3,z4;对置乱密文进行防竞争处理,将置乱密文中出现的4种序列,y1,y2,y3,y4;y1,y2,y3,z5;z1,z2,z3,z4;z1,z2,z3,z5分别转换为,y1,y2,y3,z5,y4;y1,y2,y3,z5,z5;z1,z2,z3,z5,z4;z1,z2,z3,z5,z5;即在序列的倒数第2位插入一个z5。在解密中间密文的过程中,如果检测到下面2种序列:y1,y2,y3,z5;z1,z2,z3,z5;则丢弃z5,恢复包含头信息密文与头信息密文所处分片的数据信息明文的置乱密文。
在步骤S603中,解密分片的置乱密文,获取头信息的密文以及数据信息明文;
根据置乱头信息密文与头信息密文所处分片的数据信息明文所用的密钥以及置乱密文,解密出头信息的密文以及头信息密文所处分片的数据信息明文。
在本发明实施例中,若当前分片为I帧第一分片,置乱该分片头信息的密文与该片数据信息明文所用的密钥为[c0,kc1,kc2,...,kcn],其中,c0为预先配置的一个密钥;否则,置乱当前分片f的头信息密文与该片数据信息明文所用的密钥为[cf-1,kc1,kc2,...,kcn],其中cf-1为根据分片f-1的相关变量计算得到。
根据分片是否为I帧第一分片,采取相应的置乱密钥组,从置乱密文中解密出头信息密文以及头信息密文所处分片的数据信息明文,该步骤与实施例一中置乱加密的步骤相似,为置乱加密的逆运算,此处不再赘述。
在步骤S604中,解密分片的头信息密文,获取头信息。
根据从置乱密文中得到的头信息密文以及加密该头信息的密钥,解密出相应的头信息。
本发明实施例中,若当前分片f为I帧第一分片,则加密该分片的头信息使用的密钥组是[h0,kh1,kh2,...,khn];否则,加密该分片的头信息使用的密钥组是[hf-1,kh1,kh2,...,khn],因此,在解密头信息时,如果头信息的密文为I帧第一分片头信息的密文,则使用密钥组[h0,kh1,kh2,...,khn]解密;如果头信息的密文是非I帧以及I帧第一分片以外任一分片头信息的密文,则使用密钥组[hf-1,kh1,kh2,...,khn]解密。其中h0、[kh1,kh2,...,khn]为预先配置的密钥,而hf-1则是根据上一个分片f-1的相关变量得到,比如根据字节长度计算得到。
本发明实施例中,根据对当前分片的头信息、起始码、加密起始码的密钥进行加密所用的密钥,以及置乱头信息密文与该头信息密文所处分片的数据信息明文所用的密钥,从相应的密文中解密出头信息、起始码、加密起始码的密钥以及数据信息明文。由于仅需对数据较少的头信息密文、起始码密文、中间密文、置乱密文以及密钥密文执行解密操作,而不用对分片中数据较多的数据信息执行解密操作,因而大大降低了计算复杂度。
实施例四:
图7示出了本发明第四实施例提供的视频码流解密装置结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该视频码流解密装置可以是运行于通信终端或存储终端内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到这些通信终端或存储终端中或者运行于这些通信终端或存储终端的应用系统中。其中:
解密起始码密文模块701,用于根据分片的起始码密文以及解密上一分片时获取的加密该分片起始码的密钥,解密以获取起始码明文以及用于加密下一分片起始码的密钥,并获取该分片的中间密文;
解密中间密文模块702,用于对分片中采取起始码密文防竞争操作的中间密文采用起始码密文逆防竞争操作,解密出置乱密文;
解密置乱密文模块703,用于解密分片的置乱密文,获取头信息的密文以及数据信息明文;
解密头信息密文模块704,用于解密分片的头信息密文,获取头信息。
本发明实施例中,解密起始码密文模块701、解密中间密文模块702,根据从码流密文中取出的起始码密文、密钥密文以及中间密文分别解密出相应的起始码密钥、起始码明文以及置乱密文,再通过解密置乱密文模块703解密该置乱密文,解密出头信息密文、数据信息明文,最后由解密头信息密文模块704解密出头信息。由于解密的过程中,计算的复杂度都较低,因此可以快速地从密文中解密出相应的明文信息。
本发明实施例,使用固定密钥组以及利用预先配置的密钥共同加密I帧第一分片的头信息、起始码、加密起始码的密钥以及执行置乱头信息密文、对置乱密文中与起始码密文相同的密文采取起始码密文防竞争处理等操作;在当前分片为非I帧或者I帧第一分片以外的任一分片时,则使用固定密钥组以及利用上一个已编码分片的相关变量生成的密钥,共同加密当前非I帧或者I帧第一分片以外的任一分片的头信息、起始码、加密起始码的密钥以及执行置乱头信息密文、对置乱密文中与起始码密文相同的密文采取起始码密文防竞争处理等操作。其中,固定的加密头信息的密钥组[kh1,kh2,...,khn]、置乱头信息的密钥组[kc1,kc2,...,kcn]、加密起始码的密钥组[ks1,ks2,...,ksn]以及加密起始码密钥的密钥组[kb1,kb2,...,kbn]可以根据实际情况的要求选择相同也可以不同,当固定密钥组都相同时,计算复杂度会降低,而固定密钥组不同时,则可以提高该码流抵抗攻击的能力;同理,预先配置的加密I帧第一个分片头信息的密钥h0、置乱密钥c0、加密起始码的密钥s0也可以相同或者不同,加密非I帧以及I帧第一个以外的任一分片的头信息的密钥hf-1、置乱密钥cf-1以及加密起始码的密钥sf-1,可以利用上一个已编码分片相关的相同变量或者不同变量生成,生成方法可以相同也可以不同,如都利用上一个已编码分片的字节长度采用相同或者不同的方法生成,也可以利用相同或不同的混沌模型生成。对包含视频码流结构和视频编码关键技术参数等重要信息的视频码流中头信息、起始码进行逐字或逐字节的加密,并通过置乱头信息密文,打乱头信息密文在视频码流中的位置,有效地隐藏起始码和头信息,保证了视频码流中头信息和起始码的安全;在对非I帧或者I帧第一分片以外的任一分片进行加密时,采用不同的密钥,进一步提高该加密方法的可靠性,提高视频码流格式抵抗破解的能力,防止视频内容被非法篡改,从而保障视频数据在存储和传输过程中的安全性。而对置乱密文中与起始码密文相同的密文,采取起始码密文防竞争处理等操作,则能够正确识别各分片的起始位置。
由于头信息和起始码在视频码流中所占的比例很低,因此对头信息和起始码加密所需的数据量很小,对头信息密文进行置乱、对置乱密文采取起始码防竞争处理所需的数据量也很小,因此本发明除了具有安全性之外,还具有计算低复杂度的特性,在对每一个分片进行视频编码后,就可对编码后的分片进行加密操作,不需为该加密操作额外增加分片进行缓存,降低传输视频码流的延迟。又由于本发明的加密方法没有改变数据信息部分,因此不会影响视频的压缩效率,而加密过程仅增加下一分片起始码加密所需密钥的密文,增加的额外数据量很小,因此也不会对视频的图像质量造成明显影响。此外,由于在每个I帧的第一个分片都使用预设的密钥加密头信息、起始码以及置乱头信息密文,而不是采用与上一个已编码分片的相关变量生成的密钥,因此可以将发生错误的视频码流密文控制在一个I帧间隔周期内,较好地保持了码流的容错性和随机访问的特性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种视频码流加密方法,其特征在于,所述方法包括下述步骤:
对分片的头信息进行加密处理,得到头信息密文;
对得到的头信息密文与所述头信息密文所处分片的数据信息明文进行置乱加密,得到置乱密文;
对分片的起始码以及加密下一分片起始码的密钥进行加密处理,分别得到起始码密文和密钥密文;
对置乱密文中与起始码密文相同的密文,采取起始码密文防竞争处理,得到中间密文;
将中间密文、起始码密文以及密钥密文组合成码流密文。
2.如权利要求1所述的方法,其特征在于,所述对分片的头信息进行加密处理,得到头信息密文的步骤具体为:
使用配置的初始密钥与固定密钥组共同加密I帧第一个分片的头信息;
使用上一个分片的相关变量生成的密钥与固定密钥组共同加密非I帧以及I帧第一个分片以外的任一分片的头信息。
3.如权利要求1所述的方法,其特征在于,所述对得到的头信息密文与所述头信息密文所处分片的数据信息明文进行置乱加密,得到置乱密文的步骤具体为:
使用配置的初始密钥与固定密钥组共同置乱I帧第一个分片的头信息密文与所述头信息密文所处分片的数据信息明文;
使用上一个分片的相关变量生成的密钥与固定密钥组共同加密非I帧以及I帧第一个分片以外的任一分片的头信息密文与所述头信息密文所处分片的数据信息明文。
4.如权利要求1所述的方法,其特征在于,所述对分片的起始码以及加密下一分片起始码的密钥进行加密处理,分别得到起始码密文和密钥密文的步骤具体为:
使用配置的初始密钥与固定密钥组共同加密I帧第一个分片的起始码;
使用上一个分片的相关变量生成的密钥与固定密钥组共同加密下一个非I帧分片以及I帧第一个分片以外的任一分片的起始码,并用固定密钥组加密使用上一个分片的相关变量生成的密钥。
5.如权利要求1所述的方法,其特征在于,所述方法还包括下述步骤:
生成相同或不同的用于加密分片的头信息、起始码、对起始码加密所用密钥以及置乱头信息密文的密钥。
6.一种视频码流加密装置,其特征在于,所述装置包括:
加密头信息模块,用于对分片的头信息进行加密处理,得到头信息密文;
置乱模块,用于对得到头信息密文与头信息密文所处分片的数据信息明文进行置乱加密,得到置乱密文;
起始码和加密起始码密钥加密模块,用于对分片的起始码以及加密下一分片起始码的密钥进行加密处理,分别得到起始码密文和密钥密文;
起始码防竞争模块,用于对置乱密文中与起始码密文相同的密文,采取起始码密文防竞争处理,得到中间密文;
组合模块,用于将中间密文、起始码密文以及密钥密文组合成码流密文。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
生成密钥模块,用于生成相同或不同的用于加密分片的头信息、起始码、对起始码加密所用密钥以及置乱头信息密文的密钥。
8.一种包含权利要求6至7任一项的视频码流加密装置的通信终端。
9.一种包含权利要求6至7任一项的视频码流加密装置的存储终端。
10.一种视频码流解密方法,其特征在于,所述方法包括下述步骤:
根据分片的起始码密文以及解密上一分片时获取的加密所述分片起始码的密钥,解密以获取起始码明文以及用于加密下一分片起始码的密钥,并获取所述分片的中间密文;
对分片中采取起始码密文防竞争操作的中间密文采用起始码密文逆防竞争操作,解密出置乱密文;
解密分片的置乱密文,获取头信息的密文以及数据信息明文;
解密分片的头信息密文,获取头信息。
11.如权利要求10所述的方法,其特征在于,所述根据分片的起始码密文以及解密上一分片时获取的加密所述分片起始码的密钥,解密以获取起始码明文以及用于加密下一分片起始码的密钥,并获取所述分片的中间密文的步骤具体为:
根据配置的初始密钥和密钥组以及起始码密文解密出I帧第一分片的起始码以及加密所述I帧第一分片的下一分片起始码的密钥,并获取所述I帧第一分片的中间密文;
根据获得的密钥组和起始码密文解密出非I帧或I帧第一分片以外的任一分片的起始码,以及加密所述非I帧或I帧第一分片以外的任一分片的下一分片起始码的密钥,并获取所述非I帧或I帧第一分片以外的任一分片的中间密文。
12.一种视频码流解密装置,其特征在于,所述装置包括:
解密起始码密文模块,用于根据分片的起始码密文以及解密上一分片时获取的加密所述分片起始码的密钥,解密以获取起始码明文以及用于加密下一分片起始码的密钥,并获取所述分片的中间密文;
解密中间密文模块,用于对分片中采取起始码密文防竞争操作的中间密文采用起始码密文逆防竞争操作,解密出置乱密文;
解密置乱密文模块,用于解密分片的置乱密文,获取头信息的密文以及数据信息明文;
解密头信息密文模块,用于解密分片的头信息密文,获取头信息。
13.一种包含权利要求12的视频码流解密装置的通信终端。
14.一种包含权利要求12的视频码流解密装置的存储终端。
CN 201010548863 2010-11-16 2010-11-16 一种视频码流加、解密方法、装置及通信、存储终端 Active CN102469344B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010548863 CN102469344B (zh) 2010-11-16 2010-11-16 一种视频码流加、解密方法、装置及通信、存储终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010548863 CN102469344B (zh) 2010-11-16 2010-11-16 一种视频码流加、解密方法、装置及通信、存储终端

Publications (2)

Publication Number Publication Date
CN102469344A true CN102469344A (zh) 2012-05-23
CN102469344B CN102469344B (zh) 2013-10-09

Family

ID=46072403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010548863 Active CN102469344B (zh) 2010-11-16 2010-11-16 一种视频码流加、解密方法、装置及通信、存储终端

Country Status (1)

Country Link
CN (1) CN102469344B (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103313097A (zh) * 2013-06-28 2013-09-18 贝壳网际(北京)安全技术有限公司 对编码文件进行加密以及解密的方法及系统
CN104159116A (zh) * 2014-08-26 2014-11-19 江苏瑞奥风软件科技有限公司 一种将人脸识别信息加入h264视频流中的方法
CN104883257A (zh) * 2014-06-12 2015-09-02 梁庆生 一种大数据加密方法
CN105208404A (zh) * 2015-08-26 2015-12-30 北京新东方迅程网络科技有限公司 一种视频加密、解密方法及装置
CN105337963A (zh) * 2015-09-30 2016-02-17 北京奇虎科技有限公司 多媒体数据加密方法和装置
CN107172433A (zh) * 2017-04-28 2017-09-15 安徽四创电子股份有限公司 一种视频加密方法
CN107911210A (zh) * 2017-10-20 2018-04-13 广东省南方数字电视无线传播有限公司 视频切片加密、解密方法及相应装置
CN108322778A (zh) * 2018-02-09 2018-07-24 珠海迈科智能科技股份有限公司 一种提升dvb数据流加扰速度的方法及装置
CN109101198A (zh) * 2018-08-28 2018-12-28 北京明朝万达科技股份有限公司 移动存储设备的磁盘控制方法和装置
CN110401818A (zh) * 2019-08-08 2019-11-01 北京珞安科技有限责任公司 一种电力视频传输的安全通信系统及方法
CN110427762A (zh) * 2019-07-23 2019-11-08 湖南匡安网络技术有限公司 一种实现电力监控系统视频安全传输的加密和解密方法
CN110611830A (zh) * 2019-09-29 2019-12-24 腾讯科技(深圳)有限公司 一种视频处理方法、装置、设备及介质
CN110650150A (zh) * 2019-10-10 2020-01-03 上海久誉软件系统有限公司 一种基于5g网络的计算机无线传播神经网络方法
CN111107298A (zh) * 2019-12-04 2020-05-05 上海百脑经贸有限公司 一种视频会议加密方法
CN112422984A (zh) * 2020-10-26 2021-02-26 眸芯科技(上海)有限公司 多核解码系统的码流预处理装置、系统及方法
CN113014956A (zh) * 2019-12-20 2021-06-22 腾讯科技(深圳)有限公司 视频播放方法以及装置
CN114679625A (zh) * 2022-05-27 2022-06-28 南斗六星系统集成有限公司 一种防历史视频回放数据被窃取和篡改的方法
CN116016993A (zh) * 2022-11-15 2023-04-25 上海热线信息网络有限公司 基于可逆元胞自动机的视频加密、解密方法及设备
EP4322466A1 (en) * 2022-08-08 2024-02-14 Apple Inc. Techniques for transmitting frames with securely scrambled payload

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108768606B (zh) * 2018-05-10 2021-09-17 深圳市汇星数字技术有限公司 基于视频传输的流媒体实时加密方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6021391A (en) * 1998-03-03 2000-02-01 Winbond Electronics Corp. Method and system for dynamic data encryption
US20040081333A1 (en) * 2002-10-23 2004-04-29 Grab Eric W. Method and system for securing compressed digital video
US20060036551A1 (en) * 2004-03-26 2006-02-16 Microsoft Corporation Protecting elementary stream content
US20060184790A1 (en) * 2004-03-26 2006-08-17 Microsoft Corporation Protecting elementary stream content
US20070033419A1 (en) * 2003-07-07 2007-02-08 Cryptography Research, Inc. Reprogrammable security for controlling piracy and enabling interactive content
CN1992879A (zh) * 2005-11-17 2007-07-04 三星电子株式会社 可分级视频比特流的加密/解密方法及系统
CN101064813A (zh) * 2006-04-28 2007-10-31 中国科学院计算技术研究所 视频加解密装置以及加解密方法
CN101247506A (zh) * 2007-02-14 2008-08-20 中国科学院声学研究所 在数字媒体播放系统中的文件加密方法及加密文件结构

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6021391A (en) * 1998-03-03 2000-02-01 Winbond Electronics Corp. Method and system for dynamic data encryption
US20040081333A1 (en) * 2002-10-23 2004-04-29 Grab Eric W. Method and system for securing compressed digital video
US20070033419A1 (en) * 2003-07-07 2007-02-08 Cryptography Research, Inc. Reprogrammable security for controlling piracy and enabling interactive content
US20060036551A1 (en) * 2004-03-26 2006-02-16 Microsoft Corporation Protecting elementary stream content
US20060184790A1 (en) * 2004-03-26 2006-08-17 Microsoft Corporation Protecting elementary stream content
CN1992879A (zh) * 2005-11-17 2007-07-04 三星电子株式会社 可分级视频比特流的加密/解密方法及系统
CN101064813A (zh) * 2006-04-28 2007-10-31 中国科学院计算技术研究所 视频加解密装置以及加解密方法
CN101247506A (zh) * 2007-02-14 2008-08-20 中国科学院声学研究所 在数字媒体播放系统中的文件加密方法及加密文件结构

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103313097B (zh) * 2013-06-28 2016-12-07 贝壳网际(北京)安全技术有限公司 对编码文件进行加密以及解密的方法及系统
CN103313097A (zh) * 2013-06-28 2013-09-18 贝壳网际(北京)安全技术有限公司 对编码文件进行加密以及解密的方法及系统
CN104883257B (zh) * 2014-06-12 2018-05-25 梁庆生 一种大数据加密方法
CN104883257A (zh) * 2014-06-12 2015-09-02 梁庆生 一种大数据加密方法
CN104159116A (zh) * 2014-08-26 2014-11-19 江苏瑞奥风软件科技有限公司 一种将人脸识别信息加入h264视频流中的方法
CN104159116B (zh) * 2014-08-26 2018-02-02 江苏瑞奥风软件科技有限公司 一种将人脸识别信息加入h264视频流中的方法
CN105208404A (zh) * 2015-08-26 2015-12-30 北京新东方迅程网络科技有限公司 一种视频加密、解密方法及装置
CN105337963A (zh) * 2015-09-30 2016-02-17 北京奇虎科技有限公司 多媒体数据加密方法和装置
CN107172433A (zh) * 2017-04-28 2017-09-15 安徽四创电子股份有限公司 一种视频加密方法
CN107911210A (zh) * 2017-10-20 2018-04-13 广东省南方数字电视无线传播有限公司 视频切片加密、解密方法及相应装置
CN108322778A (zh) * 2018-02-09 2018-07-24 珠海迈科智能科技股份有限公司 一种提升dvb数据流加扰速度的方法及装置
CN109101198A (zh) * 2018-08-28 2018-12-28 北京明朝万达科技股份有限公司 移动存储设备的磁盘控制方法和装置
CN109101198B (zh) * 2018-08-28 2020-07-10 北京明朝万达科技股份有限公司 移动存储设备的磁盘控制方法和装置
CN110427762A (zh) * 2019-07-23 2019-11-08 湖南匡安网络技术有限公司 一种实现电力监控系统视频安全传输的加密和解密方法
CN110427762B (zh) * 2019-07-23 2021-03-23 湖南匡安网络技术有限公司 一种实现电力监控系统视频安全传输的加密和解密方法
CN110401818A (zh) * 2019-08-08 2019-11-01 北京珞安科技有限责任公司 一种电力视频传输的安全通信系统及方法
CN110401818B (zh) * 2019-08-08 2020-11-13 北京珞安科技有限责任公司 一种电力视频传输的安全通信系统
CN110611830A (zh) * 2019-09-29 2019-12-24 腾讯科技(深圳)有限公司 一种视频处理方法、装置、设备及介质
CN110650150A (zh) * 2019-10-10 2020-01-03 上海久誉软件系统有限公司 一种基于5g网络的计算机无线传播神经网络方法
CN111107298A (zh) * 2019-12-04 2020-05-05 上海百脑经贸有限公司 一种视频会议加密方法
CN113014956A (zh) * 2019-12-20 2021-06-22 腾讯科技(深圳)有限公司 视频播放方法以及装置
CN113014956B (zh) * 2019-12-20 2022-06-03 腾讯科技(深圳)有限公司 视频播放方法以及装置
CN112422984A (zh) * 2020-10-26 2021-02-26 眸芯科技(上海)有限公司 多核解码系统的码流预处理装置、系统及方法
CN112422984B (zh) * 2020-10-26 2023-02-28 眸芯科技(上海)有限公司 多核解码系统的码流预处理装置、系统及方法
CN114679625A (zh) * 2022-05-27 2022-06-28 南斗六星系统集成有限公司 一种防历史视频回放数据被窃取和篡改的方法
CN114679625B (zh) * 2022-05-27 2022-09-23 南斗六星系统集成有限公司 一种防历史视频回放数据被窃取和篡改的方法
EP4322466A1 (en) * 2022-08-08 2024-02-14 Apple Inc. Techniques for transmitting frames with securely scrambled payload
CN116016993A (zh) * 2022-11-15 2023-04-25 上海热线信息网络有限公司 基于可逆元胞自动机的视频加密、解密方法及设备

Also Published As

Publication number Publication date
CN102469344B (zh) 2013-10-09

Similar Documents

Publication Publication Date Title
CN102469344B (zh) 一种视频码流加、解密方法、装置及通信、存储终端
CN110401818B (zh) 一种电力视频传输的安全通信系统
CN101465724B (zh) 一种加密的Huffman编码方法,及其解码方法
US10237248B2 (en) Encoder, decoder and method
US20100284537A1 (en) Method for efficiently decoding a number of data channels
Deshmukh et al. Modified AES based algorithm for MPEG video encryption
CN103338385A (zh) 视频处理系统及相应方法
EP3195519B1 (en) Encoder, decoder and methods employing partial data encryption
CN101247520B (zh) 一种视频数据加密/解密方法
CN1633068B (zh) 一种点到点通信中的媒体流传输方法
CN104639943A (zh) 一种基于h.264编码标准的通用视频加密方法及系统
CN103856786A (zh) 一种基于h.264的流媒体视频加密方法及其加密装置
JPWO2005029765A1 (ja) 送信装置および受信装置、ならびに、データ伝送システム
CN102970530A (zh) 基于压缩编码的gif图像加密方法
CN109168033A (zh) 一种视频隐私数据保护系统及方法
CN107396106A (zh) 一种基于h.265编码标准的视频加密算法
CN113300840A (zh) 一种联合汉明码的数据随机加密通信方法
Giradkar et al. Securing compressed video streams using RC4 encryption scheme
CN110071795A (zh) 基于h.264/avc视频编码特性的选择性加密方法
CN105187912A (zh) 密文视频播放器及播放方法
CN112533001B (zh) 基于分组加密的avs2熵编码的视频信源加解密系统及方法
CN101917623B (zh) 编码码流的防篡改加密方法、检测方法及装置
CN201663660U (zh) 一种数字视频数据加、解密系统
Prabhakaran et al. A new cryptic steganographic approach using video steganography
Ma et al. Bitstream-oriented protection for the h. 264/scalable video coding (svc)

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190807

Address after: 518057 Nanshan District science and technology zone, Guangdong, Zhejiang Province, science and technology in the Tencent Building on the 1st floor of the 35 layer

Co-patentee after: Tencent cloud computing (Beijing) limited liability company

Patentee after: Tencent Technology (Shenzhen) Co., Ltd.

Address before: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403

Patentee before: Tencent Technology (Shenzhen) Co., Ltd.

TR01 Transfer of patent right