nrfxlib API 3.3.99
Loading...
Searching...
No Matches
cc3xx_psa_key_generation.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2021, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 *
6 */
7
8#ifndef CC3XX_PSA_KEY_GENERATION_H
9#define CC3XX_PSA_KEY_GENERATION_H
10
19#include "psa/crypto.h"
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
36psa_status_t cc3xx_generate_key(const psa_key_attributes_t *attributes,
37 uint8_t *key_buffer, size_t key_buffer_size,
38 size_t *key_buffer_length);
52psa_status_t cc3xx_export_public_key(const psa_key_attributes_t *attributes,
53 const uint8_t *key_buffer,
54 size_t key_buffer_size, uint8_t *data,
55 size_t data_size, size_t *data_length);
56
71psa_status_t cc3xx_import_key(const psa_key_attributes_t *attributes,
72 const uint8_t *data, size_t data_length,
73 uint8_t *key_buffer, size_t key_buffer_size,
74 size_t *key_buffer_length, size_t *key_bits );
75
76
77
88psa_status_t
89cc3xx_internal_gen_ecc_wstr_keypair(const psa_key_attributes_t *attributes,
90 uint8_t *key_buffer, size_t key_buffer_size,
91 size_t *key_buffer_length);
92
102psa_status_t
103cc3xx_internal_gen_ecc_edwards_keypair(const psa_key_attributes_t *attributes,
104 uint8_t *key_buffer, size_t key_buffer_size);
105
115psa_status_t
116cc3xx_internal_gen_ecc_mont_keypair(const psa_key_attributes_t *attributes,
117 uint8_t *key_buffer, size_t key_buffer_size);
118
119
130psa_status_t
131cc3xx_internal_gen_rsa_keypair(const psa_key_attributes_t *attributes,
132 uint8_t *key_buffer, size_t key_buffer_size,
133 size_t *key_buffer_length);
134
135
148psa_status_t
149cc3xx_internal_export_ecc_wrst_public_key(const psa_key_attributes_t *attributes,
150 const uint8_t *key_buffer,
151 size_t key_buffer_size, uint8_t *data,
152 size_t data_size, size_t *data_length);
153
166psa_status_t
167cc3xx_internal_export_ecc_edwards_public_key(const psa_key_attributes_t *attributes,
168 const uint8_t *key_buffer,
169 size_t key_buffer_size, uint8_t *data,
170 size_t data_size, size_t *data_length);
171
184psa_status_t cc3xx_internal_export_ecc_mont_public_key(const psa_key_attributes_t *attributes,
185 const uint8_t *key_buffer,
186 size_t key_buffer_size, uint8_t *data,
187 size_t data_size, size_t *data_length);
188
198psa_status_t cc3xx_internal_check_mont_key(psa_key_type_t key_type,
199 const uint8_t *key_buff,
200 size_t key_buff_size);
201
211psa_status_t cc3xx_internal_check_edw_key(psa_key_type_t key_type,
212 const uint8_t *key_buff,
213 size_t key_buff_length);
214
226psa_status_t cc3xx_internal_check_wrst_key(psa_ecc_family_t curve,
227 size_t curve_bits,
228 psa_key_type_t key_type,
229 const uint8_t *key_buff,
230 size_t key_buff_length);
231
232#ifdef __cplusplus
233}
234#endif
235#endif /* CC3XX_PSA_KEY_GENERATION_H */
psa_status_t cc3xx_internal_gen_ecc_edwards_keypair(const psa_key_attributes_t *attributes, uint8_t *key_buffer, size_t key_buffer_size)
Generate an ECC Edwards key pair.
psa_status_t cc3xx_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 *key_bits)
Import a key.
psa_status_t cc3xx_internal_check_edw_key(psa_key_type_t key_type, const uint8_t *key_buff, size_t key_buff_length)
Check validity of ECC Edwards key.
psa_status_t cc3xx_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)
Export the public key from a private key.
psa_status_t cc3xx_generate_key(const psa_key_attributes_t *attributes, uint8_t *key_buffer, size_t key_buffer_size, size_t *key_buffer_length)
Generate a random key.
psa_status_t cc3xx_internal_export_ecc_mont_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)
Export the public key from an ECC Montgomery private key.
psa_status_t cc3xx_internal_export_ecc_edwards_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)
Export the public key from an ECC Edwards private key.
psa_status_t cc3xx_internal_check_mont_key(psa_key_type_t key_type, const uint8_t *key_buff, size_t key_buff_size)
Check validity of ECC Montgomery key.
psa_status_t cc3xx_internal_gen_ecc_mont_keypair(const psa_key_attributes_t *attributes, uint8_t *key_buffer, size_t key_buffer_size)
Generate an ECC Montgomery key pair.
psa_status_t cc3xx_internal_check_wrst_key(psa_ecc_family_t curve, size_t curve_bits, psa_key_type_t key_type, const uint8_t *key_buff, size_t key_buff_length)
Check validity of ECC Weierstrass key.
psa_status_t cc3xx_internal_gen_rsa_keypair(const psa_key_attributes_t *attributes, uint8_t *key_buffer, size_t key_buffer_size, size_t *key_buffer_length)
Generate an RSA key pair.
psa_status_t cc3xx_internal_export_ecc_wrst_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)
Export the public key from an ECC Weierstrass private key.
psa_status_t cc3xx_internal_gen_ecc_wstr_keypair(const psa_key_attributes_t *attributes, uint8_t *key_buffer, size_t key_buffer_size, size_t *key_buffer_length)
Generate an ECC Weierstrass key pair.