ECC addition and discreate logarithm for small values. More...
Go to the source code of this file.
Data Structures | |
struct | GNUNET_CRYPTO_EccDlogContext |
Internal structure used to cache pre-calculated values for DLOG calculation. More... | |
Functions | |
struct GNUNET_CRYPTO_EccDlogContext * | GNUNET_CRYPTO_ecc_dlog_prepare (unsigned int max, unsigned int mem) |
Do pre-calculation for ECC discrete logarithm for small factors. More... | |
int | GNUNET_CRYPTO_ecc_dlog (struct GNUNET_CRYPTO_EccDlogContext *edc, const struct GNUNET_CRYPTO_EccPoint *input) |
Calculate ECC discrete logarithm for small factors. More... | |
void | GNUNET_CRYPTO_ecc_random_mod_n (struct GNUNET_CRYPTO_EccScalar *r) |
Generate a random value mod n. More... | |
void | GNUNET_CRYPTO_ecc_dlog_release (struct GNUNET_CRYPTO_EccDlogContext *edc) |
Release precalculated values. More... | |
void | GNUNET_CRYPTO_ecc_dexp (int val, struct GNUNET_CRYPTO_EccPoint *r) |
Multiply the generator g of the elliptic curve by val to obtain the point on the curve representing val. More... | |
enum GNUNET_GenericReturnValue | GNUNET_CRYPTO_ecc_dexp_mpi (const struct GNUNET_CRYPTO_EccScalar *val, struct GNUNET_CRYPTO_EccPoint *r) |
Multiply the generator g of the elliptic curve by val to obtain the point on the curve representing val. More... | |
enum GNUNET_GenericReturnValue | GNUNET_CRYPTO_ecc_add (const struct GNUNET_CRYPTO_EccPoint *a, const struct GNUNET_CRYPTO_EccPoint *b, struct GNUNET_CRYPTO_EccPoint *r) |
Add two points on the elliptic curve. More... | |
enum GNUNET_GenericReturnValue | GNUNET_CRYPTO_ecc_pmul_mpi (const struct GNUNET_CRYPTO_EccPoint *p, const struct GNUNET_CRYPTO_EccScalar *val, struct GNUNET_CRYPTO_EccPoint *r) |
Multiply the point p on the elliptic curve by val. More... | |
enum GNUNET_GenericReturnValue | GNUNET_CRYPTO_ecc_rnd (struct GNUNET_CRYPTO_EccPoint *r, struct GNUNET_CRYPTO_EccPoint *r_inv) |
Obtain a random point on the curve and its additive inverse. More... | |
void | GNUNET_CRYPTO_ecc_rnd_mpi (struct GNUNET_CRYPTO_EccScalar *r, struct GNUNET_CRYPTO_EccScalar *r_neg) |
Obtain a random scalar for point multiplication on the curve and its additive inverse. More... | |
void | GNUNET_CRYPTO_ecc_scalar_from_int (int64_t val, struct GNUNET_CRYPTO_EccScalar *r) |
Create a scalar from int value. More... | |
ECC addition and discreate logarithm for small values.
Allows us to use ECC for computations as long as the result is relativey small.
Definition in file crypto_ecc_dlog.c.