XenevaOS
Loading...
Searching...
No Matches
psa_crypto_rsa.h
Go to the documentation of this file.
1/*
2 * PSA RSA layer on top of Mbed TLS crypto
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_RSA_H
10#define PSA_CRYPTO_RSA_H
11
12#include <psa/crypto.h>
13#include <mbedtls/rsa.h>
14
26 const uint8_t *data,
27 size_t data_length,
28 mbedtls_rsa_context **p_rsa);
29
57 const psa_key_attributes_t *attributes,
58 const uint8_t *data, size_t data_length,
59 uint8_t *key_buffer, size_t key_buffer_size,
60 size_t *key_buffer_length, size_t *bits);
61
73 size_t data_size,
74 size_t *data_length);
75
101 const psa_key_attributes_t *attributes,
102 const uint8_t *key_buffer, size_t key_buffer_size,
103 uint8_t *data, size_t data_size, size_t *data_length);
104
128 const psa_key_attributes_t *attributes,
129 const uint8_t *custom_data, size_t custom_data_length,
130 uint8_t *key_buffer, size_t key_buffer_size, size_t *key_buffer_length);
131
166 const psa_key_attributes_t *attributes,
167 const uint8_t *key_buffer, size_t key_buffer_size,
168 psa_algorithm_t alg, const uint8_t *hash, size_t hash_length,
169 uint8_t *signature, size_t signature_size, size_t *signature_length);
170
202 const psa_key_attributes_t *attributes,
203 const uint8_t *key_buffer, size_t key_buffer_size,
204 psa_algorithm_t alg, const uint8_t *hash, size_t hash_length,
205 const uint8_t *signature, size_t signature_length);
206
252 const uint8_t *key_buffer,
253 size_t key_buffer_size,
254 psa_algorithm_t alg,
255 const uint8_t *input,
256 size_t input_length,
257 const uint8_t *salt,
258 size_t salt_length,
259 uint8_t *output,
260 size_t output_size,
261 size_t *output_length);
262
310 const uint8_t *key_buffer,
311 size_t key_buffer_size,
312 psa_algorithm_t alg,
313 const uint8_t *input,
314 size_t input_length,
315 const uint8_t *salt,
316 size_t salt_length,
317 uint8_t *output,
318 size_t output_size,
319 size_t *output_length);
320
321#endif /* PSA_CRYPTO_RSA_H */
Platform Security Architecture cryptography module.
unsigned char uint8_t
Definition acefiex.h:161
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
void * data
Definition kthread.h:30
psa_status_t mbedtls_psa_asymmetric_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, const uint8_t *salt, size_t salt_length, uint8_t *output, size_t output_size, size_t *output_length)
Encrypt a short message with a public key.
psa_status_t mbedtls_psa_rsa_verify_hash(const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const uint8_t *hash, size_t hash_length, const uint8_t *signature, size_t signature_length)
Verify the signature a hash or short message using a public RSA key.
psa_status_t mbedtls_psa_asymmetric_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, const uint8_t *salt, size_t salt_length, uint8_t *output, size_t output_size, size_t *output_length)
Decrypt a short message with a private key.
psa_status_t mbedtls_psa_rsa_import_key(const psa_key_attributes_t *attributes, const uint8_t *data, size_t data_length, uint8_t *key_buffer, size_t key_buffer_size, size_t *key_buffer_length, size_t *bits)
psa_status_t mbedtls_psa_rsa_generate_key(const psa_key_attributes_t *attributes, const uint8_t *custom_data, size_t custom_data_length, uint8_t *key_buffer, size_t key_buffer_size, size_t *key_buffer_length)
Generate an RSA key.
psa_status_t mbedtls_psa_rsa_export_key(psa_key_type_t type, mbedtls_rsa_context *rsa, uint8_t *data, size_t data_size, size_t *data_length)
psa_status_t mbedtls_psa_rsa_load_representation(psa_key_type_t type, const uint8_t *data, size_t data_length, mbedtls_rsa_context **p_rsa)
psa_status_t mbedtls_psa_rsa_sign_hash(const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const uint8_t *hash, size_t hash_length, uint8_t *signature, size_t signature_size, size_t *signature_length)
psa_status_t mbedtls_psa_rsa_export_public_key(const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, uint8_t *data, size_t data_size, size_t *data_length)
This file provides an API for the RSA public-key cryptosystem.
The RSA context structure.
Definition rsa.h:85
Definition crypto_struct.h:295
struct VirtioInputEvent * input
Definition virtiokbd.c:46