RC5
One round (two half-rounds) of the RC5 block cipher
RC5 is a block cipher notable for its simplicity. Designed by Ronald Rivest in 1994, RC stands for "Rivest Cipher", or alternatively, "Ron's Code" (compare RC2, RC4). The AES candidate RC6 was based on RC5.
Unlike many schemes, RC5 has a variable block size (32, 64 or 128 bits), key size (0 to 2040 bits) and number of rounds (0 to 255). The original suggested choice of parameters were a block size of 64 bits, a 128-bit key and 12 rounds.
RC5 makes extensive use of data-dependent rotations, a relatively novel cryptographic operation — they were used previously only in Madryga — and combines them with modular addition and eXclusive OR (XOR) in a Feistel-like network. The encryption and decryption routines can be specified in remarkably few lines of code, though the key schedule is more complex. The tantalising simplicity of the algorithm together with the novelty of the data-dependent rotations has made RC5 an attractive object of study for cryptanalysts.
12-round RC5 (with 64-bit blocks) is susceptible to a differential attack using 2^{44} chosen plaintexts (Biryukov and Kushilevitz, 1998). 18–20 rounds are suggested as sufficient protection.
RSA Security offers a series of US$10,000 prizes for breaking a ciphertext encrypted with RC5. Several groups have attempted these challenges using distributed computing, the largest and most successful being Distributed.net. Distributed.net has brute-forced messages encrypted with RC5 in 56- and 64-bit keys, and is currently working on finding a 72-bit key.
RSA Security has a patent on the algorithm.
References
- Biryukov A. and Kushilevitz E. (1998). Improved Cryptanalysis of RC5. EUROCRYPT 1998.
- Rivest, R. L. (1998). Block Encryption Algorithm with Data Dependent Rotation. Patent No. 5,724,428 issued 3rd March 1998.
- Rivest, R. L. (1994). The RC5 Encryption Algorithm. In the Proceedings of the Second Intenational Workshop on Fast Software Encryption (FSE) 1994, p86–96.
External links
- SCAN's entry for the cipher
- RSA Laboratories FAQ — What are RC5 and RC6?
- Cryptography Pointers RC5 page
- RSA's patent via Google.
Block ciphers |
Algorithms: 3-Way | AES | Blowfish | Camellia | CAST-128 | CAST-256 | CMEA | DEAL | DES | DES-X | FEAL | G-DES | GOST | IDEA | Iraqi | KASUMI | KHAZAD | Khufu and Khafre; | LOKI89/91 | LOKI97 | Lucifer | MacGuffin | Madryga | MAGENTA | MARS | MISTY1 | MMB | NewDES | RC2 | RC5 | RC6 | Red Pike; | S-1 | SAFER | Serpent | SHARK | Skipjack | Square | TEA | Triple DES; | Twofish | XTEA |
Design: Feistel network; | Key schedule; | Product cipher; | S-box | SPN Attacks: Brute force; | Linear / Differential cryptanalysis | Mod n; | XSL Standardisation: AES process; | CRYPTREC | NESSIE Misc: Avalanche effect | Block size; | IV | Key size; | Modes of operation; | Piling-up lemma; | Weak key; |