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