aboutsummaryrefslogtreecommitdiff
path: root/src/ringct/bulletproofs.cc
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #8197luigi11112022-04-061-1/+1
|\ | | | | | | da9aa1f Copyright: Update to 2022 (mj-xmr)
| * Copyright: Update to 2022mj-xmr2022-03-041-1/+1
| |
* | ringct: port some of vtnerd's review changes from BP+ to BPmoneromooo-monero2022-04-051-13/+11
|/
* Fixed issues found by static analysisSChernykh2020-12-081-1/+1
| | | | | | - rolling_median: tried to free uninitialized pointer in a constructor - net_node.inl: erase-remove idiom was used incorrectly. remove_if doesn't actually remove elements, see http://cpp.sh/6fcjv - bulletproofs.cc: call to sizeof() instead of vector.size(), luckily it only impacts performance and not code logic there
* Update copyright year to 2020SomaticFanatic2020-05-061-1/+1
| | | | Update copyright year to 2020
* Bulletproofs: verification speedupSarang Noether2020-04-141-8/+12
|
* Merge pull request #6339luigi11112020-04-041-1/+1
|\ | | | | | | c61abf8 remove empty statements (shopglobal)
| * remove empty statementsInterchained2020-02-171-1/+1
| | | | | | | | Cleaning up a little around the code base.
* | Hash domain separationSarang Noether2020-04-011-2/+2
|/
* Updated paper referencesSarang Noether2019-10-281-24/+22
|
* Minor prover simplificationSarang Noether2019-10-281-10/+5
|
* MLSAG speedup and additional checksSarang Noether2019-08-271-1/+4
|
* bulletproofs: cut down on keyV allocationsmoneromooo-monero2019-04-131-29/+33
|
* Update 2019 copyrightbinaryFate2019-03-051-1/+1
|
* bulletproofs: speed up vector_power_summoneromooo-monero2019-01-191-6/+22
| | | | found by sarang
* Merge pull request #4854Riccardo Spagni2018-12-041-0/+1
|\ | | | | | | bd98e99c Removed a lot of unnecessary includes (Martijn Otto)
| * Removed a lot of unnecessary includesMartijn Otto2018-11-151-0/+1
| |
* | Merge pull request #4834Riccardo Spagni2018-11-261-9/+15
|\ \ | | | | | | | | | 2c7195d8 bulletproofs: avoid std::vector allocations for slice (moneromooo-monero)
| * | bulletproofs: avoid std::vector allocations for slicemoneromooo-monero2018-11-091-9/+15
| |/
* / bulletproofs: reserve vector memory when known in advancemoneromooo-monero2018-11-051-0/+2
|/
* bulletproofs: only enable profiling on requestmoneromooo-monero2018-10-221-28/+34
|
* multiexp: tune which variants to use for which number of pointsmoneromooo-monero2018-10-221-4/+4
|
* bulletproofs: speedup provermoneromooo-monero2018-10-221-17/+37
|
* multiexp: handle pippenger multiexps with part precalcmoneromooo-monero2018-10-221-10/+11
|
* bulletproofs: maintain -z4, -z5, and -y0 to avoid subtractionsmoneromooo-monero2018-10-221-11/+8
|
* bulletproofs: rework flow to use sarang's fast batch inversion codemoneromooo-monero2018-10-221-76/+153
|
* bulletproofs: merge multiexps as per sarang's new python codemoneromooo-monero2018-10-221-68/+38
|
* bulletproofs: some more minor speedupmoneromooo-monero2018-10-221-6/+4
|
* bulletproofs: remove single value provermoneromooo-monero2018-10-221-282/+2
| | | | It is now expressed in terms of the array prover
* bulletproofs: some more speedupmoneromooo-monero2018-10-221-15/+19
|
* bulletproofs: random minor speedupsmoneromooo-monero2018-10-221-40/+38
|
* bulletproofs: shave off a lot of scalar muls from the g/h constructionmoneromooo-monero2018-10-221-20/+39
|
* bulletproofs: speedup PROVEmoneromooo-monero2018-10-221-64/+58
|
* bulletproofs: multiply points by 8 first thing in verificationmoneromooo-monero2018-09-241-15/+17
| | | | | instead of merging that with other scalar multiplications where possible for speed, since this is not actually safe
* bulletproofs: #include <openssl/bn.h>moneromooo-monero2018-09-111-0/+1
| | | | Apparently needed for openssl 1.1.x
* bulletproofs: speed up the latest changes a bitmoneromooo-monero2018-09-111-32/+36
|
* bulletproofs: scale points by 8 to ensure subgroup validitymoneromooo-monero2018-09-111-16/+28
|
* bulletproofs: match aggregated verification to sarang's latest prototypemoneromooo-monero2018-09-111-64/+39
|
* ringct: error out when hashToPoint* returns the point at infinitymoneromooo-monero2018-09-111-1/+3
| | | | Reported by QuarksLab.
* bulletproofs: reject x, y, z, or w[i] being zeromoneromooo-monero2018-09-111-2/+63
| | | | | | Also try again when we're generate a proof with those characteristics Reported by QuarksLab.
* bulletproofs: a few fixes from the Kudelski reviewmoneromooo-monero2018-09-111-3/+20
| | | | | | | - fix integer overflow in n_bulletproof_amounts - check input scalars are in range - remove use of environment variable to tweak straus performance - do not use implementation defined signed shift for signum
* bulletproofs: reject points not in the main subgroupmoneromooo-monero2018-09-111-0/+13
|
* bulletproofs: speed up a few multiplies using existing Hi cachemoneromooo-monero2018-09-111-2/+11
|
* Add Pippenger cache and limit Straus cache sizemoneromooo-monero2018-09-111-9/+20
|
* Pippenger multiexpmoneromooo-monero2018-09-111-3/+3
| | | | Based on sarang's python code
* precalc the ge_p3 representation of Hmoneromooo-monero2018-09-111-11/+11
|
* Add a define for the max number of bulletproof multi-outputsmoneromooo-monero2018-09-111-1/+2
|
* multiexp: some speedupsmoneromooo-monero2018-09-111-1/+2
| | | | | | | - use a raw memory block to store cache - use aligned memory - use doubling API where appropriate - calculate straus in bands
* bulletproofs: add aggregated verificationmoneromooo-monero2018-09-111-169/+213
| | | | Ported from sarang's java code
* make straus cached mode thread safe, and add tests for itmoneromooo-monero2018-09-111-2/+9
|