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

linear term in the equation

Definition at line 121 of file ecp.h.

Referenced by ecp_check_pubkey(), ecp_double_jac(), ecp_group_free(), ecp_group_read_string(), and ecp_group_read_string_gen().

constant term in the equation

Definition at line 122 of file ecp.h.

Referenced by ecp_check_pubkey(), ecp_group_free(), and ecp_group_read_string_gen().

unsigned int ecp_group::h

cofactor (unused now: assume 1)

Definition at line 127 of file ecp.h.

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

function for fast reduction mod P

Referenced by ecp_modp(), ecp_use_known_dp(), and test_suite_ecp_fast_mod().

pre-computed points for ecp_mul()

Definition at line 132 of file ecp.h.

Referenced by ecp_group_free(), and ecp_mul().

currently unused

Definition at line 131 of file ecp.h.

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

currently unused

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

currently unused

number for pre-computed points

Definition at line 133 of file ecp.h.

Referenced by ecp_group_free(), and ecp_mul().


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

Generated on 9 Apr 2014 for PolarSSL v1.3.2 by  doxygen 1.6.1