Loading...
Searching...
No Matches
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
24extern "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 */
struct psa_key_attributes_s psa_key_attributes_t
The type of an object containing key attributes.
Definition attributes.h:160
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