”©海在长 15 More on Symmetric Ciphers "I am fairly familiar with all the forms of secret writings,and am myself the author of a trifling monograph upon the subject,in which I analyze one hundred and sixty separate ciphers,said Holmes. -The Adventure of the Dancing Men,Sir Arthur Conan Doyle 甲A四 2022/10/9 现代密码学理论与实践-06 2/57
2022/10/9 现代密码学理论与实践-06 2/57 More on Symmetric Ciphers "I am fairly familiar with all the forms of secret writings, and am myself the author of a trifling monograph upon the subject, in which I analyze one hundred and sixty separate ciphers," said Holmes. —The Adventure of the Dancing Men, Sir Arthur Conan Doyle
本章要点 多重加密是将一个加密算法多次使用的技术,明文通过加 密算法转化为密文,然后将该密文作为输入重新执行加密 算法,该过程可以重复多次。 三重DES(3DES)在三个阶段使用DES算法,共用到两组 或三组密钥。 选择工作模式是一项增强密码算法或者使算法适应具体应 用的技术。 对称密码有5种工作模式,电码本模式、密文分组链接模 式、密文反馈模式、输出反馈模式和计数器模式。 ● 流密码是一种对称密码算法,其输出密文是由输入明文逐 位或者逐字节产生的,RC4是应用最广泛的一种流密码 。 2022/10/9 现代密码学理论与实践-06 3/57
2022/10/9 现代密码学理论与实践-06 3/57 本章要点 ⚫ 多重加密是将一个加密算法多次使用的技术,明文通过加 密算法转化为密文,然后将该密文作为输入重新执行加密 算法,该过程可以重复多次。 ⚫ 三重DES(3DES)在三个阶段使用DES算法,共用到两组 或三组密钥。 ⚫ 选择工作模式是一项增强密码算法或者使算法适应具体应 用的技术。 ⚫ 对称密码有5种工作模式,电码本模式、密文分组链接模 式、密文反馈模式、输出反馈模式和计数器模式。 ⚫ 流密码是一种对称密码算法,其输出密文是由输入明文逐 位或者逐字节产生的,RC4是应用最广泛的一种流密码
海连式柔才 15 6.1多重加密与三重DES算法 寻找代替DES的新密码的理由是显然的 ● 理论分析已经证明DES是可破的 密钥的穷举攻击是可行的 。AES是一种新的安全的密码 在AES之前,还可以用DES进行多次加密, 且使用多个密钥 ·三重DES(Triple-DES)被广泛接受 甲A四两 2022/10/9 现代密码学理论与实践-06 4/57
2022/10/9 现代密码学理论与实践-06 4/57 6.1 多重加密与三重DES算法 ⚫ 寻找代替DES的新密码的理由是显然的 ⚫ 理论分析已经证明DES是可破的 ⚫ 密钥的穷举攻击是可行的 ⚫ AES是一种新的安全的密码 ⚫ 在AES之前,还可以用DES进行多次加密, 且使用多个密钥 ⚫ 三重DES(Triple-DES)被广泛接受
6.1.1双重DES 105 多次加密的最简单形式是进行两次加密,每次使用 不同的密钥 ●C=EK2(EK1(P)) P DK1 (DK2(C)) ·这种方法的密钥长度是56x2=112位 虽然双重DES对应的映射与单DES对应的映射不同, 但是有中途相遇攻击“meet-in-the-middle” 只要连续使用密码两次,这种攻击总是有效 ● 因为X=EK1(P)=Dk2(C) ● 用所有可能的密钥加密明文P并把结果存储起来 然后用所有可能的密钥解密密文C,寻找匹配的X值 因此复杂度只有0(256) 2022/10/9 现代密码学理论与实践-06 5/57
2022/10/9 现代密码学理论与实践-06 5/57 6.1.1 双重DES ⚫ 多次加密的最简单形式是进行两次加密,每次使用 不同的密钥 ⚫ C = EK2(EK1(P)) ⚫ P = DK1(DK2(C)) ⚫ 这种方法的密钥长度是56x2=112位 ⚫ 虽然双重DES对应的映射与单DES对应的映射不同, 但是有中途相遇攻击 “meet-in-the-middle” ⚫ 只要连续使用密码两次,这种攻击总是有效 ⚫ 因为X = EK1(P) = DK2(C) ⚫ 用所有可能的密钥加密明文P并把结果存储起来 ⚫ 然后用所有可能的密钥解密密文C,寻找匹配的X值 ⚫ 因此复杂度只有O(256)
海连我术才 双重DES 15 双重DES(Double DES) 给定明文P和加密密钥K和K2, K K2 加密:C=Ek2[Ek1[P] 解密:P=Dk1[Dk2[C] P E Eneryption 密钥长度为56x2=112位 K2 C 存在中途相遇攻击问题 D Decryption (a)Double Encryption 平A四两】 2022/10/9 现代密码学理论与实践-06 6/57
2022/10/9 现代密码学理论与实践-06 6/57 双重DES ⚫ 双重DES (Double DES) 给定明文P和加密密钥K1和K2 , 加密:C=EK2[EK1[P]] 解密:P=DK1[DK2[C]] 密钥长度为56x2=112位 存在中途相遇攻击问题
中途相遇攻击(Meet-in-the-Middle Attack ·这种攻击对使用两次加密的分组密码都有效 C=EK2[EK1[P]],X=EK[P]=DK2[C] 若已知(P,C),则 对256个可能的K加密P,结果存入表中,按X值排序 对256个可能的K2解密C,在表中寻找匹配 如果产生匹配,则用一个新的明文密文对检测所得两个密钥 ● 如果两密钥产生正确的密文,则接受为正确密钥 对任意给定的明文P,.双重DES产生的密文有264可能 密钥空间为22。对给定明文P,可产生给定密文C的密钥 的个数平均为2112/264=248。上述攻击过程对第一个(P,C)对 将产生248个错误的结果,而对第二个P,C)对,错误结果 的概率就降为24864=216,即中途相遇攻击使用两组已知 明密文对就可以检测到正确密钥的概率是1-216,攻击双 重DES,工作量仅为256,与攻击单DES所需的25差不多 2022/10/9 现代密码学理论与实践-06 7157
2022/10/9 现代密码学理论与实践-06 7/57 ⚫ 这种攻击对使用两次加密的分组密码都有效 C=EK2[EK1[P]],则X=EK1[P]=DK2[C] ⚫ 若已知(P, C),则 ⚫ 对2 56个可能的K1加密P,结果存入表中,按X值排序 ⚫ 对2 56个可能的K2解密C,在表中寻找匹配 ⚫ 如果产生匹配,则用一个新的明文密文对检测所得两个密钥 ⚫ 如果两密钥产生正确的密文,则接受为正确密钥 ⚫ 对任意给定的明文P,双重DES产生的密文有264可能, 密钥空间为2112。对给定明文P,可产生给定密文C的密钥 的个数平均为2112/264=248。上述攻击过程对第一个(P,C)对 将产生248个错误的结果,而对第二个(P,C)对,错误结果 的概率就降为248-64 =2-16,即中途相遇攻击使用两组已知 明密文对就可以检测到正确密钥的概率是1-2-16,攻击双 重DES,工作量仅为256,与攻击单DES所需的255差不多。 中途相遇攻击(Meet-in-the-Middle Attack)
”回海连家为 6.1.2使用两个密钥的三重DES 105 ●使用两个密钥进行三次加 K K2 K 密:E-D-E sequence ●( C=EK1 [DK2 [EK1 [P] E 如果K1=K2,则相当于 Encryption 单次DES K K2 K ● 已被用于密钥管理标准 B E ANS1X9.17和ISO8732 Decryption ● 当前还没有对三重DES的 (b)Triple Encryption 可行攻击方法 Figure 4.1 Multiple Encryption 甲A四- 2022/10/9 现代密码学理论与实践-06 8/57
2022/10/9 现代密码学理论与实践-06 8/57 6.1.2 使用两个密钥的三重DES ⚫ 使用两个密钥进行三次加 密:E-D-E sequence ⚫ C=EK1[DK2[EK1[P]] ⚫ 如果K1=K2,则相当于 单次DES ⚫ 已被用于密钥管理标准 ANSI X9.17和ISO8732 ⚫ 当前还没有对三重DES的 可行攻击方法
对三重DES的已知明文攻击 季本 1050 B E E C (a)Two-key Triple Encryption with Candidate Pair of Keys Pi C Bi key i (c)Table of intermediate values and candidate keys (b)Table of n known plaintext-ciphertext pairs,sorted on P 2022/10/9 9/57 Figure 6.2 Known-Plaintext Attack on Triple DES
2022/10/9 现代密码学理论与实践-06 9/57 对三重DES的已知明文攻击
”海作柔为 6.1.3使用三个密钥的三重DES 105 ● 虽然对于使用两个密钥的Triple-DES还没有实际的 成功攻击,但是仍然令人有些担心 ● 因此可以考虑使用三个密钥的Triple-DES,这样, 密钥的长度就是168位 ●C=Ek3[DK2[EK1[P]]] ●1 使用三个密钥的Triple-DES如今已被广泛采用,如 PGP.S/MIME 。当然还有使用更多重DES的,如5DES 平四男 兰道证 2022/10/9 现代密码学理论与实践-06 10/57
2022/10/9 现代密码学理论与实践-06 10/57 6.1.3 使用三个密钥的三重DES ⚫ 虽然对于使用两个密钥的Triple-DES还没有实际的 成功攻击,但是仍然令人有些担心 ⚫ 因此可以考虑使用三个密钥的Triple-DES,这样, 密钥的长度就是168位 ⚫ C = EK3[DK2[EK1[P]]] ⚫ 使用三个密钥的Triple-DES如今已被广泛采用,如 PGP, S/MIME ⚫ 当然还有使用更多重DES的,如5DES
6.2分组密码的工作模式 Table 6.1 Block Cipher Modes of Operation Mode Description Typical Application Electronic Codebook(ECB) Each block of 64 plaintext bits is .Secure transmission of encoded independently using the single values (e.g.,an same key. encryption key) Cipher Block Chaining(CBC) The input to the encryption .General-purpose block- algorithm is the XOR of the next oriented transmission 64 bits of plaintext and the .Authentication preceding 64 bits of ciphertext. Cipher Feedback(CFB) Input is processed s bits at a time. .General-purpose stream- Preceding ciphertext is used as oriented transmission input to the encryption algorithm .Authentication to produce pseudorandom output, which is XORed with plaintext to produce next unit of ciphertext. Output Feedback (OFB) Similar to CFB,except that the .Stream-oriented input to the encryption algorithm transmission over noisy is the preceding DES output. channel (e.g.,satellite communication) Counter(CTR) Each block of plaintext is XORed .General-purpose block- with an encrypted counter.The oriented transmission counter is incremented for each 2022/1C .Useful for high-speed subsequent block. 1/57 requirements
2022/10/9 现代密码学理论与实践-06 11/57 6.2 分组密码的工作模式