add methode ge_scalarmult_vartime
This commit is contained in:
parent
60c1e612ac
commit
b761bf653a
@ -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);
|
||||
|
10
src/ge.c
10
src/ge.c
@ -1,3 +1,4 @@
|
||||
#include <memory.h>
|
||||
#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].
|
||||
|
Loading…
Reference in New Issue
Block a user