Loading...
Searching...
No Matches
psa_ciphers.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2021 HAW Hamburg
3 * SPDX-License-Identifier: LGPL-2.1-only
4 */
5
6#pragma once
7
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
23#include "psa/crypto.h"
24#include "psa/crypto_contexts.h"
25
26#if IS_USED(MODULE_PSA_CIPHER_AES_128_CBC) || defined(DOXYGEN)
32 const uint8_t *key_buffer,
33 size_t key_buffer_size,
35 const uint8_t *input,
36 size_t input_length,
37 uint8_t *output,
38 size_t output_size,
39 size_t *output_length);
40
46 const uint8_t *key_buffer,
47 size_t key_buffer_size,
49 const uint8_t *input,
50 size_t input_length,
51 uint8_t *output,
52 size_t output_size,
53 size_t *output_length);
54#endif /* MODULE_PSA_CIPHER_AES_128_CBC */
55
56#if IS_USED(MODULE_PSA_CIPHER_AES_192_CBC) || defined(DOXYGEN)
62 const uint8_t *key_buffer,
63 size_t key_buffer_size,
65 const uint8_t *input,
66 size_t input_length,
67 uint8_t *output,
68 size_t output_size,
69 size_t *output_length);
70#endif /* MODULE_PSA_CIPHER_AES_192_CBC */
71
72#if IS_USED(MODULE_PSA_CIPHER_AES_256_CBC) || defined(DOXYGEN)
78 const uint8_t *key_buffer,
79 size_t key_buffer_size,
81 const uint8_t *input,
82 size_t input_length,
83 uint8_t *output,
84 size_t output_size,
85 size_t *output_length);
86#endif /* MODULE_PSA_CIPHER_AES_256_CBC */
87
88#if IS_USED(MODULE_PSA_CIPHER_CHACHA20) || defined(DOXYGEN)
89
104 size_t key_buffer_size,
105 const uint8_t *input,
106 size_t input_length,
107 uint8_t *output,
108 size_t output_size,
109 size_t *output_length);
110
125 size_t key_buffer_size,
126 const uint8_t *input,
127 size_t input_length,
128 uint8_t *output,
129 size_t output_size,
130 size_t *output_length);
131
132#endif /* MODULE_PSA_CIPHER_CHACHA20 */
133#ifdef __cplusplus
134}
135#endif
136
uint32_t psa_algorithm_t
Encoding of a cryptographic algorithm.
Definition algorithm.h:35
struct psa_key_attributes_s psa_key_attributes_t
The type of an object containing key attributes.
Definition attributes.h:157
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:37