psa_aead.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2025 TU Dresden
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser
5  * General Public License v2.1. See the file LICENSE in the top level
6  * directory for more details.
7  */
8 
20 #ifndef PSA_AEAD_H
21 #define PSA_AEAD_H
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 #include "psa/crypto.h"
28 #include "psa/crypto_contexts.h"
29 
30 #if IS_USED(MODULE_PSA_AEAD_AES_128_CCM) || defined(DOXYGEN)
36  uint8_t *key_buffer, size_t key_buffer_length,
37  uint8_t tag_length, const uint8_t *nonce,
38  size_t nonce_length, const uint8_t *additional_data,
39  size_t additional_data_length, const uint8_t *plaintext,
40  size_t plaintext_length, uint8_t *ciphertext,
41  size_t ciphertext_size, size_t *ciphertext_length);
42 
48  uint8_t *key_buffer, size_t key_buffer_length,
49  uint8_t tag_length, const uint8_t *nonce,
50  size_t nonce_length, const uint8_t *additional_data,
51  size_t additional_data_length, const uint8_t *ciphertext,
52  size_t ciphertext_length, uint8_t *plaintext,
53  size_t plaintext_size, size_t *plaintext_length);
54 #endif /* MODULE_PSA_AEAD_AES_128_CCM */
55 
56 #if IS_USED(MODULE_PSA_AEAD_AES_192_CCM) || defined(DOXYGEN)
62  uint8_t *key_buffer, size_t key_buffer_length,
63  uint8_t tag_length, const uint8_t *nonce,
64  size_t nonce_length, const uint8_t *additional_data,
65  size_t additional_data_length, const uint8_t *plaintext,
66  size_t plaintext_length, uint8_t *ciphertext,
67  size_t ciphertext_size, size_t *ciphertext_length);
68 
74  uint8_t *key_buffer, size_t key_buffer_length,
75  uint8_t tag_length, const uint8_t *nonce,
76  size_t nonce_length, const uint8_t *additional_data,
77  size_t additional_data_length, const uint8_t *ciphertext,
78  size_t ciphertext_length, uint8_t *plaintext,
79  size_t plaintext_size, size_t *plaintext_length);
80 #endif /* MODULE_PSA_AEAD_AES_192_CCM */
81 
82 #if IS_USED(MODULE_PSA_AEAD_AES_256_CCM) || defined(DOXYGEN)
88  uint8_t *key_buffer, size_t key_buffer_length,
89  uint8_t tag_length, const uint8_t *nonce,
90  size_t nonce_length, const uint8_t *additional_data,
91  size_t additional_data_length, const uint8_t *plaintext,
92  size_t plaintext_length, uint8_t *ciphertext,
93  size_t ciphertext_size, size_t *ciphertext_length);
94 
100  uint8_t *key_buffer, size_t key_buffer_length,
101  uint8_t tag_length, const uint8_t *nonce,
102  size_t nonce_length, const uint8_t *additional_data,
103  size_t additional_data_length, const uint8_t *ciphertext,
104  size_t ciphertext_length, uint8_t *plaintext,
105  size_t plaintext_size, size_t *plaintext_length);
106 #endif /* MODULE_PSA_AEAD_AES_256_CCM */
107 #ifdef __cplusplus
108 }
109 #endif
110 
111 #endif /* PSA_AEAD_H */
Function declarations for PSA Crypto.
Context definitions for PSA Crypto.
psa_status_t psa_aead_aes_192_ccm_decrypt(const psa_key_attributes_t *attributes, uint8_t *key_buffer, size_t key_buffer_length, uint8_t tag_length, 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)
Low level wrapper function to call a driver for an AES 192 CCM decryption.
psa_status_t psa_aead_aes_128_ccm_encrypt(const psa_key_attributes_t *attributes, uint8_t *key_buffer, size_t key_buffer_length, uint8_t tag_length, 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)
Low level wrapper function to call a driver for an AES 128 CCM encryption.
psa_status_t psa_aead_aes_256_ccm_decrypt(const psa_key_attributes_t *attributes, uint8_t *key_buffer, size_t key_buffer_length, uint8_t tag_length, 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)
Low level wrapper function to call a driver for an AES 256 CCM decryption.
psa_status_t psa_aead_aes_192_ccm_encrypt(const psa_key_attributes_t *attributes, uint8_t *key_buffer, size_t key_buffer_length, uint8_t tag_length, 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)
Low level wrapper function to call a driver for an AES 192 CCM encryption.
psa_status_t psa_aead_aes_128_ccm_decrypt(const psa_key_attributes_t *attributes, uint8_t *key_buffer, size_t key_buffer_length, uint8_t tag_length, 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)
Low level wrapper function to call a driver for an AES 128 CCM decryption.
psa_status_t psa_aead_aes_256_ccm_encrypt(const psa_key_attributes_t *attributes, uint8_t *key_buffer, size_t key_buffer_length, uint8_t tag_length, 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)
Low level wrapper function to call a driver for an AES 256 CCM encryption.
int32_t psa_status_t
Status code type used for all PSA Certified APIs.
Definition: error.h:40
Structure storing key attributes.
Definition: attributes.h:51