diff options
author | Sarang Noether <32460187+SarangNoether@users.noreply.github.com> | 2020-04-14 20:31:30 -0400 |
---|---|---|
committer | Sarang Noether <32460187+SarangNoether@users.noreply.github.com> | 2020-04-14 20:31:30 -0400 |
commit | 4ed60b626a368132fccad4449f1c4d50e312b60c (patch) | |
tree | 6d173b69be8cb344ed84852cb86a573f9ec32fec /src/ringct/rctOps.cpp | |
parent | Merge pull request #6405 (diff) | |
download | monero-4ed60b626a368132fccad4449f1c4d50e312b60c.tar.xz |
Bulletproofs: verification speedup
Diffstat (limited to 'src/ringct/rctOps.cpp')
-rw-r--r-- | src/ringct/rctOps.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/ringct/rctOps.cpp b/src/ringct/rctOps.cpp index 6e4d063df..b2dd32ada 100644 --- a/src/ringct/rctOps.cpp +++ b/src/ringct/rctOps.cpp @@ -408,6 +408,18 @@ namespace rct { return res; } + //Computes 8P without byte conversion + void scalarmult8(ge_p3 &res, const key &P) + { + ge_p3 p3; + CHECK_AND_ASSERT_THROW_MES_L1(ge_frombytes_vartime(&p3, P.bytes) == 0, "ge_frombytes_vartime failed at "+boost::lexical_cast<std::string>(__LINE__)); + ge_p2 p2; + ge_p3_to_p2(&p2, &p3); + ge_p1p1 p1; + ge_mul8(&p1, &p2); + ge_p1p1_to_p3(&res, &p1); + } + //Computes lA where l is the curve order bool isInMainSubgroup(const key & A) { ge_p3 p3; |