RC2
{{Short description|Block cipher}}
{{other uses}}
{{Infobox block cipher
| name = RC2
| image = RC2 InfoBox Diagram.svg
| image_size = 280px
| caption = The MIX transformation of RC2; four of these comprise a MIXING round
| designers = Ron Rivest
| publish date = Leaked in 1996, designed in 1987, officially published in 1998
| derived from =
| derived to =
| key size = 1–128 bytes
| block size = 64 bits
| structure = Source-heavy unbalanced Feistel network
| rounds = 16 of type MIXING, 2 of type MASHING
| 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 few 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.{{cite IETF|rfc=2268}}
RC2 is a 64-bit block cipher with a variable size key. Its 18 rounds are arranged as a source-heavy unbalanced 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.{{sfn|Kelsey|Schneier|Wagner|1997}}
References
{{Reflist}}
Bibliography
{{refbegin}}
- {{cite book |last1=Kelsey |first1=John |author-link1=John Kelsey (cryptanalyst) |last2=Schneier |first2=Bruce |author-link2=Bruce Schneier |last3=Wagner |first3=David |title=Information and Communications Security |chapter=Related-key cryptanalysis of 3-WAY, Biham-DES, CAST, DES-X, NewDES, RC2, and TEA |series=Lecture Notes in Computer Science |author-link3=David A. Wagner |editor1-last=Han |editor1-first=Y. |editor2-last=Okamoto |editor2-first=T. |editor3-last=Qing |editor3-first=S. |date=1997 |volume=1334 |pages=233–246 |doi=10.1007/BFb0028479 |chapter-url=https://www.schneier.com/academic/archives/1997/11/related-key_cryptana.html |access-date=2018-10-10 |publisher=Springer, Berlin, Heidelberg|isbn=978-3-540-63696-0 }}
- {{cite book |last1=Knudsen |first1=Lars R. |last2=Rijmen |first2=Vincent |last3=Rivest |first3=Ronald L. |last4=Robshaw |first4=Matthew J. B. |title=Fast Software Encryption |chapter=On the Design and Security of RC2 |author-link1=Lars Knudsen |author-link2=Vincent Rijmen |author-link4=Matt Robshaw |series=Lecture Notes in Computer Science |date=1998-08-16 |volume=1372 |pages=206–221 |doi=10.1007/3-540-69710-1_14 |chapter-url=https://people.csail.mit.edu/rivest/pubs/KRRR98.pdf |access-date=2018-10-10 |publisher=Springer Berlin Heidelberg |isbn=978-3-540-64265-7 |language=en|doi-access=free }}
- {{cite book |last1=Levy |first1=Steven |author-link1=Steven Levy |title=Crypto : how the code rebels beat the government-- saving privacy in the digital age |date=2001 |publisher=Penguin Books |isbn=0-14-024432-8}}
{{refend}}
External links
- {{IETF RFC|2268|link=no}} - A Description of the RC2(r) Encryption Algorithm
- [http://security.nknu.edu.tw/crypto/faq/html/3-6-2.html RSA FAQ: What is RC2?] {{Webarchive|url=https://web.archive.org/web/20160303204419/http://security.nknu.edu.tw/crypto/faq/html/3-6-2.html |date=2016-03-03 }}
- [https://groups.google.com/g/sci.crypt/c/m1UFiFMC89Y/m/cLyO5tr1g_MJ sci.crypt posting revealing the RC2 algorithm]
{{Cryptography navbox | block}}