|
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.
1.8.15