RC4

related topics
{math, number, function}
{system, computer, user}
{rate, high, increase}
{war, force, army}
{food, make, wine}
{company, market, business}

In cryptography, RC4 (also known as ARC4 or ARCFOUR meaning Alleged RC4, see below) is the most widely-used software stream cipher and is used in popular protocols such as Secure Sockets Layer (SSL) (to protect Internet traffic) and WEP (to secure wireless networks). While remarkable for its simplicity and speed in software, RC4 has weaknesses that argue against its use in new systems.[2] It is especially vulnerable when the beginning of the output keystream is not discarded, or nonrandom or related keys are used; some ways of using RC4 can lead to very insecure cryptosystems such as WEP.

Contents

History

RC4 was designed by Ron Rivest of RSA Security in 1987. While it is officially termed "Rivest Cipher 4", the RC acronym is alternatively understood to stand for "Ron's Code"[3] (see also RC2, RC5 and RC6).

RC4 was initially a trade secret, but in September 1994 a description of it was anonymously posted to the Cypherpunks mailing list.[4] It was soon posted on the sci.crypt newsgroup, and from there to many sites on the Internet. The leaked code was confirmed to be genuine as its output was found to match that of proprietary software using licensed RC4. Because the algorithm is known, it is no longer a trade secret. The name "RC4" is trademarked, so RC4 is often referred to as "ARCFOUR" or "ARC4" (meaning Alleged RC4) to avoid trademark problems. RSA Security has never officially released the algorithm; Rivest has, however, linked to the English Wikipedia article on RC4 in his own course notes.[5] RC4 has become part of some commonly-used encryption protocols and standards, including WEP and WPA for wireless cards and TLS.

Full article ▸

related documents
Abstract Syntax Notation One
Mathematica
Symmetric-key algorithm
Information retrieval
Compiler
Block cipher
XOR swap algorithm
Source code
Shell script
List of programming languages by category
UTF-16/UCS-2
Bilinear transform
Diffie-Hellman key exchange
Transfer function
Lazy evaluation
XSL Transformations
Logo (programming language)
Delegation pattern
Vi
Outer product
Trie
Object-relational database
Riemann mapping theorem
Prim's algorithm
Paracompact space
Fixed point combinator
Base (topology)
Merkle-Hellman
Augmented Backus–Naur Form
Pigeonhole principle