It's our wits that make us men.

2019/5/1 《图解密码技术》第三章

Posted on By LuLu

图解密码技术(第三章)

  • 三重DEStriple-DES,TDES triple date encryption algorithm,EDE指的是加密→解密→加密
  • AES advanced encryption standard,NIST 国家标准技术研究所 national institute of standards and technology,通过竞争实现标准化:standardization by competition

3.6三重DES

DES已经可以被暴力破解,需要开发新的密码。

三重DES,也称为TDES,通常缩写为3DES。

三重DES的加密

img

  • 密钥长度:56x3=168比特
  • 并不是进行三次DES加密,而是加密→解密→加密。
    • 目的为了三重DES能够兼容普通的DES,当三次的密钥相同,就相当于普通的DES加密。可以解之前的DES加密的密文。
    • 当密钥一和密钥三相同时,称为DES-EDE2。EDE指的是加密→解密→加密
    • 当三个密钥都不相同时,称为DES-EDE3。

三重DES的解密

与加密过程相反,密钥3,密钥2,密钥1的顺序执解密→加密→解密的操作。

img

三重DES的现状

处理速度不高,很少被用于新的用途。目前被银行等机构使用。

AES的选定过程

对称密码的新标准——AES

什么是AES

AES是取代前任标准DES而成为新标准的一种对称密码算法。选出名为Rijndael的对称密码算法,确定为AES

AES的选拔过程

  • 条件:被选中的算法必须无条件地免费供全世界使用
  • 方式:整个密码学社区来进行评审,通过竞争来实现标准化的方式,正是密码算法选拔的正确方式。

Rijndael

什么是Rijndale

它是比利时密码学家设计的分组密码算法

Rijndale在AES的规格中,分组长度固定为128比特,密钥长度只有128,192和256三种。

Rijndale的加密解密

Rijndale的算法是由多个轮构成,每一轮包括四个步骤:SubBytes、ShiftRows、MixColumns和AddRoundKey,使用SPN结构。

优势:输入的所有比特每一轮都加密,比只加密一半输入的Feistel相比所需要的轮数更少。SubBytes、ShiftRows、MixColumns可以分别以字节、行和列为单位进行并行计算。

  • 加密时,每一轮所进行的处理:(一般要重复10-14轮的计算)

    SubBytes→ShiftRows→MixColumns→AddRoundKey

    img

    • img

    • img

    • img

  • 解密时,则是按照相反的顺序进行的,即:

    AddRoundKey→MixColumns→ShiftRows→SubBytes

    其中,AddRoundKey是与轮密钥进行XOR运算,因此加密解密相同,剩余步骤的名字中都有Inv,表示相应步骤的逆运算。

    img

Rijndael的破译

算法的背后有严谨的数学结构,明文到密文的计算过程可以全部用公式来表达,之前密码算法不具备的。

到目前为止,还没有出现针对Rijndael的有效攻击。

3.9小结

  • 使用一种密钥空间巨大,且在算法上没有弱点的对称密码,就可以通过密文来确保明文的机密性。巨大的密钥空间可以抵御暴力破解,算法上没有弱点可以抵御其他类型的攻击。

  • DES,三重DES,AES都只能将一个固定长度的分组进行加密。当需要加密的明文长度超过分组长度时,就需要对密码算法进行迭代。