10. Cryptographic operation referenceΒΆ
- 10.1. Algorithms
- 10.2. Message digests (Hashes)
- 10.2.1. Hash algorithms
PSA_ALG_MD2
(macro)PSA_ALG_MD4
(macro)PSA_ALG_MD5
(macro)PSA_ALG_RIPEMD160
(macro)PSA_ALG_AES_MMO_ZIGBEE
(macro)PSA_ALG_SHA_1
(macro)PSA_ALG_SHA_224
(macro)PSA_ALG_SHA_256
(macro)PSA_ALG_SHA_384
(macro)PSA_ALG_SHA_512
(macro)PSA_ALG_SHA_512_224
(macro)PSA_ALG_SHA_512_256
(macro)PSA_ALG_SHA3_224
(macro)PSA_ALG_SHA3_256
(macro)PSA_ALG_SHA3_384
(macro)PSA_ALG_SHA3_512
(macro)PSA_ALG_SHAKE256_512
(macro)PSA_ALG_SM3
(macro)
- 10.2.2. Single-part hashing functions
- 10.2.3. Multi-part hashing operations
psa_hash_operation_t
(typedef)PSA_HASH_OPERATION_INIT
(macro)psa_hash_operation_init
(function)psa_hash_setup
(function)psa_hash_update
(function)psa_hash_finish
(function)psa_hash_verify
(function)psa_hash_abort
(function)psa_hash_suspend
(function)psa_hash_resume
(function)psa_hash_clone
(function)
- 10.2.4. Support macros
PSA_HASH_LENGTH
(macro)PSA_HASH_MAX_SIZE
(macro)PSA_HASH_SUSPEND_OUTPUT_SIZE
(macro)PSA_HASH_SUSPEND_OUTPUT_MAX_SIZE
(macro)PSA_HASH_SUSPEND_ALGORITHM_FIELD_LENGTH
(macro)PSA_HASH_SUSPEND_INPUT_LENGTH_FIELD_LENGTH
(macro)PSA_HASH_SUSPEND_HASH_STATE_FIELD_LENGTH
(macro)PSA_HASH_BLOCK_LENGTH
(macro)
- 10.2.5. Hash suspend state
- 10.2.1. Hash algorithms
- 10.3. Message authentication codes (MAC)
- 10.4. Unauthenticated ciphers
- 10.4.1. Cipher algorithms
- 10.4.2. Single-part cipher functions
- 10.4.3. Multi-part cipher operations
psa_cipher_operation_t
(typedef)PSA_CIPHER_OPERATION_INIT
(macro)psa_cipher_operation_init
(function)psa_cipher_encrypt_setup
(function)psa_cipher_decrypt_setup
(function)psa_cipher_generate_iv
(function)psa_cipher_set_iv
(function)psa_cipher_update
(function)psa_cipher_finish
(function)psa_cipher_abort
(function)
- 10.4.4. Support macros
PSA_ALG_IS_STREAM_CIPHER
(macro)PSA_ALG_CCM_STAR_ANY_TAG
(macro)PSA_CIPHER_ENCRYPT_OUTPUT_SIZE
(macro)PSA_CIPHER_ENCRYPT_OUTPUT_MAX_SIZE
(macro)PSA_CIPHER_DECRYPT_OUTPUT_SIZE
(macro)PSA_CIPHER_DECRYPT_OUTPUT_MAX_SIZE
(macro)PSA_CIPHER_IV_LENGTH
(macro)PSA_CIPHER_IV_MAX_SIZE
(macro)PSA_CIPHER_UPDATE_OUTPUT_SIZE
(macro)PSA_CIPHER_UPDATE_OUTPUT_MAX_SIZE
(macro)PSA_CIPHER_FINISH_OUTPUT_SIZE
(macro)PSA_CIPHER_FINISH_OUTPUT_MAX_SIZE
(macro)PSA_BLOCK_CIPHER_BLOCK_LENGTH
(macro)PSA_BLOCK_CIPHER_BLOCK_MAX_SIZE
(macro)
- 10.5. Authenticated encryption with associated data (AEAD)
- 10.5.1. AEAD algorithms
- 10.5.2. Single-part AEAD functions
- 10.5.3. Multi-part AEAD operations
psa_aead_operation_t
(typedef)PSA_AEAD_OPERATION_INIT
(macro)psa_aead_operation_init
(function)psa_aead_encrypt_setup
(function)psa_aead_decrypt_setup
(function)psa_aead_set_lengths
(function)psa_aead_generate_nonce
(function)psa_aead_set_nonce
(function)psa_aead_update_ad
(function)psa_aead_update
(function)psa_aead_finish
(function)psa_aead_verify
(function)psa_aead_abort
(function)
- 10.5.4. Support macros
PSA_ALG_IS_AEAD_ON_BLOCK_CIPHER
(macro)PSA_AEAD_ENCRYPT_OUTPUT_SIZE
(macro)PSA_AEAD_ENCRYPT_OUTPUT_MAX_SIZE
(macro)PSA_AEAD_DECRYPT_OUTPUT_SIZE
(macro)PSA_AEAD_DECRYPT_OUTPUT_MAX_SIZE
(macro)PSA_AEAD_NONCE_LENGTH
(macro)PSA_AEAD_NONCE_MAX_SIZE
(macro)PSA_AEAD_UPDATE_OUTPUT_SIZE
(macro)PSA_AEAD_UPDATE_OUTPUT_MAX_SIZE
(macro)PSA_AEAD_FINISH_OUTPUT_SIZE
(macro)PSA_AEAD_FINISH_OUTPUT_MAX_SIZE
(macro)PSA_AEAD_TAG_LENGTH
(macro)PSA_AEAD_TAG_MAX_SIZE
(macro)PSA_AEAD_VERIFY_OUTPUT_SIZE
(macro)PSA_AEAD_VERIFY_OUTPUT_MAX_SIZE
(macro)
- 10.6. Key derivation
- 10.6.1. Key derivation algorithms
PSA_ALG_HKDF
(macro)PSA_ALG_HKDF_EXTRACT
(macro)PSA_ALG_HKDF_EXPAND
(macro)PSA_ALG_SP800_108_COUNTER_HMAC
(macro)PSA_ALG_SP800_108_COUNTER_CMAC
(macro)PSA_ALG_TLS12_PRF
(macro)PSA_ALG_TLS12_PSK_TO_MS
(macro)PSA_ALG_TLS12_ECJPAKE_TO_PMS
(macro)PSA_ALG_PBKDF2_HMAC
(macro)PSA_ALG_PBKDF2_AES_CMAC_PRF_128
(macro)
- 10.6.2. Input step types
psa_key_derivation_step_t
(typedef)PSA_KEY_DERIVATION_INPUT_SECRET
(macro)PSA_KEY_DERIVATION_INPUT_OTHER_SECRET
(macro)PSA_KEY_DERIVATION_INPUT_PASSWORD
(macro)PSA_KEY_DERIVATION_INPUT_LABEL
(macro)PSA_KEY_DERIVATION_INPUT_CONTEXT
(macro)PSA_KEY_DERIVATION_INPUT_SALT
(macro)PSA_KEY_DERIVATION_INPUT_INFO
(macro)PSA_KEY_DERIVATION_INPUT_SEED
(macro)PSA_KEY_DERIVATION_INPUT_COST
(macro)
- 10.6.3. Key derivation functions
psa_key_derivation_operation_t
(typedef)PSA_KEY_DERIVATION_OPERATION_INIT
(macro)psa_key_derivation_operation_init
(function)psa_key_derivation_setup
(function)psa_key_derivation_get_capacity
(function)psa_key_derivation_set_capacity
(function)psa_key_derivation_input_bytes
(function)psa_key_derivation_input_integer
(function)psa_key_derivation_input_key
(function)psa_key_derivation_output_bytes
(function)psa_key_derivation_output_key
(function)psa_key_derivation_verify_bytes
(function)psa_key_derivation_verify_key
(function)psa_key_derivation_abort
(function)
- 10.6.4. Support macros
PSA_ALG_IS_KEY_DERIVATION_STRETCHING
(macro)PSA_ALG_IS_HKDF
(macro)PSA_ALG_IS_HKDF_EXTRACT
(macro)PSA_ALG_IS_HKDF_EXPAND
(macro)PSA_ALG_IS_SP800_108_COUNTER_HMAC
(macro)PSA_ALG_IS_TLS12_PRF
(macro)PSA_ALG_IS_TLS12_PSK_TO_MS
(macro)PSA_ALG_IS_PBKDF2_HMAC
(macro)PSA_KEY_DERIVATION_UNLIMITED_CAPACITY
(macro)PSA_TLS12_PSK_TO_MS_PSK_MAX_SIZE
(macro)PSA_TLS12_ECJPAKE_TO_PMS_OUTPUT_SIZE
(macro)
- 10.6.1. Key derivation algorithms
- 10.7. Asymmetric signature
- 10.7.1. Asymmetric signature algorithms
- 10.7.2. Asymmetric signature functions
- 10.7.3. Support macros
PSA_ALG_IS_SIGN_MESSAGE
(macro)PSA_ALG_IS_SIGN_HASH
(macro)PSA_ALG_IS_RSA_PKCS1V15_SIGN
(macro)PSA_ALG_IS_RSA_PSS
(macro)PSA_ALG_IS_RSA_PSS_ANY_SALT
(macro)PSA_ALG_IS_RSA_PSS_STANDARD_SALT
(macro)PSA_ALG_IS_ECDSA
(macro)PSA_ALG_IS_DETERMINISTIC_ECDSA
(macro)PSA_ALG_IS_RANDOMIZED_ECDSA
(macro)PSA_ALG_IS_HASH_EDDSA
(macro)PSA_ALG_IS_HASH_AND_SIGN
(macro)PSA_ALG_ANY_HASH
(macro)PSA_SIGN_OUTPUT_SIZE
(macro)PSA_SIGNATURE_MAX_SIZE
(macro)
- 10.8. Asymmetric encryption
- 10.9. Key agreement
- 10.10. Other cryptographic services