xref: /optee_os/core/drivers/crypto/versal/pki/include/ecc_pki.h (revision 684b77de8bc819d83dab8e1f791804cbd5e01bc8)
1 /* SPDX-License-Identifier: BSD-2-Clause */
2 /*
3  * Copyright (C) 2023 ProvenRun S.A.S
4  */
5 
6 #ifndef ECC_PKI_H
7 #define ECC_PKI_H
8 
9 #include <crypto/crypto.h>
10 #include <stddef.h>
11 #include <stdint.h>
12 #include <tee_api_types.h>
13 
14 TEE_Result pki_ecc_get_key_size(uint32_t curve, size_t *bytes, size_t *bits);
15 void pki_memcpy_swp(uint8_t *to, const uint8_t *from, size_t len);
16 void pki_crypto_bignum_bn2bin_eswap(uint32_t curve,
17 				    struct bignum *from, uint8_t *to);
18 void pki_crypto_bignum_bin2bn_eswap(const uint8_t *from, size_t sz,
19 				    struct bignum *to);
20 TEE_Result pki_ecc_prepare_msg(uint32_t algo, const uint8_t *msg,
21 			       size_t msg_len, size_t *len, uint8_t *buf);
22 
23 #endif
24