Go to the documentation of this file.
57 #ifndef OPENSSL_HEADER_CIPHER_H
58 #define OPENSSL_HEADER_CIPHER_H
62 #if defined(__cplusplus)
343 #define EVP_CIPH_STREAM_CIPHER 0x0
344 #define EVP_CIPH_ECB_MODE 0x1
345 #define EVP_CIPH_CBC_MODE 0x2
346 #define EVP_CIPH_CFB_MODE 0x3
347 #define EVP_CIPH_OFB_MODE 0x4
348 #define EVP_CIPH_CTR_MODE 0x5
349 #define EVP_CIPH_GCM_MODE 0x6
350 #define EVP_CIPH_XTS_MODE 0x7
357 #define EVP_CIPH_VARIABLE_LENGTH 0x40
362 #define EVP_CIPH_ALWAYS_CALL_INIT 0x80
366 #define EVP_CIPH_CUSTOM_IV 0x100
370 #define EVP_CIPH_CTRL_INIT 0x200
374 #define EVP_CIPH_FLAG_CUSTOM_CIPHER 0x400
379 #define EVP_CIPH_FLAG_AEAD_CIPHER 0x800
384 #define EVP_CIPH_CUSTOM_COPY 0x1000
390 #define EVP_CIPH_FLAG_NON_FIPS_ALLOW 0
487 #define EVP_CIPH_CCM_MODE (-1)
488 #define EVP_CIPH_OCB_MODE (-2)
489 #define EVP_CIPH_WRAP_MODE (-3)
490 #define EVP_CIPHER_CTX_FLAG_WRAP_ALLOW 0
500 #define EVP_CIPH_NO_PADDING 0x800
503 #define EVP_CTRL_INIT 0x0
504 #define EVP_CTRL_SET_KEY_LENGTH 0x1
505 #define EVP_CTRL_GET_RC2_KEY_BITS 0x2
506 #define EVP_CTRL_SET_RC2_KEY_BITS 0x3
507 #define EVP_CTRL_GET_RC5_ROUNDS 0x4
508 #define EVP_CTRL_SET_RC5_ROUNDS 0x5
509 #define EVP_CTRL_RAND_KEY 0x6
510 #define EVP_CTRL_PBE_PRF_NID 0x7
511 #define EVP_CTRL_COPY 0x8
512 #define EVP_CTRL_AEAD_SET_IVLEN 0x9
513 #define EVP_CTRL_AEAD_GET_TAG 0x10
514 #define EVP_CTRL_AEAD_SET_TAG 0x11
515 #define EVP_CTRL_AEAD_SET_IV_FIXED 0x12
516 #define EVP_CTRL_GCM_IV_GEN 0x13
517 #define EVP_CTRL_AEAD_SET_MAC_KEY 0x17
519 #define EVP_CTRL_GCM_SET_IV_INV 0x18
522 #define EVP_GCM_TLS_FIXED_IV_LEN 4
523 #define EVP_GCM_TLS_EXPLICIT_IV_LEN 8
524 #define EVP_GCM_TLS_TAG_LEN 16
527 #define EVP_CTRL_GCM_SET_IVLEN EVP_CTRL_AEAD_SET_IVLEN
528 #define EVP_CTRL_GCM_GET_TAG EVP_CTRL_AEAD_GET_TAG
529 #define EVP_CTRL_GCM_SET_TAG EVP_CTRL_AEAD_SET_TAG
530 #define EVP_CTRL_GCM_SET_IV_FIXED EVP_CTRL_AEAD_SET_IV_FIXED
532 #define EVP_MAX_KEY_LENGTH 64
533 #define EVP_MAX_IV_LENGTH 16
534 #define EVP_MAX_BLOCK_LENGTH 32
625 #if defined(__cplusplus)
628 #if !defined(BORINGSSL_NO_CXX)
635 using ScopedEVP_CIPHER_CTX =
646 #define CIPHER_R_AES_KEY_SETUP_FAILED 100
647 #define CIPHER_R_BAD_DECRYPT 101
648 #define CIPHER_R_BAD_KEY_LENGTH 102
649 #define CIPHER_R_BUFFER_TOO_SMALL 103
650 #define CIPHER_R_CTRL_NOT_IMPLEMENTED 104
651 #define CIPHER_R_CTRL_OPERATION_NOT_IMPLEMENTED 105
652 #define CIPHER_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH 106
653 #define CIPHER_R_INITIALIZATION_ERROR 107
654 #define CIPHER_R_INPUT_NOT_INITIALIZED 108
655 #define CIPHER_R_INVALID_AD_SIZE 109
656 #define CIPHER_R_INVALID_KEY_LENGTH 110
657 #define CIPHER_R_INVALID_NONCE_SIZE 111
658 #define CIPHER_R_INVALID_OPERATION 112
659 #define CIPHER_R_IV_TOO_LARGE 113
660 #define CIPHER_R_NO_CIPHER_SET 114
661 #define CIPHER_R_OUTPUT_ALIASES_INPUT 115
662 #define CIPHER_R_TAG_TOO_LARGE 116
663 #define CIPHER_R_TOO_LARGE 117
664 #define CIPHER_R_UNSUPPORTED_AD_SIZE 118
665 #define CIPHER_R_UNSUPPORTED_INPUT_SIZE 119
666 #define CIPHER_R_UNSUPPORTED_KEY_SIZE 120
667 #define CIPHER_R_UNSUPPORTED_NONCE_SIZE 121
668 #define CIPHER_R_UNSUPPORTED_TAG_SIZE 122
669 #define CIPHER_R_WRONG_FINAL_BLOCK_LENGTH 123
670 #define CIPHER_R_NO_DIRECTION_SET 124
671 #define CIPHER_R_INVALID_NONCE 125
673 #endif // OPENSSL_HEADER_CIPHER_H
const OPENSSL_EXPORT EVP_CIPHER * EVP_aes_192_ofb(void)
OPENSSL_EXPORT uint32_t EVP_CIPHER_mode(const EVP_CIPHER *cipher)
int(* ctrl)(EVP_CIPHER_CTX *, int type, int arg, void *ptr)
OPENSSL_EXPORT int EVP_BytesToKey(const EVP_CIPHER *type, const EVP_MD *md, const uint8_t *salt, const uint8_t *data, size_t data_len, unsigned count, uint8_t *key, uint8_t *iv)
OPENSSL_EXPORT unsigned EVP_CIPHER_CTX_block_size(const EVP_CIPHER_CTX *ctx)
OPENSSL_EXPORT int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *ctx, unsigned key_len)
const OPENSSL_EXPORT EVP_CIPHER * EVP_aes_192_ecb(void)
const OPENSSL_EXPORT EVP_CIPHER * EVP_aes_128_cfb128(void)
OPENSSL_EXPORT int EVP_CipherFinal_ex(EVP_CIPHER_CTX *ctx, uint8_t *out, int *out_len)
OPENSSL_EXPORT int EVP_DecryptFinal(EVP_CIPHER_CTX *ctx, uint8_t *out, int *out_len)
const OPENSSL_EXPORT EVP_CIPHER * EVP_bf_ecb(void)
OPENSSL_EXPORT int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, uint8_t *out, int *out_len, const uint8_t *in, int in_len)
OPENSSL_EXPORT int EVP_EncryptFinal_ex(EVP_CIPHER_CTX *ctx, uint8_t *out, int *out_len)
const OPENSSL_EXPORT EVP_CIPHER * EVP_aes_256_ecb(void)
const OPENSSL_EXPORT EVP_CIPHER * EVP_cast5_cbc(void)
const OPENSSL_EXPORT EVP_CIPHER * EVP_des_cbc(void)
const OPENSSL_EXPORT EVP_CIPHER * EVP_enc_null(void)
const OPENSSL_EXPORT EVP_CIPHER * EVP_des_ede3(void)
const OPENSSL_EXPORT EVP_CIPHER * EVP_aes_256_cbc(void)
OPENSSL_EXPORT int EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int command, int arg, void *ptr)
const OPENSSL_EXPORT EVP_CIPHER * EVP_bf_cfb(void)
const OPENSSL_EXPORT EVP_CIPHER * EVP_aes_192_cbc(void)
const OPENSSL_EXPORT EVP_CIPHER * EVP_aes_128_ctr(void)
OPENSSL_EXPORT int EVP_EncryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, const uint8_t *key, const uint8_t *iv)
const OPENSSL_EXPORT EVP_CIPHER * EVP_aes_128_gcm(void)
const OPENSSL_EXPORT EVP_CIPHER * EVP_aes_192_cfb128(void)
static struct test_ctx ctx
const OPENSSL_EXPORT EVP_CIPHER * EVP_cast5_ecb(void)
const OPENSSL_EXPORT EVP_CIPHER * EVP_get_cipherbyname(const char *name)
const OPENSSL_EXPORT EVP_CIPHER * EVP_des_ecb(void)
uint8_t oiv[EVP_MAX_IV_LENGTH]
const OPENSSL_EXPORT EVP_CIPHER * EVP_aes_192_ctr(void)
OPENSSL_EXPORT void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *ctx)
OPENSSL_EXPORT EVP_CIPHER_CTX * EVP_CIPHER_CTX_new(void)
const OPENSSL_EXPORT EVP_CIPHER * EVP_aes_256_ctr(void)
OPENSSL_EXPORT uint32_t EVP_CIPHER_CTX_mode(const EVP_CIPHER_CTX *ctx)
OPENSSL_EXPORT int EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, ENGINE *impl, const uint8_t *key, const uint8_t *iv)
OPENSSL_EXPORT int EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *ctx)
uint8_t iv[EVP_MAX_IV_LENGTH]
int(* cipher)(EVP_CIPHER_CTX *ctx, uint8_t *out, const uint8_t *in, size_t inl)
OPENSSL_EXPORT int EVP_Cipher(EVP_CIPHER_CTX *ctx, uint8_t *out, const uint8_t *in, size_t in_len)
OPENSSL_EXPORT void EVP_CIPHER_CTX_set_app_data(EVP_CIPHER_CTX *ctx, void *data)
OPENSSL_EXPORT int EVP_add_cipher_alias(const char *a, const char *b)
const OPENSSL_EXPORT EVP_CIPHER * EVP_aes_128_ecb(void)
OPENSSL_EXPORT void EVP_CIPHER_CTX_set_flags(const EVP_CIPHER_CTX *ctx, uint32_t flags)
const EVP_CIPHER * cipher
#define BSSL_NAMESPACE_END
OPENSSL_EXPORT uint32_t EVP_CIPHER_flags(const EVP_CIPHER *cipher)
const OPENSSL_EXPORT EVP_CIPHER * EVP_rc2_cbc(void)
const OPENSSL_EXPORT EVP_CIPHER * EVP_des_ede_cbc(void)
OPENSSL_EXPORT int EVP_CIPHER_nid(const EVP_CIPHER *cipher)
OPENSSL_EXPORT int EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, const uint8_t *key, const uint8_t *iv, int enc)
struct evp_cipher_info_st EVP_CIPHER_INFO
const OPENSSL_EXPORT EVP_CIPHER * EVP_aes_128_cfb(void)
OPENSSL_EXPORT int EVP_EncryptFinal(EVP_CIPHER_CTX *ctx, uint8_t *out, int *out_len)
OPENSSL_EXPORT unsigned EVP_CIPHER_key_length(const EVP_CIPHER *cipher)
const OPENSSL_EXPORT EVP_CIPHER * EVP_des_ede3_cbc(void)
OPENSSL_EXPORT int EVP_CipherFinal(EVP_CIPHER_CTX *ctx, uint8_t *out, int *out_len)
const OPENSSL_EXPORT EVP_CIPHER * EVP_aes_256_cfb128(void)
int(* init)(EVP_CIPHER_CTX *ctx, const uint8_t *key, const uint8_t *iv, int enc)
OPENSSL_EXPORT int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, ENGINE *engine, const uint8_t *key, const uint8_t *iv, int enc)
OPENSSL_EXPORT int EVP_CIPHER_CTX_copy(EVP_CIPHER_CTX *out, const EVP_CIPHER_CTX *in)
const OPENSSL_EXPORT EVP_CIPHER * EVP_rc4(void)
const OPENSSL_EXPORT EVP_CIPHER * EVP_aes_256_cfb(void)
const OPENSSL_EXPORT EVP_CIPHER * EVP_des_ede(void)
const EVP_CIPHER * EVP_rc2_40_cbc(void)
OPENSSL_EXPORT uint32_t EVP_CIPHER_CTX_flags(const EVP_CIPHER_CTX *ctx)
OPENSSL_EXPORT unsigned EVP_CIPHER_block_size(const EVP_CIPHER *cipher)
OPENSSL_EXPORT int EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *ctx)
OPENSSL_EXPORT int EVP_DecryptInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, const uint8_t *key, const uint8_t *iv)
OPENSSL_EXPORT int EVP_DecryptFinal_ex(EVP_CIPHER_CTX *ctx, uint8_t *out, int *out_len)
OPENSSL_EXPORT int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, uint8_t *out, int *out_len, const uint8_t *in, int in_len)
const OPENSSL_EXPORT EVP_CIPHER * EVP_CIPHER_CTX_cipher(const EVP_CIPHER_CTX *ctx)
OPENSSL_EXPORT void * EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx)
OPENSSL_EXPORT unsigned EVP_CIPHER_CTX_iv_length(const EVP_CIPHER_CTX *ctx)
#define EVP_MAX_IV_LENGTH
const OPENSSL_EXPORT EVP_CIPHER * EVP_get_cipherbynid(int nid)
#define BORINGSSL_MAKE_DELETER(type, deleter)
const OPENSSL_EXPORT EVP_CIPHER * EVP_aes_256_gcm(void)
const OPENSSL_EXPORT EVP_CIPHER * EVP_bf_cbc(void)
OPENSSL_EXPORT unsigned EVP_CIPHER_CTX_key_length(const EVP_CIPHER_CTX *ctx)
OPENSSL_EXPORT unsigned EVP_CIPHER_iv_length(const EVP_CIPHER *cipher)
OPENSSL_EXPORT int EVP_CIPHER_CTX_encrypting(const EVP_CIPHER_CTX *ctx)
OPENSSL_EXPORT int EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, uint8_t *out, int *out_len, const uint8_t *in, int in_len)
const OPENSSL_EXPORT EVP_CIPHER * EVP_aes_128_ofb(void)
const EVP_CIPHER * cipher
const OPENSSL_EXPORT EVP_CIPHER * EVP_aes_256_xts(void)
const OPENSSL_EXPORT EVP_CIPHER * EVP_aes_192_gcm(void)
const OPENSSL_EXPORT EVP_CIPHER * EVP_aes_192_cfb(void)
const OPENSSL_EXPORT EVP_CIPHER * EVP_aes_256_ofb(void)
struct evp_cipher_ctx_st EVP_CIPHER_CTX
#define EVP_MAX_BLOCK_LENGTH
OPENSSL_EXPORT int EVP_DecryptInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, ENGINE *impl, const uint8_t *key, const uint8_t *iv)
const OPENSSL_EXPORT EVP_CIPHER * EVP_aes_128_cbc(void)
OPENSSL_EXPORT void EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *ctx)
OPENSSL_EXPORT int EVP_CIPHER_CTX_nid(const EVP_CIPHER_CTX *ctx)
const OPENSSL_EXPORT EVP_CIPHER * EVP_des_ede3_ecb(void)
OPENSSL_EXPORT int EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *ctx, int pad)
unsigned char iv[EVP_MAX_IV_LENGTH]
grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:58:45