EVP_RC4(3) | Library Functions Manual | EVP_RC4(3)

# NAME

`EVP_rc4`, `EVP_rc4_40`, `EVP_rc4_hmac_md5` — EVP RC4 stream cipher

# SYNOPSIS

library “libcrypto”
`#include <openssl/evp.h>`

const EVP_CIPHER *
`EVP_rc4`(void);

const EVP_CIPHER *
`EVP_rc4_40`(void);

const EVP_CIPHER *
`EVP_rc4_hmac_md5`(void);

# DESCRIPTION

These functions provide the RC4 stream cipher in the evp(3) framework. It is a variable key length cipher.

`EVP_rc4`() uses a default key length of 128 bits.

`EVP_rc4_40`() uses a key length of 40 bits instead. This function is deprecated. Use `EVP_rc4`() and EVP_CIPHER_CTX_set_key_length(3) instead.

`EVP_rc4_hmac_md5`() provides authenticated encryption with the RC4 stream cipher with MD5 as HMAC. This function is not intended for usage outside of TLS and requires calling of some undocumented control functions. It does not conform to the EVP AEAD interface.

# RETURN VALUES

These functions return an EVP_CIPHER structure that provides the implementation of the symmetric cipher.

# SEE ALSO

evp(3), EVP_EncryptInit(3)

# HISTORY

`EVP_rc4`() first appeared in SSLeay 0.5.1 and `EVP_rc4_40`() in OpenSSL 0.9.1. These functions have been available since OpenBSD 2.4.

`EVP_rc4_hmac_md5`() first appeared in OpenSSL 1.0.1 and has been available since OpenBSD 5.3.

June 8, 2025 | Debian