diff options
| author | koe <ukoe@protonmail.com> | 2021-11-08 18:14:17 -0600 |
|---|---|---|
| committer | koe <ukoe@protonmail.com> | 2022-01-25 07:14:46 -0600 |
| commit | c36ea26e5c6b94f107cc1aeb02a45cfc5a7c38ef (patch) | |
| tree | 06ead3fb8c9b88df1084d475d0673b88811a7183 /src/ringct/multiexp.cc | |
| parent | eec3a6014cf906845491e4834d545bcbed6fa69a (diff) | |
| download | monzero-core-c36ea26e5c6b94f107cc1aeb02a45cfc5a7c38ef.tar.gz monzero-core-c36ea26e5c6b94f107cc1aeb02a45cfc5a7c38ef.tar.xz monzero-core-c36ea26e5c6b94f107cc1aeb02a45cfc5a7c38ef.zip | |
fix ge_p3_is_point_at_infinity(), which is evaluating field elements that haven't been reduced by the field order
Diffstat (limited to 'src/ringct/multiexp.cc')
| -rw-r--r-- | src/ringct/multiexp.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/ringct/multiexp.cc b/src/ringct/multiexp.cc index 784c90a4e..f256325a1 100644 --- a/src/ringct/multiexp.cc +++ b/src/ringct/multiexp.cc @@ -235,7 +235,7 @@ rct::key bos_coster_heap_conv_robust(std::vector<MultiexpData> data) heap.reserve(points); for (size_t n = 0; n < points; ++n) { - if (!(data[n].scalar == rct::zero()) && !ge_p3_is_point_at_infinity(&data[n].point)) + if (!(data[n].scalar == rct::zero()) && !ge_p3_is_point_at_infinity_vartime(&data[n].point)) heap.push_back(n); } points = heap.size(); @@ -457,7 +457,7 @@ rct::key straus(const std::vector<MultiexpData> &data, const std::shared_ptr<str MULTIEXP_PERF(PERF_TIMER_START_UNIT(skip, 1000000)); std::vector<uint8_t> skip(data.size()); for (size_t i = 0; i < data.size(); ++i) - skip[i] = data[i].scalar == rct::zero() || ge_p3_is_point_at_infinity(&data[i].point); + skip[i] = data[i].scalar == rct::zero() || ge_p3_is_point_at_infinity_vartime(&data[i].point); MULTIEXP_PERF(PERF_TIMER_STOP(skip)); #endif |
