OLD | NEW |
1 =pod | 1 =pod |
2 | 2 |
3 =head1 NAME | 3 =head1 NAME |
4 | 4 |
5 evp - high-level cryptographic functions | 5 evp - high-level cryptographic functions |
6 | 6 |
7 =head1 SYNOPSIS | 7 =head1 SYNOPSIS |
8 | 8 |
9 #include <openssl/evp.h> | 9 #include <openssl/evp.h> |
10 | 10 |
11 =head1 DESCRIPTION | 11 =head1 DESCRIPTION |
12 | 12 |
13 The EVP library provides a high-level interface to cryptographic | 13 The EVP library provides a high-level interface to cryptographic |
14 functions. | 14 functions. |
15 | 15 |
16 B<EVP_Seal>I<...> and B<EVP_Open>I<...> provide public key encryption | 16 B<EVP_Seal>I<...> and B<EVP_Open>I<...> provide public key encryption |
17 and decryption to implement digital "envelopes". | 17 and decryption to implement digital "envelopes". |
18 | 18 |
19 The B<EVP_Sign>I<...> and B<EVP_Verify>I<...> functions implement | 19 The B<EVP_Sign>I<...> and B<EVP_Verify>I<...> functions implement |
20 digital signatures. | 20 digital signatures. |
21 | 21 |
22 Symmetric encryption is available with the B<EVP_Encrypt>I<...> | 22 Symmetric encryption is available with the B<EVP_Encrypt>I<...> |
23 functions. The B<EVP_Digest>I<...> functions provide message digests. | 23 functions. The B<EVP_Digest>I<...> functions provide message digests. |
24 | 24 |
| 25 The B<EVP_PKEY>I<...> functions provide a high level interface to |
| 26 asymmetric algorithms. |
| 27 |
25 Algorithms are loaded with OpenSSL_add_all_algorithms(3). | 28 Algorithms are loaded with OpenSSL_add_all_algorithms(3). |
26 | 29 |
27 All the symmetric algorithms (ciphers) and digests can be replaced by ENGINE | 30 All the symmetric algorithms (ciphers), digests and asymmetric algorithms |
28 modules providing alternative implementations. If ENGINE implementations of | 31 (public key algorithms) can be replaced by ENGINE modules providing alternative |
29 ciphers or digests are registered as defaults, then the various EVP functions | 32 implementations. If ENGINE implementations of ciphers or digests are registered |
30 will automatically use those implementations automatically in preference to | 33 as defaults, then the various EVP functions will automatically use those |
31 built in software implementations. For more information, consult the engine(3) | 34 implementations automatically in preference to built in software |
32 man page. | 35 implementations. For more information, consult the engine(3) man page. |
| 36 |
| 37 Although low level algorithm specific functions exist for many algorithms |
| 38 their use is discouraged. They cannot be used with an ENGINE and ENGINE |
| 39 versions of new algorithms cannot be accessed using the low level functions. |
| 40 Also makes code harder to adapt to new algorithms and some options are not |
| 41 cleanly supported at the low level and some operations are more efficient |
| 42 using the high level interface. |
33 | 43 |
34 =head1 SEE ALSO | 44 =head1 SEE ALSO |
35 | 45 |
36 L<EVP_DigestInit(3)|EVP_DigestInit(3)>, | 46 L<EVP_DigestInit(3)|EVP_DigestInit(3)>, |
37 L<EVP_EncryptInit(3)|EVP_EncryptInit(3)>, | 47 L<EVP_EncryptInit(3)|EVP_EncryptInit(3)>, |
38 L<EVP_OpenInit(3)|EVP_OpenInit(3)>, | 48 L<EVP_OpenInit(3)|EVP_OpenInit(3)>, |
39 L<EVP_SealInit(3)|EVP_SealInit(3)>, | 49 L<EVP_SealInit(3)|EVP_SealInit(3)>, |
40 L<EVP_SignInit(3)|EVP_SignInit(3)>, | 50 L<EVP_SignInit(3)|EVP_SignInit(3)>, |
41 L<EVP_VerifyInit(3)|EVP_VerifyInit(3)>, | 51 L<EVP_VerifyInit(3)|EVP_VerifyInit(3)>, |
42 L<OpenSSL_add_all_algorithms(3)|OpenSSL_add_all_algorithms(3)>, | 52 L<OpenSSL_add_all_algorithms(3)|OpenSSL_add_all_algorithms(3)>, |
43 L<engine(3)|engine(3)> | 53 L<engine(3)|engine(3)> |
44 | 54 |
45 =cut | 55 =cut |
OLD | NEW |