XenevaOS
Loading...
Searching...
No Matches
psa_crypto_cipher.h
Go to the documentation of this file.
1/*
2 * PSA cipher driver entry points and associated auxiliary functions
3 */
4/*
5 * Copyright The Mbed TLS Contributors
6 * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
7 */
8
9#ifndef PSA_CRYPTO_CIPHER_H
10#define PSA_CRYPTO_CIPHER_H
11
12#include <mbedtls/cipher.h>
13#include <psa/crypto.h>
14
33 size_t *key_bits, mbedtls_cipher_mode_t *mode,
34 mbedtls_cipher_id_t *cipher_id);
35
36#if defined(MBEDTLS_CIPHER_C)
49const mbedtls_cipher_info_t *mbedtls_cipher_info_from_psa(
50 psa_algorithm_t alg, psa_key_type_t key_type, size_t key_bits,
51 mbedtls_cipher_id_t *cipher_id);
52#endif /* MBEDTLS_CIPHER_C */
53
80 const psa_key_attributes_t *attributes,
81 const uint8_t *key_buffer, size_t key_buffer_size,
82 psa_algorithm_t alg);
83
110 const psa_key_attributes_t *attributes,
111 const uint8_t *key_buffer, size_t key_buffer_size,
112 psa_algorithm_t alg);
113
138 const uint8_t *iv, size_t iv_length);
139
163 const uint8_t *input, size_t input_length,
164 uint8_t *output, size_t output_size, size_t *output_length);
165
194 uint8_t *output, size_t output_size, size_t *output_length);
195
212
256 const uint8_t *key_buffer,
257 size_t key_buffer_size,
258 psa_algorithm_t alg,
259 const uint8_t *iv,
260 size_t iv_length,
261 const uint8_t *input,
262 size_t input_length,
263 uint8_t *output,
264 size_t output_size,
265 size_t *output_length);
266
307 const uint8_t *key_buffer,
308 size_t key_buffer_size,
309 psa_algorithm_t alg,
310 const uint8_t *input,
311 size_t input_length,
312 uint8_t *output,
313 size_t output_size,
314 size_t *output_length);
315
316#endif /* PSA_CRYPTO_CIPHER_H */
Platform Security Architecture cryptography module.
unsigned char uint8_t
Definition acefiex.h:161
This file contains an abstraction interface for use with the cipher primitives provided by the librar...
mbedtls_cipher_mode_t
Definition cipher.h:172
mbedtls_cipher_id_t
Supported cipher types.
Definition cipher.h:66
uint16_t psa_key_type_t
Encoding of a key type.
Definition crypto_types.h:78
uint32_t psa_algorithm_t
Encoding of a cryptographic algorithm.
Definition crypto_types.h:134
int32_t psa_status_t
Function return status.
Definition crypto_types.h:59
psa_status_t mbedtls_psa_cipher_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)
psa_status_t mbedtls_psa_cipher_decrypt_setup(mbedtls_psa_cipher_operation_t *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg)
Set the key for a multipart symmetric decryption operation.
psa_status_t mbedtls_cipher_values_from_psa(psa_algorithm_t alg, psa_key_type_t key_type, size_t *key_bits, mbedtls_cipher_mode_t *mode, mbedtls_cipher_id_t *cipher_id)
psa_status_t mbedtls_psa_cipher_update(mbedtls_psa_cipher_operation_t *operation, const uint8_t *input, size_t input_length, uint8_t *output, size_t output_size, size_t *output_length)
psa_status_t mbedtls_psa_cipher_encrypt_setup(mbedtls_psa_cipher_operation_t *operation, const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg)
Set the key for a multipart symmetric encryption operation.
psa_status_t mbedtls_psa_cipher_abort(mbedtls_psa_cipher_operation_t *operation)
psa_status_t mbedtls_psa_cipher_finish(mbedtls_psa_cipher_operation_t *operation, uint8_t *output, size_t output_size, size_t *output_length)
psa_status_t mbedtls_psa_cipher_set_iv(mbedtls_psa_cipher_operation_t *operation, const uint8_t *iv, size_t iv_length)
psa_status_t mbedtls_psa_cipher_encrypt(const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const uint8_t *iv, size_t iv_length, const uint8_t *input, size_t input_length, uint8_t *output, size_t output_size, size_t *output_length)
Definition cipher.h:266
Definition crypto_builtin_primitives.h:101
Definition crypto_struct.h:295
#define mode(x)
struct VirtioInputEvent * input
Definition virtiokbd.c:46