blob: c377e704c160235fa3c80edcb9123dbef2f93266 [file] [log] [blame]
Jerry Yubdc71882021-09-14 19:30:36 +08001/**
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
Jerry Yudd1fb9e2021-09-15 11:10:15 +080025#include "mbedtls/ecdh.h"
26#include "mbedtls/ecp.h"
27
Jerry Yubdc71882021-09-14 19:30:36 +080028#if defined(MBEDTLS_ECDH_C)
29
30#if defined(MBEDTLS_SSL_PROTO_TLS1_3_EXPERIMENTAL)
31
32/*
Jerry Yudd1fb9e2021-09-15 11:10:15 +080033 * Setup context without everst
34 */
35int mbedtls_ecdh_setup_no_everest( mbedtls_ecdh_context *ctx,
36 mbedtls_ecp_group_id grp_id );
37
38/*
Jerry Yubdc71882021-09-14 19:30:36 +080039 * TLS 1.3 version of mbedtls_ecdh_make_params in ecdh.h
40 */
41int mbedtls_ecdh_tls13_make_params( mbedtls_ecdh_context *ctx, size_t *olen,
42 unsigned char *buf, size_t blen,
43 int ( *f_rng )( void *, unsigned char *, size_t ),
44 void *p_rng );
45
Jerry Yudd1fb9e2021-09-15 11:10:15 +080046
Jerry Yubdc71882021-09-14 19:30:36 +080047#endif /* MBEDTLS_SSL_PROTO_TLS1_3_EXPERIMENTAL */
48
49#endif /* MBEDTLS_ECDH_C */
50
51#endif /* !MBEDTLS_ECDH_MISC_H */