Mpeg2传输流数据包的加密和解密方法

文档序号:7704964阅读:165来源:国知局
专利名称:Mpeg2传输流数据包的加密和解密方法
技术领域
本发明涉及数字内容保护技术,尤其涉及一种数字接口内容保护系统中采用 MPEG2标准压縮的传输流数据包的加解密方法。
背景技术
数字电视广播系统中的MPEG2传输流在前端加扰之后,通过广播网络(有线、卫星 或者地面)传输到用户端。典型的用户端设备采用机卡分离技术来接收传输流加扰的传 输流在智能卡中解扰,解扰后的传输流经过智能卡和主机之间的数字接口 (例如,PCMCIA, USB)到达主机,传输流在主机中完成解复用、信源解码和输出。 如图1所示,传输流由连续的数据包构成。数据包具有标准的格式,其总长度为 188字节,其中前4字节是数据包包头,接下来是可选的变长适配域,最后是若干字节的有 效载荷。 为了保证MPEG2传输流在通过卡和主机之间的数字接口时的安全性,需要在卡中 对传输流的有效载荷进行再加密,而数据包头、适配域以及数据包总长度保持不变。目前已 有三个规范对这里的加密方法进行了定义。 1、"CableCARD Copy Protection 2.0 Specif ication"(2009-05-08)中采用TDES 算法的ECB(Electric Code Book,电子代码本)模式对传输流数据包的有效载荷进行加密; 如果有效载荷的长度不是64比特的整数倍,需要使用密文窃取技术(具体见US005684876A 的美国专利申请)来维持固定的数据包长度。 2、"CI Plus Specification :Content Security Extensions to the Common Interface. VI. 2. 2009-4-16"中采用AES算法的CBC (Cipher Block Chaining,加密字组链 接)模式对数据包有效载荷进行加密;如果有效载荷的长度不是128比特的整数倍,采用透 明传输尾部数据的方法来维持固定的数据包长度。 3、"Digital Video Broadcasting Content Protection & Copy Management. Rev. 1. 2007-7"中采用AES算法的CBC模式对数据包有效载荷进行加密;如果有效载荷的长 度不是128比特的整数倍,需要采用另外一种密文窃取技术(具体见US20080137851A1的 美国专利申请)来维持固定的数据包长度。 上述方法均采用具有固定输入长度和固定输出长度的分组密码对数据包的有效 载荷进行加解密。假设分组密码的分组长度为L比特,则加密时首先将有效载荷分成若干 L比特的分组,然后对每个分组进行加密。如果有效载荷的长度不是分组长度L的整数倍, 则需要特殊的手段进行处理。另外,采用分组密码的CBC模式对传输流数据包的有效载荷 加密比采用ECB模式有更高的安全性,采用密文窃取技术可有效解决载荷长度不是分组密 码分组长度整数倍的问题。

发明内容
本发明提出一种MPEG2传输流数据包的加密和解密方法,本发明基于分组密码,能够支持CBC和PCBC两种传统加密模式,还支持一种安全性更高的FFM模式加密,具有安全性能高、实现简单的优点。本发明采用如下技术方案来实现一种MPEG2传输流数据包的加密方法,其包括 步骤A :将传输流数据包的有效载荷分成n个分组Pp P2、 P3.....Pn ;其中前n_l
个分组的长度为L比特,最后一个分组Pn的长度小于或等于L比特,n大于或等于1 ;
步骤B:对传输流数据包中有效载荷的第i个分组Pi进行加密处理,输出密文分组Ci,该密文分组Ci为使用密钥K对Pi与IV卜工的逐比特异或值进行加密变换的结果,其中,n
> i > 1 ; 步骤C :若分组Pn的长度等于L比特,则对分组Pn的加密处理后输出的密文分组Cn为使用密钥K对Pn与IVn—工的逐比特异或值进行加密变换的结果;若分组Pn的长度t小于L比特,在Pn的右边补L-t个"O",然后将补零后的结果与IVn—工的加密结果异或,最后将
异或结果的前t比特作为Pn的密文Cn输出; 其中,IVi是变换F(Mode,Pi,Ci,IVi—》输出的中间变量,且1、的长度均为L,而变换F的其中一个输入参数Mode在选用CBC模式、PCBC模式和FFM模式时分别取值0、 1和2。 其中,若传输流数据包的有效载荷仅构成一个分组则采用CFB模式对P工加密,假设Pi的长度为t,t《L,首先在P工的右边补L-t个"0",然后将补零后的结果与IV。的加密结果异或,最后将异或运算结果的前t比特作为P工的密文Q输出。 其中,在i = 1时,加密处理传输流数据包第一个分组P工的输入参数IV。,以及参
数Mode和密钥K均是加密方和解密方之间已知的共享参数。 另外,本发明公开一种MPEG2传输流数据包的解密方法,其包括 步骤A :将加密的MPEG2传输流数据包的有效载荷分成n个分组(n > 1) :Q、 C2、
C3.....(;,其中前n-l个分组的长度为L比特,最后一个分组Pn的长度小于或等于L比特,
n大于或等于l; 步骤B:对传输流数据包中有效载荷的第i个分组Ci进行解密处理,输出传输流数据包中第i个有效载荷的分组Pi,该分组Pi为对密文分组&先进行解密变换,再与IV卜工逐比特异或获得,其中,n〉i^l; 步骤C :若最后一个密文分组Cn的长度等于L比特,则对分组Cn的解密处理后输出的有效载荷分组Pn为对密文分组C;先进行解密变换,并与IVn—工逐比特异或运算获得;若密文分组Cn的长度t小于L比特,在Cn的右边补L-t个"O",然后将补零后的结果与IVn—工
的加密结果异或,最后将异或结果的前t比特作为有效载荷分组Pn输出; 其中,IVi是变换F(Mode,Pi,Ci,IVi—》输出的中间变量,且1、的长度均为L,而变换F的其中一个输入参数Mode在选用CBC模式、PCBC模式和FFM模式时分别取值0、 1和2。 其中,若加密的传输流数据包的有效载荷仅构成一个分组Q ,则采用CFB模式对Q解密,假设Q的长度为t,t《L,先在Q的右边补L-t个"0",然后将补零后的结果与IV。的加密结果异或,最后将异或结果的前t比特作为解密后传输流数据包的有效载荷P工输出。
其中,在i = 1时,解密处理传输流数据包第一个分组Q的输入参数IV。,以及参数Mode和密钥K均是加密方和解密方之间已知的共享参数。
5
与现有技术相比,本发明具有如下有益效果 本发明基于分组进行加密或解密处理,且支持多种加密工作模式,具有适用性强的优点。另外,当有效载荷的长度不是密码分组长度的整数倍时,本发明使用类似于CFB模式的方法对残余部分数据进行处理,且对残余部分数据处理方法较密文窃取技术简单很多,且安全性相当于CFB模式。


图1是标准格式的传输流的组成结构示意 图2是本发明中的有效载荷加密方法;
图3本发明中有效载荷残余部分加密方法;
图4本发明中的有效载荷解密方法;
图5本发明中有效载荷残余部分解密方法。
具体实施例方式
本发明提供了一种MPEG2传输流数据包有效载荷的加密和解密方法。该方法可以根据需要提供3种不同的加密模式,分别是CBC(Cipher Block Chaining,密文分组链接)模式、PCBC (Propagating Cipher Block Chaining,扩展密文分组链接)模式、较CBC和PCBC安全性更高的一种加密模式,本案简称为FFM模式。当有效载荷的长度不是密码分组长度的整数倍时,该方法使用类似于CFB模式的方法对残余部分数据进行处理,且对残余部分数据处理方法较密文窃取技术简单很多,安全性相当于CFB模式。
为便于描述,先对本案实施例的各个参数介绍如下 在本案实施例中,输入参数包括IV。、模式参数Mode、密钥K、PpP2、P3.....Pn。其
中,IV。、模式参数Mode和密钥K是加密方和解密方之间的共享参数;Pp P2、 P3.....Pn是
一个传输流数据包中有效载荷的分组情况,前面的n-1个分组的长度都是分组密码的分组长度L,最后一个分组Pn的长度小于等于L。本发明的加密方法的输出为密文分组Q、 C2、
C3.....Cn。其中,前n-l个分组的长度都是分组密码的分组长度L,最后一个分组的长度等
于相对应的明文分组Pn的长度。EK是密钥K所限定的加密变换。 另外,本案后续描述中涉及的变换F的定义如下变换F的输入参数有4个,分别是IV卜^Pi、Ci和Mode,这里i > 1 ;变换F的输出是中间变量IVji > 1), 1、的长度均为L。模式参数Mode的取值有三个0、 1和2,分别代表加密方法的CBC模式、PCBC模式和FFM模式。图中、"代表逐比特异或运算。当Mode取值为0时,F(0, P丄,&, IV卜》=&,(i^l);当Mode取值为l时,F(l,Pi,d,IVw"P^d, (i^l);当Mode取值为2时,F(2,P,, Ci, IVw) = IVw @ P, Ci, (i 2 1 )。 本发明的加密方法在加密一个MPEG2传输流数据包时,首先将数据包的有效载荷
分成n个分组(n> 1) :P^P2、P3.....Pn;其中前n-l个分组的长度为L比特,最后一个分
组Pn的长度小于等于L比特。 如图2所示,如果最后一个分组Pn的长度等于L比特,则n个明文分组的加密方式是一致的,即对MPEG2传输流数据包中有效载荷的第i个分组& (n > i > 1)进行加密处理后输出的密文分组Ci为使用密钥K对Pi与IV卜工的逐比特异或值进行加密变换的结果,
6可以用下面的式子来表示 <formula>formula see original document page 7</formula>其中,<formula>formula see original document page 7</formula> 如图3所示,如果最后一个分组Pn的长度小于L比特,则前n-l个明文分组的加
密方式是一致的,但最后一个分组Pn采用类似CFB模式的加密方式。假设分组Pn的长度为
t, t < L,首先在Pn的右边补L-t个"O",然后将补零后的结果与IVn—工的加密结果异或,最
后将异或结果的前t比特Cn*作为Pn的密文Cn输出。可以用下面的式子来表示 <formula>formula see original document page 7</formula>其中,<formula>formula see original document page 7</formula>
当然,如果传输流数据包的有效载荷仅构成一个分组,即n = l,则采用CFB模式 对Pi加密。假设Pj勺长度为t, t《L,首先在P工的右边补L-t个"0",然后将补零后的结 果与IV。的加密结果异或,最后将异或结果的前t比特作为P工的密文Q输出。可以用 下面的式子来表示<formula>formula see original document page 7</formula>
如图4所示,本发明的解密方法有如下输入参数IV。、模式参数Mode、密钥K、 Q、
C2、C3.....Cn。其中,IV。、Mode和K是加密方和解密方共享的参数;Q、C2、C3.....Cn是一
个加密的传输流数据包中有效载荷的分组,前面的n-l个分组的长度都是分组密码的分组 长度L,最后一个分组Cn的长度小于等于L。本发明的加密方法的输出为明文分组Pp P2、
P3.....Pn。其中,前n-l个分组的长度都是分组密码的分组长度L,最后一个分组的长度
等于相对应的密文分组(;的长度。DK是密钥K所限定的解密变换。变换F的输入参数有4 个,分别是IV卜p Pi、 &和Mode,这里i > 1 ;变换F的输出是中间变量IVji > 1) , IVi的 长度均为L。参数Mode的取值有三个0, 1和2,分别代表加密方法的CBC模式、PCBC模式 和FFM模式。" "是逐比特异或运算。 本发明的解密方法在解密一个加密的MPEG2传输流数据包时,首先将数据包的有
效载荷分成n个分组(n > 1) :Q、 C2、 C3.....Cn ;其中前n-l个分组的长度为L比特,最后
一个分组Pn的长度小于等于L比特。 如果最后一个分组(;的长度等于L比特,则n个密文分组的解密方式是一致的,即 对密文分组&先进行解密变换,并与IV卜工逐比特异或运算获得MPEG2传输流数据包中第i 个有效载荷的分组Pi,可以用下面的式子来表示<formula>formula see original document page 7</formula>其中,<formula>formula see original document page 7</formula>
如图5所示,如果最后一个密文分组Cn的长度小于L比特,则前n-l个密文分组的 解密方式是一致的,但最后一个分组Cn采用类似CFB模式的解密方式。假设分组Cn的长度 为t, t < L,首先在Cn的右边补L-t个"O",然后将补零后的结果与IVn—工的加密结果异或, 最后将异或结果的前t比特Pn*作为Cn的明文Pn输出。可以用下面的式子来表示
P广DK(Ci) elVw,其中,<formula>formula see original document page 7</formula>
当然,如果加密的传输流数据包的有效载荷仅构成一个分组,即n = 1,则采用CFB 模式对Q解密。假设Q的长度为t, t《L,首先在Q的右边补L-t个"0",然后将补零后 的结果与IV。的加密结果异或,最后将异或结果的前t比特作为Q的明文P工输出。可以用下面的式子来表示<formula>formula see original document page 8</formula>
权利要求
一种MPEG2传输流数据包的加密方法,其特征在于,包括步骤A将传输流数据包的有效载荷分成n个分组P1、P2、P3、...、Pn;其中前n-1个分组的长度为L比特,最后一个分组Pn的长度小于或等于L比特,n大于或等于1;步骤B对传输流数据包中有效载荷的第i个分组Pi进行加密处理,输出密文分组Ci,该密文分组Ci为使用密钥K对Pi与IVi-1的逐比特异或值进行加密变换的结果,其中,n>i≥1;步骤C若分组Pn的长度等于L比特,则对分组Pn加密处理后输出的密文分组Cn为使用密钥K对Pn与IVn-1的逐比特异或值进行加密变换的结果;若分组Pn的长度t小于L比特,在Pn的右边补L-t个“0”,然后将补零后的结果与IVn-1的加密结果异或,最后将异或结果的前t比特作为Pn的密文Cn输出;其中,IVi是变换F(Mode,Pi,Ci,IVi-1)输出的中间变量,且IVi的长度均为L,而变换F的其中一个输入参数Mode在选用“CBC模式”、“PCBC模式”和“FFM模式”时分别取值0、1和2。
2. 根据权利要求1所述MPEG2传输流数据包的加密方法,其特征在于,若传输流数据包 的有效载荷仅构成一个分组则采用CFB模式对P工加密,假设P工的长度为t, t《L,首先 在Pi的右边补L-t个"0",然后将补零后的结果与IV。的加密结果异或,最后将异或运算结 果的前t比特作为P工的密文Q输出。
3. 根据权利要求1或2所述MPEG2传输流数据包的加密方法,其特征在于,在i = 1 时,加密处理传输流数据包第一个分组Pi的输入参数IV。,以及参数Mode和密钥K均是加 密方和解密方之间已知的共享参数。
4. 一种MPEG2传输流数据包的解密方法,其特征在于,包括步骤A :将加密的MPEG2传输流数据包的有效载荷分成n个分组(n > 1) :(^、(:2、(:3.....Cn,其中前n-l个分组的长度为L比特,最后一个分组Pn的长度小于或等于L比特,n大于 或等于l ;步骤B:对传输流数据包中有效载荷的第i个分组Ci进行解密处理,输出传输流数据包 中有效载荷的第i个分组Pi,该分组Pi为对密文分组&先进行解密变换,再与IV卜工逐比特 异或获得,其中,n〉i^l;步骤C :若最后一个密文分组Cn的长度等于L比特,则对分组Cn的解密处理后输出的有效载荷分组Pn为对密文分组c;先进行解密变换,再与IVn—工逐比特异或获得;若密文分组Cn的长度t小于L比特,在Cn的右边补L-t个"O",然后将补零后的结果与IVn—工的加密结 果异或,最后将异或结果的前t比特作为有效载荷分组Pn输出;其中,IVi是变换F(Mode, Pi, Ci, IVi—》输出的中间变量,且IVi的长度均为L,而变换F 的其中一个输入参数Mode在选用"CBC模式"、"PCBC模式"和"FFM模式"时分别取值0、 1 和2。
5. 根据权利要求4所述MPEG2传输流数据包的解密方法,其特征在于,若加密的传输 流数据包的有效载荷仅构成一个分组Q,则采用CFB模式对Q解密,假设Q的长度为t, t《L,先在Q的右边补L-t个"0",然后将补零后的结果与IV。的加密结果异或,最后将异 或结果的前t比特作为解密后传输流数据包的有效载荷P工输出。
6. 根据权利要求4或5所述MPEG2传输流数据包的解密方法,其特征在于,在i = 1时,解密处理传输流数据包第一个分组Q的输入参数IV。,以及参数Mode和密钥K均是加 密方和解密方之间已知的共享参数。
全文摘要
本发明提出一种MPEG2传输流数据包的加密和解密方法。其中,该加密方法包括将传输流数据包的有效载荷按长度为L比特分成n个分组P1、P2、P3、...、Pn;对传输流数据包中有效载荷的第i个分组Pi进行加密处理,输出密文分组Ci,该密文分组Ci为使用密钥K对Pi与IVi-1的逐比特异或值进行加密变换的结果,其中,n>i≥1;若分组Pn的长度等于L比特,则对分组Pn加密后输出的密文分组Cn为使用密钥K对Pn与IVn-1的逐比特异或值进行加密变换的结果;若分组Pn的长度t小于L比特,在Pn的右边补L-t个“0”,然后将补零后的结果与IVn-1的加密结果异或,最后将异或结果的前t比特作为Pn的密文Cn输出。本发明具有安全性能高和实现容易的优点。
文档编号H04N7/24GK101710964SQ20091010974
公开日2010年5月19日 申请日期2009年11月17日 优先权日2009年11月17日
发明者李新国 申请人:深圳国微技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1