22#ifndef PSA_CRYPTO_PSA_ASYMMETRIC_SIGNATURE_ALGORITHM_H
23#define PSA_CRYPTO_PSA_ASYMMETRIC_SIGNATURE_ALGORITHM_H
35#define PSA_ALG_CATEGORY_SIGN ((psa_algorithm_t)0x06000000)
46#define PSA_ALG_IS_SIGN(alg) \
47 (((alg) & PSA_ALG_CATEGORY_MASK) == PSA_ALG_CATEGORY_ASYMMETRIC_SIGNATURE)
46#define PSA_ALG_IS_SIGN(alg) \ …
57#define PSA_ALG_IS_RSA_PKCS1V15_SIGN(alg) \
58 (((alg) & ~0x000000ff) == 0x06000200)
57#define PSA_ALG_IS_RSA_PKCS1V15_SIGN(alg) \ …
71#define PSA_ALG_IS_RSA_PSS(alg) \
72 (((alg) & ~0x000000ff) == 0x06000300)
71#define PSA_ALG_IS_RSA_PSS(alg) \ …
88#define PSA_ALG_IS_RSA_PSS_ANY_SALT(alg) \
89 (((alg) & ~0x000000ff) == 0x06001300)
88#define PSA_ALG_IS_RSA_PSS_ANY_SALT(alg) \ …
105#define PSA_ALG_IS_RSA_PSS_STANDARD_SALT(alg) \
106 (((alg) & ~0x000000ff) == 0x06000300)
105#define PSA_ALG_IS_RSA_PSS_STANDARD_SALT(alg) \ …
116#define PSA_ALG_IS_ECDSA(alg) \
117 (((alg) & PSA_ALG_CATEGORY_MASK) == PSA_ALG_CATEGORY_SIGN)
116#define PSA_ALG_IS_ECDSA(alg) \ …
129#define PSA_ALG_IS_DETERMINISTIC_ECDSA(alg) \
130 (((alg) & ~0x000000ff) == 0x06000700)
129#define PSA_ALG_IS_DETERMINISTIC_ECDSA(alg) \ …
142#define PSA_ALG_IS_RANDOMIZED_ECDSA(alg) \
143 (((alg) & ~0x000000ff) == 0x06000600)
142#define PSA_ALG_IS_RANDOMIZED_ECDSA(alg) \ …
153#define PSA_ALG_IS_HASH_EDDSA(alg) \
154 (((alg) & ~0x000000ff) == 0x06000900)
153#define PSA_ALG_IS_HASH_EDDSA(alg) \ …
171#define PSA_ALG_IS_SIGN_HASH(alg) \
172 (PSA_ALG_IS_RSA_PSS(alg) || PSA_ALG_IS_RSA_PKCS1V15_SIGN(alg) || \
173 PSA_ALG_IS_ECDSA(alg) || PSA_ALG_IS_HASH_EDDSA(alg))
171#define PSA_ALG_IS_SIGN_HASH(alg) \ …
207#define PSA_ALG_IS_HASH_AND_SIGN(alg) \
208 (PSA_ALG_IS_SIGN_HASH(alg) && \
209 ((alg) & PSA_ALG_HASH_MASK) != 0)
207#define PSA_ALG_IS_HASH_AND_SIGN(alg) \ …
222#define PSA_ALG_IS_SIGN_MESSAGE(alg) \
223 (PSA_ALG_IS_SIGN_HASH(alg) || (alg) == PSA_ALG_PURE_EDDSA)
222#define PSA_ALG_IS_SIGN_MESSAGE(alg) \ …
239#define PSA_ALG_IS_WILDCARD(alg) \
240 (PSA_ALG_GET_HASH(alg) == PSA_ALG_ANY_HASH)
239#define PSA_ALG_IS_WILDCARD(alg) \ …
284#define PSA_ALG_ANY_HASH ((psa_algorithm_t)0x020000ff)
311#define PSA_ALG_RSA_PKCS1V15_SIGN(hash_alg) \
312 ((psa_algorithm_t)(0x06000200 | ((hash_alg) & 0x000000ff)))
311#define PSA_ALG_RSA_PKCS1V15_SIGN(hash_alg) \ …
336#define PSA_ALG_RSA_PKCS1V15_SIGN_RAW ((psa_algorithm_t)0x06000200)
367#define PSA_ALG_RSA_PSS(hash_alg) \
368 ((psa_algorithm_t)(0x06000300 | ((hash_alg) & 0x000000ff)))
367#define PSA_ALG_RSA_PSS(hash_alg) \ …
400#define PSA_ALG_RSA_PSS_ANY_SALT(hash_alg) \
401 ((psa_algorithm_t)(0x06001300 | ((hash_alg) & 0x000000ff)))
400#define PSA_ALG_RSA_PSS_ANY_SALT(hash_alg) \ …
406#define PSA_ALG_ECDSA_BASE ((psa_algorithm_t)0x06000600)
457#define PSA_ALG_ECDSA(hash_alg) \
458 (PSA_ALG_ECDSA_BASE | ((hash_alg) & PSA_ALG_HASH_MASK))
457#define PSA_ALG_ECDSA(hash_alg) \ …
487#define PSA_ALG_ECDSA_ANY PSA_ALG_ECDSA_BASE
530#define PSA_ALG_DETERMINISTIC_ECDSA(hash_alg) \
531 ((psa_algorithm_t)(0x06000700 | ((hash_alg) & 0x000000ff)))
530#define PSA_ALG_DETERMINISTIC_ECDSA(hash_alg) \ …
568#define PSA_ALG_PURE_EDDSA ((psa_algorithm_t)0x06000800)
597#define PSA_ALG_ED25519PH ((psa_algorithm_t)0x0600090B)
627#define PSA_ALG_ED448PH ((psa_algorithm_t)0x06000915)
Algorithm definitions for the PSA Crypto API.
Hash algorithm definitions for the PSA Crypto API.