|  | =pod | 
|  |  | 
|  | =head1 NAME | 
|  |  | 
|  | evp - high-level cryptographic functions | 
|  |  | 
|  | =head1 SYNOPSIS | 
|  |  | 
|  | #include <openssl/evp.h> | 
|  |  | 
|  | =head1 DESCRIPTION | 
|  |  | 
|  | The EVP library provides a high-level interface to cryptographic | 
|  | functions. | 
|  |  | 
|  | B<EVP_Seal>I<...> and B<EVP_Open>I<...> provide public key encryption | 
|  | and decryption to implement digital "envelopes". | 
|  |  | 
|  | The B<EVP_Sign>I<...> and B<EVP_Verify>I<...> functions implement | 
|  | digital signatures. | 
|  |  | 
|  | Symmetric encryption is available with the B<EVP_Encrypt>I<...> | 
|  | functions.  The B<EVP_Digest>I<...> functions provide message digests. | 
|  |  | 
|  | The B<EVP_PKEY>I<...> functions provide a high level interface to | 
|  | asymmetric algorithms. | 
|  |  | 
|  | Algorithms are loaded with OpenSSL_add_all_algorithms(3). | 
|  |  | 
|  | All the symmetric algorithms (ciphers), digests and asymmetric algorithms | 
|  | (public key algorithms) can be replaced by ENGINE modules providing alternative | 
|  | implementations. If ENGINE implementations of ciphers or digests are registered | 
|  | as defaults, then the various EVP functions will automatically use those | 
|  | implementations automatically in preference to built in software | 
|  | implementations. For more information, consult the engine(3) man page. | 
|  |  | 
|  | Although low level algorithm specific functions exist for many algorithms | 
|  | their use is discouraged. They cannot be used with an ENGINE and ENGINE | 
|  | versions of new algorithms cannot be accessed using the low level functions. | 
|  | Also makes code harder to adapt to new algorithms and some options are not | 
|  | cleanly supported at the low level and some operations are more efficient | 
|  | using the high level interface. | 
|  |  | 
|  | =head1 SEE ALSO | 
|  |  | 
|  | L<EVP_DigestInit(3)|EVP_DigestInit(3)>, | 
|  | L<EVP_EncryptInit(3)|EVP_EncryptInit(3)>, | 
|  | L<EVP_OpenInit(3)|EVP_OpenInit(3)>, | 
|  | L<EVP_SealInit(3)|EVP_SealInit(3)>, | 
|  | L<EVP_SignInit(3)|EVP_SignInit(3)>, | 
|  | L<EVP_VerifyInit(3)|EVP_VerifyInit(3)>, | 
|  | L<OpenSSL_add_all_algorithms(3)|OpenSSL_add_all_algorithms(3)>, | 
|  | L<engine(3)|engine(3)> | 
|  |  | 
|  | =cut |