1 /*
2  * Copyright (c) 2001-2022, Arm Limited and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef MBEDTLS_CC_ECC_INTERNAL_H
8 #define MBEDTLS_CC_ECC_INTERNAL_H
9 
10 #include "mbedtls/build_info.h"
11 
12 #if defined(MBEDTLS_ECDH_GEN_PUBLIC_ALT) || defined(MBEDTLS_ECDSA_GENKEY_ALT)
13 /*
14  * Generate a keypair with configurable base point
15  */
16 int cc_ecp_gen_keypair_base( mbedtls_ecp_group *grp,
17                              const mbedtls_ecp_point *G,
18                              mbedtls_mpi *d, mbedtls_ecp_point *Q,
19                              int (*f_rng)(void *, unsigned char *, size_t),
20                              void *p_rng );
21 
22 /*
23  * Generate key pair, wrapper for conventional base point
24  */
25 int cc_ecp_gen_keypair( mbedtls_ecp_group *grp,
26                              mbedtls_mpi *d, mbedtls_ecp_point *Q,
27                              int (*f_rng)(void *, unsigned char *, size_t),
28                              void *p_rng );
29 
30 #endif /* MBEDTLS_ECDH_GEN_PUBLIC_ALT || MBEDTLS_ECDSA_GENKEY_ALT*/
31 
32 #if defined(MBEDTLS_ECDH_COMPUTE_SHARED_ALT)
33 /*
34  * Multiplication R = m * P
35  */
36 int cc_ecp_mul( mbedtls_ecp_group *grp, mbedtls_ecp_point *R,
37              const mbedtls_mpi *m, const mbedtls_ecp_point *P,
38              int (*f_rng)(void *, unsigned char *, size_t), void *p_rng );
39 
40 #endif /* MBEDTLS_ECDH_COMPUTE_SHARED_ALT */
41 
42 #endif //MBEDTLS_CC_ECC_INTERNAL_H
43 
44 
45