rc4, RC4_set_key, RC4 - RC4 encryption
RC4_KEY *key, int len, const unsigned char *data
); void RC4(
RC4_KEY *key, unsigned long len, const unsigned
char *indata, unsigned char *outdata );
This library implements the Alleged RC4 cipher, which is
described in Applied Cryptography. It is believed to be
compatible with <trademark>RC4</trademark>, a proprietary
cipher of RSA Security Inc.
RC4 is a stream cipher with variable key length. Typically,
128 bit (16 byte) keys are used for strong encryption,
but shorter insecure key sizes have been widely used
due to export restrictions.
RC4 consists of a key setup phase and the actual encryption
or decryption phase.
The RC4_set_key() function sets up the RC4_KEY key using
the len bytes long key at data.
The RC4() function encrypts or decrypts the len bytes of
data at indata using key and places the result at outdata.
Repeated RC4() calls with the same key yield a continuous
Since RC4 is a stream cipher (the input is XORed with a
pseudo-random key stream to produce the output), decryption
uses the same function calls as encryption.
Applications should use the higher level functions
instead of calling the RC4 functions directly. (See
Certain conditions have to be observed to securely use
stream ciphers. You cannot perform multiple encryptions
using the same key stream.
The RC4_set_key() and RC4() functions do not return values.
The RC4_set_key() and RC4() functions are available in all
versions of SSLeay and OpenSSL.
Functions: blowfish(3), des(3), rc2(3)
[ Back ]