RC2

From Wikipedia, the free encyclopedia
Jump to: navigation, search
RC2
RC2 InfoBox Diagram.svg

The MIX transformation of RC2; four of these comprise a MIXING round
General
Designers Ron Rivest
First published leaked in 1996, designed in 1987
Cipher detail
Key sizes 8–1024 bits, in steps of 8 bits; default 64 bits
Block sizes 64 bits
Structure Source-heavy Feistel network
Rounds 16 of type MIXING, 2 of type MASHING
Best public cryptanalysis
A related-key attack is possible requiring 234 chosen plaintexts (Kelsey et al., 1997).

In cryptography, RC2 (also known as ARC2) is a symmetric-key block cipher designed by Ron Rivest in 1987. "RC" stands for "Ron's Code" or "Rivest Cipher"; other ciphers designed by Rivest include RC4, RC5 and RC6.

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 29 January 1996, source code for RC2 was anonymously posted to the Internet on the Usenet forum, sci.crypt. Mentions of CodeView and SoftICE (popular debuggers) suggest that it had been reverse engineered. A similar disclosure had occurred earlier with RC4.

In March 1998 Ron Rivest authored an RFC publicly describing RC2 himself.

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 diagram.

RC2 is vulnerable to a related-key attack using 234 chosen plaintexts (Kelsey et al., 1997).

Sources[edit]

References[edit]

External links[edit]