Sortix 1.1dev ports manual
This manual documents Sortix 1.1dev ports. You can instead view this document in the latest official manual.
EVP(3) | Library Functions Manual | EVP(3) |
NAME
evp — high level cryptographic functionsSYNOPSIS
#include <openssl/evp.h>DESCRIPTION
The EVP library provides a high level interface to cryptographic functions. EVP_SealInit(3) and EVP_OpenInit(3) provide public key encryption and decryption to implement digital "envelopes". The EVP_DigestSignInit(3) and EVP_DigestVerifyInit(3) functions implement digital signatures and Message Authentication Codes (MACs). Also see the older EVP_SignInit(3) and EVP_VerifyInit(3) functions. Symmetric encryption is available with the EVP_EncryptInit(3) functions. The EVP_DigestInit(3) functions provide message digests. Authenticated encryption with additional data (AEAD) is available with the EVP_AEAD_CTX_init(3) functions. The EVP_PKEY_*() functions provide a high level interface to asymmetric algorithms. To create a new EVP_PKEY, see EVP_PKEY_new(3). EVP_PKEYs can be associated with a private key of a particular algorithm by using the functions described in the EVP_PKEY_set1_RSA(3) page, or new keys can be generated using EVP_PKEY_keygen(3). EVP_PKEYs can be compared using EVP_PKEY_cmp(3) or printed using EVP_PKEY_print_private(3). The EVP_PKEY_*() functions support the full range of asymmetric algorithm operations:- For key agreement, see EVP_PKEY_derive(3).
- For signing and verifying, see EVP_PKEY_sign(3), EVP_PKEY_verify(3), and EVP_PKEY_verify_recover(3). However, note that these functions do not perform a digest of the data to be signed. Therefore normally you would use the EVP_DigestSignInit(3) functions for this purpose.
- For encryption and decryption see EVP_PKEY_encrypt(3) and EVP_PKEY_decrypt(3), respectively. However, note that these functions perform encryption and decryption only. As public key encryption is an expensive operation, normally you would wrap an encrypted message in a digital envelope using the EVP_SealInit(3) and EVP_OpenInit(3) functions.
SEE ALSO
crypto(3), ENGINE_register_RSA(3), EVP_AEAD_CTX_init(3), EVP_aes_128_cbc(3), EVP_BytesToKey(3), EVP_camellia_128_cbc(3), EVP_des_cbc(3), EVP_DigestInit(3), EVP_DigestSignInit(3), EVP_EncodeInit(3), EVP_EncryptInit(3), EVP_OpenInit(3), EVP_PKEY_decrypt(3), EVP_PKEY_derive(3), EVP_PKEY_encrypt(3), EVP_PKEY_keygen(3), EVP_PKEY_new(3), EVP_PKEY_print_private(3), EVP_PKEY_set1_RSA(3), EVP_PKEY_sign(3), EVP_PKEY_verify(3), EVP_PKEY_verify_recover(3), EVP_rc4(3), EVP_SealInit(3), EVP_SignInit(3), EVP_sm3(3), EVP_sm4_cbc(3), EVP_VerifyInit(3), EVP_whirlpool(3)August 25, 2019 | Debian |