现代密码学:对称密钥算法 DES: Data Encryption Standard 1997年成为美国的数据加密标准 口DES是一种块加密算法,每次以64比特的明文块作为输 入,输出64比特的密文块 DES是基于迭代的算法,每一轮迭代执行相同的替换和换 位操作,但使用不同的密钥 DES使用一个56比特的主密钥,每一轮迭代使用的子密 钥(48比特)由主密钥产生 DEs是一种对称加密算法,加密和解密使用相同的函数 ,两者的不同只是子密钥的次序刚好相反 口缺点:密钥长度不够长,迭代次数不够多 8: Network Security 8-17
8: Network Security 8-17 现代密码学:对称密钥算法 DES: Data Encryption Standard 1997年成为美国的数据加密标准 DES是一种块加密算法,每次以64比特的明文块作为输 入,输出64比特的密文块 DES是基于迭代的算法,每一轮迭代执行相同的替换和换 位操作,但使用不同的密钥 DES使用一个56比特的主密钥,每一轮迭代使用的子密 钥(48比特)由主密钥产生 DES是一种对称加密算法,加密和解密使用相同的函数 ,两者的不同只是子密钥的次序刚好相反 缺点:密钥长度不够长,迭代次数不够多
64-bit input 56bit ke DES的计算过程 permute L1 RI 口首先进行一次初始换位 48-bit KI fILL, RI, KD permute) 2R2 然后进行16轮相同的 48-bit K2 F(L2, R2, K2)D) 迭代,每轮迭代使用 个不同的子密钥(由主 R3 密钥生成) 口最后再进行一次换位( 48-bit K16 与初始换位相反) t17R17 ermu:e 64-bit cutput 8: Network Security 8-18
8: Network Security 8-18 DES的计算过程 首先进行一次初始换位 (permute) 然后进行16轮相同的 迭代,每轮迭代使用一 个不同的子密钥(由主 密钥生成) 最后再进行一次换位( 与初始换位相反)
Triple DES(3DES 3DES使用两个密钥进行三轮DES计算: 第一轮令DES设备工作于加密模式,使用密钥K对明文 进行变换 ○第二轮令DES设备工作于解码模式,使用密钥K2对第 轮的输出进行变换 第三轮令DES设备工作于加密模式,用密钥K1对第二轮 的输出进行变换,输出密文
Triple DES(3DES) 3DES使用两个密钥进行三轮DES计算: 第一轮令DES设备工作于加密模式,使用密钥K1对明文 进行变换 第二轮令DES设备工作于解码模式,使用密钥K2对第一 轮的输出进行变换 第三轮令DES设备工作于加密模式,用密钥K1对第二轮 的输出进行变换,输出密文
有关3DES的三个问题 为什么使用两个密钥而不是三个密钥? o112比特的密钥已经足够长 口为什么不使用两重DES(EE模式)而是三重DES? o考虑采用EE模式的两重DS,且攻击者已经拥有了一个匹配 的明文-密文对(P1,C1),即有C1=EK2(Ek1P1)) O令X=EK(P1)=Dk2(C1)。攻击者分别计算Ek(P1)和Dk2(C1), 并寻找使它们相等的K1和K2,则穷尽整个密钥空间只需25的 攻击量而不是212(中途攻击) 口为什么是EDE而不是EEE? o为了与单次DES兼容。3DES用户解密单次DES用户加密的数 据,只需令K1=K2就行了
有关3DES的三个问题 为什么使用两个密钥而不是三个密钥? 112比特的密钥已经足够长 为什么不使用两重DES(EE模式)而是三重DES? 考虑采用EE模式的两重DES,且攻击者已经拥有了一个匹配 的明文--密文对(P1 , C1),即有C1=EK2 (EK1 (P1 ) ) 令X=EK1(P1 )=DK2(C1 )。攻击者分别计算EK1(P1 )和DK2(C1 ), 并寻找使它们相等的K1和K2,则穷尽整个密钥空间只需2 56的 攻击量而不是2 112。(中途攻击) 为什么是EDE而不是EEE? 为了与单次DES兼容。3DES用户解密单次DES用户加密的数 据,只需令K1=K2就行了
AES: Advanced Encryption Standard 口2001年11月成为新的对密加密标准,代替DES 口每次处理128比特明文块,输出128比特密文块 口密钥长度可以是128、192或256比特 如果使用强力方法破解,假设破解DES需要1 秒,则破解AES(128比特密钥)需要149万 亿年! 8: Network Security 8-2
8: Network Security 8-21 AES: Advanced Encryption Standard 2001年11月成为新的对密加密标准,代替DES 每次处理128比特明文块,输出128比特密文块 密钥长度可以是128、192或256比特 如果使用强力方法破解,假设破解DES需要1 秒,则破解AES(128比特密钥)需要149万 亿年!