#include "util.h"
#include "field.h"
#include "modinv32_impl.h"
Go to the source code of this file.
|
static void | secp256k1_fe_normalize (secp256k1_fe *r) |
|
static void | secp256k1_fe_normalize_weak (secp256k1_fe *r) |
|
static void | secp256k1_fe_normalize_var (secp256k1_fe *r) |
|
static int | secp256k1_fe_normalizes_to_zero (secp256k1_fe *r) |
|
static int | secp256k1_fe_normalizes_to_zero_var (secp256k1_fe *r) |
|
static SECP256K1_INLINE void | secp256k1_fe_set_int (secp256k1_fe *r, int a) |
|
static SECP256K1_INLINE int | secp256k1_fe_is_zero (const secp256k1_fe *a) |
|
static SECP256K1_INLINE int | secp256k1_fe_is_odd (const secp256k1_fe *a) |
|
static SECP256K1_INLINE void | secp256k1_fe_clear (secp256k1_fe *a) |
|
static int | secp256k1_fe_cmp_var (const secp256k1_fe *a, const secp256k1_fe *b) |
|
static int | secp256k1_fe_set_b32 (secp256k1_fe *r, const unsigned char *a) |
|
static void | secp256k1_fe_get_b32 (unsigned char *r, const secp256k1_fe *a) |
| Convert a field element to a 32-byte big endian value.
|
|
static SECP256K1_INLINE void | secp256k1_fe_negate (secp256k1_fe *r, const secp256k1_fe *a, int m) |
|
static SECP256K1_INLINE void | secp256k1_fe_mul_int (secp256k1_fe *r, int a) |
|
static SECP256K1_INLINE void | secp256k1_fe_add (secp256k1_fe *r, const secp256k1_fe *a) |
|
static SECP256K1_INLINE void | secp256k1_fe_mul_inner (uint32_t *r, const uint32_t *a, const uint32_t *SECP256K1_RESTRICT b) |
|
static SECP256K1_INLINE void | secp256k1_fe_sqr_inner (uint32_t *r, const uint32_t *a) |
|
static void | secp256k1_fe_mul (secp256k1_fe *r, const secp256k1_fe *a, const secp256k1_fe *SECP256K1_RESTRICT b) |
|
static void | secp256k1_fe_sqr (secp256k1_fe *r, const secp256k1_fe *a) |
|
static SECP256K1_INLINE void | secp256k1_fe_cmov (secp256k1_fe *r, const secp256k1_fe *a, int flag) |
|
static SECP256K1_INLINE void | secp256k1_fe_storage_cmov (secp256k1_fe_storage *r, const secp256k1_fe_storage *a, int flag) |
|
static void | secp256k1_fe_to_storage (secp256k1_fe_storage *r, const secp256k1_fe *a) |
|
static SECP256K1_INLINE void | secp256k1_fe_from_storage (secp256k1_fe *r, const secp256k1_fe_storage *a) |
|
static void | secp256k1_fe_from_signed30 (secp256k1_fe *r, const secp256k1_modinv32_signed30 *a) |
|
static void | secp256k1_fe_to_signed30 (secp256k1_modinv32_signed30 *r, const secp256k1_fe *a) |
|
static void | secp256k1_fe_inv (secp256k1_fe *r, const secp256k1_fe *x) |
|
static void | secp256k1_fe_inv_var (secp256k1_fe *r, const secp256k1_fe *x) |
|
◆ VERIFY_BITS
◆ secp256k1_fe_add()
◆ secp256k1_fe_clear()
◆ secp256k1_fe_cmov()
◆ secp256k1_fe_cmp_var()
◆ secp256k1_fe_from_signed30()
◆ secp256k1_fe_from_storage()
◆ secp256k1_fe_get_b32()
Convert a field element to a 32-byte big endian value.
Requires the input to be normalized
Definition at line 350 of file field_10x26_impl.h.
◆ secp256k1_fe_inv()
◆ secp256k1_fe_inv_var()
◆ secp256k1_fe_is_odd()
◆ secp256k1_fe_is_zero()
◆ secp256k1_fe_mul()
◆ secp256k1_fe_mul_inner()
[... a b c] is a shorthand for ... + a<<52 + b<<26 + c<<0 mod n. for 0 <= x <= 9, px is a shorthand for sum(a[i]*b[x-i], i=0..x). for 9 <= x <= 18, px is a shorthand for sum(a[i]*b[x-i], i=(x-9)..9) Note that [x 0 0 0 0 0 0 0 0 0 0] = [x*R1 x*R0].
Definition at line 464 of file field_10x26_impl.h.
◆ secp256k1_fe_mul_int()
◆ secp256k1_fe_negate()
◆ secp256k1_fe_normalize()
◆ secp256k1_fe_normalize_var()
◆ secp256k1_fe_normalize_weak()
◆ secp256k1_fe_normalizes_to_zero()
◆ secp256k1_fe_normalizes_to_zero_var()
◆ secp256k1_fe_set_b32()
◆ secp256k1_fe_set_int()
◆ secp256k1_fe_sqr()
◆ secp256k1_fe_sqr_inner()
[... a b c] is a shorthand for ... + a<<52 + b<<26 + c<<0 mod n. px is a shorthand for sum(a[i]*a[x-i], i=0..x). Note that [x 0 0 0 0 0 0 0 0 0 0] = [x*R1 x*R0].
Definition at line 794 of file field_10x26_impl.h.
◆ secp256k1_fe_storage_cmov()
◆ secp256k1_fe_to_signed30()
◆ secp256k1_fe_to_storage()
◆ secp256k1_const_modinfo_fe
Initial value:= {
{{-0x3D1, -4, 0, 0, 0, 0, 0, 0, 65536}},
0x2DDACACFL
}
Definition at line 1225 of file field_10x26_impl.h.