1=pod 2 3=head1 NAME 4 5EVP_rc4, 6EVP_rc4_40, 7EVP_rc4_hmac_md5 8- EVP RC4 stream cipher 9 10=head1 SYNOPSIS 11 12 #include <openssl/evp.h> 13 14 const EVP_CIPHER *EVP_rc4(void); 15 const EVP_CIPHER *EVP_rc4_40(void); 16 const EVP_CIPHER *EVP_rc4_hmac_md5(void); 17 18=head1 DESCRIPTION 19 20The RC4 stream cipher for EVP. 21 22=over 4 23 24=item EVP_rc4() 25 26RC4 stream cipher. This is a variable key length cipher with a default key 27length of 128 bits. 28 29=item EVP_rc4_40() 30 31RC4 stream cipher with 40 bit key length. 32 33WARNING: this function is obsolete. Its usage should be replaced with the 34EVP_rc4() and the EVP_CIPHER_CTX_set_key_length() functions. 35 36=item EVP_rc4_hmac_md5() 37 38Authenticated encryption with the RC4 stream cipher with MD5 as HMAC. 39 40WARNING: this is not intended for usage outside of TLS and requires calling of 41some undocumented ctrl functions. These ciphers do not conform to the EVP AEAD 42interface. 43 44=back 45 46=head1 NOTES 47 48Developers should be aware of the negative performance implications of 49calling these functions multiple times and should consider using 50L<EVP_CIPHER_fetch(3)> with L<EVP_CIPHER-RC4(7)> instead. 51See L<crypto(7)/Performance> for further information. 52 53=head1 RETURN VALUES 54 55These functions return an B<EVP_CIPHER> structure that contains the 56implementation of the symmetric cipher. See L<EVP_CIPHER_meth_new(3)> for 57details of the B<EVP_CIPHER> structure. 58 59=head1 SEE ALSO 60 61L<evp(7)>, 62L<EVP_EncryptInit(3)>, 63L<EVP_CIPHER_meth_new(3)> 64 65=head1 COPYRIGHT 66 67Copyright 2017-2023 The OpenSSL Project Authors. All Rights Reserved. 68 69Licensed under the Apache License 2.0 (the "License"). You may not use 70this file except in compliance with the License. You can obtain a copy 71in the file LICENSE in the source distribution or at 72L<https://www.openssl.org/source/license.html>. 73 74=cut 75