| |||||||||
| RC2 | |
|---|---|
| The MIX transformation of RC2; four of these comprise a MIXING round. | |
| General | |
| Designer(s) | Ron Rivest |
| First published | source code leaked 1996 (designed 1987) |
| Derived from | - |
| Cipher(s) based on this design | - |
| Algorithm detail | |
| Block size(s) | 64 bits |
| Key size(s) | 8–128 bits, in steps of eight bits; default 64 bits |
| Structure | Source-heavy Feistel network |
| Number of rounds | 16 of type MIXING; 2 of type MASHING |
| Best cryptanalysis | |
| A related-key attack is possible requiring 234 chosen plaintexts (Kelsey et al, 1997). | |
The development of RC2 was sponsored by Lotus, who were seeking a custom cipher that, after evaluation by the NSA, could be exported as part of their Lotus Notes software. The NSA suggested a couple of changes, which Rivest incorporated. After further negotiations, the cipher was approved for export in 1989. Along with RC4, RC2 with a 40-bit key size was treated favourably under US export regulations for cryptography.
Initially, the details of the algorithm were kept secret — proprietary to RSA Security — but on 29th January, 1996, source code for RC2 was anonymously posted to the Internet on the Usenet forum, sci.crypt. A similar disclosure had occurred earlier with RC4. It is unclear whether the poster had access to the specifications or whether it had been reverse engineered.
RC2 is a 64-bit block cipher with a variable size key. Its 18 rounds are arranged as a source-heavy Feistel network, with 16 rounds of one type (MIXING) punctuated by two rounds of another type (MASHING). A MIXING round consists of four applications of the MIX transformation, as shown in the following diagram:
RC2 is vulnerable to a related-key attack using 234 chosen plaintexts (Kelsey et al, 1997).