nRF Connect SDK API 3.3.99
Loading...
Searching...
No Matches

Software implementation of AES-CCM (Counter with CBC-MAC) More...

Functions

psa_status_t cracen_sw_aes_ccm_encrypt_setup (cracen_aead_operation_t *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg)
 Set up the software AES-CCM encryption operation.
 
psa_status_t cracen_sw_aes_ccm_decrypt_setup (cracen_aead_operation_t *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg)
 Set up the software AES-CCM decryption operation.
 
psa_status_t cracen_sw_aes_ccm_set_nonce (cracen_aead_operation_t *operation, const uint8_t *nonce, size_t nonce_length)
 Set nonce for the software AES-CCM operation.
 
psa_status_t cracen_sw_aes_ccm_set_lengths (cracen_aead_operation_t *operation, size_t ad_length, size_t plaintext_length)
 Set lengths for the software AES-CCM operation.
 
psa_status_t cracen_sw_aes_ccm_update_ad (cracen_aead_operation_t *operation, const uint8_t *input, size_t input_length)
 Update the software AES-CCM operation with additional data.
 
psa_status_t cracen_sw_aes_ccm_update (cracen_aead_operation_t *operation, const uint8_t *input, size_t input_length, uint8_t *output, size_t output_size, size_t *output_length)
 Update the software AES-CCM operation with new data.
 
psa_status_t cracen_sw_aes_ccm_finish (cracen_aead_operation_t *operation, uint8_t *ciphertext, size_t ciphertext_size, size_t *ciphertext_length, uint8_t *tag, size_t tag_size, size_t *tag_length)
 Finish the software AES-CCM encryption operation.
 
psa_status_t cracen_sw_aes_ccm_verify (cracen_aead_operation_t *operation, uint8_t *plaintext, size_t plaintext_size, size_t *plaintext_length, const uint8_t *tag, size_t tag_length)
 Verify the tag and finish the software AES-CCM decryption operation.
 
psa_status_t cracen_sw_aes_ccm_abort (cracen_aead_operation_t *operation)
 Abort the software AES-CCM operation.
 
psa_status_t cracen_sw_aes_ccm_encrypt (const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const uint8_t *nonce, size_t nonce_length, const uint8_t *additional_data, size_t additional_data_length, const uint8_t *plaintext, size_t plaintext_length, uint8_t *ciphertext, size_t ciphertext_size, size_t *ciphertext_length)
 Perform a single-part software AES-CCM encryption.
 
psa_status_t cracen_sw_aes_ccm_decrypt (const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const uint8_t *nonce, size_t nonce_length, const uint8_t *additional_data, size_t additional_data_length, const uint8_t *ciphertext, size_t ciphertext_length, uint8_t *plaintext, size_t plaintext_size, size_t *plaintext_length)
 Perform a single-part software AES-CCM decryption.
 

Detailed Description

Software implementation of AES-CCM (Counter with CBC-MAC)

Software implementation of the AES-CCM (Counter with CBC-MAC) mode.

This module provides a software-based implementation of AES-CCM for use as a workaround for hardware limitations with multipart operations.

Note
These APIs are for internal use only. Applications must use the PSA Crypto API (psa_* functions) instead of calling these functions directly.