psa_cipher_decrypt_setup() function
Set the key for a multipart symmetric decryption operation. The sequence of operations to decrypt a message with a symmetric cipher is as follows: -# Allocate an operation object which will be passed to all the functions listed here. -# Initialize the operation object with one of the methods described in the documentation for #psa_cipher_operation_t, e.g. #PSA_CIPHER_OPERATION_INIT. -# Call psa_cipher_decrypt_setup() to specify the algorithm and key. -# Call psa_cipher_set_iv() with the IV (initialization vector) for the decryption. If the IV is prepended to the ciphertext, you can call psa_cipher_update() on a buffer containing the IV followed by the beginning of the message. -# Call psa_cipher_update() zero, one or more times, passing a fragment of the message each time. -# Call psa_cipher_finish(). If an error occurs at any step after a call to psa_cipher_decrypt_setup(), the operation will need to be reset by a call to psa_cipher_abort(). The application may call psa_cipher_abort() at any time after the operation has been initialized. After a successful call to psa_cipher_decrypt_setup(), the application must eventually terminate the operation. The following events terminate an operation: - A successful call to psa_cipher_finish(). - A call to psa_cipher_abort().
Arguments
operation
The operation object to set up. It must have been initialized as per the documentation for #psa_cipher_operation_t and not yet in use.
key
Identifier of the key to use for the operation. It must remain valid until the operation terminates. It must allow the usage #PSA_KEY_USAGE_DECRYPT.
alg
The cipher algorithm to compute (\c PSA_ALG_XXX value such that #PSA_ALG_IS_CIPHER(\p alg) is true).
Return value
#PSA_SUCCESS Success. #PSA_ERROR_INVALID_HANDLE \emptydescription #PSA_ERROR_NOT_PERMITTED \emptydescription #PSA_ERROR_INVALID_ARGUMENT \p key is not compatible with \p alg. #PSA_ERROR_NOT_SUPPORTED \p alg is not supported or is not a cipher algorithm. #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription #PSA_ERROR_COMMUNICATION_FAILURE \emptydescription #PSA_ERROR_HARDWARE_FAILURE \emptydescription #PSA_ERROR_CORRUPTION_DETECTED \emptydescription #PSA_ERROR_STORAGE_FAILURE \emptydescription #PSA_ERROR_BAD_STATE The operation state is not valid (it must be inactive), or the library has not been previously initialized by psa_crypto_init(). It is implementation-dependent whether a failure to initialize results in this error code.
psa_cipher_decrypt_setup() calls 1 function:
![]()
psa_cipher_decrypt_setup()
psa_cipher_decrypt_setup() reads 1 variable:
![]()
psa_cipher_decrypt_setup()