Skip to content
Home

RC6: a parameterized symmetric-key block cipher

RC6 is a symmetric-key block cipher derived from RC5 and submitted to the AES competition. It uses data-dependent rotations, integer multiplication and flexible parameters for block size, rounds and key length.

Overview

RC6 is a family of symmetric-key block ciphers derived from the earlier RC5 design. It was developed to meet the requirements of the late 1990s competition to select a successor to the Data Encryption Standard. The algorithm is deliberately flexible: implementers can choose block size, key length and number of rounds to balance security and performance. RC6 keeps a simple operation set built from integer addition, exclusive-or, rotations and a multiplication step to accelerate diffusion.

Image gallery

1 Image

Design and structure

RC6 operates on words and registers rather than single bits. A notable design choice is the use of four working registers, which can be seen as two interleaved RC5-like paths. The extra integer multiplication (not present in RC5) increases per-round diffusion, allowing the cipher to reach an acceptable security margin with fewer rounds. Data-dependent rotations are a central feature: rotation amounts come from processed data, which complicates some classes of cryptanalysis but keeps the inner loop efficient on conventional CPUs.

Parameters and variants

The algorithm is parameterized: common block sizes include 64 and 128 bits (128 bits being the setting intended for the Advanced Encryption Standard competition), and experimental work sometimes uses smaller sizes. Key lengths are flexible and can be configured to be very large in specialized parameterizations. The number of rounds is adjustable, so implementers can select a trade-off between throughput and the desired margin against attacks.

History and role in the AES competition

RC6 was submitted to the public competition run by the U.S. standards body to find a replacement for DES. It reached the final round of candidate algorithms but was not ultimately chosen as the AES; that role went to a different finalist. The RC6 team included several well-known cryptographers, and the design drew on lessons from RC5 while adding features to better fit target platforms and the competition's performance and security goals.

Performance, implementation and analysis

RC6 was designed with software performance in mind, especially on 32-bit processors where the four-register structure maps efficiently to machine registers. Its simple arithmetic and bitwise operations make it straightforward to implement in many programming environments. As with any proposed cipher, RC6 attracted academic cryptanalysis; researchers have evaluated reduced-round variants and specific parameter choices. No universally accepted practical break of the full recommended parameter sets emerged from that public analysis, but like all cryptographic designs it is considered in the context of peer review and evolving best practices.

Uses, licensing and notable facts

Because RC6 was developed by authors associated with commercial cryptographic work, parts of the design have been covered by patents and may involve licensing considerations for commercial deployment. Although RC6 has not been adopted as an international standard in the way AES was, it remains a historically important design that illustrates trade-offs between flexibility, speed and diffusion in block-cipher engineering. Implementers choosing RC6-style primitives should review current guidance, intellectual-property status and modern alternatives.

Note: This article summarizes established aspects of RC6's design and history. For implementation details, reference the original specification and current cryptographic guidance from standards bodies and the academic literature.

Questions and answers

Q: What is RC6?

A: RC6 is a symmetric-key block cipher derived from RC5. It is a parameterized algorithm with a variable block size, key size, and number of rounds.

Q: Who designed RC6?

A: RC6 was designed by Ron Rivest, Matt Robshaw, Ray Sidney, and Yiqun Lisa Yin.

Q: What are the default block sizes for RC5 and AES?

A: The default block size of RC5 is 64 bits while the default block size of AES is 128 bits.

Q: How does the structure of RC6 compare to that of RC5?

A: The structure of RC6 is very similar to that of RC5 but it uses an extra multiplication operation not present in the latter as well as four b/4-bit working registers instead of two b/2-bit registers.

Q: Why are four working registers used instead of two in order to build the AES architecture using only 32-bit operations?

A: Integer multiplication is used to increase diffusion achieved per round so fewer rounds are needed and speed can be increased. Four working registers are required because 32-bit operations are used when dealing with 64-bit blocks and 64-bit operations when dealing with 128-bit blocks.

Q: Is there any licensing or royalty payments required for products using the algorithm?

A: Yes, since it's a proprietary and patented algorithm (by RSA Security U.S. Patent 5,724,428 and U.S. Patent 5,835,600 ), licensing and royalty payments may be required for any products using the algorithm.

Related articles

Author

AlegsaOnline.com RC6: a parameterized symmetric-key block cipher

URL: https://en.alegsaonline.com/art/81421

Share

Sources
  • rsasecurity.com : "What are RC5 and RC6"
  • theory.lcs.mit.edu : The RC6 Block Cipher
  • perso.ens-lyon.fr : FPGA Implementations of the RC6 Block Cipher