57#define PSA_MAC_LENGTH(key_type, key_bits, alg) \
58 ((PSA_ALG_IS_HMAC(alg)) ? PSA_HASH_LENGTH(PSA_ALG_HMAC_GET_HASH(alg)) : \
59 PSA_ALG_IS_BLOCK_CIPHER_MAC(alg) ? PSA_BLOCK_CIPHER_BLOCK_LENGTH(key_type) : \
60 ((void)(key_type), (void)(key_bits), 0))
72#if (IS_USED(MODULE_PSA_MAC_HMAC_SHA_512) || \
73 IS_USED(MODULE_PSA_MAC_HMAC_SHA3_512))
74#define PSA_MAC_MAX_SIZE (PSA_HASH_LENGTH(PSA_ALG_SHA3_512))
75#elif (IS_USED(MODULE_PSA_MAC_HMAC_SHA_384) || \
76 IS_USED(MODULE_PSA_MAC_HMAC_SHA3_384))
77#define PSA_MAC_MAX_SIZE (PSA_HASH_LENGTH(PSA_ALG_SHA3_384))
78#elif (IS_USED(MODULE_PSA_MAC_HMAC_SHA_256) || \
79 IS_USED(MODULE_PSA_MAC_HMAC_SHA_512_256) || \
80 IS_USED(MODULE_PSA_MAC_HMAC_SHA3_256))
81#define PSA_MAC_MAX_SIZE (PSA_HASH_LENGTH(PSA_ALG_SHA3_256))
82#elif (IS_USED(MODULE_PSA_MAC_HMAC_SHA_224) || \
83 IS_USED(MODULE_PSA_MAC_HMAC_SHA_512_224) || \
84 IS_USED(MODULE_PSA_MAC_HMAC_SHA3_224))
85#define PSA_MAC_MAX_SIZE (PSA_HASH_LENGTH(PSA_ALG_SHA3_224))
86#elif (IS_USED(MODULE_PSA_MAC_HMAC_RIPEMD160) || \
87 IS_USED(MODULE_PSA_MAC_HMAC_SHA_1))
88#define PSA_MAC_MAX_SIZE (PSA_HASH_LENGTH(PSA_ALG_SHA_1))
89#elif (IS_USED(MODULE_PSA_MAC_HMAC_MD2) || \
90 IS_USED(MODULE_PSA_MAC_HMAC_MD4) || \
91 IS_USED(MODULE_PSA_MAC_HMAC_MD5))
92#define PSA_MAC_MAX_SIZE (PSA_HASH_LENGTH(PSA_ALG_MD5))
94#define PSA_MAC_MAX_SIZE 0
Algorithm definitions for the PSA Crypto API.
Cipher size definitions for the PSA Crypto API.
Hash algorithm definitions for the PSA Crypto API.
Hash size definitions for the PSA Crypto API.
Common macros and compiler attributes/pragmas configuration.
MAC algorithm definitions for the PSA Crypto API.