Rivest ciphers: Difference between revisions
imported>Sandy Harris (→RC4) |
imported>Sandy Harris (→RC2) |
||
Line 3: | Line 3: | ||
== RC2 == | == RC2 == | ||
'''RC2''' was a [[block cipher]] designed in 1987 for [[Lotus Corporation]] for use in their [[Lotus Notes]] software. It is a [[Feistel cipher]] with 18 rounds and a 64-bit block size. | '''RC2''' was a [[block cipher]] designed in 1987 for [[Lotus Corporation]] for use in their [[Lotus Notes]] software. It is a [[Feistel cipher]] with 18 rounds and a 64-bit block size. Details are in RFC 2268. | ||
Like RC4, this cipher was authorised for export under the then current US laws, provided the key size was limited to 40-bits | Like RC4, this cipher was authorised for export under the then current US laws, provided the key size was limited to 40-bits. | ||
== RC4 == | == RC4 == |
Revision as of 23:09, 23 July 2009
Ron Rivest, an MIT professor and one of the founders of RSA Security, has devised a number of ciphers for that company, either alone or with collaborators. These designs are designated as RCn. Officially, "RC" stands for Rivest Cipher; it may also be taken as "Ron's Code".
RC2
RC2 was a block cipher designed in 1987 for Lotus Corporation for use in their Lotus Notes software. It is a Feistel cipher with 18 rounds and a 64-bit block size. Details are in RFC 2268.
Like RC4, this cipher was authorised for export under the then current US laws, provided the key size was limited to 40-bits.
RC4
RC4 is a very widely deployed stream cipher.
The design has a size parameter; the 8-bit version is in widespread use. This generates pseudo-random data one byte at a time and maintains a 256-byte internal state. The combining operation is XOR. The key can be any size up to the state size, 256 bytes or 2048 bits for the 8-bit version.
RC4 is quite simple to implement in software and is very widely used. It is used (at least as one option) in Internet protocols such as TLS (RFC 2246) for secure web browsing and SSH (RFC 4251) for secure remote login. It is also use in WEP wireless networking, in Microsoft PPTP and in many other applications.
The design was proprietary until an Internet post that revealed the internal workings of the cipher. The posted version is sometimes labelled ARC4 for "Alleged RC4".
RC5
RC5 is a block cipher with 64-bit blocks, one of the DES generation of block ciphers. It was the first well-known cipher to make extensive use of data-dependent rotations to achieve nonlinearity. It is a Feistel cipher.
There is an RFC giving an RC5 specification for Internet use; see external links.
Its descendant RC6, also using data-dependent rotations, was an AES finalist. RSA Security have a page describing both ciphers; see external links.
RC6
RC6 is a block cipher that was a finalist in the AES competition. Like all AES candidates, it uses 128-bit blocks and supports key sizes of 128, 192 or 256 bits.
Like RC5, RC6 made extensive use of data-dependent rotations. RSA Security have a page describing both ciphers; see external links.
RC6 is the only one of the five finalists which does not have a completely open license; it is still proprietary to RSA Security.