From b761bf653a8897b7829bc4474116bbf249bea7a6 Mon Sep 17 00:00:00 2001 From: WolverinDEV Date: Tue, 24 Apr 2018 20:18:34 +0200 Subject: [PATCH] add methode ge_scalarmult_vartime --- include/ge.h | 1 + src/ge.c | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/include/ge.h b/include/ge.h index 17fde2d..88509d8 100644 --- a/include/ge.h +++ b/include/ge.h @@ -58,6 +58,7 @@ int ge_frombytes_negate_vartime(ge_p3 *h, const unsigned char *s); void ge_add(ge_p1p1 *r, const ge_p3 *p, const ge_cached *q); void ge_sub(ge_p1p1 *r, const ge_p3 *p, const ge_cached *q); void ge_double_scalarmult_vartime(ge_p2 *r, const unsigned char *a, const ge_p3 *A, const unsigned char *b); +void ge_scalarmult_vartime(ge_p2 *r, const unsigned char *a, const ge_p3 *A); void ge_madd(ge_p1p1 *r, const ge_p3 *p, const ge_precomp *q); void ge_msub(ge_p1p1 *r, const ge_p3 *p, const ge_precomp *q); void ge_scalarmult_base(ge_p3 *h, const unsigned char *a); diff --git a/src/ge.c b/src/ge.c index c4a8d51..3bb0e14 100644 --- a/src/ge.c +++ b/src/ge.c @@ -1,3 +1,4 @@ +#include #include "../include/ge.h" #include "../include/precomp_data.h" @@ -57,6 +58,15 @@ static void slide(signed char *r, const unsigned char *a) { } } +/* + * Warps to ge_double_scalarmult_vartime() => r = a * A + zero * B + */ +void ge_scalarmult_vartime(ge_p2 *r, const unsigned char *a, const ge_p3 *A) { + unsigned char zero[32]; + memset(zero, 0, sizeof(zero)); + ge_double_scalarmult_vartime(r, a, A, zero); +} + /* r = a * A + b * B where a = a[0]+256*a[1]+...+256^31 a[31].