|
libdecaf
|
Field-specific code for 2^448 - 2^224 - 1. More...
Go to the source code of this file.
Classes | |
| struct | gf_448_s |
Macros | |
| #define | __DECAF_448_GF_DEFINED__ 1 |
| #define | NLIMBS (64/sizeof(word_t)) |
| #define | SER_BYTES 56 |
| #define | GF_LIT_LIMB_BITS 56 |
| #define | GF_BITS 448 |
| #define | ZERO gf_448_ZERO |
| #define | ONE gf_448_ONE |
| #define | MODULUS gf_448_MODULUS |
| #define | gf gf_448_t |
| #define | gf_s gf_448_s |
| #define | gf_eq gf_448_eq |
| #define | gf_lobit gf_448_lobit |
| #define | gf_copy gf_448_copy |
| #define | gf_add gf_448_add |
| #define | gf_sub gf_448_sub |
| #define | gf_add_RAW gf_448_add_RAW |
| #define | gf_sub_RAW gf_448_sub_RAW |
| #define | gf_bias gf_448_bias |
| #define | gf_weak_reduce gf_448_weak_reduce |
| #define | gf_strong_reduce gf_448_strong_reduce |
| #define | gf_mul gf_448_mul |
| #define | gf_sqr gf_448_sqr |
| #define | gf_mulw_unsigned gf_448_mulw_unsigned |
| #define | gf_isr gf_448_isr |
| #define | gf_serialize gf_448_serialize |
| #define | gf_deserialize gf_448_deserialize |
| #define | X_PUBLIC_BYTES SER_BYTES |
| #define | X_PRIVATE_BYTES X_PUBLIC_BYTES |
| #define | X_PRIVATE_BITS 448 |
| #define | SQRT_MINUS_ONE P448_SQRT_MINUS_ONE /* might not be defined */ |
| #define | INLINE_UNUSED __inline__ __attribute__((unused,always_inline)) |
| #define | P_MOD_8 7 |
| #define | LIMBPERM(i) (i) |
| #define | LIMB_MASK(i) (((1ull)<<LIMB_PLACE_VALUE(i))-1) |
Typedefs | |
| typedef struct gf_448_s | gf_448_s |
| typedef struct gf_448_s | gf_448_t[1] |
Functions | |
| void | gf_strong_reduce (gf inout) |
| Reduce to canonical form. | |
| void | gf_add (gf out, const gf a, const gf b) |
| Add two field elements d = a+b. | |
| void | gf_sub (gf out, const gf a, const gf b) |
| Subtract two gf elements d=a-b. | |
| void | gf_mul (gf_s *__restrict__ out, const gf a, const gf b) |
| void | gf_mulw_unsigned (gf_s *__restrict__ out, const gf a, uint32_t b) |
| void | gf_sqr (gf_s *__restrict__ out, const gf a) |
| mask_t | gf_isr (gf a, const gf x) |
| mask_t | gf_eq (const gf x, const gf y) |
| a^2 x = 1, QNR, or 0 if x=0. More... | |
| mask_t | gf_lobit (const gf x) |
| Return high bit of x = low bit of 2x mod p. | |
| void | gf_serialize (uint8_t serial[SER_BYTES], const gf x) |
| Serialize to wire format. | |
| mask_t | gf_deserialize (gf x, const uint8_t serial[SER_BYTES], uint8_t hi_nmask) |
| Deserialize from wire format; return -1 on success and 0 on failure. | |
Field-specific code for 2^448 - 2^224 - 1.
| mask_t gf_eq | ( | const gf | a, |
| const gf | b | ||
| ) |
a^2 x = 1, QNR, or 0 if x=0.
Return true if successful
a^2 x = 1, QNR, or 0 if x=0.