User:Mario Hoerich/sandbox
The account of this former contributor was not re-activated after the server upgrade of March 2022.
RC5 is a Feistel cipher, developed in 1994 by Ronald L. Rivest. With this kind of algorithm, data is encrypted by first dividing it into equal-sized chunks and subsequently scrambling the contents of each such block by repeatedly applying mathematical operations. After a predetermined number of these “rounds”, the blocks are then recombined in a specific way, determined by the cipher’s mode of operation. Decryption works in a similar fashion with the sequence reversed and the “primitives”—the operations—inverted. Both en- and decryption use the same key.
When Rivest invented the cipher, his goal was a simple and fast cipher, well-suited for hardware implementation, with security relying mainly on data-dependent rotations as primitives. These operations do not use a predefined number, but rather use a part of the data itself to determine how many bit positions to rotate, which makes them harder to predict. At that time, the suitability of these rotations for cryptographic purposes was mostly unknown in the open literature.[1] Confusion—hiding any correlation between key and ciphertext, which according to Claude Shannon is an important property of every secure cipher—was usually achieved using substitution boxes, which reshuffle the bit positions of their input in a non-linear fashion.[2]. Since S-boxes usually require lookup tables, their omission in RC5 leads to lower memory requirements. This is mainly interesting in scenarios where resources are exceptionally scarce, for example with embedded systems, whose chip capacities may be directly limited by size constraints.[3]
RC5 was later enhanced to RC6, one of the five finalists in the 1999 selection of the Advanced encryption standard by the National Institute of Standards and Technology of the United States. Another finalist, MARS, made use of data-dependent rotations.[4]
Description
Key expansion
De- and encryption
Cryptanalysis
References
- ↑ Ronald L. Rivest, “The RC5 encryption algorithm”, Lecture Notes in Computer Science 1008/1995, p. 86–96 doi:10.1007/3-540-60590-8_7
- ↑ Needed.
- ↑ might be needed
- ↑
- NIST Papers, “The AES Winner” for the finalists,
- Ronald L. Rivest, et al., “The RC6 Block Cipher”, 1998 (online), for the step RC5->RC6
- Carolynn Burwick, et al., “MARS a candidate cipher for AES”, p. 6 (Online) for use of data-dependent rotations