本文对 [1] 中提出的 MITM(Meet-In-The-Middle) 的延申攻击模式 ASR(All-Subkey-Recovery)进行简要介绍

1.简介

在 Hellman 在 1977 年的文章[2](super_link)中首次提出 MITM 攻击方式,如果用来针对 2DES ,其预期的 2112 的穷举复杂度将被骤降为 257 ,中间相遇的基本思想已在 Blog[where](Link) 中详细介绍。

而现实存在的问题是:

1. 自 MITM 被提出,密码在设计时会将其作为一个强力分析工具来参照,从而设计十分复杂的密钥扩展算法(key-schedule Algorithm 后面记作KSA)来抵御该攻击,从而即使在中间找到碰撞,试图通过中间碰撞状态作为条件,获取用户主密钥需要几乎完整的分析掉该密码使用的 KSA. 这将产生巨大的时间和空间消耗,而往往这些消耗会使分析总复杂度高于穷举(2|key|),从而导致分析失败;

2. 经典的 MITM 攻击由于受到 KSA 的限制,需要对具体的密码设计匹配方案的同时,设计特定的分析 KSA 的方法,这就使经典的 MITM 攻击变得 complicated and specific,但本文要介绍的分析方法则是将问题简单化,绕过 KSA 直接攻击子密钥 (Subkey) ,使该攻击方式 generic and simple.

ASR 绕过 KSA 对子密钥进行攻击