Introduce PSA_ALG_GET_HASH()
No need to introduce a specific macro for PBKDF2-HMAC when the PSA spec already has a generic one. Documentation from: https://armmbed.github.io/mbed-crypto/html/api/ops/algorithms.html#c.PSA_ALG_GET_HASH Implementation from: https://armmbed.github.io/mbed-crypto/html/appendix/specdef_values.html Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
This commit is contained in:
parent
6983b4fffc
commit
40b81bf8f7
1 changed files with 12 additions and 2 deletions
|
@ -1776,8 +1776,6 @@
|
||||||
*/
|
*/
|
||||||
#define PSA_ALG_IS_PBKDF2_HMAC(alg) \
|
#define PSA_ALG_IS_PBKDF2_HMAC(alg) \
|
||||||
(((alg) & ~PSA_ALG_HASH_MASK) == PSA_ALG_PBKDF2_HMAC_BASE)
|
(((alg) & ~PSA_ALG_HASH_MASK) == PSA_ALG_PBKDF2_HMAC_BASE)
|
||||||
#define PSA_ALG_PBKDF2_HMAC_GET_HASH(hkdf_alg) \
|
|
||||||
(PSA_ALG_CATEGORY_HASH | ((hkdf_alg) & PSA_ALG_HASH_MASK))
|
|
||||||
|
|
||||||
/** The PBKDF2-AES-CMAC-PRF-128 password hashing / key stretching algorithm.
|
/** The PBKDF2-AES-CMAC-PRF-128 password hashing / key stretching algorithm.
|
||||||
*
|
*
|
||||||
|
@ -1927,6 +1925,18 @@
|
||||||
(alg & PSA_ALG_AEAD_AT_LEAST_THIS_LENGTH_FLAG) != 0 : \
|
(alg & PSA_ALG_AEAD_AT_LEAST_THIS_LENGTH_FLAG) != 0 : \
|
||||||
(alg) == PSA_ALG_ANY_HASH)
|
(alg) == PSA_ALG_ANY_HASH)
|
||||||
|
|
||||||
|
/** Get the hash used by a composite algorithm.
|
||||||
|
*
|
||||||
|
* \param alg An algorithm identifier (value of type #psa_algorithm_t).
|
||||||
|
*
|
||||||
|
* \return The underlying hash algorithm if alg is a composite algorithm that
|
||||||
|
* uses a hash algorithm.
|
||||||
|
*
|
||||||
|
* \return #PSA_ALG_NONE if alg is not a composite algorithm that uses a hash.
|
||||||
|
*/
|
||||||
|
#define PSA_ALG_GET_HASH(alg) \
|
||||||
|
(((alg) & 0x000000ff) == 0 ? PSA_ALG_NONE : 0x02000000 | ((alg) & 0x000000ff))
|
||||||
|
|
||||||
/**@}*/
|
/**@}*/
|
||||||
|
|
||||||
/** \defgroup key_lifetimes Key lifetimes
|
/** \defgroup key_lifetimes Key lifetimes
|
||||||
|
|
Loading…
Reference in a new issue