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. | |
| int | GNUNET_CRYPTO_ecc_dlog (struct GNUNET_CRYPTO_EccDlogContext *edc, const struct GNUNET_CRYPTO_EccPoint *input) |
| Calculate ECC discrete logarithm for small factors. | |
| void | GNUNET_CRYPTO_ecc_random_mod_n (struct GNUNET_CRYPTO_EccScalar *r) |
| Generate a random value mod n. | |
| void | GNUNET_CRYPTO_ecc_dlog_release (struct GNUNET_CRYPTO_EccDlogContext *edc) |
| Release precalculated values. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| void | GNUNET_CRYPTO_ecc_scalar_from_int (int64_t val, struct GNUNET_CRYPTO_EccScalar *r) |
| Create a scalar from int value. | |
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.