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