aboutsummaryrefslogtreecommitdiff
path: root/src/crypto/crypto-ops.h
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2018-01-05 20:31:53 +0000
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2018-01-15 00:30:26 +0000
commit13b4c90e012477190f1168ac2141f7b14bc3b7c3 (patch)
treefbe2b5da6cbd044588f4a8a50e084251c8adf555 /src/crypto/crypto-ops.h
parentMerge pull request #3091 (diff)
downloadmonero-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.h3
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;