/** * \file ecp_internal.h * * \brief Function declarations for alternative implementation of elliptic curve * point arithmetic. * * Copyright (C) 2016, ARM Limited, All Rights Reserved * SPDX-License-Identifier: Apache-2.0 * * Licensed under the Apache License, Version 2.0 (the "License"); you may * not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * This file is part of mbed TLS (https://tls.mbed.org) */ #ifndef MBEDTLS_ECP_FUNCTION_ALT_H #define MBEDTLS_ECP_FUNCTION_ALT_H #if defined(MBEDTLS_ECP_FUNCTION_ALT) unsigned char mbedtls_ecp_alt_grp_capable( const mbedtls_ecp_group *grp ); #if defined(MBEDTLS_ECP_INIT_ALT) int mbedtls_ecp_alt_init( const mbedtls_ecp_group *grp ); #endif #if defined(MBEDTLS_ECP_DEINIT_ALT) void mbedtls_ecp_alt_deinit( const mbedtls_ecp_group *grp ); #endif #if defined(MBEDTLS_ECP_RANDOMIZE_JAC_ALT) int mbedtls_ecp_randomize_jac_alt( const mbedtls_ecp_group *grp, mbedtls_ecp_point *pt, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng ); #endif #if defined(MBEDTLS_ECP_ADD_MIXED_ALT) int mbedtls_ecp_add_mixed_alt( const mbedtls_ecp_group *grp, mbedtls_ecp_point *R, const mbedtls_ecp_point *P, const mbedtls_ecp_point *Q ); #endif #if defined(MBEDTLS_ECP_DOUBLE_JAC_ALT) int mbedtls_ecp_double_jac_alt( const mbedtls_ecp_group *grp, mbedtls_ecp_point *R, const mbedtls_ecp_point *P ); #endif #if defined(MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT) int mbedtls_ecp_normalize_jac_many_alt( const mbedtls_ecp_group *grp, mbedtls_ecp_point *T[], size_t t_len ); #endif #if defined(MBEDTLS_ECP_NORMALIZE_JAC_ALT) int mbedtls_ecp_normalize_jac_alt( const mbedtls_ecp_group *grp, mbedtls_ecp_point *pt ); #endif #if defined(MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT) int mbedtls_ecp_double_add_mxz_alt( const mbedtls_ecp_group *grp, mbedtls_ecp_point *R, mbedtls_ecp_point *S, const mbedtls_ecp_point *P, const mbedtls_ecp_point *Q, const mbedtls_mpi *d ); #endif #if defined(MBEDTLS_ECP_RANDOMIZE_MXZ_ALT) int mbedtls_ecp_randomize_mxz_alt( const mbedtls_ecp_group *grp, mbedtls_ecp_point *P, int (*f_rng)(void *, unsigned char *, size_t), void *p_rng ); #endif #if defined(MBEDTLS_ECP_NORMALIZE_MXZ_ALT) int mbedtls_ecp_normalize_mxz_alt( const mbedtls_ecp_group *grp, mbedtls_ecp_point *P ); #endif #endif /* MBEDTLS_ECP_FUNCTION_ALT */ #endif /* ecp_function_alt.h */