Botan 3.3.0
Crypto and TLS for C&
|
#include <curve_gfp.h>
Public Member Functions | |
bool | a_is_minus_3 () const |
bool | a_is_zero () const |
CurveGFp ()=default | |
CurveGFp (const BigInt &p, const BigInt &a, const BigInt &b) | |
CurveGFp (const CurveGFp &)=default | |
void | from_rep (BigInt &x, secure_vector< word > &ws) const |
BigInt | from_rep_to_tmp (const BigInt &x, secure_vector< word > &ws) const |
const BigInt & | get_1_rep () const |
const BigInt & | get_a () const |
const BigInt & | get_a_rep () const |
const BigInt & | get_b () const |
const BigInt & | get_b_rep () const |
const BigInt & | get_p () const |
size_t | get_p_words () const |
size_t | get_ws_size () const |
BigInt | invert_element (const BigInt &x, secure_vector< word > &ws) const |
bool | is_one (const BigInt &x) const |
void | mul (BigInt &z, const BigInt &x, const BigInt &y, secure_vector< word > &ws) const |
void | mul (BigInt &z, const word x_w[], size_t x_size, const BigInt &y, secure_vector< word > &ws) const |
BigInt | mul (const BigInt &x, const BigInt &y, secure_vector< word > &ws) const |
BigInt | mul_to_tmp (const BigInt &x, const BigInt &y, secure_vector< word > &ws) const |
CurveGFp & | operator= (const CurveGFp &)=default |
bool | operator== (const CurveGFp &other) const |
void | sqr (BigInt &z, const BigInt &x, secure_vector< word > &ws) const |
void | sqr (BigInt &z, const word x_w[], size_t x_size, secure_vector< word > &ws) const |
BigInt | sqr (const BigInt &x, secure_vector< word > &ws) const |
BigInt | sqr_to_tmp (const BigInt &x, secure_vector< word > &ws) const |
void | swap (CurveGFp &other) |
void | to_rep (BigInt &x, secure_vector< word > &ws) const |
Friends | |
void | swap (CurveGFp &x, CurveGFp &y) |
This class represents an elliptic curve over GF(p)
There should not be any reason for applications to use this type. If you need EC primitives use the interfaces EC_Group and EC_Point
It is likely this class will be removed entirely in a future major release.
Definition at line 85 of file curve_gfp.h.
|
default |
Create an uninitialized CurveGFp
Construct the elliptic curve E: y^2 = x^3 + ax + b over GF(p)
p | prime number of the field |
a | first coefficient |
b | second coefficient |
Definition at line 98 of file curve_gfp.h.
|
default |
|
inline |
Definition at line 130 of file curve_gfp.h.
Referenced by Botan::EC_Point::mult2().
|
inline |
Definition at line 132 of file curve_gfp.h.
Referenced by Botan::EC_Point::mult2().
|
inline |
Definition at line 140 of file curve_gfp.h.
Referenced by Botan::EC_Point::get_affine_x(), and Botan::EC_Point::get_affine_y().
|
inline |
Definition at line 142 of file curve_gfp.h.
Referenced by Botan::EC_Point::get_affine_x(), Botan::EC_Point::get_affine_y(), and Botan::EC_Point::on_the_curve().
|
inline |
Definition at line 128 of file curve_gfp.h.
Referenced by Botan::EC_Point::add(), Botan::EC_Point::add_affine(), Botan::EC_Point::force_affine(), and Botan::EC_Point::force_all_affine().
|
inline |
Definition at line 107 of file curve_gfp.h.
Referenced by operator==(), and Botan::OS2ECP().
|
inline |
Definition at line 124 of file curve_gfp.h.
Referenced by Botan::EC_Point::mult2(), and Botan::EC_Point::on_the_curve().
|
inline |
Definition at line 112 of file curve_gfp.h.
Referenced by operator==(), and Botan::OS2ECP().
|
inline |
Definition at line 126 of file curve_gfp.h.
Referenced by Botan::EC_Point::on_the_curve().
|
inline |
Get prime modulus of the field of the curve
Definition at line 118 of file curve_gfp.h.
Referenced by Botan::EC_Point::add(), Botan::EC_Point::add_affine(), Botan::EC_Point::EC_Point(), Botan::EC_Point_Base_Point_Precompute::EC_Point_Base_Point_Precompute(), Botan::EC_Point_Var_Point_Precompute::EC_Point_Var_Point_Precompute(), Botan::EC_Point::encode(), Botan::EC_Point::mult2(), operator==(), Botan::OS2ECP(), and Botan::EC_Point::randomize_repr().
|
inline |
Definition at line 120 of file curve_gfp.h.
|
inline |
Definition at line 122 of file curve_gfp.h.
Referenced by Botan::EC_Point::add(), Botan::EC_Point::add_affine(), Botan::EC_Point::EC_Point(), Botan::EC_Point::force_all_affine(), Botan::EC_Point::mult2(), and Botan::EC_Point::randomize_repr().
|
inline |
Definition at line 136 of file curve_gfp.h.
Referenced by Botan::EC_Point::force_affine(), Botan::EC_Point::force_all_affine(), Botan::EC_Point::get_affine_x(), and Botan::EC_Point::get_affine_y().
|
inline |
Definition at line 134 of file curve_gfp.h.
Referenced by Botan::EC_Point::is_affine().
|
inline |
Definition at line 150 of file curve_gfp.h.
Referenced by Botan::EC_Point::add(), Botan::EC_Point::add_affine(), Botan::EC_Point_Var_Point_Precompute::EC_Point_Var_Point_Precompute(), Botan::EC_Point::force_all_affine(), Botan::EC_Point::get_affine_x(), Botan::EC_Point::get_affine_y(), and Botan::EC_Point::mult2().
|
inline |
Definition at line 154 of file curve_gfp.h.
|
inline |
Definition at line 164 of file curve_gfp.h.
|
inline |
Definition at line 168 of file curve_gfp.h.
Referenced by Botan::EC_Point::force_affine(), Botan::EC_Point::force_all_affine(), Botan::EC_Point::get_affine_y(), Botan::EC_Point::on_the_curve(), and Botan::EC_Point::randomize_repr().
|
inline |
Equality operator
other | a curve |
Definition at line 189 of file curve_gfp.h.
|
inline |
Definition at line 158 of file curve_gfp.h.
Referenced by Botan::EC_Point::add(), Botan::EC_Point::add_affine(), Botan::EC_Point_Var_Point_Precompute::EC_Point_Var_Point_Precompute(), Botan::EC_Point::force_all_affine(), and Botan::EC_Point::mult2().
|
inline |
Definition at line 160 of file curve_gfp.h.
|
inline |
Definition at line 166 of file curve_gfp.h.
|
inline |
Definition at line 174 of file curve_gfp.h.
Referenced by Botan::EC_Point::force_affine(), Botan::EC_Point::get_affine_x(), Botan::EC_Point::get_affine_y(), Botan::EC_Point::on_the_curve(), and Botan::EC_Point::randomize_repr().
|
inline |
Definition at line 180 of file curve_gfp.h.
Referenced by Botan::EC_Point::swap().
|
inline |
Definition at line 138 of file curve_gfp.h.
Referenced by Botan::EC_Point::EC_Point().
Definition at line 182 of file curve_gfp.h.