In
cryptography
Cryptography, or cryptology (from grc, , translit=kryptós "hidden, secret"; and ''graphein'', "to write", or ''-logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of adver ...
, RC6 (Rivest cipher 6) is a
symmetric key
Symmetric-key algorithms are algorithms for cryptography that use the same cryptographic keys for both the encryption of plaintext and the decryption of ciphertext. The keys may be identical, or there may be a simple transformation to go between th ...
block cipher
In cryptography, a block cipher is a deterministic algorithm operating on fixed-length groups of bits, called ''blocks''. Block ciphers are specified cryptographic primitive, elementary components in the design of many cryptographic protocols and ...
derived from
RC5
In cryptography, RC5 is a symmetric-key block cipher notable for its simplicity. Designed by Ronald Rivest in 1994, ''RC'' stands for "Rivest Cipher", or alternatively, "Ron's Code" (compare RC2 and RC4). The Advanced Encryption Standard (AES) c ...
. It was designed by
Ron Rivest
Ronald Linn Rivest (; born May 6, 1947) is a cryptographer and an Institute Professor at MIT. He is a member of MIT's Department of Electrical Engineering and Computer Science (EECS) and a member of MIT's Computer Science and Artificial Intell ...
,
Matt Robshaw Matthew John Barton "Matt" Robshaw is a cryptographer. Formerly a lecturer at Royal Holloway, University of London and a member of the cryptography research group at France Telecom's Orange Labs, he is now a Technical Fellow at Impinj. He coordina ...
, Ray Sidney, and
Yiqun Lisa Yin
Yiqun Lisa Yin is a Chinese-American cryptographer and independent security consultant. Yin is known for breaking the SHA-1 cryptographic hash function, for developing the RC6 block cipher, and for her service as editor of the IEEE P1363 project fo ...
to meet the requirements of the
Advanced Encryption Standard
The Advanced Encryption Standard (AES), also known by its original name Rijndael (), is a specification for the encryption of electronic data established by the U.S. National Institute of Standards and Technology (NIST) in 2001.
AES is a variant ...
(AES)
competition
Competition is a rivalry where two or more parties strive for a common goal which cannot be shared: where one's gain is the other's loss (an example of which is a zero-sum game). Competition can arise between entities such as organisms, indivi ...
. The algorithm was one of the five finalists, and also was submitted to the
NESSIE
NESSIE (New European Schemes for Signatures, Integrity and Encryption) was a European research project funded from 2000 to 2003 to identify secure cryptographic primitives. The project was comparable to the NIST AES process and the Japanese Gov ...
and
CRYPTREC
CRYPTREC is the Cryptography Research and Evaluation Committees set up by the Japanese Government to evaluate and recommend cryptographic techniques for government and industrial use. It is comparable in many respects to the European Union's NESSIE ...
projects. It was a proprietary algorithm, patented by
RSA Security
RSA Security LLC, formerly RSA Security, Inc. and doing business as RSA, is an American computer and network security company with a focus on encryption and encryption standards. RSA was named after the initials of its co-founders, Ron Rivest, ...
.
RC6 proper has a
block size of 128 bits and supports
key size
In cryptography, key size, key length, or key space refer to the number of bits in a key used by a cryptographic algorithm (such as a cipher).
Key length defines the upper-bound on an algorithm's security (i.e. a logarithmic measure of the fastest ...
s of 128, 192, and 256 bits up to 2040-bits, but, like RC5, it may be parameterised to support a wide variety of word-lengths, key sizes, and number of rounds. RC6 is very similar to RC5 in structure, using data-dependent rotations,
modular
Broadly speaking, modularity is the degree to which a system's components may be separated and recombined, often with the benefit of flexibility and variety in use. The concept of modularity is used primarily to reduce complexity by breaking a sy ...
addition, and
XOR
Exclusive or or exclusive disjunction is a logical operation that is true if and only if its arguments differ (one is true, the other is false).
It is symbolized by the prefix operator J and by the infix operators XOR ( or ), EOR, EXOR, , ...
operations; in fact, RC6 could be viewed as interweaving two parallel RC5 encryption processes, although RC6 does use an extra multiplication operation not present in RC5 in order to make the rotation dependent on every bit in a word, and not just the least significant few bits.
Encryption/decryption
Note that the key expansion algorithm is practically identical to that of RC5. The only difference is that for RC6, more words are derived from the user-supplied key.
// Encryption/Decryption with RC6-w/r/b
//
// Input: Plaintext stored in four w-bit input registers A, B, C & D
// r is the number of rounds
// w-bit round keys S , ... , 2r + 3//
// Output: Ciphertext stored in A, B, C, D
//
// Encryption Procedure:
B = B + S D = D + S for i = 1 to r do
A = A + S r + 2 C = C + S r + 3
// Decryption Procedure:
C = C - S r + 3 A = A - S r + 2
for i = r downto 1 do
D = D - S B = B - S
Possible use in NSA "implants"
In August 2016, code reputed to be
Equation Group
The Equation Group, classified as an advanced persistent threat, is a highly sophisticated threat actor suspected of being tied to the Tailored Access Operations (TAO) unit of the United States National Security Agency (NSA). Kaspersky Labs descr ...
or
NSA
The National Security Agency (NSA) is a national-level intelligence agency of the United States Department of Defense, under the authority of the Director of National Intelligence (DNI). The NSA is responsible for global monitoring, collectio ...
"implants" for various network security devices was disclosed. The accompanying instructions revealed that some of these programs use RC6 for confidentiality of network communications.
Licensing
As RC6 was not selected for the
AES, it was not guaranteed that RC6 is royalty-free. , a web page on the official web site of the designers of RC6, RSA Laboratories, states the following:
:"We emphasize that ''if'' RC6 is selected for the AES, RSA Security will ''not'' require any licensing or royalty payments for products using the algorithm".
The emphasis on the word "if" suggests that RSA Security Inc. may have required licensing and royalty payments for any products using the RC6 algorithm. RC6 was a patented encryption algorithm ( and ); however, the patents expired between 2015 and 2017.
Notes
*
*
*
References
External links
*
*
*
{{Cryptography navbox , block
Block ciphers