Meet-in-the-Middle-Attack
中途相遇:為什麼更容易獲得兩套中的一套?
這是來自 Bruce Schneier 的書Cryptography Engineering。在他對中間相遇攻擊的描述中,他寫道(第 2 章,第 35 頁)
中間相遇攻擊比生日攻擊更靈活。讓我們以更抽象的方式來看它。假設我們有 N 個可能的值。第一個集合有 P 個元素,第二個集合有 Q 個元素。元素有 PQ 對,每對有 1/N 的匹配機會。我們預計一旦 PQ/N 接近 1 就會發生碰撞。最有效的選擇是 P ≈ Q ≈ √N。這正是生日的再次綁定。中間相遇攻擊提供了額外的靈活性。有時,獲取其中一個集合的元素比獲取另一個集合的元素更容易。
我不明白最後一行 - 為什麼獲取其中一組的元素會更容易?其中一組是您正在窺探的一組交易,另一組是您在交易開始時為您期望的標頭預先計算加密消息的一組密鑰。如果這是正確的,那麼為什麼獲取其中一組的元素會更容易呢?
在許多情況下,您受記憶體限制,無法將計算的所有內容都保存在記憶體中。因此,您可以在記憶體中進行盡可能多的計算以獲取組 A,然後在不將可能更大的組 B 儲存在記憶體中的情況下進行計算。檢查衝突是有效的,因為一個組位於您儲存的雜湊集中。記憶體限制可能是 RAM 限制,因此查找速度非常快,但也可能是磁碟限制,您真的無法儲存更多數據。