ABSTRACT RC4(n, m) is a stream cipher based on RC4 and is designed by G. Gong et al.. It can be seen as a generalization of the famous RC4 stream cipher designed by Ron Rivest. The authors of RC4(n, m) claim that the cipher resists all the attacks that are successful against the original RC4. The paper reveals cryptographic weaknesses of the RC4(n, m) stream cipher. We develop two attacks. The first one is based on non-randomness of internal state and allows to distinguish it from a truly random cipher by an algorithm that has access to 2 4·n bits of the keystream. The second attack exploits low diffusion of bits in the KSA and PRGA algorithms and recovers all bytes of the secret key. This attack works only if the initial value of the cipher can be manipulated. Apart from the secret key, the cipher uses two other inputs, namely, initial value and initial vector. Although these inputs are fixed in the cipher specification, some applications may allow the inputs to be under the attacker control. Assuming that the attacker can control the initial value, we show a distinguisher for the cipher and a secret key recovery attack that for the L-bit secret key, is able to recover it with about (L/n) · 2 n steps. The attack has been implemented on a standard PC and can reconstruct the secret key of RC(8,32) in less than a second.
In REF , Orumiehchiha et al. summarized the merits and demerits of RC4(n, m) algorithm and proposed a key recovery attack method to crack the RC4(n, m) state.
Cryptanalysis of RC4(n, m) stream cipher
IACR Cryptology ePrint Archive
IACR Cryptology ePrint Archive
Mathematics Computer Science