Safekipedia
Broken stream ciphersFree ciphersPseudorandom number generatorsStream ciphers

RC4

Adapted from Wikipedia ยท Discoverer experience

In cryptography, RC4 (also known as ARC4 or ARCFOUR) is a type of stream cipher used to scramble information so that only the right people can read it. It was once popular because it worked quickly and simply on computers. However, scientists found important problems with RC4, making it unsafe for protecting secret data.

One big issue with RC4 is that if the first part of its scrambled output is used, or if similar secret codes are used more than once, attackers can figure out the hidden messages. This problem caused some old ways of securing wireless internet, like the WEP protocol, to become unsafe.

Because of these problems, important groups like the IETF told people to stop using RC4 with certain internet safety systems called TLS protocol. Companies like Mozilla and Microsoft also suggested people stop using it. Some people tried to improve RC4 by creating new versions like Spritz, RC4A, VMPC, and RC4+.

History

RC4 is a kind of code called a stream cipher that was made by Ronald Rivest from RSA Security in 1987. The name RC4 stands for "Ron's Code" and is one of a series including RC2, RC5, and RC6.

At first, the details of RC4 were kept secret, but in 1994, someone shared how it works online. Soon after, people began studying it and found ways it could be broken. RC4 was used in many important systems like wireless networks and internet security, but later it was found to have weaknesses. Because of these problems, it was no longer allowed for some uses starting in 2015. Even though it has issues, RC4 was popular because it was quick and easy to use in different ways.

Description

RC4 is a method used to scramble information, called a stream cipher. It creates a random-looking sequence of numbers, called a keystream, which is then mixed with the original message to hide it. To unscramble the message, the same process is done again using the same keystream, which makes it easy to get the original message back.

The keystream is created using a secret setup called a state. This state has two parts: a list of numbers from 0 to 255 shuffled in a special way, and two pointers that move through this list. The shuffling starts with a secret key, and then the keystream is generated by moving the pointers and mixing the numbers in the list. Even though RC4 is simple and fast to use on computers, it has some problems that make it not very secure anymore.

Security

RC4 is a type of encryption tool called a stream cipher. Unlike newer tools, it does not use a separate number, called a nonce, along with the main key. This can cause problems if the same key is used many times, as attackers might find patterns in the data.

Because of how it works, RC4 can be easier to change or attack if not used with extra safety checks. For a time, it was useful because it avoided a specific problem that affected other encryption tools. However, scientists found new ways to break RC4, especially when many messages are sent using the same key. Because of these issues, using RC4 for important online safety was officially stopped in 2015.

RC4 variants

RC4 has some weaknesses, especially when the first part of its output is used. One way to fix this is to ignore the first few bytes, which is called RC4-drop_N.

Several versions of RC4 have been created to make it stronger. These include RC4A, VMPC, RC4+, and Spritz. Each version changes the way RC4 works to try to fix its problems, though some of these new versions have also been found to have weaknesses.

RC4-based protocols

RC4 is a type of encryption used in several technologies and systems. Some of these include WEP for wireless networks, TKIP (which works with WPA), and the BitTorrent protocol encryption. It was also used in older versions of Microsoft Office XP, Microsoft Point-to-Point Encryption, and PDF files.

Other systems like Transport Layer Security and Secure Sockets Layer once allowed RC4 as an option, but later rules stopped its use. Additionally, RC4 could be chosen as an encryption method in Secure Shell, Remote Desktop Protocol, Kerberos, and Skype, among others. When marked with "(optionally)", RC4 was just one of several possible encryption choices for these systems.

This article is a child-friendly adaptation of the Wikipedia article on RC4, available under CC BY-SA 4.0.