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_output_key_custom
(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.8 Asymmetric encryption
- 10.9 Key agreement
- 10.10 Key encapsulation
- 10.11 Password-authenticated key exchange (PAKE)
- 10.11.1 Common API for PAKE
- 10.11.2 PAKE primitives
psa_pake_primitive_t
(typedef)psa_pake_primitive_type_t
(typedef)PSA_PAKE_PRIMITIVE_TYPE_ECC
(macro)PSA_PAKE_PRIMITIVE_TYPE_DH
(macro)psa_pake_family_t
(typedef)PSA_PAKE_PRIMITIVE
(macro)PSA_PAKE_PRIMITIVE_GET_TYPE
(macro)PSA_PAKE_PRIMITIVE_GET_FAMILY
(macro)PSA_PAKE_PRIMITIVE_GET_BITS
(macro)
- 10.11.3 PAKE cipher suites
psa_pake_cipher_suite_t
(typedef)PSA_PAKE_CIPHER_SUITE_INIT
(macro)psa_pake_cipher_suite_init
(function)psa_pake_cs_get_algorithm
(function)psa_pake_cs_set_algorithm
(function)psa_pake_cs_get_primitive
(function)psa_pake_cs_set_primitive
(function)PSA_PAKE_CONFIRMED_KEY
(macro)PSA_PAKE_UNCONFIRMED_KEY
(macro)psa_pake_cs_get_key_confirmation
(function)psa_pake_cs_set_key_confirmation
(function)
- 10.11.4 PAKE roles
- 10.11.5 PAKE step types
- 10.11.6 Multi-part PAKE operations
psa_pake_operation_t
(typedef)PSA_PAKE_OPERATION_INIT
(macro)psa_pake_operation_init
(function)psa_pake_setup
(function)psa_pake_set_role
(function)psa_pake_set_user
(function)psa_pake_set_peer
(function)psa_pake_set_context
(function)psa_pake_output
(function)psa_pake_input
(function)psa_pake_get_shared_key
(function)psa_pake_abort
(function)
- 10.11.7 PAKE support macros
- 10.11.8 The J-PAKE protocol
- 10.11.9 J-PAKE algorithms
- 10.11.10 The SPAKE2+ protocol
- 10.11.11 SPAKE2+ algorithms
- 10.12 Other cryptographic services