XenevaOS
Loading...
Searching...
No Matches
psa_crypto_ecp.h
Go to the documentation of this file.
1/*
2 * PSA ECP 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_ECP_H
10#define PSA_CRYPTO_ECP_H
11
12#include <psa/crypto.h>
13#include <mbedtls/ecp.h>
14
34 size_t curve_bits,
35 const uint8_t *data,
36 size_t data_length,
37 mbedtls_ecp_keypair **p_ecp);
38
47
75 const psa_key_attributes_t *attributes,
76 const uint8_t *data, size_t data_length,
77 uint8_t *key_buffer, size_t key_buffer_size,
78 size_t *key_buffer_length, size_t *bits);
79
91 size_t data_size,
92 size_t *data_length);
93
119 const psa_key_attributes_t *attributes,
120 const uint8_t *key_buffer, size_t key_buffer_size,
121 uint8_t *data, size_t data_size, size_t *data_length);
122
143 const psa_key_attributes_t *attributes,
144 uint8_t *key_buffer, size_t key_buffer_size, size_t *key_buffer_length);
145
179 const psa_key_attributes_t *attributes,
180 const uint8_t *key_buffer, size_t key_buffer_size,
181 psa_algorithm_t alg, const uint8_t *hash, size_t hash_length,
182 uint8_t *signature, size_t signature_size, size_t *signature_length);
183
214 const psa_key_attributes_t *attributes,
215 const uint8_t *key_buffer, size_t key_buffer_size,
216 psa_algorithm_t alg, const uint8_t *hash, size_t hash_length,
217 const uint8_t *signature, size_t signature_length);
218
219
262 const psa_key_attributes_t *attributes,
263 const uint8_t *key_buffer, size_t key_buffer_size,
264 psa_algorithm_t alg, const uint8_t *peer_key, size_t peer_key_length,
265 uint8_t *shared_secret, size_t shared_secret_size,
266 size_t *shared_secret_length);
267#endif /* PSA_CRYPTO_ECP_H */
Platform Security Architecture cryptography module.
unsigned char uint8_t
Definition acefiex.h:161
This file provides an API for Elliptic Curves over GF(P) (ECP).
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_ecdsa_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_ecp_generate_key(const psa_key_attributes_t *attributes, uint8_t *key_buffer, size_t key_buffer_size, size_t *key_buffer_length)
Generate an ECP key.
psa_status_t mbedtls_psa_ecp_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)
psa_status_t mbedtls_psa_ecp_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_ecp_load_public_part(mbedtls_ecp_keypair *ecp)
psa_status_t mbedtls_psa_ecp_load_representation(psa_key_type_t type, size_t curve_bits, const uint8_t *data, size_t data_length, mbedtls_ecp_keypair **p_ecp)
psa_status_t mbedtls_psa_ecdsa_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 an ECDSA hash or short message signature.
psa_status_t mbedtls_psa_ecp_export_key(psa_key_type_t type, mbedtls_ecp_keypair *ecp, uint8_t *data, size_t data_size, size_t *data_length)
psa_status_t mbedtls_psa_key_agreement_ecdh(const psa_key_attributes_t *attributes, const uint8_t *key_buffer, size_t key_buffer_size, psa_algorithm_t alg, const uint8_t *peer_key, size_t peer_key_length, uint8_t *shared_secret, size_t shared_secret_size, size_t *shared_secret_length)
The ECP key-pair structure.
Definition ecp.h:428
Definition crypto_struct.h:295