| =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 |