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 
9 #pragma once
10 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 #include "psa/crypto.h"
27 #include "psa/crypto_contexts.h"
28 
29 #if IS_USED(MODULE_PSA_CIPHER_AES_128_CBC) || defined(DOXYGEN)
35  const uint8_t *key_buffer,
36  size_t key_buffer_size,
37  psa_algorithm_t alg,
38  const uint8_t *input,
39  size_t input_length,
40  uint8_t *output,
41  size_t output_size,
42  size_t *output_length);
43 
49  const uint8_t *key_buffer,
50  size_t key_buffer_size,
51  psa_algorithm_t alg,
52  const uint8_t *input,
53  size_t input_length,
54  uint8_t *output,
55  size_t output_size,
56  size_t *output_length);
57 #endif /* MODULE_PSA_CIPHER_AES_128_CBC */
58 
59 #if IS_USED(MODULE_PSA_CIPHER_AES_192_CBC) || defined(DOXYGEN)
65  const uint8_t *key_buffer,
66  size_t key_buffer_size,
67  psa_algorithm_t alg,
68  const uint8_t *input,
69  size_t input_length,
70  uint8_t *output,
71  size_t output_size,
72  size_t *output_length);
73 #endif /* MODULE_PSA_CIPHER_AES_192_CBC */
74 
75 #if IS_USED(MODULE_PSA_CIPHER_AES_256_CBC) || defined(DOXYGEN)
81  const uint8_t *key_buffer,
82  size_t key_buffer_size,
83  psa_algorithm_t alg,
84  const uint8_t *input,
85  size_t input_length,
86  uint8_t *output,
87  size_t output_size,
88  size_t *output_length);
89 #endif /* MODULE_PSA_CIPHER_AES_256_CBC */
90 
91 #if IS_USED(MODULE_PSA_CIPHER_CHACHA20) || defined(DOXYGEN)
92 
107  size_t key_buffer_size,
108  const uint8_t *input,
109  size_t input_length,
110  uint8_t *output,
111  size_t output_size,
112  size_t *output_length);
113 
128  size_t key_buffer_size,
129  const uint8_t *input,
130  size_t input_length,
131  uint8_t *output,
132  size_t output_size,
133  size_t *output_length);
134 
135 #endif /* MODULE_PSA_CIPHER_CHACHA20 */
136 #ifdef __cplusplus
137 }
138 #endif
139 
uint32_t psa_algorithm_t
Encoding of a cryptographic algorithm.
Definition: algorithm.h:38
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:40
Structure storing key attributes.
Definition: attributes.h:51