mbed TLS library
Dependents: HTTPClient-SSL WS_SERVER
ecp_group Struct Reference
ECP group structure. More...
#include <ecp.h>
Data Fields | |
ecp_group_id | id |
mpi | P |
mpi | A |
mpi | B |
ecp_point | G |
mpi | N |
size_t | pbits |
size_t | nbits |
unsigned int | h |
int(* | modp )(mpi *) |
int(* | t_pre )(ecp_point *, void *) |
int(* | t_post )(ecp_point *, void *) |
void * | t_data |
ecp_point * | T |
size_t | T_size |
Detailed Description
ECP group structure.
We consider two types of curves equations: 1. Short Weierstrass y^2 = x^3 + A x + B mod P (SEC1 + RFC 4492) 2. Montgomery, y^2 = x^3 + A x^2 + x mod P (M255 + draft) In both cases, a generator G for a prime-order subgroup is fixed. In the short weierstrass, this subgroup is actually the whole curve, and its cardinal is denoted by N.
In the case of Short Weierstrass curves, our code requires that N is an odd prime. (Use odd in ecp_mul() and prime in ecdsa_sign() for blinding.)
In the case of Montgomery curves, we don't store A but (A + 2) / 4 which is the quantity actually used in the formulas. Also, nbits is not the size of N but the required size for private keys.
If modp is NULL, reduction modulo P is done using a generic algorithm. Otherwise, it must point to a function that takes an mpi in the range 0..2^(2*pbits)-1 and transforms it in-place in an integer of little more than pbits, so that the integer may be efficiently brought in the 0..P-1 range by a few additions or substractions. It must return 0 on success and non-zero on failure.
Definition at line 133 of file ecp.h.
Field Documentation
Generated on Tue Jul 12 2022 13:50:41 by 1.7.2