Functions | |
const EVP_CIPHER * | EVP_wincrypt_des_ede3_cbc (void) |
const EVP_CIPHER * | EVP_hcrypto_aes_128_cbc (void) |
const EVP_CIPHER * | EVP_hcrypto_aes_192_cbc (void) |
const EVP_CIPHER * | EVP_hcrypto_aes_256_cbc (void) |
const EVP_CIPHER * | EVP_hcrypto_aes_128_cfb8 (void) |
const EVP_CIPHER * | EVP_hcrypto_aes_192_cfb8 (void) |
const EVP_CIPHER * | EVP_hcrypto_aes_256_cfb8 (void) |
const EVP_MD * | EVP_hcrypto_sha256 (void) |
const EVP_MD * | EVP_hcrypto_sha384 (void) |
const EVP_MD * | EVP_hcrypto_sha512 (void) |
const EVP_MD * | EVP_hcrypto_sha1 (void) |
const EVP_MD * | EVP_hcrypto_md5 (void) |
const EVP_MD * | EVP_hcrypto_md4 (void) |
const EVP_MD * | EVP_hcrypto_md2 (void) |
const EVP_CIPHER * | EVP_hcrypto_des_cbc (void) |
const EVP_CIPHER * | EVP_hcrypto_des_ede3_cbc (void) |
const EVP_CIPHER * | EVP_hcrypto_rc2_cbc (void) |
const EVP_CIPHER * | EVP_hcrypto_rc2_40_cbc (void) |
const EVP_CIPHER * | EVP_hcrypto_rc2_64_cbc (void) |
const EVP_CIPHER * | EVP_hcrypto_camellia_128_cbc (void) |
const EVP_CIPHER * | EVP_hcrypto_camellia_192_cbc (void) |
const EVP_CIPHER * | EVP_hcrypto_camellia_256_cbc (void) |
size_t | EVP_MD_size (const EVP_MD *md) |
size_t | EVP_MD_block_size (const EVP_MD *md) |
EVP_MD_CTX * | EVP_MD_CTX_create (void) |
void | EVP_MD_CTX_init (EVP_MD_CTX *ctx) HC_DEPRECATED |
void | EVP_MD_CTX_destroy (EVP_MD_CTX *ctx) |
int | EVP_MD_CTX_cleanup (EVP_MD_CTX *ctx) HC_DEPRECATED |
const EVP_MD * | EVP_MD_CTX_md (EVP_MD_CTX *ctx) |
size_t | EVP_MD_CTX_size (EVP_MD_CTX *ctx) |
size_t | EVP_MD_CTX_block_size (EVP_MD_CTX *ctx) |
int | EVP_DigestInit_ex (EVP_MD_CTX *ctx, const EVP_MD *md, ENGINE *engine) |
int | EVP_DigestUpdate (EVP_MD_CTX *ctx, const void *data, size_t size) |
int | EVP_DigestFinal_ex (EVP_MD_CTX *ctx, void *hash, unsigned int *size) |
int | EVP_Digest (const void *data, size_t dsize, void *hash, unsigned int *hsize, const EVP_MD *md, ENGINE *engine) |
const EVP_MD * | EVP_sha256 (void) |
const EVP_MD * | EVP_sha384 (void) |
const EVP_MD * | EVP_sha512 (void) |
const EVP_MD * | EVP_sha1 (void) |
const EVP_MD * | EVP_sha (void) |
const EVP_MD * | EVP_md5 (void) |
const EVP_MD * | EVP_md4 (void) |
const EVP_MD * | EVP_md2 (void) |
const EVP_MD * | EVP_md_null (void) |
size_t | EVP_CIPHER_block_size (const EVP_CIPHER *c) |
size_t | EVP_CIPHER_key_length (const EVP_CIPHER *c) |
size_t | EVP_CIPHER_iv_length (const EVP_CIPHER *c) |
void | EVP_CIPHER_CTX_init (EVP_CIPHER_CTX *c) |
int | EVP_CIPHER_CTX_cleanup (EVP_CIPHER_CTX *c) |
int | EVP_CIPHER_CTX_set_key_length (EVP_CIPHER_CTX *c, int length) |
const EVP_CIPHER * | EVP_CIPHER_CTX_cipher (EVP_CIPHER_CTX *ctx) |
size_t | EVP_CIPHER_CTX_block_size (const EVP_CIPHER_CTX *ctx) |
size_t | EVP_CIPHER_CTX_key_length (const EVP_CIPHER_CTX *ctx) |
size_t | EVP_CIPHER_CTX_iv_length (const EVP_CIPHER_CTX *ctx) |
unsigned long | EVP_CIPHER_CTX_flags (const EVP_CIPHER_CTX *ctx) |
int | EVP_CIPHER_CTX_mode (const EVP_CIPHER_CTX *ctx) |
void * | EVP_CIPHER_CTX_get_app_data (EVP_CIPHER_CTX *ctx) |
void | EVP_CIPHER_CTX_set_app_data (EVP_CIPHER_CTX *ctx, void *data) |
int | EVP_CipherInit_ex (EVP_CIPHER_CTX *ctx, const EVP_CIPHER *c, ENGINE *engine, const void *key, const void *iv, int encp) |
int | EVP_CipherUpdate (EVP_CIPHER_CTX *ctx, void *out, int *outlen, void *in, size_t inlen) |
int | EVP_CipherFinal_ex (EVP_CIPHER_CTX *ctx, void *out, int *outlen) |
const EVP_CIPHER * | EVP_enc_null (void) |
const EVP_CIPHER * | EVP_rc2_cbc (void) |
const EVP_CIPHER * | EVP_rc2_40_cbc (void) |
const EVP_CIPHER * | EVP_rc2_64_cbc (void) |
const EVP_CIPHER * | EVP_rc4 (void) |
const EVP_CIPHER * | EVP_rc4_40 (void) |
const EVP_CIPHER * | EVP_des_cbc (void) |
const EVP_CIPHER * | EVP_des_ede3_cbc (void) |
const EVP_CIPHER * | EVP_aes_128_cbc (void) |
const EVP_CIPHER * | EVP_aes_192_cbc (void) |
const EVP_CIPHER * | EVP_aes_256_cbc (void) |
const EVP_CIPHER * | EVP_aes_128_cfb8 (void) |
const EVP_CIPHER * | EVP_aes_192_cfb8 (void) |
const EVP_CIPHER * | EVP_aes_256_cfb8 (void) |
const EVP_CIPHER * | EVP_camellia_128_cbc (void) |
const EVP_CIPHER * | EVP_camellia_192_cbc (void) |
const EVP_CIPHER * | EVP_camellia_256_cbc (void) |
const EVP_CIPHER * | EVP_get_cipherbyname (const char *name) |
int | EVP_BytesToKey (const EVP_CIPHER *type, const EVP_MD *md, const void *salt, const void *data, size_t datalen, unsigned int count, void *keydata, void *ivdata) |
const EVP_CIPHER* EVP_aes_128_cbc | ( | void | ) |
const EVP_CIPHER* EVP_aes_128_cfb8 | ( | void | ) |
The AES-128 cipher type
const EVP_CIPHER* EVP_aes_192_cbc | ( | void | ) |
The AES-192 cipher type
const EVP_CIPHER* EVP_aes_192_cfb8 | ( | void | ) |
The AES-192 cipher type
const EVP_CIPHER* EVP_aes_256_cbc | ( | void | ) |
The AES-256 cipher type
const EVP_CIPHER* EVP_aes_256_cfb8 | ( | void | ) |
The AES-256 cipher type
int EVP_BytesToKey | ( | const EVP_CIPHER * | type, | |
const EVP_MD * | md, | |||
const void * | salt, | |||
const void * | data, | |||
size_t | datalen, | |||
unsigned int | count, | |||
void * | keydata, | |||
void * | ivdata | |||
) |
Provides a legancy string to key function, used in PEM files.
New protocols should use new string to key functions like NIST SP56-800A or PKCS#5 v2.0 (see PKCS5_PBKDF2_HMAC_SHA1()).
type | type of cipher to use | |
md | message digest to use | |
salt | salt salt string, should be an binary 8 byte buffer. | |
data | the password/input key string. | |
datalen | length of data parameter. | |
count | iteration counter. | |
keydata | output keydata, needs to of the size EVP_CIPHER_key_length(). | |
ivdata | output ivdata, needs to of the size EVP_CIPHER_block_size(). |
const EVP_CIPHER* EVP_camellia_128_cbc | ( | void | ) |
The Camellia-128 cipher type
const EVP_CIPHER* EVP_camellia_192_cbc | ( | void | ) |
The Camellia-198 cipher type
const EVP_CIPHER* EVP_camellia_256_cbc | ( | void | ) |
The Camellia-256 cipher type
size_t EVP_CIPHER_block_size | ( | const EVP_CIPHER * | c | ) |
Return the block size of the cipher.
c | cipher to get the block size from. |
size_t EVP_CIPHER_CTX_block_size | ( | const EVP_CIPHER_CTX * | ctx | ) |
Return the block size of the cipher context.
ctx | cipher context to get the block size from. |
const EVP_CIPHER* EVP_CIPHER_CTX_cipher | ( | EVP_CIPHER_CTX * | ctx | ) |
Return the EVP_CIPHER for a EVP_CIPHER_CTX context.
ctx | the context to get the cipher type from. |
int EVP_CIPHER_CTX_cleanup | ( | EVP_CIPHER_CTX * | c | ) |
Clean up the EVP_CIPHER_CTX context.
c | the cipher to clean up. |
unsigned long EVP_CIPHER_CTX_flags | ( | const EVP_CIPHER_CTX * | ctx | ) |
Get the flags for an EVP_CIPHER_CTX context.
ctx | the EVP_CIPHER_CTX to get the flags from |
void* EVP_CIPHER_CTX_get_app_data | ( | EVP_CIPHER_CTX * | ctx | ) |
Get the app data for an EVP_CIPHER_CTX context.
ctx | the EVP_CIPHER_CTX to get the app data from |
void EVP_CIPHER_CTX_init | ( | EVP_CIPHER_CTX * | c | ) |
Initiate a EVP_CIPHER_CTX context. Clean up with EVP_CIPHER_CTX_cleanup().
c | the cipher initiate. |
size_t EVP_CIPHER_CTX_iv_length | ( | const EVP_CIPHER_CTX * | ctx | ) |
Return the IV size of the cipher context.
ctx | cipher context to get the IV size from. |
size_t EVP_CIPHER_CTX_key_length | ( | const EVP_CIPHER_CTX * | ctx | ) |
Return the key size of the cipher context.
ctx | cipher context to get the key size from. |
int EVP_CIPHER_CTX_mode | ( | const EVP_CIPHER_CTX * | ctx | ) |
Get the mode for an EVP_CIPHER_CTX context.
ctx | the EVP_CIPHER_CTX to get the mode from |
void EVP_CIPHER_CTX_set_app_data | ( | EVP_CIPHER_CTX * | ctx, | |
void * | data | |||
) |
Set the app data for an EVP_CIPHER_CTX context.
ctx | the EVP_CIPHER_CTX to set the app data for | |
data | the app data to set for an EVP_CIPHER_CTX. |
int EVP_CIPHER_CTX_set_key_length | ( | EVP_CIPHER_CTX * | c, | |
int | length | |||
) |
If the cipher type supports it, change the key length
c | the cipher context to change the key length for | |
length | new key length |
size_t EVP_CIPHER_iv_length | ( | const EVP_CIPHER * | c | ) |
Return the IV size of the cipher.
c | cipher to get the IV size from. |
size_t EVP_CIPHER_key_length | ( | const EVP_CIPHER * | c | ) |
Return the key size of the cipher.
c | cipher to get the key size from. |
int EVP_CipherFinal_ex | ( | EVP_CIPHER_CTX * | ctx, | |
void * | out, | |||
int * | outlen | |||
) |
Encipher/decipher final data
ctx | the cipher context. | |
out | output data from the operation. | |
outlen | output length |
See EVP Cipher for an example how to use this function.
int EVP_CipherInit_ex | ( | EVP_CIPHER_CTX * | ctx, | |
const EVP_CIPHER * | c, | |||
ENGINE * | engine, | |||
const void * | key, | |||
const void * | iv, | |||
int | encp | |||
) |
Initiate the EVP_CIPHER_CTX context to encrypt or decrypt data. Clean up with EVP_CIPHER_CTX_cleanup().
ctx | context to initiate | |
c | cipher to use. | |
engine | crypto engine to use, NULL to select default. | |
key | the crypto key to use, NULL will use the previous value. | |
iv | the IV to use, NULL will use the previous value. | |
encp | non zero will encrypt, -1 use the previous value. |
int EVP_CipherUpdate | ( | EVP_CIPHER_CTX * | ctx, | |
void * | out, | |||
int * | outlen, | |||
void * | in, | |||
size_t | inlen | |||
) |
Encipher/decipher partial data
ctx | the cipher context. | |
out | output data from the operation. | |
outlen | output length | |
in | input data to the operation. | |
inlen | length of data. |
See EVP Cipher for an example how to use this function.
If there in no spare bytes in the left from last Update and the input length is on the block boundery, the EVP_CipherUpdate() function can take a shortcut (and preformance gain) and directly encrypt the data, otherwise we hav to fix it up and store extra it the EVP_CIPHER_CTX.
const EVP_CIPHER* EVP_des_cbc | ( | void | ) |
The DES cipher type
const EVP_CIPHER* EVP_des_ede3_cbc | ( | void | ) |
The tripple DES cipher type
int EVP_Digest | ( | const void * | data, | |
size_t | dsize, | |||
void * | hash, | |||
unsigned int * | hsize, | |||
const EVP_MD * | md, | |||
ENGINE * | engine | |||
) |
Do the whole EVP_MD_CTX_create(), EVP_DigestInit_ex(), EVP_DigestUpdate(), EVP_DigestFinal_ex(), EVP_MD_CTX_destroy() dance in one call.
data | the data to update the context with | |
dsize | length of data | |
hash | output data of at least EVP_MD_size() length. | |
hsize | output length of hash. | |
md | message digest to use | |
engine | engine to use, NULL for default engine. |
int EVP_DigestFinal_ex | ( | EVP_MD_CTX * | ctx, | |
void * | hash, | |||
unsigned int * | size | |||
) |
Complete the message digest.
ctx | the context to complete. | |
hash | the output of the message digest function. At least EVP_MD_size(). | |
size | the output size of hash. |
int EVP_DigestInit_ex | ( | EVP_MD_CTX * | ctx, | |
const EVP_MD * | md, | |||
ENGINE * | engine | |||
) |
Init a EVP_MD_CTX for use a specific message digest and engine.
ctx | the message digest context to init. | |
md | the message digest to use. | |
engine | the engine to use, NULL to use the default engine. |
int EVP_DigestUpdate | ( | EVP_MD_CTX * | ctx, | |
const void * | data, | |||
size_t | size | |||
) |
Update the digest with some data.
ctx | the context to update | |
data | the data to update the context with | |
size | length of data |
const EVP_CIPHER* EVP_enc_null | ( | void | ) |
The NULL cipher type, does no encryption/decryption.
const EVP_CIPHER* EVP_get_cipherbyname | ( | const char * | name | ) |
Get the cipher type using their name.
name | the name of the cipher. |
const EVP_CIPHER* EVP_hcrypto_aes_128_cbc | ( | void | ) |
The AES-128 cipher type (hcrypto)
const EVP_CIPHER* EVP_hcrypto_aes_128_cfb8 | ( | void | ) |
The AES-128 CFB8 cipher type (hcrypto)
const EVP_CIPHER* EVP_hcrypto_aes_192_cbc | ( | void | ) |
The AES-192 cipher type (hcrypto)
const EVP_CIPHER* EVP_hcrypto_aes_192_cfb8 | ( | void | ) |
The AES-192 CFB8 cipher type (hcrypto)
const EVP_CIPHER* EVP_hcrypto_aes_256_cbc | ( | void | ) |
The AES-256 cipher type (hcrypto)
const EVP_CIPHER* EVP_hcrypto_aes_256_cfb8 | ( | void | ) |
The AES-256 CFB8 cipher type (hcrypto)
const EVP_CIPHER* EVP_hcrypto_camellia_128_cbc | ( | void | ) |
The Camellia-128 cipher type - hcrypto
const EVP_CIPHER* EVP_hcrypto_camellia_192_cbc | ( | void | ) |
The Camellia-198 cipher type - hcrypto
const EVP_CIPHER* EVP_hcrypto_camellia_256_cbc | ( | void | ) |
The Camellia-256 cipher type - hcrypto
const EVP_CIPHER* EVP_hcrypto_des_cbc | ( | void | ) |
The DES cipher type
const EVP_CIPHER* EVP_hcrypto_des_ede3_cbc | ( | void | ) |
The tripple DES cipher type - hcrypto
const EVP_MD* EVP_hcrypto_md2 | ( | void | ) |
The message digest MD2 - hcrypto
const EVP_MD* EVP_hcrypto_md4 | ( | void | ) |
The message digest MD4 - hcrypto
const EVP_MD* EVP_hcrypto_md5 | ( | void | ) |
The message digest MD5 - hcrypto
const EVP_CIPHER* EVP_hcrypto_rc2_40_cbc | ( | void | ) |
The RC2-40 cipher type
const EVP_CIPHER* EVP_hcrypto_rc2_64_cbc | ( | void | ) |
The RC2-64 cipher type
const EVP_CIPHER* EVP_hcrypto_rc2_cbc | ( | void | ) |
The RC2 cipher type - hcrypto
const EVP_MD* EVP_hcrypto_sha1 | ( | void | ) |
The message digest SHA1 - hcrypto
const EVP_MD* EVP_hcrypto_sha256 | ( | void | ) |
The message digest SHA256 - hcrypto
const EVP_MD* EVP_hcrypto_sha384 | ( | void | ) |
The message digest SHA384 - hcrypto
const EVP_MD* EVP_hcrypto_sha512 | ( | void | ) |
The message digest SHA512 - hcrypto
const EVP_MD* EVP_md2 | ( | void | ) |
The message digest MD2
const EVP_MD* EVP_md4 | ( | void | ) |
The message digest MD4
const EVP_MD* EVP_md5 | ( | void | ) |
The message digest MD5
size_t EVP_MD_block_size | ( | const EVP_MD * | md | ) |
Return the blocksize of the message digest function.
md | the evp message |
size_t EVP_MD_CTX_block_size | ( | EVP_MD_CTX * | ctx | ) |
Return the blocksize of the message digest function.
ctx | the evp message digest context |
int EVP_MD_CTX_cleanup | ( | EVP_MD_CTX * | ctx | ) |
Free the resources used by the EVP_MD context.
ctx | the context to free the resources from. |
EVP_MD_CTX* EVP_MD_CTX_create | ( | void | ) |
Allocate a messsage digest context object. Free with EVP_MD_CTX_destroy().
void EVP_MD_CTX_destroy | ( | EVP_MD_CTX * | ctx | ) |
Free a messsage digest context object.
ctx | context to free. |
void EVP_MD_CTX_init | ( | EVP_MD_CTX * | ctx | ) |
Initiate a messsage digest context object. Deallocate with EVP_MD_CTX_cleanup(). Please use EVP_MD_CTX_create() instead.
ctx | variable to initiate. |
const EVP_MD* EVP_MD_CTX_md | ( | EVP_MD_CTX * | ctx | ) |
Get the EVP_MD use for a specified context.
ctx | the EVP_MD context to get the EVP_MD for. |
size_t EVP_MD_CTX_size | ( | EVP_MD_CTX * | ctx | ) |
Return the output size of the message digest function.
ctx | the evp message digest context |
const EVP_MD* EVP_md_null | ( | void | ) |
The null message digest
size_t EVP_MD_size | ( | const EVP_MD * | md | ) |
Return the output size of the message digest function.
md | the evp message |
const EVP_CIPHER* EVP_rc2_40_cbc | ( | void | ) |
The RC2 cipher type
const EVP_CIPHER* EVP_rc2_64_cbc | ( | void | ) |
The RC2 cipher type
const EVP_CIPHER* EVP_rc2_cbc | ( | void | ) |
The RC2 cipher type
const EVP_CIPHER* EVP_rc4 | ( | void | ) |
The RC4 cipher type
const EVP_CIPHER* EVP_rc4_40 | ( | void | ) |
The RC4-40 cipher type
const EVP_MD* EVP_sha | ( | void | ) |
The message digest SHA1
const EVP_MD* EVP_sha1 | ( | void | ) |
The message digest SHA1
const EVP_MD* EVP_sha256 | ( | void | ) |
The message digest SHA256
const EVP_MD* EVP_sha384 | ( | void | ) |
The message digest SHA384
const EVP_MD* EVP_sha512 | ( | void | ) |
The message digest SHA512
const EVP_CIPHER* EVP_wincrypt_des_ede3_cbc | ( | void | ) |
The tripple DES cipher type (Micrsoft crypt provider)