4.对称密码算法 ,DES(数据加密标准,Data Encryption Standard) ·背景 ·1973年,NBS(NIST)美国国家标准局征集加密标准 .1974年,IBM的Tuchman和Meyers发明Luciffer,加密算法,NBS公 布了IBM公司提供的该密码算法,以标准建议的形式在全国范围内 征求意见 .1977年7月15日,DES正式颁布,供商业界和非国防性政府部门使 用 DES是一种对二元数据进行加密的算法,数据分组长度为 64位,密文分组长度也是64位,使用的密钥为64位,有效 密钥长度为56位,有8位用于奇偶校验,解密时的过程和 加密时相似,但密钥的顺序正好相反,DES的整个体制是 公开的,系统的安全性完全靠密钥的保密。 16
16 4.对称密码算法 ◼ DES(数据加密标准,Data Encryption Standard ) ◼ 背景 ◼ 1973年,NBS(NIST) 美国国家标准局征集加密标准 ◼ 1974年,IBM的Tuchman和Meyers发明Luciffer加密算法,NBS公 布了IBM公司提供的该密码算法,以标准建议的形式在全国范围内 征求意见 ◼ 1977年7月15日, DES正式颁布,供商业界和非国防性政府部门使 用 ◼ DES是一种对二元数据进行加密的算法,数据分组长度为 64位,密文分组长度也是64位,使用的密钥为64位,有效 密钥长度为56位,有8位用于奇偶校验,解密时的过程和 加密时相似,但密钥的顺序正好相反,DES的整个体制是 公开的,系统的安全性完全靠密钥的保密
DES算法的过程 是在一个初始置换(IP,Initial Permutation)后, 明 文组被分成左半部分和右半部分,每部分32位,以 L,和R表示,然后是16轮迭代的乘积变换,称为函 数f,将数据和密钥结合起来。16轮之后,左右两部 分进行一次交换,再经过一个初始逆置换IP1,算 法结束。 初始置换与逆初始置换在密码意义上作用不大,他 们的作用在于打乱原来输入的ASCII码字划分关系 并将原来明文的校验位变成置换输出的一个字节。 17
17 DES算法的过程 ◼ 是在一个初始置换 (IP,Initial Permutation)后,明 文组被分成左半部分和右半部分,每部分32位,以 L0和R0表示,然后是16轮迭代的乘积变换,称为函 数f,将数据和密钥结合起来。16轮之后,左右两部 分进行一次交换,再经过一个初始逆置换IP-1 ,算 法结束。 ◼ 初始置换与逆初始置换在密码意义上作用不大,他 们的作用在于打乱原来输入x的ASCII码字划分关系, 并将原来明文的校验位变成置换输出的一个字节
DES算法流程 64 bit plaintext Li-1 Ri-1 4↓↓↓↓↓↓↓↓↓↓↓↓↓↓ Initial transposition Iteration 1 Iteration 2 L1-1⊕fR-1,K) Iteration 16 32 bit swap Inverse transposition ↓↓↓↓↓↓↓↓↓↓↓↓↓ 64 bit ciphertext 32 bits 32 bits Li Ri (a) (b) Fig.7-5.The data encryption standard. (a)General outline. (b)Detail of one iteration
DES算法流程
DES算法的破解 DES使用了近25年时间,它具有很强的抗密码分析能力,但 它的密钥长度只有56比特,56-bit密钥有256= 72,057,584,037,927,936≈7.2亿亿之多,随着计算机运算能 力的增加,56比特长度的密码系统显得不安全了。 1997年,RSA公司发起破译RC4、RC5、MD2、MD5,以及 DES的活动,破译DES奖励10000美金。 由Roche Verse牵头的工程小组动用了70000多台通过因特网连接起来 的计算机系统,花费了96天找到了密钥。 1998年7月,电子前沿基金会花费25万美圆制造的一台机器在不到3天 的时间里攻破了DES。 1999年在超级计算机上只要22小时! 19
19 DES算法的破解 ◼ DES使用了近 25年时间,它具有很强的抗密码分析能力,但 它的密钥长度只有56比特, 56-bit 密钥有2 56 = 72,057,584,037,927,936 ≈ 7.2亿亿之多,随着计算机运算能 力的增加,56比特长度的密码系统显得不安全了。 ◼ 1997年,RSA公司发起破译RC4、RC5、MD2、MD5,以及 DES的活动,破译DES奖励10000美金。 ◼ 由Roche Verse牵头的工程小组动用了70000多台通过因特网连接起来 的 计算机系统,花费了96天找到了密钥。 ◼ 1998年7月,电子前沿基金会花费25万美圆制造的一台机器在不到3天 的时间里攻破了DES。 ◼ 1999年在超级计算机上只要22小时!
其他算法 三重DES ·使用三(或两)个不同的密钥对数据块进行三次 (或两次)加密,三重DES的强度大约和112-bit的 密钥强度相当,三重DES有四种模型: ·DES-EEE3使用三个不同密钥顺序进行三次加密变换 ·DES-EDE3使用三个不同密钥依次进行加密-解密-加密变 换 ·DES-EEE2其中密钥K1=K3顺序进行三次加密变换 ■DES-EDE2其中密钥K1=K3依次进行加密-解密-加密变换 20
20 其他算法 ◼ 三重DES ◼ 使用三(或两)个不同的密钥对数据块进行三次 (或两次)加密,三重DES的强度大约和112-bit的 密钥强度相当,三重DES有四种模型: ◼ DES-EEE3 使用三个不同密钥顺序进行三次加密变换 ◼ DES-EDE3 使用三个不同密钥依次进行加密-解密-加密变 换 ◼ DES-EEE2 其中密钥K1=K3 顺序进行三次加密变换 ◼ DES-EDE2 其中密钥K1=K3 依次进行加密-解密-加密变换