位置:51电子网 » 技术资料 » 其它综合

智能卡的多重加密

发布时间:2008/11/22 0:00:00 访问次数:594

  对面向字组的加密算法,除了四种操作模式之外,还采用了另外的变化来改进安全性。然而,这些实际上只用于des,因为这种算法的密钥空间太小了。原理上,它可用于任何不是群的面向字组的加密算法。如果一个加密算法具有群的特性,用两个不同密钥的双重加密并不能增加其安全性,因为用第3个密钥一次加密也能得到相同的结果。这就是说,用具有①群特性的算法的两次加密并没有增加密钥空间的大小,因为一个攻击者只需要去发现第3个密钥就能得到先前用两个不同密钥双重加密的相同结果。

  加密报文=enc(密钥2;(enc(密钥1;明文))

  无论如何,des不是一个群,所以在原理上用两个不同密钥的双重des加密不可能用第3个密钥的单次加密复制出来。

  在1981年ralph c,metrkle和martin eohellman发表了一种攻击方法称为“在中间相遇”(meet-in-the-middle)攻击[metrkle 81],它可以很成功地用来对任何面向字组的加密算法的双重加密进行攻击,它预先假定攻击者已有关于若干明文-密文对的知识。它的操作原理是立足于计算明文所有可能的加密,用两个密钥中的头一个,接着用所有可能的第2个密钥解密已知的结果(密文),把第1次处理的一组结果与第2次处理的一组结果相比较。如果可以找到相配的,则存在着某个概率发现了这两个密钥。对另外的明文-密文对进行相同的比较可以增大对密钥的可信水平。由此可见,这一攻击所需要的工作量并不比通常要搜索整个密钥空间的攻击增大很多。因此,des的级联双重加密没有被采用。

  用来代替的方法是3重des,在这种模式中,三个连续的cbc模式的des操作以交替的加密和解密被执行。解密已加密的字组按相反的操作顺序(换言之:解密、加密而后又是解密)以相同的方式执行。如果三个密钥都是相同的,则交替加密和解密操作的结果和单独加密得到的相同,这是不用连续3重加密操作的理由。

  如果用三个不同的密钥把三个des操作直接依次应用于每个明文字组,这种处理被称为des的内部cbc模式。然而,如果明文首先完全用第1个密钥加密,而把结果再进一步用类似的方式加密,则这种处理被称作des的外部cbc模式。外部cbc模式较能抗攻击,因此受到普遍的推荐[schneier 96],参见图1。

  图1 用3重des处理的外部cbc模式对数据加密的工作原理。密钥1通常
  选择的和密钥3是一样的,所以有效的密钥长度为2×56位(112位)。
  用三个独立的密钥则不是那么普遍,其密钥长度为3×56位(168位)

  3重des算法有几个其他的名字,诸如tdes、des-3、3-des和2-des。实际上,术语“3重-des”和“3-des”仅仅表明使用了3个56位的密钥,如果第1个和第3个密钥相同,则称做2-des,如果三个密钥都是不同的,则经常使用3-des来命名。对于3重des,必须总是要说明密钥长度,以便明确指定算法。

  3-des算法显然比用两个不同密钥的连续双重加密要安全得多,因为在“中间相遇”的攻击对它是无效的。需要用3个56位的密钥来代替一个,但第1个和第3个密钥经常是一样的。这样就产生了-个长度为2×56位的密钥。这就是说这种处理的数据和通常des的算法是相容的,除了两倍的密钥长度外,没有附加的费用。这是在智能卡中使用3重des的一个特别重要的理由。由于和单重加密相比改进了安全水平,它主要被用来导出密钥并保护特别敏感的数据,例如传输密钥。表1为智能卡的各种加密算法的输入和输出参数摘要表。

  表1 智能卡加密算法及其输入和输出参数概要

  欢迎转载,信息来源维库电子市场网(www.dzsc.com)



  对面向字组的加密算法,除了四种操作模式之外,还采用了另外的变化来改进安全性。然而,这些实际上只用于des,因为这种算法的密钥空间太小了。原理上,它可用于任何不是群的面向字组的加密算法。如果一个加密算法具有群的特性,用两个不同密钥的双重加密并不能增加其安全性,因为用第3个密钥一次加密也能得到相同的结果。这就是说,用具有①群特性的算法的两次加密并没有增加密钥空间的大小,因为一个攻击者只需要去发现第3个密钥就能得到先前用两个不同密钥双重加密的相同结果。

  加密报文=enc(密钥2;(enc(密钥1;明文))

  无论如何,des不是一个群,所以在原理上用两个不同密钥的双重des加密不可能用第3个密钥的单次加密复制出来。

  在1981年ralph c,metrkle和martin eohellman发表了一种攻击方法称为“在中间相遇”(meet-in-the-middle)攻击[metrkle 81],它可以很成功地用来对任何面向字组的加密算法的双重加密进行攻击,它预先假定攻击者已有关于若干明文-密文对的知识。它的操作原理是立足于计算明文所有可能的加密,用两个密钥中的头一个,接着用所有可能的第2个密钥解密已知的结果(密文),把第1次处理的一组结果与第2次处理的一组结果相比较。如果可以找到相配的,则存在着某个概率发现了这两个密钥。对另外的明文-密文对进行相同的比较可以增大对密钥的可信水平。由此可见,这一攻击所需要的工作量并不比通常要搜索整个密钥空间的攻击增大很多。因此,des的级联双重加密没有被采用。

  用来代替的方法是3重des,在这种模式中,三个连续的cbc模式的des操作以交替的加密和解密被执行。解密已加密的字组按相反的操作顺序(换言之:解密、加密而后又是解密)以相同的方式执行。如果三个密钥都是相同的,则交替加密和解密操作的结果和单独加密得到的相同,这是不用连续3重加密操作的理由。

  如果用三个不同的密钥把三个des操作直接依次应用于每个明文字组,这种处理被称为des的内部cbc模式。然而,如果明文首先完全用第1个密钥加密,而把结果再进一步用类似的方式加密,则这种处理被称作des的外部cbc模式。外部cbc模式较能抗攻击,因此受到普遍的推荐[schneier 96],参见图1。

  图1 用3重des处理的外部cbc模式对数据加密的工作原理。密钥1通常
  选择的和密钥3是一样的,所以有效的密钥长度为2×56位(112位)。
  用三个独立的密钥则不是那么普遍,其密钥长度为3×56位(168位)

  3重des算法有几个其他的名字,诸如tdes、des-3、3-des和2-des。实际上,术语“3重-des”和“3-des”仅仅表明使用了3个56位的密钥,如果第1个和第3个密钥相同,则称做2-des,如果三个密钥都是不同的,则经常使用3-des来命名。对于3重des,必须总是要说明密钥长度,以便明确指定算法。

  3-des算法显然比用两个不同密钥的连续双重加密要安全得多,因为在“中间相遇”的攻击对它是无效的。需要用3个56位的密钥来代替一个,但第1个和第3个密钥经常是一样的。这样就产生了-个长度为2×56位的密钥。这就是说这种处理的数据和通常des的算法是相容的,除了两倍的密钥长度外,没有附加的费用。这是在智能卡中使用3重des的一个特别重要的理由。由于和单重加密相比改进了安全水平,它主要被用来导出密钥并保护特别敏感的数据,例如传输密钥。表1为智能卡的各种加密算法的输入和输出参数摘要表。

  表1 智能卡加密算法及其输入和输出参数概要

  欢迎转载,信息来源维库电子市场网(www.dzsc.com)



相关IC型号

热门点击

 

推荐技术资料

罗盘误差及补偿
    造成罗盘误差的主要因素有传感器误差、其他磁材料干扰等。... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!