RC4 is a stream cipher designed by Rivest for RSA Data Security (now RSA Security). It is a variable key-size stream cipher with byte-oriented operations. The algorithm is based on the use of a random permutation. Analysis shows that the period of the cipher is overwhelmingly likely to be greater than 10100. Eight to sixteen machine operations are required per output byte, and the cipher can be expected to run very quickly in software. Independent analysts have scrutinized the algorithm and it is considered secure.
|The use of RC4|
RC4 is used for file encryption in products such as RSA SecurPC which is a software utility that encrypts disks and files on both desktop and laptop personal computers. It is also used for secure communications, as in the encryption of traffic to and from secure web sites using the SSL (Secure Sockets Layer) Handshake Protocol which was developed by Netscape Communications Corporation to provide security and privacy over the Internet.
|RC5 and RC6|
There are three routines in RC5: key expansion, encryption, and decryption. In the key-expansion routine, the user-provided secret key is expanded to fill a key table whose size depends on the number of rounds. The key table is then used in both encryption and decryption. The encryption routine consists of three primitive operations: integer addition, bitwise XOR, and variable rotation. The exceptional simplicity of RC5 makes it easy to implement and analyze.
is a block cipher based on RC5 and designed by Rivest, Sidney, and Yin for RSA
Security. Like RC5, RC6 is a parameterized algorithm where the block size, the
key size, and the number of rounds are variable; again, the upper limit on the
key size is 2040 bits. The main goal for the inventors has been to meet the
requirements of the AES (see AES).
|The different between RC6 and RC5|
There are two main new features in RC6 compared to RC5: the inclusion of integer multiplication and the use of four b/4-bit working registers instead of two b/2-bit registers as in RC5 (b is the block size). Integer multiplication is used to increase the diffusion achieved per round so that fewer rounds are needed and the speed of the cipher can be increased. The reason for using four working registers instead of two is technical rather than theoretical. Namely, the default block size of the AES is 128 bits; while RC5 deals with 64-bit operations when using this block size, 32-bit operations are preferable given the intended architecture of the AES.