A struct containing all of the function pointers needed to perform secure element MAC operations.

PSA Crypto API implementations should populate the table as appropriate upon startup.

If one of the functions is not implemented (such as psa_drv_se_mac_generate_t), it should be set to NULL.

Driver implementers should ensure that they implement all of the functions that make sense for their hardware, and that they provide a full solution (for example, if they support p_setup, they should also support p_update and at least one of p_finish or p_finish_verify).

Public Functions#

size_t
MBEDTLS_PRIVATE(context_size)

The size in bytes of the hardware-specific secure element MAC context structure.

Function that performs a MAC setup operation.

MBEDTLS_PRIVATE(p_update)

Function that performs a MAC update operation.

MBEDTLS_PRIVATE(p_finish)

Function that completes a MAC operation.

MBEDTLS_PRIVATE(p_finish_verify)

Function that completes a MAC operation with a verify check.

Function that aborts a previously started MAC operation.

Function that performs a MAC operation in one call.

MBEDTLS_PRIVATE(p_mac_verify)

Function that performs a MAC and verify operation in one call.

Public Function Documentation#

MBEDTLS_PRIVATE#

size_t psa_drv_se_mac_t::MBEDTLS_PRIVATE (context_size )

The size in bytes of the hardware-specific secure element MAC context structure.

Parameters
TypeDirectionArgument NameDescription
context_sizeN/A

MBEDTLS_PRIVATE#

psa_drv_se_mac_setup_t psa_drv_se_mac_t::MBEDTLS_PRIVATE (p_setup )

Function that performs a MAC setup operation.

Parameters
TypeDirectionArgument NameDescription
p_setupN/A

MBEDTLS_PRIVATE#

psa_drv_se_mac_update_t psa_drv_se_mac_t::MBEDTLS_PRIVATE (p_update )

Function that performs a MAC update operation.

Parameters
TypeDirectionArgument NameDescription
p_updateN/A

MBEDTLS_PRIVATE#

psa_drv_se_mac_finish_t psa_drv_se_mac_t::MBEDTLS_PRIVATE (p_finish )

Function that completes a MAC operation.

Parameters
TypeDirectionArgument NameDescription
p_finishN/A

MBEDTLS_PRIVATE#

psa_drv_se_mac_finish_verify_t psa_drv_se_mac_t::MBEDTLS_PRIVATE (p_finish_verify )

Function that completes a MAC operation with a verify check.

Parameters
TypeDirectionArgument NameDescription
p_finish_verifyN/A

MBEDTLS_PRIVATE#

psa_drv_se_mac_abort_t psa_drv_se_mac_t::MBEDTLS_PRIVATE (p_abort )

Function that aborts a previously started MAC operation.

Parameters
TypeDirectionArgument NameDescription
p_abortN/A

MBEDTLS_PRIVATE#

psa_drv_se_mac_generate_t psa_drv_se_mac_t::MBEDTLS_PRIVATE (p_mac )

Function that performs a MAC operation in one call.

Parameters
TypeDirectionArgument NameDescription
p_macN/A

MBEDTLS_PRIVATE#

psa_drv_se_mac_verify_t psa_drv_se_mac_t::MBEDTLS_PRIVATE (p_mac_verify )

Function that performs a MAC and verify operation in one call.

Parameters
TypeDirectionArgument NameDescription
p_mac_verifyN/A