|
Platform Security Architecture — cryptography and keystore interface
Working draft
|
PSA cryptography module: Integer encodings. More...
#include <stdint.h>

Go to the source code of this file.
Macros | |
| #define | PSA_SUCCESS ((psa_status_t)0) |
| #define | PSA_ERROR_UNKNOWN_ERROR ((psa_status_t)1) |
| #define | PSA_ERROR_NOT_SUPPORTED ((psa_status_t)2) |
| #define | PSA_ERROR_NOT_PERMITTED ((psa_status_t)3) |
| #define | PSA_ERROR_BUFFER_TOO_SMALL ((psa_status_t)4) |
| #define | PSA_ERROR_OCCUPIED_SLOT ((psa_status_t)5) |
| #define | PSA_ERROR_EMPTY_SLOT ((psa_status_t)6) |
| #define | PSA_ERROR_BAD_STATE ((psa_status_t)7) |
| #define | PSA_ERROR_INVALID_ARGUMENT ((psa_status_t)8) |
| #define | PSA_ERROR_INSUFFICIENT_MEMORY ((psa_status_t)9) |
| #define | PSA_ERROR_INSUFFICIENT_STORAGE ((psa_status_t)10) |
| #define | PSA_ERROR_COMMUNICATION_FAILURE ((psa_status_t)11) |
| #define | PSA_ERROR_STORAGE_FAILURE ((psa_status_t)12) |
| #define | PSA_ERROR_HARDWARE_FAILURE ((psa_status_t)13) |
| #define | PSA_ERROR_TAMPERING_DETECTED ((psa_status_t)14) |
| #define | PSA_ERROR_INSUFFICIENT_ENTROPY ((psa_status_t)15) |
| #define | PSA_ERROR_INVALID_SIGNATURE ((psa_status_t)16) |
| #define | PSA_ERROR_INVALID_PADDING ((psa_status_t)17) |
| #define | PSA_ERROR_INSUFFICIENT_CAPACITY ((psa_status_t)18) |
| #define | PSA_ERROR_INVALID_HANDLE ((psa_status_t)19) |
| #define | PSA_KEY_TYPE_NONE ((psa_key_type_t)0x00000000) |
| #define | PSA_KEY_TYPE_VENDOR_FLAG ((psa_key_type_t)0x80000000) |
| #define | PSA_KEY_TYPE_CATEGORY_MASK ((psa_key_type_t)0x70000000) |
| #define | PSA_KEY_TYPE_CATEGORY_SYMMETRIC ((psa_key_type_t)0x40000000) |
| #define | PSA_KEY_TYPE_CATEGORY_RAW ((psa_key_type_t)0x50000000) |
| #define | PSA_KEY_TYPE_CATEGORY_PUBLIC_KEY ((psa_key_type_t)0x60000000) |
| #define | PSA_KEY_TYPE_CATEGORY_KEY_PAIR ((psa_key_type_t)0x70000000) |
| #define | PSA_KEY_TYPE_CATEGORY_FLAG_PAIR ((psa_key_type_t)0x10000000) |
| #define | PSA_KEY_TYPE_IS_VENDOR_DEFINED(type) (((type) & PSA_KEY_TYPE_VENDOR_FLAG) != 0) |
| #define | PSA_KEY_TYPE_IS_UNSTRUCTURED(type) |
| #define | PSA_KEY_TYPE_IS_ASYMMETRIC(type) |
| #define | PSA_KEY_TYPE_IS_PUBLIC_KEY(type) (((type) & PSA_KEY_TYPE_CATEGORY_MASK) == PSA_KEY_TYPE_CATEGORY_PUBLIC_KEY) |
| #define | PSA_KEY_TYPE_IS_KEYPAIR(type) (((type) & PSA_KEY_TYPE_CATEGORY_MASK) == PSA_KEY_TYPE_CATEGORY_KEY_PAIR) |
| #define | PSA_KEY_TYPE_KEYPAIR_OF_PUBLIC_KEY(type) ((type) | PSA_KEY_TYPE_CATEGORY_FLAG_PAIR) |
| #define | PSA_KEY_TYPE_PUBLIC_KEY_OF_KEYPAIR(type) ((type) & ~PSA_KEY_TYPE_CATEGORY_FLAG_PAIR) |
| #define | PSA_KEY_TYPE_RAW_DATA ((psa_key_type_t)0x50000001) |
| #define | PSA_KEY_TYPE_HMAC ((psa_key_type_t)0x51000000) |
| #define | PSA_KEY_TYPE_DERIVE ((psa_key_type_t)0x52000000) |
| #define | PSA_KEY_TYPE_AES ((psa_key_type_t)0x40000001) |
| #define | PSA_KEY_TYPE_DES ((psa_key_type_t)0x40000002) |
| #define | PSA_KEY_TYPE_CAMELLIA ((psa_key_type_t)0x40000003) |
| #define | PSA_KEY_TYPE_ARC4 ((psa_key_type_t)0x40000004) |
| #define | PSA_KEY_TYPE_RSA_PUBLIC_KEY ((psa_key_type_t)0x60010000) |
| #define | PSA_KEY_TYPE_RSA_KEYPAIR ((psa_key_type_t)0x70010000) |
| #define | PSA_KEY_TYPE_IS_RSA(type) (PSA_KEY_TYPE_PUBLIC_KEY_OF_KEYPAIR(type) == PSA_KEY_TYPE_RSA_PUBLIC_KEY) |
| #define | PSA_KEY_TYPE_DSA_PUBLIC_KEY ((psa_key_type_t)0x60020000) |
| #define | PSA_KEY_TYPE_DSA_KEYPAIR ((psa_key_type_t)0x70020000) |
| #define | PSA_KEY_TYPE_IS_DSA(type) (PSA_KEY_TYPE_PUBLIC_KEY_OF_KEYPAIR(type) == PSA_KEY_TYPE_DSA_PUBLIC_KEY) |
| #define | PSA_KEY_TYPE_ECC_PUBLIC_KEY_BASE ((psa_key_type_t)0x60030000) |
| #define | PSA_KEY_TYPE_ECC_KEYPAIR_BASE ((psa_key_type_t)0x70030000) |
| #define | PSA_KEY_TYPE_ECC_CURVE_MASK ((psa_key_type_t)0x0000ffff) |
| #define | PSA_KEY_TYPE_ECC_KEYPAIR(curve) (PSA_KEY_TYPE_ECC_KEYPAIR_BASE | (curve)) |
| #define | PSA_KEY_TYPE_ECC_PUBLIC_KEY(curve) (PSA_KEY_TYPE_ECC_PUBLIC_KEY_BASE | (curve)) |
| #define | PSA_KEY_TYPE_IS_ECC(type) |
| #define | PSA_KEY_TYPE_IS_ECC_KEYPAIR(type) |
| #define | PSA_KEY_TYPE_IS_ECC_PUBLIC_KEY(type) |
| #define | PSA_KEY_TYPE_GET_CURVE(type) |
| #define | PSA_ECC_CURVE_SECT163K1 ((psa_ecc_curve_t) 0x0001) |
| #define | PSA_ECC_CURVE_SECT163R1 ((psa_ecc_curve_t) 0x0002) |
| #define | PSA_ECC_CURVE_SECT163R2 ((psa_ecc_curve_t) 0x0003) |
| #define | PSA_ECC_CURVE_SECT193R1 ((psa_ecc_curve_t) 0x0004) |
| #define | PSA_ECC_CURVE_SECT193R2 ((psa_ecc_curve_t) 0x0005) |
| #define | PSA_ECC_CURVE_SECT233K1 ((psa_ecc_curve_t) 0x0006) |
| #define | PSA_ECC_CURVE_SECT233R1 ((psa_ecc_curve_t) 0x0007) |
| #define | PSA_ECC_CURVE_SECT239K1 ((psa_ecc_curve_t) 0x0008) |
| #define | PSA_ECC_CURVE_SECT283K1 ((psa_ecc_curve_t) 0x0009) |
| #define | PSA_ECC_CURVE_SECT283R1 ((psa_ecc_curve_t) 0x000a) |
| #define | PSA_ECC_CURVE_SECT409K1 ((psa_ecc_curve_t) 0x000b) |
| #define | PSA_ECC_CURVE_SECT409R1 ((psa_ecc_curve_t) 0x000c) |
| #define | PSA_ECC_CURVE_SECT571K1 ((psa_ecc_curve_t) 0x000d) |
| #define | PSA_ECC_CURVE_SECT571R1 ((psa_ecc_curve_t) 0x000e) |
| #define | PSA_ECC_CURVE_SECP160K1 ((psa_ecc_curve_t) 0x000f) |
| #define | PSA_ECC_CURVE_SECP160R1 ((psa_ecc_curve_t) 0x0010) |
| #define | PSA_ECC_CURVE_SECP160R2 ((psa_ecc_curve_t) 0x0011) |
| #define | PSA_ECC_CURVE_SECP192K1 ((psa_ecc_curve_t) 0x0012) |
| #define | PSA_ECC_CURVE_SECP192R1 ((psa_ecc_curve_t) 0x0013) |
| #define | PSA_ECC_CURVE_SECP224K1 ((psa_ecc_curve_t) 0x0014) |
| #define | PSA_ECC_CURVE_SECP224R1 ((psa_ecc_curve_t) 0x0015) |
| #define | PSA_ECC_CURVE_SECP256K1 ((psa_ecc_curve_t) 0x0016) |
| #define | PSA_ECC_CURVE_SECP256R1 ((psa_ecc_curve_t) 0x0017) |
| #define | PSA_ECC_CURVE_SECP384R1 ((psa_ecc_curve_t) 0x0018) |
| #define | PSA_ECC_CURVE_SECP521R1 ((psa_ecc_curve_t) 0x0019) |
| #define | PSA_ECC_CURVE_BRAINPOOL_P256R1 ((psa_ecc_curve_t) 0x001a) |
| #define | PSA_ECC_CURVE_BRAINPOOL_P384R1 ((psa_ecc_curve_t) 0x001b) |
| #define | PSA_ECC_CURVE_BRAINPOOL_P512R1 ((psa_ecc_curve_t) 0x001c) |
| #define | PSA_ECC_CURVE_CURVE25519 ((psa_ecc_curve_t) 0x001d) |
| #define | PSA_ECC_CURVE_CURVE448 ((psa_ecc_curve_t) 0x001e) |
| #define | PSA_BLOCK_CIPHER_BLOCK_SIZE(type) |
| #define | PSA_ALG_VENDOR_FLAG ((psa_algorithm_t)0x80000000) |
| #define | PSA_ALG_CATEGORY_MASK ((psa_algorithm_t)0x7f000000) |
| #define | PSA_ALG_CATEGORY_HASH ((psa_algorithm_t)0x01000000) |
| #define | PSA_ALG_CATEGORY_MAC ((psa_algorithm_t)0x02000000) |
| #define | PSA_ALG_CATEGORY_CIPHER ((psa_algorithm_t)0x04000000) |
| #define | PSA_ALG_CATEGORY_AEAD ((psa_algorithm_t)0x06000000) |
| #define | PSA_ALG_CATEGORY_SIGN ((psa_algorithm_t)0x10000000) |
| #define | PSA_ALG_CATEGORY_ASYMMETRIC_ENCRYPTION ((psa_algorithm_t)0x12000000) |
| #define | PSA_ALG_CATEGORY_KEY_AGREEMENT ((psa_algorithm_t)0x22000000) |
| #define | PSA_ALG_CATEGORY_KEY_DERIVATION ((psa_algorithm_t)0x30000000) |
| #define | PSA_ALG_CATEGORY_KEY_SELECTION ((psa_algorithm_t)0x31000000) |
| #define | PSA_ALG_IS_VENDOR_DEFINED(alg) (((alg) & PSA_ALG_VENDOR_FLAG) != 0) |
| #define | PSA_ALG_IS_HASH(alg) (((alg) & PSA_ALG_CATEGORY_MASK) == PSA_ALG_CATEGORY_HASH) |
| #define | PSA_ALG_IS_MAC(alg) (((alg) & PSA_ALG_CATEGORY_MASK) == PSA_ALG_CATEGORY_MAC) |
| #define | PSA_ALG_IS_CIPHER(alg) (((alg) & PSA_ALG_CATEGORY_MASK) == PSA_ALG_CATEGORY_CIPHER) |
| #define | PSA_ALG_IS_AEAD(alg) (((alg) & PSA_ALG_CATEGORY_MASK) == PSA_ALG_CATEGORY_AEAD) |
| #define | PSA_ALG_IS_SIGN(alg) (((alg) & PSA_ALG_CATEGORY_MASK) == PSA_ALG_CATEGORY_SIGN) |
| #define | PSA_ALG_IS_ASYMMETRIC_ENCRYPTION(alg) (((alg) & PSA_ALG_CATEGORY_MASK) == PSA_ALG_CATEGORY_ASYMMETRIC_ENCRYPTION) |
| #define | PSA_ALG_KEY_SELECTION_FLAG ((psa_algorithm_t)0x01000000) |
| #define | PSA_ALG_IS_KEY_AGREEMENT(alg) |
| #define | PSA_ALG_IS_KEY_DERIVATION(alg) (((alg) & PSA_ALG_CATEGORY_MASK) == PSA_ALG_CATEGORY_KEY_DERIVATION) |
| #define | PSA_ALG_IS_KEY_SELECTION(alg) (((alg) & PSA_ALG_CATEGORY_MASK) == PSA_ALG_CATEGORY_KEY_SELECTION) |
| #define | PSA_ALG_HASH_MASK ((psa_algorithm_t)0x000000ff) |
| #define | PSA_ALG_MD2 ((psa_algorithm_t)0x01000001) |
| #define | PSA_ALG_MD4 ((psa_algorithm_t)0x01000002) |
| #define | PSA_ALG_MD5 ((psa_algorithm_t)0x01000003) |
| #define | PSA_ALG_RIPEMD160 ((psa_algorithm_t)0x01000004) |
| #define | PSA_ALG_SHA_1 ((psa_algorithm_t)0x01000005) |
| #define | PSA_ALG_SHA_224 ((psa_algorithm_t)0x01000008) |
| #define | PSA_ALG_SHA_256 ((psa_algorithm_t)0x01000009) |
| #define | PSA_ALG_SHA_384 ((psa_algorithm_t)0x0100000a) |
| #define | PSA_ALG_SHA_512 ((psa_algorithm_t)0x0100000b) |
| #define | PSA_ALG_SHA_512_224 ((psa_algorithm_t)0x0100000c) |
| #define | PSA_ALG_SHA_512_256 ((psa_algorithm_t)0x0100000d) |
| #define | PSA_ALG_SHA3_224 ((psa_algorithm_t)0x01000010) |
| #define | PSA_ALG_SHA3_256 ((psa_algorithm_t)0x01000011) |
| #define | PSA_ALG_SHA3_384 ((psa_algorithm_t)0x01000012) |
| #define | PSA_ALG_SHA3_512 ((psa_algorithm_t)0x01000013) |
| #define | PSA_ALG_MAC_SUBCATEGORY_MASK ((psa_algorithm_t)0x00c00000) |
| #define | PSA_ALG_HMAC_BASE ((psa_algorithm_t)0x02800000) |
| #define | PSA_ALG_HMAC(hash_alg) (PSA_ALG_HMAC_BASE | ((hash_alg) & PSA_ALG_HASH_MASK)) |
| #define | PSA_ALG_HMAC_GET_HASH(hmac_alg) (PSA_ALG_CATEGORY_HASH | ((hmac_alg) & PSA_ALG_HASH_MASK)) |
| #define | PSA_ALG_IS_HMAC(alg) |
| #define | PSA_ALG_MAC_TRUNCATION_MASK ((psa_algorithm_t)0x00003f00) |
| #define | PSA_MAC_TRUNCATION_OFFSET 8 |
| #define | PSA_ALG_TRUNCATED_MAC(alg, mac_length) |
| #define | PSA_ALG_FULL_LENGTH_MAC(alg) ((alg) & ~PSA_ALG_MAC_TRUNCATION_MASK) |
| #define | PSA_MAC_TRUNCATED_LENGTH(alg) (((alg) & PSA_ALG_MAC_TRUNCATION_MASK) >> PSA_MAC_TRUNCATION_OFFSET) |
| #define | PSA_ALG_CIPHER_MAC_BASE ((psa_algorithm_t)0x02c00000) |
| #define | PSA_ALG_CBC_MAC ((psa_algorithm_t)0x02c00001) |
| #define | PSA_ALG_CMAC ((psa_algorithm_t)0x02c00002) |
| #define | PSA_ALG_GMAC ((psa_algorithm_t)0x02c00003) |
| #define | PSA_ALG_IS_BLOCK_CIPHER_MAC(alg) |
| #define | PSA_ALG_CIPHER_STREAM_FLAG ((psa_algorithm_t)0x00800000) |
| #define | PSA_ALG_CIPHER_FROM_BLOCK_FLAG ((psa_algorithm_t)0x00400000) |
| #define | PSA_ALG_IS_STREAM_CIPHER(alg) |
| #define | PSA_ALG_ARC4 ((psa_algorithm_t)0x04800001) |
| #define | PSA_ALG_CTR ((psa_algorithm_t)0x04c00001) |
| #define | PSA_ALG_CFB ((psa_algorithm_t)0x04c00002) |
| #define | PSA_ALG_OFB ((psa_algorithm_t)0x04c00003) |
| #define | PSA_ALG_XTS ((psa_algorithm_t)0x044000ff) |
| #define | PSA_ALG_CBC_NO_PADDING ((psa_algorithm_t)0x04600100) |
| #define | PSA_ALG_CBC_PKCS7 ((psa_algorithm_t)0x04600101) |
| #define | PSA_ALG_CCM ((psa_algorithm_t)0x06001001) |
| #define | PSA_ALG_GCM ((psa_algorithm_t)0x06001002) |
| #define | PSA_ALG_AEAD_TAG_LENGTH_MASK ((psa_algorithm_t)0x00003f00) |
| #define | PSA_AEAD_TAG_LENGTH_OFFSET 8 |
| #define | PSA_ALG_AEAD_WITH_TAG_LENGTH(alg, tag_length) |
| #define | PSA_ALG_AEAD_WITH_DEFAULT_TAG_LENGTH(alg) |
| #define | PSA__ALG_AEAD_WITH_DEFAULT_TAG_LENGTH__CASE(alg, ref) |
| #define | PSA_ALG_RSA_PKCS1V15_SIGN_BASE ((psa_algorithm_t)0x10020000) |
| #define | PSA_ALG_RSA_PKCS1V15_SIGN(hash_alg) (PSA_ALG_RSA_PKCS1V15_SIGN_BASE | ((hash_alg) & PSA_ALG_HASH_MASK)) |
| #define | PSA_ALG_RSA_PKCS1V15_SIGN_RAW PSA_ALG_RSA_PKCS1V15_SIGN_BASE |
| #define | PSA_ALG_IS_RSA_PKCS1V15_SIGN(alg) (((alg) & ~PSA_ALG_HASH_MASK) == PSA_ALG_RSA_PKCS1V15_SIGN_BASE) |
| #define | PSA_ALG_RSA_PSS_BASE ((psa_algorithm_t)0x10030000) |
| #define | PSA_ALG_RSA_PSS(hash_alg) (PSA_ALG_RSA_PSS_BASE | ((hash_alg) & PSA_ALG_HASH_MASK)) |
| #define | PSA_ALG_IS_RSA_PSS(alg) (((alg) & ~PSA_ALG_HASH_MASK) == PSA_ALG_RSA_PSS_BASE) |
| #define | PSA_ALG_DSA_BASE ((psa_algorithm_t)0x10040000) |
| #define | PSA_ALG_DSA(hash_alg) (PSA_ALG_DSA_BASE | ((hash_alg) & PSA_ALG_HASH_MASK)) |
| #define | PSA_ALG_DETERMINISTIC_DSA_BASE ((psa_algorithm_t)0x10050000) |
| #define | PSA_ALG_DSA_DETERMINISTIC_FLAG ((psa_algorithm_t)0x00010000) |
| #define | PSA_ALG_DETERMINISTIC_DSA(hash_alg) (PSA_ALG_DETERMINISTIC_DSA_BASE | ((hash_alg) & PSA_ALG_HASH_MASK)) |
| #define | PSA_ALG_IS_DSA(alg) |
| #define | PSA_ALG_DSA_IS_DETERMINISTIC(alg) (((alg) & PSA_ALG_DSA_DETERMINISTIC_FLAG) != 0) |
| #define | PSA_ALG_IS_DETERMINISTIC_DSA(alg) (PSA_ALG_IS_DSA(alg) && PSA_ALG_DSA_IS_DETERMINISTIC(alg)) |
| #define | PSA_ALG_IS_RANDOMIZED_DSA(alg) (PSA_ALG_IS_DSA(alg) && !PSA_ALG_DSA_IS_DETERMINISTIC(alg)) |
| #define | PSA_ALG_ECDSA_BASE ((psa_algorithm_t)0x10060000) |
| #define | PSA_ALG_ECDSA(hash_alg) (PSA_ALG_ECDSA_BASE | ((hash_alg) & PSA_ALG_HASH_MASK)) |
| #define | PSA_ALG_ECDSA_ANY PSA_ALG_ECDSA_BASE |
| #define | PSA_ALG_DETERMINISTIC_ECDSA_BASE ((psa_algorithm_t)0x10070000) |
| #define | PSA_ALG_DETERMINISTIC_ECDSA(hash_alg) (PSA_ALG_DETERMINISTIC_ECDSA_BASE | ((hash_alg) & PSA_ALG_HASH_MASK)) |
| #define | PSA_ALG_IS_ECDSA(alg) |
| #define | PSA_ALG_ECDSA_IS_DETERMINISTIC(alg) (((alg) & PSA_ALG_DSA_DETERMINISTIC_FLAG) != 0) |
| #define | PSA_ALG_IS_DETERMINISTIC_ECDSA(alg) (PSA_ALG_IS_ECDSA(alg) && PSA_ALG_ECDSA_IS_DETERMINISTIC(alg)) |
| #define | PSA_ALG_IS_RANDOMIZED_ECDSA(alg) (PSA_ALG_IS_ECDSA(alg) && !PSA_ALG_ECDSA_IS_DETERMINISTIC(alg)) |
| #define | PSA_ALG_SIGN_GET_HASH(alg) |
| #define | PSA_ALG_RSA_PKCS1V15_CRYPT ((psa_algorithm_t)0x12020000) |
| #define | PSA_ALG_RSA_OAEP_BASE ((psa_algorithm_t)0x12030000) |
| #define | PSA_ALG_RSA_OAEP(hash_alg) (PSA_ALG_RSA_OAEP_BASE | ((hash_alg) & PSA_ALG_HASH_MASK)) |
| #define | PSA_ALG_IS_RSA_OAEP(alg) (((alg) & ~PSA_ALG_HASH_MASK) == PSA_ALG_RSA_OAEP_BASE) |
| #define | PSA_ALG_RSA_OAEP_GET_HASH(alg) |
| #define | PSA_ALG_HKDF_BASE ((psa_algorithm_t)0x30000100) |
| #define | PSA_ALG_HKDF(hash_alg) (PSA_ALG_HKDF_BASE | ((hash_alg) & PSA_ALG_HASH_MASK)) |
| #define | PSA_ALG_IS_HKDF(alg) (((alg) & ~PSA_ALG_HASH_MASK) == PSA_ALG_HKDF_BASE) |
| #define | PSA_ALG_HKDF_GET_HASH(hkdf_alg) (PSA_ALG_CATEGORY_HASH | ((hkdf_alg) & PSA_ALG_HASH_MASK)) |
| #define | PSA_ALG_TLS12_PRF_BASE ((psa_algorithm_t)0x30000200) |
| #define | PSA_ALG_TLS12_PRF(hash_alg) (PSA_ALG_TLS12_PRF_BASE | ((hash_alg) & PSA_ALG_HASH_MASK)) |
| #define | PSA_ALG_IS_TLS12_PRF(alg) (((alg) & ~PSA_ALG_HASH_MASK) == PSA_ALG_TLS12_PRF_BASE) |
| #define | PSA_ALG_TLS12_PRF_GET_HASH(hkdf_alg) (PSA_ALG_CATEGORY_HASH | ((hkdf_alg) & PSA_ALG_HASH_MASK)) |
| #define | PSA_ALG_TLS12_PSK_TO_MS_BASE ((psa_algorithm_t)0x30000300) |
| #define | PSA_ALG_TLS12_PSK_TO_MS(hash_alg) (PSA_ALG_TLS12_PSK_TO_MS_BASE | ((hash_alg) & PSA_ALG_HASH_MASK)) |
| #define | PSA_ALG_IS_TLS12_PSK_TO_MS(alg) (((alg) & ~PSA_ALG_HASH_MASK) == PSA_ALG_TLS12_PSK_TO_MS_BASE) |
| #define | PSA_ALG_TLS12_PSK_TO_MS_GET_HASH(hkdf_alg) (PSA_ALG_CATEGORY_HASH | ((hkdf_alg) & PSA_ALG_HASH_MASK)) |
| #define | PSA_ALG_KEY_DERIVATION_MASK ((psa_algorithm_t)0x010fffff) |
| #define | PSA_ALG_SELECT_RAW ((psa_algorithm_t)0x31000001) |
| #define | PSA_ALG_KEY_AGREEMENT_GET_KDF(alg) (((alg) & PSA_ALG_KEY_DERIVATION_MASK) | PSA_ALG_CATEGORY_KEY_DERIVATION) |
| #define | PSA_ALG_KEY_AGREEMENT_GET_BASE(alg) ((alg) & ~PSA_ALG_KEY_DERIVATION_MASK) |
| #define | PSA_ALG_FFDH_BASE ((psa_algorithm_t)0x22100000) |
| #define | PSA_ALG_FFDH(kdf_alg) (PSA_ALG_FFDH_BASE | ((kdf_alg) & PSA_ALG_KEY_DERIVATION_MASK)) |
| #define | PSA_ALG_IS_FFDH(alg) (PSA_ALG_KEY_AGREEMENT_GET_BASE(alg) == PSA_ALG_FFDH_BASE) |
| #define | PSA_ALG_ECDH_BASE ((psa_algorithm_t)0x22200000) |
| #define | PSA_ALG_ECDH(kdf_alg) (PSA_ALG_ECDH_BASE | ((kdf_alg) & PSA_ALG_KEY_DERIVATION_MASK)) |
| #define | PSA_ALG_IS_ECDH(alg) (PSA_ALG_KEY_AGREEMENT_GET_BASE(alg) == PSA_ALG_ECDH_BASE) |
| #define | PSA_KEY_LIFETIME_VOLATILE ((psa_key_lifetime_t)0x00000000) |
| #define | PSA_KEY_LIFETIME_PERSISTENT ((psa_key_lifetime_t)0x00000001) |
| #define | PSA_KEY_USAGE_EXPORT ((psa_key_usage_t)0x00000001) |
| #define | PSA_KEY_USAGE_ENCRYPT ((psa_key_usage_t)0x00000100) |
| #define | PSA_KEY_USAGE_DECRYPT ((psa_key_usage_t)0x00000200) |
| #define | PSA_KEY_USAGE_SIGN ((psa_key_usage_t)0x00000400) |
| #define | PSA_KEY_USAGE_VERIFY ((psa_key_usage_t)0x00000800) |
| #define | PSA_KEY_USAGE_DERIVE ((psa_key_usage_t)0x00001000) |
Typedefs | |
| typedef int32_t | psa_status_t |
| Function return status. More... | |
| typedef uint32_t | psa_key_type_t |
| Encoding of a key type. | |
| typedef uint16_t | psa_ecc_curve_t |
| typedef uint32_t | psa_algorithm_t |
| Encoding of a cryptographic algorithm. More... | |
| typedef uint32_t | psa_key_lifetime_t |
| typedef uint32_t | psa_key_id_t |
| typedef uint32_t | psa_key_usage_t |
| Encoding of permitted usage on a key. | |
PSA cryptography module: Integer encodings.
This file contains portable definitions of integral types and macros to build and analyze values of these types. The types concerned are properties of cryptographic keys, designations of cryptographic algorithms, and error codes returned by the library.
This header file does not declare any function.
1.8.11