Initialization-Vector
具有相同鍵的兩個或多個初始化向量
我正在研究 WEP,但我對此表示懷疑。
似乎因為它使用了一個相對較短的 24 位的初始化向量,所以很容易確定使用哪個密鑰來加密數據。
但我不明白為什麼,例如,24 位初始化向量很短,可能我們會有 2 個或更多相等的初始化向量。但我不明白為什麼如果我們有相似的初始化向量,找到加密密鑰會更容易。
似乎因為它使用了一個相對較短的 24 位的初始化向量,所以很容易確定使用哪個密鑰來加密數據。
實際上,導緻密鑰洩漏的並不是 IV 的短小(儘管它確實會導致其他問題)。
相反,這是由於 WEP 如何組合 IV 和密鑰,以及 RC4 密鑰初始化算法如何採用組合,並生成有偏差的排列。根據 IV 的不同,這種排列可能會使 RC4 密鑰流的第一個字節(以及後來的字節)與密鑰中的字節相關聯;這允許監聽(誰知道明文的第一個字節;使用 WEP,這是恆定的)來推斷密鑰。
偏差不是非常強,因此我們確實需要多個 IV 才能完全洩露密鑰。
要了解比相當高級別的描述更多的細節,您需要開始研究 RC4 KSA 和密鑰流生成;這就是弱點所在。