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

文档序号:7765584阅读:523来源:国知局
专利名称:一种视频码流加、解密方法、装置及通信、存储终端的制作方法
技术领域
本发明属于音视频领域,尤其涉及一种视频码流加、解密方法、装置及通信、存储终端。
背景技术
高效率数字视频编码标准H. 264/AVC, MPEG-4、MPEG-2等标准定义的码流,由组织成有层次结构的句法元素组成,该层次结构可以分为序列、图像、片、宏块、子宏块等,而各个层次的信息都由句法元素分别描述。其中,句法元素是视频编码输出的码流中数据的基本单位,每个句法元素由若干比特组成,他表示某个特定的物理意义,比如可以表示宏块类型、量化参数、残差数据等。图1示出了句法元素组成的分层结构,5层结构中,视频序列 101、图像102、片103、宏块104、子宏块105,每一个层次都由头信息和该层的数据信息组成。而头信息的句法元素则是该层数据的核心,它通常包含了该层数据编码的一些参数信息,一旦头信息丢失或遭到破坏,几乎不可能再正确解码出该层的数据信息。为了便于视频解码器在码流中取出特定的数据单元进行解码,一般需要在码流中添加起始码来标识特定数据单元的起始、终止位置。例如,H.264/AVC标准可将一个分片或者一个参数集的句法作为一个网络抽象层(Network Abstraction 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. ^4/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帧的第一个分片,采用配置的初始密钥Iitl与固定密钥组[khl, 、,...,kta]共同加密I帧第一个分片的头信息;否则,根据上一个已编码分片f-ι的相关变量生成的密钥Iv1与固定密钥组[khl,kh2,. . . ,kj共同加密I帧第一分片以外的任一分片f的头信息。即使用密钥组Dv khl,kh2, ...,kj加密I帧第一分片的头信息,而使用密钥组Dv1,khl,、,...,kto]加密ι帧第一分片以外的任一分片f的头信息,对分片的头信息加密后就可以得到相应的头信息密文。若当前分片f为P或B帧的分片,则根据上一个I帧或P帧或B帧已编码分片f-ι 的相关变量生成的密钥hf_i,与固定密钥组[khl,、,...,kj共同加密P或B帧当前分片f 的头信息,即加密P或B帧分片的头信息与加密I帧第一分片以外的任一分片的头信息的密钥组,都为 Dv1,khl,、,···,kj。为了更清楚地说明使用密钥组Dv1,khl,kh2,. . . ,kj加密非I帧以及I帧第一分片以外任一分片头信息的过程,下面举例进行说明假设当前分片f的头信息按字节依次用Hi1, m2,. .,mn表示,加密后的头信息密文按字节依次用C1, C2, ... , Cn表示,由上一个分片f-ι的相关变量生成的密钥Iv1 = Lm % 256,其中,Lf_i为上一个分片f_l编码后字节的长度,%表示对长度Lf_i取模,固定密钥组只取2个,为[khl, kj。加密法则g为Ci = gOvkh”。= (mi+khlXi)% 256,其中 i = 2n-l,n 为非 O 自然数;Ci = gOv V1,khl,kj = (HiJhf-^kh2Xi) % 256,其中 i = 2η, η 为非 O 自然数。假定当前分片f的头信息的前4个字节为Hi1, m2, m3, m4为0,1,6,1,固定密钥组 [khl,kj为[5,8],上一分片f-Ι的长度为485字节,则根据公式V1 = Lm% 256,得到V1 =485% 256 = 229,使用上述加密法则g加密当前分片f的头信息的前4个字节,得到的密文如下C1 = (0+5X1) % 256 = 5,C2 = (0+229+8X2) % 256 = 246,C3 = (6+5X3) % 256 = 21,c4 = (1+229+8X4) % 256 = 6即头信息Hi1, m2,m3,m4 为 0,1,0,1 的密文分别为 0x05,0xF6,0x15,0x06。作为本发明的又一个实施例,加密当前分片f头信息的密钥组Dv khl,、,...,kta]和Dv1,khl,、,...,kta]可以直接由一个伪随机序列发生器产生,即密钥Iv1也可以使用其他变量生成,比如预先设定与上一个分片的变量无关的初始变量,再用logistic模型迭代产生,而不一定使用上一个分片的相关变量生成。在步骤S202中,对得到的头信息密文与该头信息密文所处分片的数据信息明文进行置乱加密,得到置乱密文;视频码流中头信息包含了视频编码关键技术参数等重要信息,在对码流中头信息加密后,为了进一步保护头信息密文的安全,可以将头信息密文的位置转移至分片内的另一位置,即将头信息密文隐藏在该分片的数据信息明文中。置乱隐藏位置的算法可以预先设定。其中,对得到头信息密文与该头信息密文所处分片的数据信息明文进行置乱加密,得到置乱密文的步骤具体为使用配置的初始密钥与固定密钥组共同置乱I帧第一个分片的头信息密文与所述头信息密文所处分片的数据信息明文;使用上一个分片的相关变量生成的密钥与固定密钥组共同加密非I帧以及I帧第一个分片以外的任一分片的头信息密文与所述头信息密文所处分片的数据信息明文。其中,该非I帧为视频流中除I帧以外的帧,如P帧和B帧。本发明实施例中,在置乱I帧第一分片头信息的密文与该头信息密文所处分片的数据信息明文时,采用预先配置的Ctl以及固定密钥组D^,k。2,. . .,kj 一起作为置乱头信息密文与该头信息密文所处分片的数据信息明文的密钥,在置乱非I帧以及I帧第一分片以外任一分片f头信息的密文时,则使用f分片的上一分片f-1的相关变量生成的密钥cf_i,与固定密钥组D^1, k。2,
k。n] —起作为置乱该f分片头信息密文与该头信息密文所处分片的数据信息明文的密钥。 艮口,使用密钥组[Cykc^km . . .,k。n]置乱I帧第一分片头信息与该头信息密文所处分片的数据信息明文的密文,使用密钥组[cf_i,kcl, k。2,. . .,kj置乱非I帧以及I帧第一分片以外的任一分片f的头信息密文与该头信息密文所处分片的数据信息明文。其中,(V1可以使用上一个已编码分片f-i的变量,如长度变量产生。为了更清楚地说明置乱头信息密文与该头信息密文所处分片的数据信息明文的过程,下面举例进行说明假设当前分片的数据信息明文长度为η字节,置乱头信息密文与该头信息密文所处分片的数据信息明文的密钥组为[(^1,kcl, k。2],则将该头信息密文插入到数据信息明文的第 d 个字节后,其中,d 为对式子[ηX (kcl+c% (kcl+kc2))^(kcl+kc2+c% (kcl+kc2))] 向下取整所得的数,假设Ch = 20,kcl = 3,kc2 = 5, η = 525,则代入式子[ηX (kcl+c% (kcl+kc2)) + (kcl+kc2+c% (kcl+kc2))]后,所得结果为 306. 25,向下取整后,得到 d 为 306,即将该分片的头信息密文插入到第306个字节之后的数据信息明文中,如图3所示,该片的置乱密文中,前306个字节为数据信息明文,接着是头信息密文,然后再是219个数据信息明文。作为本发明的又一个实施例,可以预先设定一个初始序列,该初始序列作为随机序列生成器的初始变量,生成置乱当前分片头信息密文与该头信息密文所处分片的数据信息明文的密钥组,其中,该初始序列与上一分片的相关变量无关。在步骤S203中,对分片的起始码以及加密下一分片起始码的密钥进行加密处理,分别得到起始码密文和密钥密文;起始码标识一个NAL单元的开始或者结束。其中,对分片的起始码以及加密该分片起始码的密钥进行加密处理,分别得到起始码密文和密钥密文的步骤具体为使用配置的初始密钥与固定密钥组共同加密I帧第一个分片的起始码;使用上一个分片的相关变量生成的密钥与固定密钥组共同加密下一个非I帧分片以及I帧第一个分片以外的任一分片的起始码,并用固定密钥组加密使用上一个分片的相关变量生成的密钥。本发明实施例中,逐位或者逐字节加密起始码的密钥包括2部分一部分是预先配置的固定密钥组Rsl,ks2,kj ;另一部分是根据上一个分片f-1的相关变量生成加密当前分片f起始码的密钥sf_i,即使用密钥组[Sf_i,ksl,ks2,ksn]加密非I帧以及I 帧第一个分片以外任一分片f的起始码,该非I帧为视频中流除I帧以外的帧,如P帧和B 帧。如果当前分片为I帧的第一分片,则用密钥组[S(1,ksl,ks2,.. .,ksn]加密I帧第一分片的起始码,其中,%为预先配置的密钥。作为本发明的又一个实施例,为了便于解密时从码流中取出加密起始码的密钥 Sf^1的密文,可以固定密钥Sg的长度。为了更清楚地说明加密非I帧以及I帧第一分片以外的任一分片起始码的过程, 下面举例进行说明假设当前分片f的起始码明文,按字节依次用b1; b2,b3,比表示,加密后的起始码密文按字节顺序依次用bsl,bs2,bs3,bs4表示,起始码所需的密钥Sg仍为上一个已编码分片的长度Lf_i与256取模,即,Sg = Lm% 256,对当前码流预先设定的起始码加密密钥组为 [ksl,ks2],加密运算法则G为:bsJ = G(bj; ksl,ks2) = (b,kslXj) % 256,其中 j = 2n_l,η 为非 0 自然数;bSJ = GOv ,、,ks2) = (bJ+sf_1+ks2Xj)% 256,其中 j = 2η,η 为非 0 自然数。对于H. 264/AVC 标准的四字节起始码 0x00000001,即 Id1 = 0,b2 = 0,b3 = 0,b4 =1,固定密钥组Rsl,ks2]取为[3,9],上一分片f-Ι的长度为500字节,则根据公式sf_i = Lf-:% 256,得到sf_i = 500% 256 = M4,使用上述加密法则G加密当前分片f的起始码,得到的密文如下bsl = (0+3X1) % 256 = 3,bs2 = (0+244+9X2) % 256 = 6,bs3 = (0+3X3) % 256 = 9,bs4 = (1+244+9X4) % 256 = 24即起始码 0x00000001 的密文为 0x03060918。作为本发明的又一个实施例,加密当前分片起始码的密钥组[S(l,ksl,ks2,ksn] 和[Sg,ksl,ks2,kj可以直接由一个伪随机序列发生器产生,即密钥Sm也可以使用其他变量生成,比如预先设定与上一个分片变量无关的变量,再将该初始变量作为混合光学双稳模型的初始变量迭代产生,该模型可以取为Xn+1 = Asin (Xn_XB),其中,A和Xb为该系统的系数,在A = 4, Xb = 2. 5的情况下, 给定初始变量χη,则迭代产生的χη+1将进入无序状态,因此可以利用该系统产生的毫无规则的Xn+1序列作为加密分片起始码的密钥组[SQ,ksl,ks2,... , ksn]和[Sf_i,ksl,ks2,... , ksn]。
为了更好地保护加密分片起始码密钥的安全,可以使用固定密钥组对获取的密钥 Sf^1进行加密,假定使用固定密钥组D^bl,kb2,...,kbn]逐位或者逐字节地对加密起始码的密钥Sg加密,并得到相应的密文。在步骤S204中,对置乱密文中与起始码密文相同的密文,采取起始码密文防竞争处理,得到中间密文;加密每一个分片起始码可能采用的密钥有2种,一种是加密I帧第一个分片起始码的密钥,另一种是加密非I帧以及I帧第一个分片以外的任一分片起始码的密钥,相应地,将产生2种起始码密文。其中,该非I帧为视频流中除I帧以外的帧,如P帧和B帧。为了防止将出现在当前分片的置乱密文中,且与下一个分片可能的2种起始码密文相同的密文,错误地识别为下一个分片的起始码密文,并识别为该分片的边界,需要采取起始码密文防竞争操作,即将出现在当前分片的置乱密文中,且与下一个分片的1种或2种起始码密文相同的密文,以另一种形式表示。为了更清楚地说明采取的起始码密文防竞争操作的过程,下面举例进行说明假设分片f+Ι的一种4字节起始码密文,按字节顺序依次为yi,y2, y3,y4 ;另一种为Zl,z2, Z3, Z4;依次检测当前分片f中置乱密文的每个字节,如果检测到下面4种序列, y” y2' y3' y4 ;yi,y2,y3' y5 ;zi,z2, z3, z4 ;Z1, z2, z3, z5 ;则将上述 4 种序列分别转换为,y” y2,
Y3' Z5' 5^4 ; Yl ‘ Υ2'又3,Ζ5' ?5 ;Z1' Z2' Z3' Z5' Z4 ;Z1' Z2' Z3' Z5' Z5
;即在序列的倒数第2位插入一个Z5,其中、兴、且、兴y4,这样,f分片中就不存在与下一个分片f+Ι可能的2种起始码密文完全一样的密文。对出现在当前分片f的置乱密文中且与下一个分片f+Ι的起始码密文相同的密文,都采取起始码密文防竞争操作,并得到处理后的中间密文。在本发明实施例中,对出现在当前分片的置乱密文中且与下一个分片的起始码密文相同的密文采取起始码密文防竞争操作,确保当前分片的置乱密文中不存在与下一个分片的起始码密文相同的密文,因此不会错误地将出现与下一个分片的起始码密文相同的密文的位置识别为下一个分片的起始位置。在步骤S205中,将中间密文、起始码密文以及密钥密文组合成码流密文。将得到的中间密文、起始码密文以及密钥密文组合起来,并写入码流密文以便传输,如图4所示。图4示出了码流密文中第f_l分片和第f分片的结构,其中,第f_l分片的码流密文包含了该第分片的起始码密文、加密该第分片的起始码所用的密钥Sg 的密文、以及对该第f-ι分片的置乱密文采取起始码防竞争处理后得到的中间密文;第f分片的码流密文包含了该第f分片的起始码密文、加密该第f分片的起始码所用的密钥&的密文、以及对该第f分片的置乱密文采取起始码防竞争处理后得到的中间密文。本发明实施例中,使用固定密钥组以及利用预先配置的密钥共同加密I帧第一分片的头信息、起始码、加密起始码的密钥以及执行置乱头信息密文、对置乱密文中与起始码密文相同的密文采取起始码密文防竞争处理等操作;在当前分片为非I帧或者I帧第一分片以外的任一分片时,则使用固定密钥组以及利用上一个已编码分片的相关变量生成的密钥,共同加密当前非I帧或者I帧第一分片以外的任一分片的头信息、起始码、加密起始码的密钥以及执行置乱头信息密文、对置乱密文中与起始码密文相同的密文采取起始码密文防竞争处理等操作。其中,固定的加密头信息的密钥组Dchl,、,...,kto]、置乱头信息的密
12钥组Rca,k。2,...,k。n]、加密起始码的密钥组Rsl,ks2,...,ksn]以及加密起始码密钥的密钥组[kbl,kb2,kbn]可以根据实际情况的要求选择相同也可以不同,当固定密钥组都相同时,计算复杂度会降低,而固定密钥组不同时,则可以提高该码流抵抗攻击的能力;同理, 预先配置的加密I帧第一个分片头信息的密钥%、置乱密钥Ctl、加密起始码的密钥^也可以相同或者不同,加密非I帧以及I帧第一个以外的任一分片的头信息的密钥Iv1、置乱密钥 Cf^1以及加密起始码的密钥Sg,可以利用上一个已编码分片相关的相同变量或者不同变量生成,生成方法可以相同也可以不同,如都利用上一个已编码分片的字节长度采用相同或者不同的方法生成,也可以利用相同或不同的混沌模型生成。对包含视频码流结构和视频编码关键技术参数等重要信息的视频码流中头信息、起始码进行逐字或逐字节的加密,并通过置乱头信息密文,打乱头信息密文在视频码流中的位置,有效地隐藏起始码和头信息, 保证了视频码流中头信息和起始码的安全;在对非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帧的第一个分片时需要执行该步骤获取起始码。此后就将该起始码保存在解码端,便于后续分片解密时使用。在已知起始码情况下,可以不执行该步骤,或者执行该步骤作为验证码流正确性的一种手段。本发明实施例中,使用密钥组[S(1,ksl,ks2,. . .,ksn]加密I帧第一个分片的起始码, 使用密钥组[Sg,ksl,ks2,ksn]加密非I帧以及I帧第一个分片以外的任一 f分片的起始码,其中,该非I帧为视频流中除I帧以外的帧,如P帧和B帧。因此,在获取分片的起始码明文之前,首先应判断起始码密文是否为I帧第一个分片的起始码密文,若当前分片f 为I帧第一个分片,则采用密钥组[Stl, ksl,ks2,ksn]对相应的I帧第一个分片的起始码密文执行逆加密运算,解密出相应的起始码明文;否则,采用在f-ι分片解密时获得的密钥组[Sg,ksl,ks2,ksn]对f分片的起始码密文执行逆加密运算,解密出相应的起始码明文。在本发明实施例中,使用固定密钥组[kbl,kb2,. . .,kbn]对&进行加密,因此,使用同样的固定密钥组[kbl,kb2,kbn]对&的密文执行解密操作,就可以得到加密下一分片f+1 起始码的密钥&。即,从已识别的当前分片f的起始码密文后,根据密钥密文的固定长度取出Sg的密文,解密出f分片起始码加密时采用的密钥sf,所得到的&与固定密钥组Rsl, ks2,. . .,ksn] 一起,即为加密下一分片f+Ι起始码的密钥。为了更清楚地说明解密起始码明文的过程,下面举例说明假设使用加密运算法则G、固定密钥组Rsl,ks2]以及、=Lm% 256加密分片f 的起始码,其中,Lf^1为上一个分片f_l编码后字节的长度。加密运算法则G为bsJ = G(bj; ksl,ks2) = (b,kslXj) % 256,其中 j = 2n_l,η 为非 0 自然数;bsJ = G(bj; Sm, ksl,ks2) = (bj+s^+k^Xj) % 256,其中 j = 2η,η 为非 0 自然数。固定密钥组取为[3,9],字节长度1^_1取为500,对于!^64/^¥(标准的四字节起始码密文0x03060918,即bsl = 3,bs2 = 6,bs3 = 9,bs4 = 24,假设上一分片f-1编码后的字节长度为500,则根据公式,得到Sg = 500% 256 = M4,将起始码密文、固定密钥组[3, 9]、Sf^1等代入上述加密运算法则G中,解密当前分片f的起始码,得到的起始码明文如下 bi = 0, b2 = 0, b3 = 0, b4 = 1,即所求起始码为 0x00000001。根据得到的分片f+Ι起始码加密的密钥,按照与加密起始码过程相同的方法就能生成下一个分片f+Ι的2种起始码密文,一种为I帧第一个分片的起始码密文,一种为非I 帧以及I帧第一个分片以外的任一分片的起始码密文,再从密钥密文之后开始查找这两种起始码密文,确定当前分片f的结束位置,取出当前分片f的中间密文,并确定下一个分片 f+Ι是否为I帧的第一个分片。在步骤S602中,对分片中采取起始码密文防竞争操作的中间密文采用起始码密文逆防竞争操作,解密出置乱密文;由于在加密时对置乱密文做了起始码密文防竞争处理,因此解密时还需对中间密文进行起始码密文防竞争逆处理,以得到置乱密文。若要从分片中采取起始码密文防竞争操作的中间密文中解密出置乱密文,需要对2种起始码密文做防竞争逆操作。为了更清楚地说明解密采用了起始码逆防竞争操作的中间密文,获取包含头信息密文与头信息密文所处分片的数据信息明文的置乱密文的过程,下面举例进行说明
假设在分片f+Ι的一种4字节起始码密文,按字节顺序依次为yi,y2, y3,y4 ;另一种为Zl,z2, z3, Z4 ;对置乱密文进行防竞争处理,将置乱密文中出现的4种序列,Y1, y2, y3,
;又1,又2,又3,^5 ^Z1 Z2, Z3, Z4 ; Z1 j Z2, Z3, Z5 分别转换为,Y1, I2, y3,Z5, y4 ;Y1, Y2, y3, Z5, Z5 ;Z1, Z2, z3, z5, Z4 ;Zl,z2, z3, z5, Z5 ;即在序列的倒数第2位插入一个z5。在解密中间密文的过程中,如果检测到下面2种序列yi,y2, y3, Z5 ;Zl,z2, z3, Z5 ;则丢弃Z5,恢复包含头信息密文与头信息密文所处分片的数据信息明文的置乱密文。在步骤S603中,解密分片的置乱密文,获取头信息的密文以及数据信息明文;根据置乱头信息密文与头信息密文所处分片的数据信息明文所用的密钥以及置乱密文,解密出头信息的密文以及头信息密文所处分片的数据信息明文。在本发明实施例中,若当前分片为I帧第一分片,置乱该分片头信息的密文与该片数据信息明文所用的密钥为[(Vkc^kci2,...,kj,其中,Ctl为预先配置的一个密钥;否则, 置乱当前分片f的头信息密文与该片数据信息明文所用的密钥为[(V1,kcl, k。2,. . .,kj, 其中(V1为根据分片f-ι的相关变量计算得到。根据分片是否为I帧第一分片,采取相应的置乱密钥组,从置乱密文中解密出头信息密文以及头信息密文所处分片的数据信息明文,该步骤与实施例一中置乱加密的步骤相似,为置乱加密的逆运算,此处不再赘述。在步骤S604中,解密分片的头信息密文,获取头信息。根据从置乱密文中得到的头信息密文以及加密该头信息的密钥,解密出相应的头 fn息ο本发明实施例中,若当前分片f为I帧第一分片,则加密该分片的头信息使用的密钥组是Dvk1^kh2,... ,kj ;否则,加密该分片的头信息使用的密钥组是Dv1,v,、,..., kta],因此,在解密头信息时,如果头信息的密文为ι帧第一分片头信息的密文,则使用密钥组DvkhlAh2,... ,kj解密;如果头信息的密文是非ι帧以及ι帧第一分片以外任一分片头信息的密文,则使用密钥组[hf_i,khl,、,...,kto]解密。其中hQ、[khl, kh2,. . .,kta]为预先配置的密钥,而hf_i则是根据上一个分片f-1的相关变量得到,比如根据字节长度计算得到。本发明实施例中,根据对当前分片的头信息、起始码、加密起始码的密钥进行加密所用的密钥,以及置乱头信息密文与该头信息密文所处分片的数据信息明文所用的密钥, 从相应的密文中解密出头信息、起始码、加密起始码的密钥以及数据信息明文。由于仅需对数据较少的头信息密文、起始码密文、中间密文、置乱密文以及密钥密文执行解密操作,而不用对分片中数据较多的数据信息执行解密操作,因而大大降低了计算复杂度。实施例四图7示出了本发明第四实施例提供的视频码流解密装置结构,为了便于说明,仅示出了与本发明实施例相关的部分。该视频码流解密装置可以是运行于通信终端或存储终端内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到这些通信终端或存储终端中或者运行于这些通信终端或存储终端的应用系统中。其中 解密起始码密文模块701,用于根据分片的起始码密文以及解密上一分片时获取的加密该分片起始码的密钥,解密以获取起始码明文以及用于加密下一分片起始码的密钥,并获取该分片的中间密文;解密中间密文模块702,用于对分片中采取起始码密文防竞争操作的中间密文采用起始码密文逆防竞争操作,解密出置乱密文;解密置乱密文模块703,用于解密分片的置乱密文,获取头信息的密文以及数据信息明文;解密头信息密文模块704,用于解密分片的头信息密文,获取头信息。本发明实施例中,解密起始码密文模块701、解密中间密文模块702,根据从码流密文中取出的起始码密文、密钥密文以及中间密文分别解密出相应的起始码密钥、起始码明文以及置乱密文,再通过解密置乱密文模块703解密该置乱密文,解密出头信息密文、数据信息明文,最后由解密头信息密文模块704解密出头信息。由于解密的过程中,计算的复杂度都较低,因此可以快速地从密文中解密出相应的明文信息。本发明实施例,使用固定密钥组以及利用预先配置的密钥共同加密I帧第一分片的头信息、起始码、加密起始码的密钥以及执行置乱头信息密文、对置乱密文中与起始码密文相同的密文采取起始码密文防竞争处理等操作;在当前分片为非I帧或者I帧第一分片以外的任一分片时,则使用固定密钥组以及利用上一个已编码分片的相关变量生成的密钥,共同加密当前非I帧或者I帧第一分片以外的任一分片的头信息、起始码、加密起始码的密钥以及执行置乱头信息密文、对置乱密文中与起始码密文相同的密文采取起始码密文防竞争处理等操作。其中,固定的加密头信息的密钥组Dchl,、,...,kto]、置乱头信息的密钥组Rca,k。2,...,k。n]、加密起始码的密钥组Rsl,ks2,...,ksn]以及加密起始码密钥的密钥组[kbl,kb2,kbn]可以根据实际情况的要求选择相同也可以不同,当固定密钥组都相同时,计算复杂度会降低,而固定密钥组不同时,则可以提高该码流抵抗攻击的能力;同理, 预先配置的加密I帧第一个分片头信息的密钥Iv置乱密钥Ctl、加密起始码的密钥%也可以相同或者不同,加密非I帧以及I帧第一个以外的任一分片的头信息的密钥Iv1、置乱密钥 Cf^1以及加密起始码的密钥Sh,可以利用上一个已编码分片相关的相同变量或者不同变量生成,生成方法可以相同也可以不同,如都利用上一个已编码分片的字节长度采用相同或者不同的方法生成,也可以利用相同或不同的混沌模型生成。对包含视频码流结构和视频编码关键技术参数等重要信息的视频码流中头信息、起始码进行逐字或逐字节的加密,并通过置乱头信息密文,打乱头信息密文在视频码流中的位置,有效地隐藏起始码和头信息, 保证了视频码流中头信息和起始码的安全;在对非I帧或者I帧第一分片以外的任一分片进行加密时,采用不同的密钥,进一步提高该加密方法的可靠性,提高视频码流格式抵抗破解的能力,防止视频内容被非法篡改,从而保障视频数据在存储和传输过程中的安全性。而对置乱密文中与起始码密文相同的密文,采取起始码密文防竞争处理等操作,则能够正确识别各分片的起始位置。由于头信息和起始码在视频码流中所占的比例很低,因此对头信息和起始码加密所需的数据量很小,对头信息密文进行置乱、对置乱密文采取起始码防竞争处理所需的数据量也很小,因此本发明除了具有安全性之外,还具有计算低复杂度的特性,在对每一个分片进行视频编码后,就可对编码后的分片进行加密操作,不需为该加密操作额外增加分片进行缓存,降低传输视频码流的延迟。又由于本发明的加密方法没有改变数据信息部分,因此不会影响视频的压缩效率,而加密过程仅增加下一分片起始码加密所需密钥的密文,增加的额外数据量很小,因此也不会对视频的图像质量造成明显影响。此外,由于在每个I帧的第一个分片都使用预设的密钥加密头信息、起始码以及置乱头信息密文,而不是采用与上一个已编码分片的相关变量生成的密钥,因此可以将发生错误的视频码流密文控制在一个I帧间隔周期内,较好地保持了码流的容错性和随机访问的特性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
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的视频码流解密装置的存储终端。
全文摘要
本发明适用于音视频领域,尤其涉及一种视频码流加、解密方法、装置及通信、存储终端。该视频流加密方法包括对分片的头信息进行加密处理,得到头信息密文;对得到的头信息密文与所述头信息密文所处分片的数据信息明文进行置乱加密,得到置乱密文;对分片的起始码以及加密下一分片起始码的密钥进行加密处理,分别得到起始码密文和密钥密文;对置乱密文中与起始码密文相同的密文,采取起始码密文防竞争处理,得到中间密文;将中间密文、起始码密文以及密钥密文组合成码流密文。本发明大大降低了计算复杂度,而且不影响视频的压缩效率以及视频的图像质量。
文档编号H04N21/4405GK102469344SQ20101054886
公开日2012年5月23日 申请日期2010年11月16日 优先权日2010年11月16日
发明者谷沉沉 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1