Why RC4 used 24-bits constant value + 40 bits random values to generate key?
|
|
I believe you are mistaken; RC4 takes a variable length key (between 1 byte and 256 bytes), and uses that to generate an initial internal state, and from that, generates a continuous length of keystream. There are no assumption that 24 bits are fixed and 40 bits are random. What you might be talking about is that there might be some protocol or file encryption method that creates the RC4 key by concatenating a 24 bit constant value to a 40 bit random value. I have not heard of such a thing; however, I cannot claim that I know of everything that uses RC4. In addition, it's possible that you are making a garbled reference to WEP; for the standard WEP protocol, that uses 24 bits of IV (which vary for each packet), and 40 bits of secret keying data. If you are talking about WEP, well, don't do it; the protocol is known to be broken. However, even if you are not talking about WEP, but instead something that really does form the key from a 24 bit constant and a 40 bit random value, it still doesn't sound like a good idea. For one, RC4 is known to be weak when using keys that are formed by concatenating public and private information (which is exactly the problem that WEP ran into); while I don't immediately see a specific way generating keys this way could be exploited, it's not a good sign. What is apparent is that, even if the 24 bit constant value is not public information, if that attacker can get his hands on $2^N$ ciphertexts were the plaintexts has known linear relationships (for example, the MSBits are known to be all clear), then he can recover one of the keys with $2^{64-N}$ effort (by trying random 64 bit keys, generating the keystream, and seeing if the linear relationships work out); once he has that, he has the 24 bit constant value; he can recover the rest of the keys with $2^{40}$ work. |
|||
|
|