改进的cfm模式系统的制作方法

文档序号:6478399阅读:244来源:国知局
专利名称:改进的cfm模式系统的制作方法
技术领域
本发明一般涉及分组密码系统,尤其涉及CFM模式下的分组密码系统。
背景技术
在本领域内,分组密码是公知技术,在密码反馈模式(CFM)下使用分组密码也是公知技术,CFM也被称为密码反馈(CFB)模式。CFM模式最初被定义为公知DES系统的一种操作模式,例如,参见下列参考文献1、NIST,FIPS Publication81DES Modes of Operation,1980,可通过csrc.nist.gov/publications/fips/fips8 1/fips8 1.htm网址得到。
2、ANSI,American National Standard X3.106-1983(R1966)DataEncryption Algorithm,Modes of Operations for the,1983。
关于CFM模式的简要描述可以在以下网页中找到www.rsasecurity.corn/rsalabs/faq/2-1-4-4.html以上提及以及贯穿本说明书的参考文献并入此处,作为参考。

发明内容
本发明试图专门为数字内容的加密和解密提供一种改进的分组密码系统,其具体用于、但不限于基于硬件的加密和解密。
通常情况下,对数字内容进行加密和解密的设备必须对数据既进行加密还进行解密。优选情况下,为了简化硬件设计和降低硬件的逻辑门数量,本发明的发明者认为应该优选满足下列要求
1、在硬件中应该优选提供只用于一个方向分组密码的加密引擎。
2、待加密/解密的数据(在这里称为“数据”)包括多个数据包,一个数据包的加密/解密一定不能同之前的任一数据包或多个数据包相关。换言之,在解密中,一个数据包和另一个数据包之间禁止存在任何“链接(chaining)”。禁止“链接”的典型原因在于,待解密的物理流通常由多个逻辑流复用而成,所以必须独立地为每个逻辑流存储和管理任何“链接”信息。本领域技术人员应当理解的是,应该避免如此“沉重的”要求。
3、与到达的数据包相比,加密/解密密钥很少发生改变,因此,很多数据包使用相同的密钥进行加密。
4、数据包的加密和解密应该在一个通道(pass)中执行。
5、数据包中的某些比特一定不能受到加密和解密的影响。也就是说,某些比特必须保持“处于干净状态(in the clear)”;在这里,必须保持处于干净状态的比特、字节或数据也被称作“必须保持在干净状态”或“MSC”的比特、字节或数据。要求某些比特不受加密和解密影响的原因在于,为了即使在解密之前也能获得一些关于在干净状态下可用的数据流的信息。例如、但不限制前面所述的普遍性,在一个MPEG-2传输流中,每个数据包的前4个字节保持处于干净状态;这4个字节提供以下信息信号分离所需的信息;关于数据包是不是被加密的信息;如果数据包被加密,则是关于数据包是用奇数还是偶数密钥进行加密的信息;以及其他本领域公知的其他信息。在一些数据包中,包头显示,该数据包的开始部分是“适应字段”,其为接收者提供其他一些必要信息,此类信息也必须始终处于干净状态。可选地,广播公司可以选择将处于干净状态下的视频信息的偶数部分进行发送,例如,以使个人视频录像机系统中的搜索更容易。
现有技术的加密系统仅部分地满足上述要求,特别是,没有满足第一条要求。


图1A和1B是工作在CFM模式下的现有技术分组密码系统的简化框图。图1A示出了加密,而图1B示出了解密。本领域技术人员应当理解的是,如果没有第四条要求,则可以在CFM模式下使用任何适合的分组密码C0=IVCi=Ek(Ci-1)XOR Pi其中,0<i≤所处理的分组的数量。
其中,Pi、Ci分别是明文和密文的第i个分组,E是任意一个适当的分组模式密码,K是密钥,IV是初始值,其可选地包括一个公知的初始值。
相应的解密方法是C0=IVPi=Ek(Ci-1)XOR Ci其中,0<i<所处理的分组的数量。
在本领域公知的是,在CFM模式下,可以将分组密码当作流密码使用,所以数据处理可以基于逐个字节地、或者逐个比特地进行,而不是基于逐个分组地进行。
本发明在其优选实施例中提供了改进的分组密码系统,可以更好地满足上面提到的要求。
因此,根据本发明的一个优选实施例,提供了一种使用分组密码E和密钥K从至少一个明文分组生成至少一个密文分组的方法。该方法包括接收n个明文分组,其中n是大于0的整数;设置Q0等于一个初始值;对于n个明文分组中的每个明文分组,计算Qi=Ek(Qi-1)XOR Pi和计算Ci=M(Pi,Qi),从而生成n个密文分组;其中0<i<=n,Pi表示n个明文分组中的第i个明文分组,Ci表示n个密文分组中的第i个密文分组,M是一个选择函数,对于分组Ci中的每一个比特Cij,如果不对比特Pij进行加密,则选择M的第一个自变量,如果要对比特Pij进行加密,则选择M的第二个自变量。
此外,根据本发明的一个优选实施例,根据一个指明不对哪些比特进行加密的标准,选择M。
再者,根据本发明的一个优选实施例,该标准包括音频标准、视频标准和音频-视频标准中之一。
另外,根据本发明的一个优选实施例,该标准包括MPEG-2。
根据本发明的另一个优选实施例,还提供了一种使用分组密码E和密钥K从至少一个明文分组生成至少一个密文分组的方法,该方法包括接收n个明文分组和一个初始值IV,其中n是大于0的整数;计算IV′=M(P1,IV);计算Q0=H(IV′);对于这n个明文分组中的每个明文分组,计算Qi=Ek(Qi-1)XOR Pi和计算Ci=M(Pi,Qi)从而生成n个密文分组;其中,0<i<=n,H是一个hash函数,Pi表示这n个明文分组中的第i个明文分组,Ci表示这n个密文分组中的第i个密文分组,M是一个选择函数,对于分组Ci中的每一个比特Cij,如果不对比特Pij进行加密,则选择M的第一个自变量,如果要对Pij进行加密,则选择M的第二个自变量。
另外,根据本发明的一个优选实施例,H包括SHA1。
此外,根据本发明的一个优选实施例,H(IV′)包括Ek(IV′)XOR IV′。
再者,根据本发明的一个优选实施例,根据一个指明不对哪些比特进行加密的标准,选择M。
此外,根据本发明的一个优选实施例,该标准包括音频标准、视频标准和音频-视频标准中之一。
另外,根据本发明的一个优选实施例,该标准包括MPEG-2。
根据本发明的另外一个优选实施例,在一种使用流模式下的分组密码E和密钥K从至少一个明文分组生成至少一个密文分组的方法中,其中Pi表示第i个明文分组,Ci表示第i个密文分组,一种改进包括对于分组Ci中的每个比特Cij,如果不对比特Pij进行加密,则选择Pij作为输出。
此外,根据本发明的一个优选实施例,该流模式包括CFM模式。
根据本发明的另外一个优选实施例,还提供了一种使用分组密码E和密钥K从至少一个明文分组生成至少一个密文分组的装置,所述至少一个明文分组包括n个明文分组,所述至少一个密文分组包括n个密文分组,其中n是大于0的整数。该装置包括一个初始化单元,用于设置Q等于一个初始值;以及一个计算单元,对于这n个明文分组中的每个明文分组,计算Qi=Ek(Qi-1)XOR Pi和计算Ci=M(Pi,Qi);其中,0<i<=n,Pi表示这n个明文分组中第i个明文分组,Ci表示这n个密文分组中第i个密文分组,M是一个选择函数,对于分组Ci中的每一个比特Cij,如果不对比特Pij进行加密,则选择M的第一个自变量,如果要对Pij进行加密,则选择M的第二个自变量。
根据本发明的另外一个优选实施例,还提供了一种使用分组密码E、密钥K和初始值IV从至少一个明文分组生成至少一个密文分组的装置,所述至少一个明文分组包括n个明文分组,所述至少一个密文分组包括n个密文分组,其中n是大于0的整数。该装置包括第一计算单元,用于计算IV′=M(P1,IV);第二计算单元,用于计算Q0=H(IV′);以及第三计算单元,对于这n个明文分组中每个明文分组,计算Qi=Ek(Qi-1)XOR Pi和计算Ci=M(Pi,Qi)其中,0<i<=n,H是一个hash函数,Pi表示这n个明文分组中的第i个明文分组,Ci表示这n个密文分组中的第i个密文分组,M是一个选择函数,对于分组Ci中的每一个比特Cij如果不对比特Pij进行加密,则选择M的第一个自变量,如果要对Pij进行加密,则选择M的第二个自变量。
根据本发明的另外一个优选实施例,在使用流模式下的分组密码E和密钥K从至少一个明文分组生成至少一个密文分组的装置中,其中Pi表示第i个明文分组,Ci表示第i个密文分组,一种改进包括一个选择单元,对于分组Ci中的每一比特Cij,如果不对比特Pij进行加密,则选择Pij作为输出。
根据本发明的另外一个优选实施例,还提供了一种使用分组密码E和密钥K从至少一个已加密的密文分组生成至少一个明文分组的方法。该方法包括接收n个密文分组,其中n是大于0的整数;设置Q0等于一个初始值;对于这n个密文分组中的每个密文分组,计算Qi′=Ek(Qi-1)XOR Ci,计算Pi=M(Ci,Qi′),以及计算Qi=M(Qi′,Ci),从而生成n个明文分组;其中0<i<=n,Pi表示这n个明文分组中第i个明文分组,Ci表示这n个密文分组中的第i个密文分组,M是一个选择函数,对于分组Ci中的每一比特Cij,如果比特Pij没有被加密,则选择M的第一个自变量,如果Pij是加密的,则选择M的第二个自变量。
此外,根据本发明的一个优选实施例,根据一个指明哪些比特没有被加密的标准,选择函数M。
再者,根据本发明的一个优选实施例,该标准包括音频标准、视频标准和音频-视频标准中之一。
另外,根据本发明的一个优选实施例,该标准包括MPEG-2。
根据本发明的另外一个优选实施例,还提供了一种使用分组密码E和密钥K从至少一个密文分组生成至少一个明文分组的方法,该方法包括接收n个密文分组和一个初始值IV,其中n是大于0的整数;计算IV′=M(P1,IV);计算Q0=H(IV′);对于这n个密文分组中的每一个密文分组,计算Qi′=Ek(Qi-1)XOR Ci,计算Pi=M(Ci,Qi′)以及计算Qi=M(Qi′,Ci),从而生成n个明文分组;其中0<i<=n,H是一个hash函数,Pi表示这n个明文分组中的第i个明文分组,Ci表示这n个密文分组中的第i个密文分组,M是一个选择函数,对于分组Ci中的每一比特Cij,如果比特Pij没有被加密,则选择M的第一个自变量,如果Pij是加密的,则选择M的第二个自变量。
此外,根据本发明的一个优选实施例,H包括SHA1。
另外,根据本发明的一个优选实施例,H(IV′)包括Ek(IV′)XOR IV′。
此外,根据本发明的一个优选实施例,根据一个指明哪些比特没有被加密的标准,选择M。
再者,根据本发明的一个优选实施例,该标准包括音频标准、视频标准和音频-视频标准中之一。
另外,根据本发明的一个优选实施例,该标准包括MPEG-2。
根据本发明的另外一个优选实施例,在一种使用流模式下的分组密码E和密钥K从至少一个密文分组生成至少一个明文分组的方法中,其中Pi表示这多个明文分组中的第i个明文分组,Ci表示这多个密文分组中的第i个密文分组,一种改进包括对于分组Pi中的每一比特Pij,如果比特Cij没有被加密,那么选择Cij作为输出。
此外,根据本发明的一个优选实施例,该流模式包括CFM模式。
根据本发明的另外一个优选实施例,还提供了一种使用分组密码E和密钥K从至少一个已加密的密文分组生成至少一个明文分组的装置,所述至少一个密文分组包括n个密文分组,所述至少一个明文分组包括n个明文分组,其中n是大于0的整数,该装置包括初始化装置,用于设置Q等于一个初始值;以及计算单元,对于这n个密文分组中的每个密文分组,计算Qi′=Ek(Qi-1)XOR Ci,计算Pi=M(Ci,Qi′),以及计算Qi=M(Qi′,Ci)其中,0<i<=n,Pi表示这n个明文分组中的第i个明文分组,Ci表示这n个密文分组中的第i个密文分组,M是一个选择函数,对于分组Ci中的每一比特Cij,如果比特Pij没有被加密,则选择M的第一个自变量,如果Pij是加密的,则选择M的第二个自变量。
根据本发明的另外一个优选实施例,还提供了一种使用分组密码E和密钥K从至少一个密文分组生成至少一个明文分组的装置,所述至少一个密文分组包括n个密文分组,所述至少一个明文分组包括n个明文分组,其中n是大于0的整数,该装置包括第一计算单元,用于计算IV′=M(P1,IV);第二计算单元,用于计算Q0=H(IV′);以及第三计算单元,对于这n个密文分组中的每个密文分组,计算Qi′=Ek(Qi-1)XOR Ci,计算Pi=M(Ci,Qi′),以及计算Qi=M(Qi′,Ci);其中,0<i<=n,H是一个hash函数,Pi表示这n个明文分组中的第i个明文分组,Ci表示这n个密文分组中的第i个密文分组,M是一个选择函数,对于分组Ci中的每一比特Cij,如果比特Pij没有被加密,则选择M的第一个自变量,如果比特Pij是加密的,则选择M的第二个自变量。
根据本发明的另外一个优选实施例,在使用流模式下的分组密码E和密钥K从至少一个密文分组生成至少一个明文分组的装置中,其中Pi表示多个明文分组中的第i个明文分组,Ci表示多个密文分组中的第i个密文分组,一种改进包括一个选择单元,对于分组Pi中的每一比特Pij,如果比特Cij没有被加密,则选择Cij作为输出。
附图简述通过下面结合附图的详细描述,可以更充分地理解和认识本发明图1A和1B是工作在CFM模式下的现有技术分组密码系统的简化框图;图2A和2B是根据本发明第一个优选实施例构造和工作的分组密码系统的简化框图;以及图3A和3B是根据本发明第二个优选实施例构造和工作的分组密码系统的简化框图。
具体实施例方式
根据本发明的第一个优选实施例,提供了一种主要基于CFM的分组密码系统,并对其进行了改进以满足前面提到的第四条要求。该改进优选如下Q0=IVQi=Ek(Qi-1)XOR PiCi=M(Pi,Qi)其中,0<i<=所处理的分组数量,对于分组Ci中的每一比特Cij,函数M根据是否应当对明文中的当前比特进行加密,在第一个自变量(本例中为Pij)和第二个自变量(本例中为Qij)之间做出选择。对于比特Cij,函数M(这里称之为“选择函数”,在本领域内也被称为复用器)的结果可能取决于明文中前面的所有分组以及当前分组Ci中没有被加密的明文的前面比特。
应当理解的是,根据指明应该对哪些比特进行加密或不应对哪些比特进行加密的操作需要,选择函数M,下面还将参照图2A、2B、3A和3B对此进行更加详细的说明。
相应的解密方法为Q0=IVQi′=Ek(Qi-1)XOR CiPi=M(Ci,Qi′)Qi=M(Qi′,Ci)其中,0<i<=所处理的分组的数量。
本领域技术人员应当理解的是,与分组密码的常规使用相比,第一个优选实施例存在如下所述的一个缺点。对于所有用同一个密钥K加密的数据包,第一个分组P1将会用具有相同填充数(pad)EK(IV)的XOR运算进行加密,这种方法是不安全的。更为一般的是,如果有多个数据包,它们的前n个分组完全相同,第(n+1)个分组不相同,那么,在第(n+1)个分组之前,这些数据包的XOR填充数完全相同,从第(n+2)个分组开始才不相同。
不过,在一些情况下,如果非法用户很容易地解密一小部分内容不太重要,并且在数据包之间存在很多变化,就像在视频流和音频流中那样,那么,上面指出的缺点是可以容忍的。
不限制前面所述的普遍性,现在考虑MPEG传输流这一特别情况,例如MPEG-2(就像ISO/IEC13818-1 Information technology-Generic coding of moving pictures and associated audio informationSystems中所描述的那样)。本领域技术人员应当理解的是,MPEG-2只是一个例子,而不具有限制性意味。
图2A和2B是根据本发明第一个优选实施例构造和工作的分组密码系统的简化框图,它们示出了在MPEG-2系统中使用的本发明第一个优选实施例的特别情况。图2A示出了加密,而图2B示出了解密。参考上下文的说明,图2A和2B是显而易见的。
在MPEG-2中,每个传输包包括188个字节,前4个字节(字节0-3)包括包头。这前4个字节总是MSC字节,必须保持处于干净状态。在MPEG-2技术领域中所公知的是,根据这些字节中的一个比特,在包头后面有可能紧接着一个附加的适应字段,该适应字段也必须保持在干净状态(MSC),在这样一个例子中,字节4包含该适应字段的长度。应该将数据包的剩余部分进行加密/解密。
例如,如果将公知技术AES(FIPS Publication 197,November26,2001,Announcing the Advanced Encryption Standard(AES)对其进行了描述,网址是atcsrc.nist.gov/publications/flps/tipsl97/fips-197.pdf)用作分组密码(具有16字节的分组),那么,每个数据包可以在前4个字节之前填充一个4字节的IV(有可能是公知的),除16字节IVC0之外,还有该IV。
加密之后,丢弃C1的前4个字节,因此,是否应该对前四个字节进行加密并不重要。
本发明的发明者认为,与本发明的第一个优选实施例相比,第二个优选实施例具有更强的抗攻击能力。将P1的干净部分混合到初始值中。例如,不限制前面所述的普遍性,可以使用下面的方法IV′=M(P1,IV )Q0=Ek(IV′)XOR IV′Qi=Ek(Qi-1)XOR CiCi=M(Pi,Qi)其中,0<i<=所处理的分组数量。
应当理解的是,本发明不限于使用公式Q0=Ek(IV′)XOR IV′,相反,可以使用IV′的任何适合散列(hash)函数。总而言之,对于一个适合的hash函数HQ0=H(IV′)例如,并不限制前面所述的普遍性,可以使用公知的SHA1 hash函数。例如,下列两个出版物中对SHA1 hash函数进行了描述1995年4月17日出版的、题目为“Secure Hash Standard”的FIPSPUB 180-1,其网址是www.itl.nist.gov/tipspubs/fipl80-1.htm;以及2001年9月出版的、题目为“US Secure Hash Algorithm 1(SHA1)”的RFC 3174,其网址是www.ietf.org/rfc/rfc3174.txt?number=3174。
相应的解密方法是IV′=M(P1,IV)Q0=H(IV′)Qi′=Ek(Qi-1)XOR CiPi=M(Ci,Qi′)
Qi=M(Qi′,Ci)其中,0<i<=所处理的分组数量。
本领域技术人员应当理解的是,在本发明的第二个优选实施例中,如果两个数据包的第一个分组的初始干净部分不同,那么它们将具有完全不同的XOR填充数。所以,即使仅对于第一个分组来说,拥有相同XOR填充数的数据包的数量也将减少,这使得利用本发明第一个优选实施例所述的弱点进行破解变得更加困难。
并不限制前面所述的普遍性,现在结合本发明的第二个优选实施例,讨论上述MPEG-2的特别情况。本领域技术人员应当理解的是,MPEG-2只是作为一个例子,并不具有限制性意味。
图3A和3B根据本发明第二个优选实施例构造和工作的分组密码系统的简化框图。这两幅图示出了MPEG-2系统中使用的本发明第一个优选实施例的特别例子。图3A示出了加密,而图3B示出了解密。参考上下文,图3A和3B是显而易见的。
应当理解的是,在图3A和3B中,将XOR函数描述为F函数的一个具体例子。如前所述,本发明不限于使用XOR函数。
前面参考图2A和图2B对MPEG-2具体例子的说明同样适用于图3A和图3B。
应当理解的是,为了清楚起见而在不同实施例中描述的本发明的各种特征也可以组合到单个实施例中。反过来,为了简明起见而在单个实施例的中描述的本发明的各种特征也可以分别提供或在任何适合的子组合中进行描述。
本领域技术人员应当理解的是,本发明不限于上面描述的具体内容。相反,本发明的保护范围由下面的权利要求进行界定。
权利要求
1.一种使用分组密码E和密钥K从至少一个明文分组生成至少一个密文分组的方法,该方法包括接收n个明文分组,其中n是大于0的整数;设置Q0等于一个初始值;以及对于所述n个明文分组中的每个明文分组计算Qi=Ek(Qi-1)XOR Pi;以及计算Ci=M(Pi,Qi),从而生成n个密文分组;其中0<i<=n,Pi表示所述n个明文分组中的第i个明文分组,Ci表示所述n个密文分组中的第i个密文分组,并且,M是一个选择函数,对于分组Ci中的每一个比特Cij,如果不对比特Pij进行加密,则选择M的第一个自变量,如果要对比特Pij进行加密,则选择M的第二个自变量。
2.如权利要求1所述的方法,其中,根据一个指明不对哪些比特进行加密的标准,选择M。
3.如权利要求2所述的方法,其中,所述标准包括音频标准、视频标准和音频一视频标准中之一。
4.如权利要求3所述的方法,其中,所述标准包括MPEG-2。
5.一种使用分组密码E和密钥K从至少一个明文分组生成至少一个密文分组的方法,该方法包括接收n个明文分组和一个初始值IV,其中n是大于0的整数;计算IV′=M(P1,IV);计算Q0=H(IV′);以及对于所述n个明文分组中的每一个明文分组计算Qi=Ek(Qi-1)XOR Pi;以及计算Ci=M(Pi,Qi),从而生成n个密文分组;其中0<i<=n,H是一个hash函数,Pi表示所述n个明文分组中的第i个明文分组,Ci表示所述n个密文分组中的第i个密文分组,以及CiM是一个选择函数,对于分组Ci中的每一个比特Cij,如果不对比特Pij进行加密,则选择M的第一个自变量,如果要对比特Pij进行加密,则选择M的第二个自变量。
6.如权利要求5所述的方法,其中,H包括SHA1。
7.如权利要求5所述的方法,其中H(IV′)包括EK(IV′)XOR IV′。
8.如权利要求5-7中任意一项所述的方法,其中,根据一个指明不对哪些比特进行加密的标准,选择M。
9.如权利要求8所述的方法,其中,所述标准包括音频标准、视频标准和音频一视频标准中之一。
10.如权利要求9所述的方法,其中,所述标准包括MPEG-2。
11.在一种使用流模式下的分组密码E和密钥K从至少一个明文分组生成至少一个密文分组的方法中,其中,Pi表示第i个明文分组,Ci表示第i个密文分组,一种改进包括对于分组Ci中的每一个比特Cij,如果不对比特Pij进行加密,则选择Pij作为输出。
12.如权利要求11所述的方法,其中,所述流模式包括CFM模式。
13.一种使用分组密码E和密钥K从至少一个明文分组生成至少一个密文分组的装置,所述至少一个明文分组包括n个明文分组,所述至少一个密文分组包括n个密文分组,其中n是大于0的整数,该装置包括初始化单元,用于设置Q0等于一个初始值;以及计算单元,对于所述n个明文分组中的每个明文分组计算Qi=Ek(Qi-1)XOR Pi;以及计算Ci=M(Pi,Qi),其中0<i<=n,Pi表示所述n个明文分组中的第i个明文分组,Ci表示所述n个密文分组中的第i个密文分组,并且M是一个选择函数,对于分组Ci中的每一个比特Cij,如果不对比特Pij进行加密,则选择M的第一个自变量,如果对Pij进行加密,则选择M的第二个自变量。
14.一种使用分组密码E、密钥K和初始值IV从至少一个明文分组生成至少一个密文分组的装置,所述至少一个明文分组包括n个明文分组,所述至少一个密文分组包括n个密文分组,其中n是大于0的整数,该装置包括第一计算单元,用于计算IV′=M(P1,IV);第二计算单元,用于计算Q0=H(IV′);以及第三计算单元,对于所述n个明文分组中的每个明文分组计算Qi=Ek(Qi-1)XOR Pi;以及计算Ci=M(Pi,Qi),其中0<i<=n,H是一个hash函数,Pi表示所述n个明文分组中的第i个明文分组,Ci表示所述n个密文分组中的第i个密文分组,并且M是一个选择函数,对于分组Ci中的每一个比特Cij,如果不对比特Pij进行加密,则选择M的第一个自变量,如果要对比特Pij进行加密,则选择M的第二个自变量。
15.在一种使用流模式下的分组密码E和密钥K从至少一个明文分组生成至少一个密文分组的装置中,其中Pi表示第i个明文分组,Ci表示第i个密文分组,一种改进包括一个选择单元,对于分组Ci中的每一个比特Cij,如果不对比特Pij进行加密,则选择Pij作为输出。
16.一种使用分组密码E和密钥K从至少一个已加密的密文分组生成至少一个明文分组的方法,该方法包括接收n个密文分组,其中n是大于0的整数;设置Q0等于一个初始值;以及对于所述n个密文分组中的每个密文分组计算Qi′=Ek(Qi-1)XOR Ci;计算Pi=M(Ci,Qi′);以及计算Qi=M(Qi′,Ci),从而生成n个明文分组;其中0<i<=n,Pi表示所述n个明文分组中的第i个明文分组,Ci表示所述n个密文分组中的第i个密文分组,并且M是一个选择函数,对于分组Ci中的每一个比特Cij,如果比特Pij没有被加密,则选择M的第一个自变量,如果比特Pij是加密的,则选择M的第二个自变量。
17.如权利要求16所述的方法,其中,根据一个指明未加密比特的标准,选择M。
18.如权利要求17所述的方法,其中,所述标准包括音频标准、视频标准和音频-视频标准中之一。
19.如权利要求18所述的方法,其中,所述标准包括MPEG-2。
20.一种使用分组密码E和密钥K从至少一个密文分组生成至少一个明文分组的方法,该方法包括接收n个密文分组和一个初始值IV,其中n是大于0的整数;计算IV′=M(P1,IV);计算Q0=H(IV′);以及对于所述n个密文分组中的每一个密文分组计算Qi′=Ek(Qi-1)XOR Ci;计算Pi=M(Ci,Qi′);以及计算Qi=M(Qi′,Ci),从而生成n个明文分组;其中0<i<=n,H是一个hash函数,Pi表示所述n个明文分组中的第i个明文分组,Ci表示所述n个密文分组中的第i个密文分组,并且M是一个选择函数,对于分组Ci中的每一个比特Cij,如果比特Pij没有被加密,则选择M的第一个自变量,如果比特Pij是加密的,则选择M的第二个自变量。
21.如权利要求20所述的方法,其中,H包括SHA1。
22.如权利要求20所述的方法,其中,H(IV′)包括EK(IV′)XOR IV′。
23.如权利要求20-22中任何一项所述的方法,其中,根据一个指明未加密比特的标准,选择M。
24.如权利要求23所述的方法,其中,所述标准包括音频标准、视频标准和音频-视频标准中之一。
25.如权利要求24所述的方法,其中,所述标准包括MPEG-2。
26.在一种使用流模式下的分组密码E和密钥K从至少一个密文分组生成至少一个明文分组的方法中,其中Pi表示所述多个明文分组中的第i个明文分组,Ci表示所述多个密文分组中的第i个密文分组,一种改进包括对于分组Pi中的每一个比特Pij,如果比特Cij没有被加密,则选择Cij作为输出。
27.如权利要求26所述的方法,其中,所述流模式包括CFM模式。
28.一种使用分组密码E和密钥K从至少一个已加密的密文分组生成至少一个明文分组的装置,所述至少一个密文分组包括n个密文分组,所述至少一个明文分组包括n个明文分组,其中n是大于0的整数,该装置包括初始化装置,用于设置Q0等于一个初始值;以及计算单元,对于所述n个密文分组中的每个密文分组计算Qi′=Ek(Qi-1)XOR Ci;计算Pi=M(Ci,Qi′);以及计算Qi=M(Qi′,Ci),其中0<i<=n,Pi表示所述n个明文分组中的第i个明文分组,Ci表示所述n个密文分组中的第i个密文分组,并且M是一个选择函数,对于分组Ci中的每一个比特Cij,如果比特Pij没有被加密,则选择M的第一个自变量,如果比特Pij是加密的,则选择M的第二个自变量。
29.一种使用分组密码E和密钥K从至少一个密文分组生成至少一个明文分组的装置,所述至少一个密文分组包括n个密文分组,所述至少一个明文分组包括n个明文分组,其中n是大于0的整数,该装置包括第一计算单元,用于计算IV′=M(P1,IV);第二计算单元,用于计算Q0=H(IV′);以及第三计算单元,对于所述n个密文分组中的每个密文分组计算Qi′=Ek(Qi-1)XOR Ci;计算Pi=M(Ci,Qi′);以及计算Qi=M(Qi′,Ci),其中0<i<=n,H是一个hash函数,Pi表示所述n个明文分组中的第i个明文分组,Ci表示所述n个密文分组中的第i个密文分组,并且M是一个选择函数,对于分组Ci中的每一个比特Cij,如果比特Pij没有被加密,则选择M的第一个自变量,如果比特Pij是加密的,则选择M的第二个自变量。
30.在一种使用流模式中的分组密码E和密钥K从至少一个密文分组生成至少一个明文分组的装置中,其中Pi表示所述多个明文分组中的第i个明文分组,Ci表示所述多个密文分组中的第i个密文分组,一种改进包括一个选择单元,对Pi中的每一个比特Pij,如果比特Cij没有被加密,则选择Cij作为输出。
全文摘要
一种使用分组密码E和密钥K从至少一个明文分组生成至少一个密文分组的方法,该方法包括接收n个明文分组,其中n是大于0的整数;设置Q
文档编号G06F11/30GK1757189SQ200480005583
公开日2006年4月5日 申请日期2004年2月16日 优先权日2003年3月27日
发明者雅各布·贝伦基, 钱恩·D·舍恩-奥尔 申请人:Nds有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1