Go to the source code of this file.
|
| psa_status_t | mbedtls_cipher_values_from_psa (psa_algorithm_t alg, psa_key_type_t key_type, size_t *key_bits, mbedtls_cipher_mode_t *mode, mbedtls_cipher_id_t *cipher_id) |
| |
| psa_status_t | mbedtls_psa_cipher_encrypt_setup (mbedtls_psa_cipher_operation_t *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg) |
| | Set the key for a multipart symmetric encryption operation.
|
| |
| psa_status_t | mbedtls_psa_cipher_decrypt_setup (mbedtls_psa_cipher_operation_t *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg) |
| | Set the key for a multipart symmetric decryption operation.
|
| |
| psa_status_t | mbedtls_psa_cipher_set_iv (mbedtls_psa_cipher_operation_t *operation, const uint8_t *iv, size_t iv_length) |
| |
| psa_status_t | mbedtls_psa_cipher_update (mbedtls_psa_cipher_operation_t *operation, const uint8_t *input, size_t input_length, uint8_t *output, size_t output_size, size_t *output_length) |
| |
| psa_status_t | mbedtls_psa_cipher_finish (mbedtls_psa_cipher_operation_t *operation, uint8_t *output, size_t output_size, size_t *output_length) |
| |
| psa_status_t | mbedtls_psa_cipher_abort (mbedtls_psa_cipher_operation_t *operation) |
| |
| psa_status_t | mbedtls_psa_cipher_encrypt (const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const uint8_t *iv, size_t iv_length, const uint8_t *input, size_t input_length, uint8_t *output, size_t output_size, size_t *output_length) |
| |
| psa_status_t | mbedtls_psa_cipher_decrypt (const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const uint8_t *input, size_t input_length, uint8_t *output, size_t output_size, size_t *output_length) |
| |
◆ mbedtls_cipher_values_from_psa()
Get Mbed TLS cipher information given the cipher algorithm PSA identifier as well as the PSA type and size of the key to be used with the cipher algorithm.
- Parameters
-
| [in] | alg | PSA cipher algorithm identifier |
| [in] | key_type | PSA key type |
| [in,out] | key_bits | Size of the key in bits. The value provided in input might be updated if necessary. |
| [out] | mode | Mbed TLS cipher mode |
| [out] | cipher_id | Mbed TLS cipher algorithm identifier |
- Returns
- On success
PSA_SUCCESS is returned and key_bits, mode and cipher_id are properly updated. PSA_ERROR_NOT_SUPPORTED is returned if the cipher algorithm is not supported.
◆ mbedtls_psa_cipher_abort()
Abort a cipher operation.
Aborting an operation frees all associated resources except for the operation structure itself. Once aborted, the operation object can be reused for another operation.
- Note
- The signature of this function is that of a PSA driver cipher_abort entry point. This function behaves as a cipher_abort entry point as defined in the PSA driver interface specification for transparent drivers.
- Parameters
-
| [in,out] | operation | Initialized cipher operation. |
- Return values
-
◆ mbedtls_psa_cipher_decrypt()
Decrypt a message using a symmetric cipher.
- Note
- The signature of this function is that of a PSA driver cipher_decrypt entry point. This function behaves as a cipher_decrypt entry point as defined in the PSA driver interface specification for transparent drivers.
- Parameters
-
| [in] | attributes | The attributes of the key to use for the operation. |
| [in] | key_buffer | The buffer containing the key context. |
| [in] | key_buffer_size | Size of the key_buffer buffer in bytes. |
| [in] | alg | The cipher algorithm to compute (PSA_ALG_XXX value such that PSA_ALG_IS_CIPHER(alg) is true). |
| [in] | input | Buffer containing the iv and the ciphertext. |
| [in] | input_length | Size of the input buffer in bytes. |
| [out] | output | Buffer where the output is to be written. |
| [in] | output_size | Size of the output buffer in bytes. |
| [out] | output_length | On success, the number of bytes that make up the returned output. Initialized to zero by the core. |
- Return values
-
◆ mbedtls_psa_cipher_decrypt_setup()
Set the key for a multipart symmetric decryption operation.
- Note
- The signature of this function is that of a PSA driver cipher_decrypt_setup entry point. This function behaves as a cipher_decrypt_setup entry point as defined in the PSA driver interface specification for transparent drivers.
- Parameters
-
| [in,out] | operation | The operation object to set up. It has been initialized as per the documentation for psa_cipher_operation_t and not yet in use. |
| [in] | attributes | The attributes of the key to use for the operation. |
| [in] | key_buffer | The buffer containing the key context. |
| [in] | key_buffer_size | Size of the key_buffer buffer in bytes. |
| [in] | alg | The cipher algorithm to compute (PSA_ALG_XXX value such that PSA_ALG_IS_CIPHER(alg) is true). |
- Return values
-
◆ mbedtls_psa_cipher_encrypt()
| psa_status_t mbedtls_psa_cipher_encrypt |
( |
const psa_key_attributes_t * |
attributes, |
|
|
const uint8_t * |
key_buffer, |
|
|
size_t |
key_buffer_size, |
|
|
psa_algorithm_t |
alg, |
|
|
const uint8_t * |
iv, |
|
|
size_t |
iv_length, |
|
|
const uint8_t * |
input, |
|
|
size_t |
input_length, |
|
|
uint8_t * |
output, |
|
|
size_t |
output_size, |
|
|
size_t * |
output_length |
|
) |
| |
Encrypt a message using a symmetric cipher.
- Note
- The signature of this function is that of a PSA driver cipher_encrypt entry point. This function behaves as a cipher_encrypt entry point as defined in the PSA driver interface specification for transparent drivers.
- Parameters
-
| [in] | attributes | The attributes of the key to use for the operation. |
| [in] | key_buffer | The buffer containing the key context. |
| [in] | key_buffer_size | Size of the key_buffer buffer in bytes. |
| [in] | alg | The cipher algorithm to compute (PSA_ALG_XXX value such that PSA_ALG_IS_CIPHER(alg) is true). |
| [in] | iv | Buffer containing the IV for encryption. The IV has been generated by the core. |
| [in] | iv_length | Size of the iv in bytes. |
| [in] | input | Buffer containing the message to encrypt. |
| [in] | input_length | Size of the input buffer in bytes. |
| [in,out] | output | Buffer where the output is to be written. |
| [in] | output_size | Size of the output buffer in bytes. |
| [out] | output_length | On success, the number of bytes that make up the returned output. Initialized to zero by the core. |
- Return values
-
◆ mbedtls_psa_cipher_encrypt_setup()
Set the key for a multipart symmetric encryption operation.
- Note
- The signature of this function is that of a PSA driver cipher_encrypt_setup entry point. This function behaves as a cipher_encrypt_setup entry point as defined in the PSA driver interface specification for transparent drivers.
- Parameters
-
| [in,out] | operation | The operation object to set up. It has been initialized as per the documentation for psa_cipher_operation_t and not yet in use. |
| [in] | attributes | The attributes of the key to use for the operation. |
| [in] | key_buffer | The buffer containing the key context. |
| [in] | key_buffer_size | Size of the key_buffer buffer in bytes. |
| [in] | alg | The cipher algorithm to compute (PSA_ALG_XXX value such that PSA_ALG_IS_CIPHER(alg) is true). |
- Return values
-
◆ mbedtls_psa_cipher_finish()
Finish encrypting or decrypting a message in a cipher operation.
- Note
- The signature of this function is that of a PSA driver cipher_finish entry point. This function behaves as a cipher_finish entry point as defined in the PSA driver interface specification for transparent drivers.
- Parameters
-
| [in,out] | operation | Active cipher operation. |
| [out] | output | Buffer where the output is to be written. |
| [in] | output_size | Size of the output buffer in bytes. |
| [out] | output_length | On success, the number of bytes that make up the returned output. |
- Return values
-
◆ mbedtls_psa_cipher_set_iv()
Set the IV for a symmetric encryption or decryption operation.
This function sets the IV (initialization vector), nonce or initial counter value for the encryption or decryption operation.
- Note
- The signature of this function is that of a PSA driver cipher_set_iv entry point. This function behaves as a cipher_set_iv entry point as defined in the PSA driver interface specification for transparent drivers.
- Parameters
-
| [in,out] | operation | Active cipher operation. |
| [in] | iv | Buffer containing the IV to use. |
| [in] | iv_length | Size of the IV in bytes. It is guaranteed by the core to be less or equal to PSA_CIPHER_IV_MAX_SIZE. |
- Return values
-
◆ mbedtls_psa_cipher_update()
Encrypt or decrypt a message fragment in an active cipher operation.
- Note
- The signature of this function is that of a PSA driver cipher_update entry point. This function behaves as a cipher_update entry point as defined in the PSA driver interface specification for transparent drivers.
- Parameters
-
| [in,out] | operation | Active cipher operation. |
| [in] | input | Buffer containing the message fragment to encrypt or decrypt. |
| [in] | input_length | Size of the input buffer in bytes. |
| [out] | output | Buffer where the output is to be written. |
| [in] | output_size | Size of the output buffer in bytes. |
| [out] | output_length | On success, the number of bytes that make up the returned output. |
- Return values
-