psa_ciphers.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2021 HAW Hamburg
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_CIPHERS_H
21 #define PSA_CIPHERS_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_CIPHER_AES_128_CBC) || defined(DOXYGEN)
36  const uint8_t *key_buffer,
37  size_t key_buffer_size,
38  psa_algorithm_t alg,
39  const uint8_t *input,
40  size_t input_length,
41  uint8_t *output,
42  size_t output_size,
43  size_t *output_length);
44 
50  const uint8_t *key_buffer,
51  size_t key_buffer_size,
52  psa_algorithm_t alg,
53  const uint8_t *input,
54  size_t input_length,
55  uint8_t *output,
56  size_t output_size,
57  size_t *output_length);
58 #endif /* MODULE_PSA_CIPHER_AES_128_CBC */
59 
60 #if IS_USED(MODULE_PSA_CIPHER_AES_192_CBC) || defined(DOXYGEN)
66  const uint8_t *key_buffer,
67  size_t key_buffer_size,
68  psa_algorithm_t alg,
69  const uint8_t *input,
70  size_t input_length,
71  uint8_t *output,
72  size_t output_size,
73  size_t *output_length);
74 #endif /* MODULE_PSA_CIPHER_AES_192_CBC */
75 
76 #if IS_USED(MODULE_PSA_CIPHER_AES_256_CBC) || defined(DOXYGEN)
82  const uint8_t *key_buffer,
83  size_t key_buffer_size,
84  psa_algorithm_t alg,
85  const uint8_t *input,
86  size_t input_length,
87  uint8_t *output,
88  size_t output_size,
89  size_t *output_length);
90 #endif /* MODULE_PSA_CIPHER_AES_256_CBC */
91 
92 #if IS_USED(MODULE_PSA_CIPHER_CHACHA20) || defined(DOXYGEN)
93 
108  size_t key_buffer_size,
109  const uint8_t *input,
110  size_t input_length,
111  uint8_t *output,
112  size_t output_size,
113  size_t *output_length);
114 
129  size_t key_buffer_size,
130  const uint8_t *input,
131  size_t input_length,
132  uint8_t *output,
133  size_t output_size,
134  size_t *output_length);
135 
136 #endif /* MODULE_PSA_CIPHER_CHACHA20 */
137 #ifdef __cplusplus
138 }
139 #endif
140 
141 #endif /* PSA_CIPHERS_H */
uint32_t psa_algorithm_t
Encoding of a cryptographic algorithm.
Definition: algorithm.h:39
Function declarations for PSA Crypto.
Context definitions for PSA Crypto.
psa_status_t psa_cipher_chacha20_decrypt(uint8_t *key_buffer, size_t key_buffer_size, const uint8_t *input, size_t input_length, uint8_t *output, size_t output_size, size_t *output_length)
Low level wrapper function to call a driver for ChaCha20 decryption.
psa_status_t psa_cipher_chacha20_encrypt(uint8_t *key_buffer, size_t key_buffer_size, const uint8_t *input, size_t input_length, uint8_t *output, size_t output_size, size_t *output_length)
Low level wrapper function to call a driver for ChaCha20 encryption/decryption.
psa_status_t psa_cipher_cbc_aes_192_encrypt(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)
Low level wrapper function to call a driver for an AES 192 CBC encryption.
psa_status_t psa_cipher_cbc_aes_128_encrypt(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)
Low level wrapper function to call a driver for an AES 128 CBC encryption.
psa_status_t psa_cipher_cbc_aes_128_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)
Low level wrapper function to call a driver for an AES 128 CBC decryption.
psa_status_t psa_cipher_cbc_aes_256_encrypt(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)
Low level wrapper function to call a driver for an AES 256 CBC encryption.
int32_t psa_status_t
Status code type used for all PSA Certified APIs.
Definition: error.h:41
Structure storing key attributes.
Definition: attributes.h:52