1 /** 2 * \file ecdh_misc.h 3 * 4 * \brief Internal functions shared by the ECDH module 5 */ 6 /* 7 * Copyright The Mbed TLS Contributors 8 * SPDX-License-Identifier: Apache-2.0 9 * 10 * Licensed under the Apache License, Version 2.0 ( the "License" ); you may 11 * not use this file except in compliance with the License. 12 * You may obtain a copy of the License at 13 * 14 * http://www.apache.org/licenses/LICENSE-2.0 15 * 16 * Unless required by applicable law or agreed to in writing, software 17 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 18 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 19 * See the License for the specific language governing permissions and 20 * limitations under the License. 21 */ 22 #if !defined(MBEDTLS_ECDH_MISC_H) 23 #define MBEDTLS_ECDH_MISC_H 24 25 #include "mbedtls/ecdh.h" 26 #include "mbedtls/ecp.h" 27 28 #if defined(MBEDTLS_ECDH_C) 29 30 #if defined(MBEDTLS_SSL_PROTO_TLS1_3) 31 32 /* 33 * Setup context without Everest 34 */ 35 int mbedtls_ecdh_setup_no_everest( mbedtls_ecdh_context *ctx, 36 mbedtls_ecp_group_id grp_id ); 37 38 /* 39 * TLS 1.3 version of mbedtls_ecdh_make_params 40 */ 41 int mbedtls_ecdh_tls13_make_params( mbedtls_ecdh_context *ctx, size_t *olen, 42 unsigned char *buf, size_t buf_len, 43 int ( *f_rng )( void *, unsigned char *, size_t ), 44 void *p_rng ); 45 46 /* 47 * TLS 1.3 version of mbedtls_ecdh_read_public 48 */ 49 int mbedtls_ecdh_tls13_read_public( mbedtls_ecdh_context *ctx, 50 const unsigned char *buf, 51 size_t buf_len ); 52 53 #endif /* MBEDTLS_SSL_PROTO_TLS1_3 */ 54 55 #endif /* MBEDTLS_ECDH_C */ 56 57 #endif /* !MBEDTLS_ECDH_MISC_H */ 58