2
$\begingroup$

I'm studying about WEP and I'm in doubt.

It seems that because it uses a initialization vector of 24 bits, which is relatively short, is easy to determine which key was used to encrypt the data.

But I don't understand why, for example, 24-bit initialization vector is short ok, and probably we will have 2 or more equal initialization vectors. But I don't understand why if we have similar initialization vectors, it will be easier to find the encryption key.

$\endgroup$
1
$\begingroup$

It seems that because it uses a initialization vector of 24 bits, which is relatively short, is easy to determine which key was used to encrypt the data.

Actually, it's not the shortness of the IV that does cause the key leakage (although it does cause other problems).

Instead, it's due to how WEP combines the IV and the key, and then how the RC4 key initialization algorithm takes the combination, and generates a biased permutation. Depending on the IV, this permutation may make the first byte of the RC4 keystream (and, it turns out, later bytes as well) to be correlated to bytes within the key; this allows someone listening in (who knows the first byte of the plaintext; with WEP, that's constant) to deduce the key.

The bias isn't extremely strong, and so we do need multiple IVs to fully leak the key.

To go into more details than that fairly high level description, you need to start looking into the RC4 KSA and keystream generation; that's where the weaknesses lie.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.