Changeset View
Changeset View
Standalone View
Standalone View
src/secp256k1/src/scalar_8x32_impl.h
Show First 20 Lines • Show All 666 Lines • ▼ Show 20 Lines | |||||
} | } | ||||
static void secp256k1_scalar_sqr(secp256k1_scalar *r, const secp256k1_scalar *a) { | static void secp256k1_scalar_sqr(secp256k1_scalar *r, const secp256k1_scalar *a) { | ||||
uint32_t l[16]; | uint32_t l[16]; | ||||
secp256k1_scalar_sqr_512(l, a); | secp256k1_scalar_sqr_512(l, a); | ||||
secp256k1_scalar_reduce_512(r, l); | secp256k1_scalar_reduce_512(r, l); | ||||
} | } | ||||
#ifdef USE_ENDOMORPHISM | |||||
static void secp256k1_scalar_split_128(secp256k1_scalar *r1, secp256k1_scalar *r2, const secp256k1_scalar *k) { | static void secp256k1_scalar_split_128(secp256k1_scalar *r1, secp256k1_scalar *r2, const secp256k1_scalar *k) { | ||||
r1->d[0] = k->d[0]; | r1->d[0] = k->d[0]; | ||||
r1->d[1] = k->d[1]; | r1->d[1] = k->d[1]; | ||||
r1->d[2] = k->d[2]; | r1->d[2] = k->d[2]; | ||||
r1->d[3] = k->d[3]; | r1->d[3] = k->d[3]; | ||||
r1->d[4] = 0; | r1->d[4] = 0; | ||||
r1->d[5] = 0; | r1->d[5] = 0; | ||||
r1->d[6] = 0; | r1->d[6] = 0; | ||||
r1->d[7] = 0; | r1->d[7] = 0; | ||||
r2->d[0] = k->d[4]; | r2->d[0] = k->d[4]; | ||||
r2->d[1] = k->d[5]; | r2->d[1] = k->d[5]; | ||||
r2->d[2] = k->d[6]; | r2->d[2] = k->d[6]; | ||||
r2->d[3] = k->d[7]; | r2->d[3] = k->d[7]; | ||||
r2->d[4] = 0; | r2->d[4] = 0; | ||||
r2->d[5] = 0; | r2->d[5] = 0; | ||||
r2->d[6] = 0; | r2->d[6] = 0; | ||||
r2->d[7] = 0; | r2->d[7] = 0; | ||||
} | } | ||||
#endif | |||||
SECP256K1_INLINE static int secp256k1_scalar_eq(const secp256k1_scalar *a, const secp256k1_scalar *b) { | SECP256K1_INLINE static int secp256k1_scalar_eq(const secp256k1_scalar *a, const secp256k1_scalar *b) { | ||||
return ((a->d[0] ^ b->d[0]) | (a->d[1] ^ b->d[1]) | (a->d[2] ^ b->d[2]) | (a->d[3] ^ b->d[3]) | (a->d[4] ^ b->d[4]) | (a->d[5] ^ b->d[5]) | (a->d[6] ^ b->d[6]) | (a->d[7] ^ b->d[7])) == 0; | return ((a->d[0] ^ b->d[0]) | (a->d[1] ^ b->d[1]) | (a->d[2] ^ b->d[2]) | (a->d[3] ^ b->d[3]) | (a->d[4] ^ b->d[4]) | (a->d[5] ^ b->d[5]) | (a->d[6] ^ b->d[6]) | (a->d[7] ^ b->d[7])) == 0; | ||||
} | } | ||||
SECP256K1_INLINE static void secp256k1_scalar_mul_shift_var(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b, unsigned int shift) { | SECP256K1_INLINE static void secp256k1_scalar_mul_shift_var(secp256k1_scalar *r, const secp256k1_scalar *a, const secp256k1_scalar *b, unsigned int shift) { | ||||
uint32_t l[16]; | uint32_t l[16]; | ||||
unsigned int shiftlimbs; | unsigned int shiftlimbs; | ||||
Show All 34 Lines |