PolarSSL v1.3.1
Data Fields
ecp_group Struct Reference

ECP group structure. More...

#include <ecp.h>

Collaboration diagram for ecp_group:
Collaboration graph
[legend]

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_pointT
 
size_t T_size
 

Detailed Description

ECP group structure.

The curves we consider are defined by y^2 = x^3 + A x + B mod P, and a generator for a large subgroup of order N is fixed.

pbits and nbits must be the size of P and N in bits.

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 117 of file ecp.h.

Field Documentation

mpi ecp_group::A

linear term in the equation

Definition at line 121 of file ecp.h.

mpi ecp_group::B

constant term in the equation

Definition at line 122 of file ecp.h.

ecp_point ecp_group::G

generator of the subgroup used

Definition at line 123 of file ecp.h.

unsigned int ecp_group::h

cofactor (unused now: assume 1)

Definition at line 127 of file ecp.h.

ecp_group_id ecp_group::id

internal group identifier

Definition at line 119 of file ecp.h.

int(* ecp_group::modp)(mpi *)

function for fast reduction mod P

Definition at line 128 of file ecp.h.

mpi ecp_group::N

the order of G

Definition at line 124 of file ecp.h.

size_t ecp_group::nbits

number of bits in N

Definition at line 126 of file ecp.h.

mpi ecp_group::P

prime modulus of the base field

Definition at line 120 of file ecp.h.

size_t ecp_group::pbits

number of bits in P

Definition at line 125 of file ecp.h.

ecp_point* ecp_group::T

pre-computed points for ecp_mul()

Definition at line 132 of file ecp.h.

void* ecp_group::t_data

currently unused

Definition at line 131 of file ecp.h.

int(* ecp_group::t_post)(ecp_point *, void *)

currently unused

Definition at line 130 of file ecp.h.

int(* ecp_group::t_pre)(ecp_point *, void *)

currently unused

Definition at line 129 of file ecp.h.

size_t ecp_group::T_size

number for pre-computed points

Definition at line 133 of file ecp.h.


The documentation for this struct was generated from the following file: