diff options
author | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2018-01-05 20:31:53 +0000 |
---|---|---|
committer | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2018-01-15 00:30:26 +0000 |
commit | 13b4c90e012477190f1168ac2141f7b14bc3b7c3 (patch) | |
tree | fbe2b5da6cbd044588f4a8a50e084251c8adf555 /src/crypto/crypto-ops.h | |
parent | Merge pull request #3091 (diff) | |
download | monero-13b4c90e012477190f1168ac2141f7b14bc3b7c3.tar.xz |
crypto: add scalar mult functions returning ge_p3 instead of ge_p2
ge_scalarmult_p3
ge_double_scalarmult_precomp_vartime2_p3
ge_double_scalarmult_base_vartime_p3
This makes it possible to reuse the result without having to
convert back to unsigned char[32] and back to ge types.
Diffstat (limited to 'src/crypto/crypto-ops.h')
-rw-r--r-- | src/crypto/crypto-ops.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/crypto/crypto-ops.h b/src/crypto/crypto-ops.h index c76455551..dd0337bc0 100644 --- a/src/crypto/crypto-ops.h +++ b/src/crypto/crypto-ops.h @@ -79,6 +79,7 @@ typedef ge_cached ge_dsmp[8]; extern const ge_precomp ge_Bi[8]; void ge_dsm_precomp(ge_dsmp r, const ge_p3 *s); void ge_double_scalarmult_base_vartime(ge_p2 *, const unsigned char *, const ge_p3 *, const unsigned char *); +void ge_double_scalarmult_base_vartime_p3(ge_p3 *, const unsigned char *, const ge_p3 *, const unsigned char *); /* From ge_frombytes.c, modified */ @@ -127,8 +128,10 @@ void sc_reduce(unsigned char *); /* New code */ void ge_scalarmult(ge_p2 *, const unsigned char *, const ge_p3 *); +void ge_scalarmult_p3(ge_p3 *, const unsigned char *, const ge_p3 *); void ge_double_scalarmult_precomp_vartime(ge_p2 *, const unsigned char *, const ge_p3 *, const unsigned char *, const ge_dsmp); void ge_double_scalarmult_precomp_vartime2(ge_p2 *, const unsigned char *, const ge_dsmp, const unsigned char *, const ge_dsmp); +void ge_double_scalarmult_precomp_vartime2_p3(ge_p3 *, const unsigned char *, const ge_dsmp, const unsigned char *, const ge_dsmp); void ge_mul8(ge_p1p1 *, const ge_p2 *); extern const fe fe_ma2; extern const fe fe_ma; |