pub unsafe extern "C" fn psa_cipher_encrypt(
    key: mbedtls_svc_key_id_t,
    alg: psa_algorithm_t,
    input: *const u8,
    input_length: usize,
    output: *mut u8,
    output_size: usize,
    output_length: *mut usize
) -> psa_status_t
Expand description

Encrypt a message using a symmetric cipher.

This function encrypts a message with a random IV (initialization vector). Use the multipart operation interface with a #psa_cipher_operation_t object to provide other forms of IV.

\param key Identifier of the key to use for the operation. It must allow the usage #PSA_KEY_USAGE_ENCRYPT. \param alg The cipher algorithm to compute (\c PSA_ALG_XXX value such that #PSA_ALG_IS_CIPHER(\p alg) is true). \param[in] input Buffer containing the message to encrypt. \param input_length Size of the \p input buffer in bytes. \param[out] output Buffer where the output is to be written. The output contains the IV followed by the ciphertext proper. \param output_size Size of the \p output buffer in bytes. \param[out] output_length On success, the number of bytes that make up the output.

\retval #PSA_SUCCESS Success. \retval #PSA_ERROR_INVALID_HANDLE \emptydescription \retval #PSA_ERROR_NOT_PERMITTED \emptydescription \retval #PSA_ERROR_INVALID_ARGUMENT \p key is not compatible with \p alg. \retval #PSA_ERROR_NOT_SUPPORTED \p alg is not supported or is not a cipher algorithm. \retval #PSA_ERROR_BUFFER_TOO_SMALL \emptydescription \retval #PSA_ERROR_INSUFFICIENT_MEMORY \emptydescription \retval #PSA_ERROR_COMMUNICATION_FAILURE \emptydescription \retval #PSA_ERROR_HARDWARE_FAILURE \emptydescription \retval #PSA_ERROR_CORRUPTION_DETECTED \emptydescription \retval #PSA_ERROR_STORAGE_FAILURE \emptydescription \retval #PSA_ERROR_BAD_STATE 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.