->MBEDTLS_PRIVATE(name);
545 return(
size_t) (
info->MBEDTLS_PRIVATE(block_size));
634 #if defined(MBEDTLS_USE_PSA_CRYPTO) 635 #if !defined(MBEDTLS_DEPRECATED_REMOVED) 681 if(
ctx->MBEDTLS_PRIVATE(cipher_info) ==
NULL) {
685 return(
unsigned int)
ctx->MBEDTLS_PRIVATE(cipher_info)->MBEDTLS_PRIVATE(block_size);
700 if(
ctx->MBEDTLS_PRIVATE(cipher_info) ==
NULL) {
720 if(
ctx->MBEDTLS_PRIVATE(cipher_info) ==
NULL) {
724 if(
ctx->MBEDTLS_PRIVATE(iv_size) != 0) {
725 return(
int)
ctx->MBEDTLS_PRIVATE(iv_size);
728 return(
int) (((
int)
ctx->MBEDTLS_PRIVATE(cipher_info)->MBEDTLS_PRIVATE(iv_size)) <<
743 if(
ctx->MBEDTLS_PRIVATE(cipher_info) ==
NULL) {
762 if(
ctx->MBEDTLS_PRIVATE(cipher_info) ==
NULL) {
766 return ctx->MBEDTLS_PRIVATE(cipher_info)->MBEDTLS_PRIVATE(name);
781 if(
ctx->MBEDTLS_PRIVATE(cipher_info) ==
NULL) {
785 return(
int)
ctx->MBEDTLS_PRIVATE(cipher_info)->MBEDTLS_PRIVATE(key_bitlen) <<
800 if(
ctx->MBEDTLS_PRIVATE(cipher_info) ==
NULL) {
824 const unsigned char*
key,
828 #if defined(MBEDTLS_CIPHER_MODE_WITH_PADDING) 873 const unsigned char*iv,
910 #if defined(MBEDTLS_GCM_C) || defined(MBEDTLS_CHACHAPOLY_C) 924 const unsigned char*ad,
size_tad_len);
957 const unsigned char*
input,
958 size_tilen,
unsigned char*
output,
984 unsigned char*
output,
size_t*olen);
986 #if defined(MBEDTLS_GCM_C) || defined(MBEDTLS_CHACHAPOLY_C) 1004 unsigned char*
tag,
size_ttag_len);
1020 const unsigned char*
tag,
size_ttag_len);
1057 const unsigned char*iv,
size_tiv_len,
1058 const unsigned char*
input,
size_tilen,
1059 unsigned char*
output,
size_t*olen);
1061 #if defined(MBEDTLS_CIPHER_MODE_AEAD) || defined(MBEDTLS_NIST_KW_C) 1107 const unsigned char*iv,
size_tiv_len,
1108 const unsigned char*ad,
size_tad_len,
1109 const unsigned char*
input,
size_tilen,
1110 unsigned char*
output,
size_toutput_len,
1111 size_t*olen,
size_ttag_len);
1163 const unsigned char*iv,
size_tiv_len,
1164 const unsigned char*ad,
size_tad_len,
1165 const unsigned char*
input,
size_tilen,
1166 unsigned char*
output,
size_toutput_len,
1167 size_t*olen,
size_ttag_len);
int mbedtls_cipher_setup(mbedtls_cipher_context_t *ctx, const mbedtls_cipher_info_t *cipher_info)
This function prepares a cipher context for use with the given cipher primitive.
mbedtls_cipher_type_t
Supported {cipher type, cipher mode} pairs.
@ MBEDTLS_CIPHER_AES_128_ECB
AES cipher with 128-bit ECB mode.
@ MBEDTLS_CIPHER_ARIA_256_CTR
Aria cipher with 256-bit key and CTR mode.
@ MBEDTLS_CIPHER_CAMELLIA_128_GCM
Camellia cipher with 128-bit GCM mode.
@ MBEDTLS_CIPHER_AES_128_XTS
AES 128-bit cipher in XTS block mode.
@ MBEDTLS_CIPHER_CAMELLIA_128_CCM_STAR_NO_TAG
Camellia cipher with 128-bit CCM_STAR_NO_TAG mode.
@ MBEDTLS_CIPHER_CHACHA20
ChaCha20 stream cipher.
@ MBEDTLS_CIPHER_DES_EDE3_CBC
DES cipher with EDE3 CBC mode.
@ MBEDTLS_CIPHER_DES_ECB
DES cipher with ECB mode.
@ MBEDTLS_CIPHER_ARIA_128_GCM
Aria cipher with 128-bit key and GCM mode.
@ MBEDTLS_CIPHER_AES_128_CCM_STAR_NO_TAG
AES cipher with 128-bit CCM_STAR_NO_TAG mode.
@ MBEDTLS_CIPHER_AES_128_CBC
AES cipher with 128-bit CBC mode.
@ MBEDTLS_CIPHER_AES_192_GCM
AES cipher with 192-bit GCM mode.
@ MBEDTLS_CIPHER_AES_128_OFB
AES 128-bit cipher in OFB mode.
@ MBEDTLS_CIPHER_ARIA_192_ECB
Aria cipher with 192-bit key and ECB mode.
@ MBEDTLS_CIPHER_CAMELLIA_256_GCM
Camellia cipher with 256-bit GCM mode.
@ MBEDTLS_CIPHER_DES_EDE_ECB
DES cipher with EDE ECB mode.
@ MBEDTLS_CIPHER_AES_192_CCM_STAR_NO_TAG
AES cipher with 192-bit CCM_STAR_NO_TAG mode.
@ MBEDTLS_CIPHER_ARIA_256_CFB128
Aria cipher with 256-bit key and CFB-128 mode.
@ MBEDTLS_CIPHER_ARIA_192_CBC
Aria cipher with 192-bit key and CBC mode.
@ MBEDTLS_CIPHER_CAMELLIA_192_CBC
Camellia cipher with 192-bit CBC mode.
@ MBEDTLS_CIPHER_ARIA_128_CTR
Aria cipher with 128-bit key and CTR mode.
@ MBEDTLS_CIPHER_ARIA_192_CCM
Aria cipher with 192-bit key and CCM mode.
@ MBEDTLS_CIPHER_CAMELLIA_192_GCM
Camellia cipher with 192-bit GCM mode.
@ MBEDTLS_CIPHER_AES_192_OFB
AES 192-bit cipher in OFB mode.
@ MBEDTLS_CIPHER_AES_256_CCM_STAR_NO_TAG
AES cipher with 256-bit CCM_STAR_NO_TAG mode.
@ MBEDTLS_CIPHER_AES_256_ECB
AES cipher with 256-bit ECB mode.
@ MBEDTLS_CIPHER_AES_256_CTR
AES cipher with 256-bit CTR mode.
@ MBEDTLS_CIPHER_AES_192_CCM
AES cipher with 192-bit CCM mode.
@ MBEDTLS_CIPHER_AES_128_CFB128
AES cipher with 128-bit CFB128 mode.
@ MBEDTLS_CIPHER_CAMELLIA_192_CFB128
Camellia cipher with 192-bit CFB128 mode.
@ MBEDTLS_CIPHER_CAMELLIA_128_CCM
Camellia cipher with 128-bit CCM mode.
@ MBEDTLS_CIPHER_AES_128_CTR
AES cipher with 128-bit CTR mode.
@ MBEDTLS_CIPHER_ARIA_192_GCM
Aria cipher with 192-bit key and GCM mode.
@ MBEDTLS_CIPHER_AES_256_XTS
AES 256-bit cipher in XTS block mode.
@ MBEDTLS_CIPHER_AES_192_CFB128
AES cipher with 192-bit CFB128 mode.
@ MBEDTLS_CIPHER_ARIA_256_ECB
Aria cipher with 256-bit key and ECB mode.
@ MBEDTLS_CIPHER_CAMELLIA_256_CCM
Camellia cipher with 256-bit CCM mode.
@ MBEDTLS_CIPHER_AES_256_GCM
AES cipher with 256-bit GCM mode.
@ MBEDTLS_CIPHER_DES_CBC
DES cipher with CBC mode.
@ MBEDTLS_CIPHER_CAMELLIA_128_CFB128
Camellia cipher with 128-bit CFB128 mode.
@ MBEDTLS_CIPHER_CAMELLIA_128_CBC
Camellia cipher with 128-bit CBC mode.
@ MBEDTLS_CIPHER_AES_256_CCM
AES cipher with 256-bit CCM mode.
@ MBEDTLS_CIPHER_CAMELLIA_256_CFB128
Camellia cipher with 256-bit CFB128 mode.
@ MBEDTLS_CIPHER_CAMELLIA_256_CCM_STAR_NO_TAG
Camellia cipher with 256-bit CCM_STAR_NO_TAG mode.
@ MBEDTLS_CIPHER_CAMELLIA_192_CCM_STAR_NO_TAG
Camellia cipher with 192-bit CCM_STAR_NO_TAG mode.
@ MBEDTLS_CIPHER_ARIA_192_CTR
Aria cipher with 192-bit key and CTR mode.
@ MBEDTLS_CIPHER_ARIA_192_CCM_STAR_NO_TAG
Aria cipher with 192-bit key and CCM_STAR_NO_TAG mode.
@ MBEDTLS_CIPHER_CAMELLIA_256_ECB
Camellia cipher with 256-bit ECB mode.
@ MBEDTLS_CIPHER_AES_256_KW
AES cipher with 256-bit NIST KW mode.
@ MBEDTLS_CIPHER_AES_128_GCM
AES cipher with 128-bit GCM mode.
@ MBEDTLS_CIPHER_CAMELLIA_192_ECB
Camellia cipher with 192-bit ECB mode.
@ MBEDTLS_CIPHER_ARIA_256_CCM_STAR_NO_TAG
Aria cipher with 256-bit key and CCM_STAR_NO_TAG mode.
@ MBEDTLS_CIPHER_AES_256_CFB128
AES cipher with 256-bit CFB128 mode.
@ MBEDTLS_CIPHER_NONE
Placeholder to mark the end of cipher-pair lists.
@ MBEDTLS_CIPHER_CHACHA20_POLY1305
ChaCha20-Poly1305 AEAD cipher.
@ MBEDTLS_CIPHER_CAMELLIA_128_ECB
Camellia cipher with 128-bit ECB mode.
@ MBEDTLS_CIPHER_AES_192_CBC
AES cipher with 192-bit CBC mode.
@ MBEDTLS_CIPHER_CAMELLIA_192_CCM
Camellia cipher with 192-bit CCM mode.
@ MBEDTLS_CIPHER_ARIA_128_CCM
Aria cipher with 128-bit key and CCM mode.
@ MBEDTLS_CIPHER_AES_192_CTR
AES cipher with 192-bit CTR mode.
@ MBEDTLS_CIPHER_AES_128_CCM
AES cipher with 128-bit CCM mode.
@ MBEDTLS_CIPHER_DES_EDE_CBC
DES cipher with EDE CBC mode.
@ MBEDTLS_CIPHER_NULL
The identity stream cipher.
@ MBEDTLS_CIPHER_ARIA_256_CBC
Aria cipher with 256-bit key and CBC mode.
@ MBEDTLS_CIPHER_AES_256_OFB
AES 256-bit cipher in OFB mode.
@ MBEDTLS_CIPHER_ARIA_192_CFB128
Aria cipher with 192-bit key and CFB-128 mode.
@ MBEDTLS_CIPHER_CAMELLIA_128_CTR
Camellia cipher with 128-bit CTR mode.
@ MBEDTLS_CIPHER_AES_256_KWP
AES cipher with 256-bit NIST KWP mode.
@ MBEDTLS_CIPHER_AES_256_CBC
AES cipher with 256-bit CBC mode.
@ MBEDTLS_CIPHER_CAMELLIA_192_CTR
Camellia cipher with 192-bit CTR mode.
@ MBEDTLS_CIPHER_AES_128_KW
AES cipher with 128-bit NIST KW mode.
@ MBEDTLS_CIPHER_AES_192_KW
AES cipher with 192-bit NIST KW mode.
@ MBEDTLS_CIPHER_AES_192_KWP
AES cipher with 192-bit NIST KWP mode.
@ MBEDTLS_CIPHER_AES_192_ECB
AES cipher with 192-bit ECB mode.
@ MBEDTLS_CIPHER_ARIA_256_GCM
Aria cipher with 256-bit key and GCM mode.
@ MBEDTLS_CIPHER_AES_128_KWP
AES cipher with 128-bit NIST KWP mode.
@ MBEDTLS_CIPHER_DES_EDE3_ECB
DES cipher with EDE3 ECB mode.
@ MBEDTLS_CIPHER_ARIA_128_CCM_STAR_NO_TAG
Aria cipher with 128-bit key and CCM_STAR_NO_TAG mode.
@ MBEDTLS_CIPHER_ARIA_128_CBC
Aria cipher with 128-bit key and CBC mode.
@ MBEDTLS_CIPHER_CAMELLIA_256_CTR
Camellia cipher with 256-bit CTR mode.
@ MBEDTLS_CIPHER_ARIA_128_ECB
Aria cipher with 128-bit key and ECB mode.
@ MBEDTLS_CIPHER_CAMELLIA_256_CBC
Camellia cipher with 256-bit CBC mode.
@ MBEDTLS_CIPHER_ARIA_256_CCM
Aria cipher with 256-bit key and CCM mode.
@ MBEDTLS_CIPHER_ARIA_128_CFB128
Aria cipher with 128-bit key and CFB-128 mode.
int mbedtls_cipher_setkey(mbedtls_cipher_context_t *ctx, const unsigned char *key, int key_bitlen, const mbedtls_operation_t operation)
This function sets the key to use with the given context.
#define MBEDTLS_IV_SIZE_SHIFT
static size_t mbedtls_cipher_info_get_iv_size(const mbedtls_cipher_info_t *info)
This function returns the size of the IV or nonce for the cipher info structure, in bytes.
struct mbedtls_cipher_info_t mbedtls_cipher_info_t
Cipher information.
#define MBEDTLS_KEY_BITLEN_SHIFT
int mbedtls_cipher_crypt(mbedtls_cipher_context_t *ctx, const unsigned char *iv, size_t iv_len, const unsigned char *input, size_t ilen, unsigned char *output, size_t *olen)
The generic all-in-one encryption/decryption function, for all ciphers except AEAD constructs.
int mbedtls_cipher_reset(mbedtls_cipher_context_t *ctx)
This function resets the cipher state.
static mbedtls_cipher_mode_t mbedtls_cipher_info_get_mode(const mbedtls_cipher_info_t *info)
Retrieve the operation mode for a cipher info structure.
static size_t mbedtls_cipher_info_get_block_size(const mbedtls_cipher_info_t *info)
This function returns the block size of the given cipher info structure in bytes.
static const char * mbedtls_cipher_info_get_name(const mbedtls_cipher_info_t *info)
Retrieve the human-readable name for a cipher info structure.
#define MBEDTLS_CIPHER_VARIABLE_IV_LEN
Cipher accepts IVs of variable length.
@ MBEDTLS_KEY_LENGTH_DES
Key length, in bits (including parity), for DES keys.
@ MBEDTLS_KEY_LENGTH_NONE
Undefined key length.
@ MBEDTLS_KEY_LENGTH_DES_EDE
Key length in bits, including parity, for DES in two-key EDE.
@ MBEDTLS_KEY_LENGTH_DES_EDE3
Key length in bits, including parity, for DES in three-key EDE.
static int mbedtls_cipher_info_has_variable_iv_size(const mbedtls_cipher_info_t *info)
This function returns a non-zero value if the IV size for the given cipher is variable.
int mbedtls_cipher_set_iv(mbedtls_cipher_context_t *ctx, const unsigned char *iv, size_t iv_len)
This function sets the initialization vector (IV) or nonce.
mbedtls_cipher_padding_t
Supported cipher padding types.
@ MBEDTLS_PADDING_ZEROS
Zero padding (not reversible).
@ MBEDTLS_PADDING_ONE_AND_ZEROS
ISO/IEC 7816-4 padding.
@ MBEDTLS_PADDING_PKCS7
PKCS7 padding (default).
@ MBEDTLS_PADDING_ZEROS_AND_LEN
ANSI X.923 padding.
@ MBEDTLS_PADDING_NONE
Never pad (full blocks only).
int mbedtls_cipher_finish(mbedtls_cipher_context_t *ctx, unsigned char *output, size_t *olen)
The generic cipher finalization function.
static int mbedtls_cipher_get_key_bitlen(const mbedtls_cipher_context_t *ctx)
This function returns the key length of the cipher.
const int * mbedtls_cipher_list(void)
This function retrieves the list of ciphers supported by the generic cipher module.
struct mbedtls_cipher_context_t mbedtls_cipher_context_t
Generic cipher context.
void mbedtls_cipher_init(mbedtls_cipher_context_t *ctx)
This function initializes a ctx as NONE.
#define MBEDTLS_CIPHER_VARIABLE_KEY_LEN
Cipher accepts keys of variable length.
static mbedtls_operation_t mbedtls_cipher_get_operation(const mbedtls_cipher_context_t *ctx)
This function returns the operation of the given cipher.
const mbedtls_cipher_info_t * mbedtls_cipher_info_from_type(const mbedtls_cipher_type_t cipher_type)
This function retrieves the cipher-information structure associated with the given cipher type.
void mbedtls_cipher_free(mbedtls_cipher_context_t *ctx)
This function frees and clears the cipher-specific context of ctx.
static int mbedtls_cipher_get_iv_size(const mbedtls_cipher_context_t *ctx)
This function returns the size of the IV or nonce of the cipher, in Bytes.
int mbedtls_cipher_update(mbedtls_cipher_context_t *ctx, const unsigned char *input, size_t ilen, unsigned char *output, size_t *olen)
The generic cipher update function.
const mbedtls_cipher_info_t * mbedtls_cipher_info_from_values(const mbedtls_cipher_id_t cipher_id, int key_bitlen, const mbedtls_cipher_mode_t mode)
This function retrieves the cipher-information structure associated with the given cipher ID,...
const mbedtls_cipher_info_t * mbedtls_cipher_info_from_string(const char *cipher_name)
This function retrieves the cipher-information structure associated with the given cipher name.
static mbedtls_cipher_type_t mbedtls_cipher_get_type(const mbedtls_cipher_context_t *ctx)
This function returns the type of the given cipher.
static unsigned int mbedtls_cipher_get_block_size(const mbedtls_cipher_context_t *ctx)
This function returns the block size of the given cipher in bytes.
mbedtls_operation_t
Type of operation.
#define MBEDTLS_MAX_BLOCK_LENGTH
Maximum block size of any cipher, in Bytes.
static const char * mbedtls_cipher_get_name(const mbedtls_cipher_context_t *ctx)
This function returns the name of the given cipher as a string.
static int mbedtls_cipher_info_has_variable_key_bitlen(const mbedtls_cipher_info_t *info)
This function returns a non-zero value if the key length for the given cipher is variable.
static mbedtls_cipher_type_t mbedtls_cipher_info_get_type(const mbedtls_cipher_info_t *info)
Retrieve the identifier for a cipher info structure.
static mbedtls_cipher_mode_t mbedtls_cipher_get_cipher_mode(const mbedtls_cipher_context_t *ctx)
This function returns the mode of operation for the cipher.
mbedtls_cipher_mode_t
Supported cipher modes.
@ MBEDTLS_MODE_ECB
The ECB cipher mode.
@ MBEDTLS_MODE_CCM
The CCM cipher mode.
@ MBEDTLS_MODE_STREAM
The stream cipher mode.
@ MBEDTLS_MODE_NONE
None.
@ MBEDTLS_MODE_CFB
The CFB cipher mode.
@ MBEDTLS_MODE_CTR
The CTR cipher mode.
@ MBEDTLS_MODE_GCM
The GCM cipher mode.
@ MBEDTLS_MODE_CCM_STAR_NO_TAG
The CCM*-no-tag cipher mode.
@ MBEDTLS_MODE_KW
The SP800-38F KW mode.
@ MBEDTLS_MODE_CBC
The CBC cipher mode.
@ MBEDTLS_MODE_OFB
The OFB cipher mode.
@ MBEDTLS_MODE_KWP
The SP800-38F KWP mode.
@ MBEDTLS_MODE_CHACHAPOLY
The ChaCha-Poly cipher mode.
@ MBEDTLS_MODE_XTS
The XTS cipher mode.
#define MBEDTLS_MAX_IV_LENGTH
Maximum length of any IV, in Bytes.
mbedtls_cipher_id_t
Supported cipher types.
@ MBEDTLS_CIPHER_ID_3DES
The Triple DES cipher.
@ MBEDTLS_CIPHER_ID_CAMELLIA
The Camellia cipher.
@ MBEDTLS_CIPHER_ID_DES
The DES cipher.
@ MBEDTLS_CIPHER_ID_NULL
The identity cipher, treated as a stream cipher.
@ MBEDTLS_CIPHER_ID_AES
The AES cipher.
@ MBEDTLS_CIPHER_ID_ARIA
The Aria cipher.
@ MBEDTLS_CIPHER_ID_NONE
Placeholder to mark the end of cipher ID lists.
@ MBEDTLS_CIPHER_ID_CHACHA20
The ChaCha20 cipher.
static size_t mbedtls_cipher_info_get_key_bitlen(const mbedtls_cipher_info_t *info)
Retrieve the key size for a cipher info structure.
static SQLCHAR output[256]
operation
Bit operations.
unsigned int
A callback function used to compare two keys in a database.
Build-time configuration info.
const struct ncbi::grid::netcache::search::fields::KEY key
#define mbedtls_cipher_write_tag
#define mbedtls_cipher_update_ad
#define mbedtls_cipher_auth_decrypt_ext
#define mbedtls_cipher_check_tag
#define mbedtls_cipher_set_padding_mode
#define mbedtls_cipher_auth_encrypt_ext
Common and shared functions used by multiple modules in the Mbed TLS library.
#define MBEDTLS_DEPRECATED
Macro wrapper for struct's members.
mbedtls_operation_t MBEDTLS_PRIVATE(operation)
Operation that the key of the context has been initialized for.
const mbedtls_cipher_info_t * MBEDTLS_PRIVATE(cipher_info)
Information about the associated cipher.
unsigned char MBEDTLS_PRIVATE(iv)[16]
Current IV or NONCE_COUNTER for CTR-mode, data unit (or sector) number for XTS-mode.
void * MBEDTLS_PRIVATE(cipher_ctx)
The cipher-specific context.
size_t MBEDTLS_PRIVATE(unprocessed_len)
Number of Bytes that have not been processed yet.
int MBEDTLS_PRIVATE(key_bitlen)
Key length to use.
size_t MBEDTLS_PRIVATE(iv_size)
IV size in Bytes, for ciphers with variable-length IVs.
unsigned char MBEDTLS_PRIVATE(unprocessed_data)[16]
Buffer for input that has not been processed yet.
const char * MBEDTLS_PRIVATE(name)
Name of the cipher.
The CMAC context structure.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4