Loading ed25519-donna-64bit-x86.h +8 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,14 @@ #define HAVE_GE25519_SCALARMULT_BASE_CHOOSE_NIELS #ifdef FORCE_SYMVER #ifdef __x86_64 #define TOSTRING(x) #x #define STRINGIFY(x) TOSTRING(x) /* Two stages necessary */ __asm__(".symver memcpy,memcpy@GLIBC_" STRINGIFY(FORCE_SYMVER)); #endif #endif DONNA_NOINLINE static void ge25519_scalarmult_base_choose_niels(ge25519_niels *t, const uint8_t table[256][96], uint32_t pos, signed char b) { int64_t breg = (int64_t)b; Loading ed25519-donna-impl-base.h +4 −0 Original line number Diff line number Diff line Loading @@ -291,6 +291,8 @@ STATIC void ge25519_double_scalarmult_vartime(ge25519 *r, const ge25519 *p1, con ge25519_p1p1_to_partial(r, &t); } expilcit_bzero(slide1, sizeof(slide1)); expilcit_bzero(slide2, sizeof(slide2)); } /* computes [s1]p1 */ Loading Loading @@ -325,6 +327,7 @@ STATIC void ge25519_scalarmult_vartime(ge25519 *r, const ge25519 *p1, const bign ge25519_p1p1_to_partial(r, &t); } expilcit_bzero(slide1, sizeof(slide1)); } /* Loading Loading @@ -440,6 +443,7 @@ STATIC void ge25519_scalarmult(ge25519 *r, const ge25519 *p1, const bignum256mod ge25519_pnielsadd_p1p1(&t, r, &pre, (unsigned char)slide1[i] >> 7); ge25519_p1p1_to_partial(r, &t); } expilcit_bzero(slide1, sizeof(slide1)); } #if !defined(HAVE_GE25519_SCALARMULT_BASE_CHOOSE_NIELS) Loading ed25519-donna-impl-sse2.h +4 −0 Original line number Diff line number Diff line Loading @@ -328,6 +328,8 @@ ge25519_double_scalarmult_vartime(ge25519 *r, const ge25519 *p1, const bignum256 ge25519_p1p1_to_partial(r, &t); } expilcit_bzero(slide1, sizeof(slide1)); expilcit_bzero(slide2, sizeof(slide2)); } #ifndef MM16 Loading Loading @@ -368,6 +370,7 @@ ge25519_scalarmult_vartime(ge25519 *r, const ge25519 *p1, const bignum256modm s1 ge25519_p1p1_to_partial(r, &t); } expilcit_bzero(slide1, sizeof(slide1)); } DONNA_INLINE static void ge25519_cmove_stride4(long * r, long * p, long * pos, long * n, int stride) { Loading Loading @@ -452,6 +455,7 @@ STATIC void ge25519_scalarmult(ge25519 *r, const ge25519 *p1, const bignum256mod ge25519_pnielsadd_p1p1(&t, r, &pre, (unsigned char)slide1[i] >> 7); ge25519_p1p1_to_partial(r, &t); } expilcit_bzero(slide1, sizeof(slide1)); } #if !defined(HAVE_GE25519_SCALARMULT_BASE_CHOOSE_NIELS) Loading Loading
ed25519-donna-64bit-x86.h +8 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,14 @@ #define HAVE_GE25519_SCALARMULT_BASE_CHOOSE_NIELS #ifdef FORCE_SYMVER #ifdef __x86_64 #define TOSTRING(x) #x #define STRINGIFY(x) TOSTRING(x) /* Two stages necessary */ __asm__(".symver memcpy,memcpy@GLIBC_" STRINGIFY(FORCE_SYMVER)); #endif #endif DONNA_NOINLINE static void ge25519_scalarmult_base_choose_niels(ge25519_niels *t, const uint8_t table[256][96], uint32_t pos, signed char b) { int64_t breg = (int64_t)b; Loading
ed25519-donna-impl-base.h +4 −0 Original line number Diff line number Diff line Loading @@ -291,6 +291,8 @@ STATIC void ge25519_double_scalarmult_vartime(ge25519 *r, const ge25519 *p1, con ge25519_p1p1_to_partial(r, &t); } expilcit_bzero(slide1, sizeof(slide1)); expilcit_bzero(slide2, sizeof(slide2)); } /* computes [s1]p1 */ Loading Loading @@ -325,6 +327,7 @@ STATIC void ge25519_scalarmult_vartime(ge25519 *r, const ge25519 *p1, const bign ge25519_p1p1_to_partial(r, &t); } expilcit_bzero(slide1, sizeof(slide1)); } /* Loading Loading @@ -440,6 +443,7 @@ STATIC void ge25519_scalarmult(ge25519 *r, const ge25519 *p1, const bignum256mod ge25519_pnielsadd_p1p1(&t, r, &pre, (unsigned char)slide1[i] >> 7); ge25519_p1p1_to_partial(r, &t); } expilcit_bzero(slide1, sizeof(slide1)); } #if !defined(HAVE_GE25519_SCALARMULT_BASE_CHOOSE_NIELS) Loading
ed25519-donna-impl-sse2.h +4 −0 Original line number Diff line number Diff line Loading @@ -328,6 +328,8 @@ ge25519_double_scalarmult_vartime(ge25519 *r, const ge25519 *p1, const bignum256 ge25519_p1p1_to_partial(r, &t); } expilcit_bzero(slide1, sizeof(slide1)); expilcit_bzero(slide2, sizeof(slide2)); } #ifndef MM16 Loading Loading @@ -368,6 +370,7 @@ ge25519_scalarmult_vartime(ge25519 *r, const ge25519 *p1, const bignum256modm s1 ge25519_p1p1_to_partial(r, &t); } expilcit_bzero(slide1, sizeof(slide1)); } DONNA_INLINE static void ge25519_cmove_stride4(long * r, long * p, long * pos, long * n, int stride) { Loading Loading @@ -452,6 +455,7 @@ STATIC void ge25519_scalarmult(ge25519 *r, const ge25519 *p1, const bignum256mod ge25519_pnielsadd_p1p1(&t, r, &pre, (unsigned char)slide1[i] >> 7); ge25519_p1p1_to_partial(r, &t); } expilcit_bzero(slide1, sizeof(slide1)); } #if !defined(HAVE_GE25519_SCALARMULT_BASE_CHOOSE_NIELS) Loading