XenevaOS
Loading...
Searching...
No Matches
XenevaOS
Ports
mbedtls
library
ecp_internal_alt.h
Go to the documentation of this file.
1
7
/*
8
* Copyright The Mbed TLS Contributors
9
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
10
*/
11
12
/*
13
* References:
14
*
15
* [1] BERNSTEIN, Daniel J. Curve25519: new Diffie-Hellman speed records.
16
* <http://cr.yp.to/ecdh/curve25519-20060209.pdf>
17
*
18
* [2] CORON, Jean-S'ebastien. Resistance against differential power analysis
19
* for elliptic curve cryptosystems. In : Cryptographic Hardware and
20
* Embedded Systems. Springer Berlin Heidelberg, 1999. p. 292-302.
21
* <http://link.springer.com/chapter/10.1007/3-540-48059-5_25>
22
*
23
* [3] HEDABOU, Mustapha, PINEL, Pierre, et B'EN'ETEAU, Lucien. A comb method to
24
* render ECC resistant against Side Channel Attacks. IACR Cryptology
25
* ePrint Archive, 2004, vol. 2004, p. 342.
26
* <http://eprint.iacr.org/2004/342.pdf>
27
*
28
* [4] Certicom Research. SEC 2: Recommended Elliptic Curve Domain Parameters.
29
* <http://www.secg.org/sec2-v2.pdf>
30
*
31
* [5] HANKERSON, Darrel, MENEZES, Alfred J., VANSTONE, Scott. Guide to Elliptic
32
* Curve Cryptography.
33
*
34
* [6] Digital Signature Standard (DSS), FIPS 186-4.
35
* <http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf>
36
*
37
* [7] Elliptic Curve Cryptography (ECC) Cipher Suites for Transport Layer
38
* Security (TLS), RFC 4492.
39
* <https://tools.ietf.org/search/rfc4492>
40
*
41
* [8] <http://www.hyperelliptic.org/EFD/g1p/auto-shortw-jacobian.html>
42
*
43
* [9] COHEN, Henri. A Course in Computational Algebraic Number Theory.
44
* Springer Science & Business Media, 1 Aug 2000
45
*/
46
47
#ifndef MBEDTLS_ECP_INTERNAL_H
48
#define MBEDTLS_ECP_INTERNAL_H
49
50
#include "
mbedtls/build_info.h
"
51
52
#if defined(MBEDTLS_ECP_INTERNAL_ALT)
53
63
unsigned
char
mbedtls_internal_ecp_grp_capable(
const
mbedtls_ecp_group
*grp);
64
80
int
mbedtls_internal_ecp_init(
const
mbedtls_ecp_group
*grp);
81
88
void
mbedtls_internal_ecp_free(
const
mbedtls_ecp_group
*grp);
89
90
#if defined(MBEDTLS_ECP_SHORT_WEIERSTRASS_ENABLED)
91
92
#if defined(MBEDTLS_ECP_RANDOMIZE_JAC_ALT)
108
int
mbedtls_internal_ecp_randomize_jac(
const
mbedtls_ecp_group
*grp,
109
mbedtls_ecp_point
*
pt
,
int
(*f_rng)(
void
*,
110
unsigned
char
*,
111
size_t
),
112
void
*p_rng);
113
#endif
114
115
#if defined(MBEDTLS_ECP_ADD_MIXED_ALT)
155
int
mbedtls_internal_ecp_add_mixed(
const
mbedtls_ecp_group
*grp,
156
mbedtls_ecp_point
*
R
,
const
mbedtls_ecp_point
*
P
,
157
const
mbedtls_ecp_point
*Q);
158
#endif
159
179
#if defined(MBEDTLS_ECP_DOUBLE_JAC_ALT)
180
int
mbedtls_internal_ecp_double_jac(
const
mbedtls_ecp_group
*grp,
181
mbedtls_ecp_point
*
R
,
const
mbedtls_ecp_point
*
P
);
182
#endif
183
209
#if defined(MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT)
210
int
mbedtls_internal_ecp_normalize_jac_many(
const
mbedtls_ecp_group
*grp,
211
mbedtls_ecp_point
*T[],
size_t
t_len);
212
#endif
213
227
#if defined(MBEDTLS_ECP_NORMALIZE_JAC_ALT)
228
int
mbedtls_internal_ecp_normalize_jac(
const
mbedtls_ecp_group
*grp,
229
mbedtls_ecp_point
*
pt
);
230
#endif
231
232
#endif
/* MBEDTLS_ECP_SHORT_WEIERSTRASS_ENABLED */
233
234
#if defined(MBEDTLS_ECP_MONTGOMERY_ENABLED)
235
236
#if defined(MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT)
237
int
mbedtls_internal_ecp_double_add_mxz(
const
mbedtls_ecp_group
*grp,
238
mbedtls_ecp_point
*
R
,
239
mbedtls_ecp_point
*
S
,
240
const
mbedtls_ecp_point
*
P
,
241
const
mbedtls_ecp_point
*Q,
242
const
mbedtls_mpi
*
d
);
243
#endif
244
260
#if defined(MBEDTLS_ECP_RANDOMIZE_MXZ_ALT)
261
int
mbedtls_internal_ecp_randomize_mxz(
const
mbedtls_ecp_group
*grp,
262
mbedtls_ecp_point
*
P
,
int
(*f_rng)(
void
*,
263
unsigned
char
*,
264
size_t
),
265
void
*p_rng);
266
#endif
267
278
#if defined(MBEDTLS_ECP_NORMALIZE_MXZ_ALT)
279
int
mbedtls_internal_ecp_normalize_mxz(
const
mbedtls_ecp_group
*grp,
280
mbedtls_ecp_point
*
P
);
281
#endif
282
283
#endif
/* MBEDTLS_ECP_MONTGOMERY_ENABLED */
284
285
#endif
/* MBEDTLS_ECP_INTERNAL_ALT */
286
287
#endif
/* ecp_internal_alt.h */
R
#define R
Definition
am_map.c:143
P
@ P
Definition
element-type.h:22
S
#define S(s)
Definition
in_foreign_content.c:20
d
#define d
Definition
libunicode.c:1833
build_info.h
Build-time configuration info.
mbedtls_ecp_group
The ECP group structure.
Definition
ecp.h:233
mbedtls_ecp_point
The ECP point structure, in Jacobian coordinates.
Definition
ecp.h:158
mbedtls_mpi
MPI structure.
Definition
bignum.h:208
pt
Definition
crypto.c:514
Generated by
1.9.8