File crypto_builtin_composites.h

Context structure declaration of the Mbed TLS software-based PSA drivers called through the PSA Crypto driver dispatch layer. This file contains the context structures of those algorithms which need to rely on other algorithms, i.e. are ‘composite’ algorithms.

Note

This file may not be included directly. Applications must include psa/crypto.h.

Note

This header and its content are not part of the Mbed TLS API and applications must not depend on it. Its main purpose is to define the multi-part state objects of the Mbed TLS software-based PSA drivers. The definitions of these objects are then used by crypto_struct.h to define the implementation-defined types of PSA multi-part state objects.

Defines

MBEDTLS_PSA_BUILTIN_MAC
MBEDTLS_PSA_HMAC_OPERATION_INIT
MBEDTLS_PSA_MAC_OPERATION_INIT
MBEDTLS_PSA_BUILTIN_AEAD
MBEDTLS_PSA_AEAD_OPERATION_INIT
MBEDTLS_PSA_SIGN_HASH_INTERRUPTIBLE_OPERATION_INIT
MBEDTLS_VERIFY_SIGN_HASH_INTERRUPTIBLE_OPERATION_INIT
MBEDTLS_PSA_BUILTIN_PAKE
MBEDTLS_PSA_JPAKE_BUFFER_SIZE
MBEDTLS_PSA_PAKE_OPERATION_INIT
MBEDTLS_PSA_GENERATE_KEY_IOP_INIT
MBEDTLS_PSA_KEY_AGREEMENT_IOP_INIT
MBEDTLS_PSA_EXPORT_PUBLIC_KEY_IOP_INIT
struct mbedtls_psa_hmac_operation_t
#include <crypto_builtin_composites.h>

Public Members

psa_algorithm_t private_alg

The HMAC algorithm in use

struct psa_hash_operation_s hash_ctx

The hash context.

uint8_t private_opad[PSA_HMAC_MAX_HASH_BLOCK_SIZE]

The HMAC part of the context.

struct mbedtls_psa_mac_operation_t
#include <crypto_builtin_composites.h>

Public Members

psa_algorithm_t private_alg
unsigned private_dummy
mbedtls_psa_hmac_operation_t private_hmac
mbedtls_cipher_context_t private_cmac
union mbedtls_psa_mac_operation_t::[anonymous] private_ctx
struct mbedtls_psa_aead_operation_t
#include <crypto_builtin_composites.h>

Public Members

psa_algorithm_t private_alg
psa_key_type_t private_key_type
unsigned int private_is_encrypt
uint8_t private_tag_length
unsigned dummy
mbedtls_ccm_context private_ccm
mbedtls_gcm_context private_gcm
mbedtls_chachapoly_context private_chachapoly
union mbedtls_psa_aead_operation_t::[anonymous] ctx
struct mbedtls_psa_sign_hash_interruptible_operation_t
#include <crypto_builtin_composites.h>

Public Members

mbedtls_ecdsa_context *private_ctx
mbedtls_ecdsa_restart_ctx private_restart_ctx
uint32_t private_num_ops
size_t private_coordinate_bytes
psa_algorithm_t private_alg
mbedtls_md_type_t private_md_alg
uint8_t private_hash[PSA_BITS_TO_BYTES(PSA_VENDOR_ECC_MAX_CURVE_BITS)]
size_t private_hash_length
struct mbedtls_psa_verify_hash_interruptible_operation_t
#include <crypto_builtin_composites.h>

Public Members

mbedtls_ecdsa_context *private_ctx
mbedtls_ecdsa_restart_ctx private_restart_ctx
uint32_t private_num_ops
uint8_t private_hash[PSA_BITS_TO_BYTES(PSA_VENDOR_ECC_MAX_CURVE_BITS)]
size_t private_hash_length
mbedtls_mpi private_r
mbedtls_mpi private_s
struct mbedtls_psa_pake_operation_t
#include <crypto_builtin_composites.h>

Public Members

psa_algorithm_t private_alg
uint8_t *private_password
size_t private_password_len
mbedtls_ecjpake_role private_role
uint8_t private_buffer[((3 + 1 + 65 + 1 + 65 + 1 + 32) * 2)]
size_t private_buffer_length
size_t private_buffer_offset
unsigned int private_dummy
mbedtls_ecjpake_context private_jpake
union mbedtls_psa_pake_operation_t::[anonymous] private_ctx
struct mbedtls_psa_generate_key_iop_t
#include <crypto_builtin_composites.h>

Public Members

mbedtls_ecp_keypair private_ecp
uint32_t num_ops
struct mbedtls_psa_key_agreement_interruptible_operation_t
#include <crypto_builtin_composites.h>

Public Members

mbedtls_ecdh_context private_ctx
uint32_t private_num_ops
struct mbedtls_psa_export_public_key_iop_t
#include <crypto_builtin_composites.h>

Public Members

mbedtls_ecp_keypair *private_key
mbedtls_ecp_restart_ctx private_restart_ctx
uint32_t private_num_ops