Loading...
Searching...
No Matches
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
21
22#ifdef __cplusplus
23extern "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,
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,
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,
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,
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
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_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