iPXE
|
A Weierstrass elliptic curve. More...
#include <weierstrass.h>
Data Fields | |
const unsigned int | size |
Number of elements in scalar values. More... | |
const char * | name |
Curve name. More... | |
size_t | len |
Length of raw scalar values. More... | |
const uint8_t * | prime_raw |
Field prime. More... | |
const uint8_t * | a_raw |
Constant "a". More... | |
const uint8_t * | b_raw |
Constant "b". More... | |
const uint8_t * | base |
Base point. More... | |
bigint_element_t * | prime [WEIERSTRASS_NUM_CACHED] |
Cached field prime "N" (and multiples thereof) More... | |
bigint_element_t * | fermat |
Cached constant "N-2" (for Fermat's little theorem) More... | |
bigint_element_t * | square |
Cached Montgomery constant (R^2 mod N) More... | |
union { | |
struct { | |
bigint_element_t * one | |
Cached constant "1", in Montgomery form. More... | |
bigint_element_t * a | |
Cached constant "a", in Montgomery form. More... | |
bigint_element_t * b3 | |
Cached constant "3b", in Montgomery form. More... | |
} | |
bigint_element_t * mont [WEIERSTRASS_NUM_MONT] | |
}; | |
Cached constants in Montgomery form. More... | |
A Weierstrass elliptic curve.
This is an elliptic curve y^2 = x^3 + ax + b
Definition at line 90 of file weierstrass.h.
const unsigned int weierstrass_curve::size |
Number of elements in scalar values.
Definition at line 92 of file weierstrass.h.
Referenced by weierstrass_add_ladder(), weierstrass_add_raw(), weierstrass_init(), weierstrass_multiply(), and weierstrass_verify_raw().
const char* weierstrass_curve::name |
Curve name.
Definition at line 94 of file weierstrass.h.
Referenced by weierstrass_add_raw(), weierstrass_exec(), weierstrass_init(), weierstrass_multiply(), and weierstrass_verify_raw().
size_t weierstrass_curve::len |
Length of raw scalar values.
Definition at line 96 of file weierstrass.h.
Referenced by weierstrass_init(), and weierstrass_multiply().
const uint8_t* weierstrass_curve::prime_raw |
const uint8_t* weierstrass_curve::a_raw |
const uint8_t* weierstrass_curve::b_raw |
const uint8_t* weierstrass_curve::base |
bigint_element_t* weierstrass_curve::prime[WEIERSTRASS_NUM_CACHED] |
Cached field prime "N" (and multiples thereof)
Definition at line 107 of file weierstrass.h.
Referenced by weierstrass_add_raw(), weierstrass_exec(), weierstrass_init(), weierstrass_multiply(), and weierstrass_verify_raw().
bigint_element_t* weierstrass_curve::fermat |
Cached constant "N-2" (for Fermat's little theorem)
Definition at line 109 of file weierstrass.h.
Referenced by weierstrass_init(), and weierstrass_multiply().
bigint_element_t* weierstrass_curve::square |
Cached Montgomery constant (R^2 mod N)
Definition at line 111 of file weierstrass.h.
Referenced by weierstrass_init(), and weierstrass_multiply().
bigint_element_t* weierstrass_curve::one |
Cached constant "1", in Montgomery form.
Definition at line 116 of file weierstrass.h.
Referenced by weierstrass_init(), and weierstrass_multiply().
bigint_element_t* weierstrass_curve::a |
Cached constant "a", in Montgomery form.
Definition at line 118 of file weierstrass.h.
Referenced by weierstrass_add_raw(), weierstrass_init(), and weierstrass_verify_raw().
bigint_element_t* weierstrass_curve::b3 |
Cached constant "3b", in Montgomery form.
Definition at line 120 of file weierstrass.h.
Referenced by weierstrass_add_raw(), weierstrass_init(), and weierstrass_verify_raw().
bigint_element_t* weierstrass_curve::mont[WEIERSTRASS_NUM_MONT] |
Definition at line 122 of file weierstrass.h.
Referenced by weierstrass_init().
union { ... } |
Cached constants in Montgomery form.