Commit Graph

60 Commits

Author SHA1 Message Date
wowario e224b4af93
support old BP 2024-03-09 15:58:12 +03:00
luigi1111 0eb1b570b6
Merge pull request #8197
da9aa1f Copyright: Update to 2022 (mj-xmr)
2022-04-06 00:08:53 -04:00
moneromooo-monero a345060ace
ringct: port some of vtnerd's review changes from BP+ to BP 2022-04-05 18:50:21 +00:00
mj-xmr da9aa1f7f8
Copyright: Update to 2022 2022-03-04 06:59:20 +01:00
SChernykh c0c75ac19d Fixed issues found by static analysis
- 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
2020-12-08 18:43:44 +01:00
SomaticFanatic 5ef0607da6 Update copyright year to 2020
Update copyright year to 2020
2020-05-06 22:36:54 -04:00
Sarang Noether 4ed60b626a Bulletproofs: verification speedup 2020-04-14 20:31:30 -04:00
luigi1111 c4f75fe898
Merge pull request #6339
c61abf8 remove empty statements (shopglobal)
2020-04-04 12:47:31 -05:00
Sarang Noether 80d5320fff Hash domain separation 2020-04-01 08:31:00 -04:00
Interchained c61abf87c0 remove empty statements
Cleaning up a little around the code base.
2020-02-17 11:55:15 -05:00
Sarang Noether 45fd72b0d7 Updated paper references 2019-10-28 12:34:44 -04:00
Sarang Noether 277003f145 Minor prover simplification 2019-10-28 09:34:49 -04:00
Sarang Noether 3a0451a8be MLSAG speedup and additional checks 2019-08-27 16:22:44 -04:00
moneromooo-monero acb68dbaa9
bulletproofs: cut down on keyV allocations 2019-04-13 22:37:08 +00:00
binaryFate 1f2930ce0b Update 2019 copyright 2019-03-05 22:05:34 +01:00
moneromooo-monero 1bc5f9fa4b
bulletproofs: speed up vector_power_sum
found by sarang
2019-01-19 00:18:34 +00:00
Riccardo Spagni c00ac446fd
Merge pull request #4854
bd98e99c Removed a lot of unnecessary includes (Martijn Otto)
2018-12-04 17:08:42 +02:00
Riccardo Spagni 3e2abc9eaa
Merge pull request #4834
2c7195d8 bulletproofs: avoid std::vector allocations for slice (moneromooo-monero)
2018-11-26 20:30:15 +02:00
Martijn Otto bd98e99c80
Removed a lot of unnecessary includes 2018-11-15 17:29:34 +01:00
moneromooo-monero 2c7195d80c
bulletproofs: avoid std::vector allocations for slice 2018-11-09 19:58:11 +00:00
moneromooo-monero 6a1062f560
bulletproofs: reserve vector memory when known in advance 2018-11-05 14:32:32 +00:00
moneromooo-monero a6d2e246f3
bulletproofs: only enable profiling on request 2018-10-22 16:07:44 +00:00
moneromooo-monero a110e6aa18
multiexp: tune which variants to use for which number of points 2018-10-22 16:07:44 +00:00
moneromooo-monero 8b4767221c
bulletproofs: speedup prover 2018-10-22 16:07:44 +00:00
moneromooo-monero 6f9ae5b6eb
multiexp: handle pippenger multiexps with part precalc 2018-10-22 16:07:44 +00:00
moneromooo-monero 10e5a92769
bulletproofs: maintain -z4, -z5, and -y0 to avoid subtractions 2018-10-22 16:07:44 +00:00
moneromooo-monero 8629a42cf6
bulletproofs: rework flow to use sarang's fast batch inversion code 2018-10-22 16:07:44 +00:00
moneromooo-monero fc9f7d9c81
bulletproofs: merge multiexps as per sarang's new python code 2018-10-22 16:07:44 +00:00
moneromooo-monero bf8e4b9870
bulletproofs: some more minor speedup 2018-10-22 16:07:44 +00:00
moneromooo-monero a281b950bf
bulletproofs: remove single value prover
It is now expressed in terms of the array prover
2018-10-22 16:07:44 +00:00
moneromooo-monero 484155d043
bulletproofs: some more speedup 2018-10-22 16:07:44 +00:00
moneromooo-monero a621d6c8b4
bulletproofs: random minor speedups 2018-10-22 16:07:44 +00:00
moneromooo-monero a49a17618f
bulletproofs: shave off a lot of scalar muls from the g/h construction 2018-10-22 16:07:44 +00:00
moneromooo-monero 4564a5d17b
bulletproofs: speedup PROVE 2018-10-22 16:07:44 +00:00
moneromooo-monero 1dd5c73f62
bulletproofs: multiply points by 8 first thing in verification
instead of merging that with other scalar multiplications
where possible for speed, since this is not actually safe
2018-09-24 14:02:51 +00:00
moneromooo-monero 8f418a6db0
bulletproofs: #include <openssl/bn.h>
Apparently needed for openssl 1.1.x
2018-09-11 13:38:34 +00:00
moneromooo-monero 2bf636503f
bulletproofs: speed up the latest changes a bit 2018-09-11 13:38:32 +00:00
moneromooo-monero 044dff5a30
bulletproofs: scale points by 8 to ensure subgroup validity 2018-09-11 13:38:31 +00:00
moneromooo-monero c83012c476
bulletproofs: match aggregated verification to sarang's latest prototype 2018-09-11 13:38:30 +00:00
moneromooo-monero 7ed496cc78
ringct: error out when hashToPoint* returns the point at infinity
Reported by QuarksLab.
2018-09-11 13:38:16 +00:00
moneromooo-monero fe0fa3b9c5
bulletproofs: reject x, y, z, or w[i] being zero
Also try again when we're generate a proof with those characteristics

Reported by QuarksLab.
2018-09-11 13:38:08 +00:00
moneromooo-monero 869b3bf824
bulletproofs: a few fixes from the Kudelski review
- 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
2018-09-11 13:38:05 +00:00
moneromooo-monero c429176248
bulletproofs: reject points not in the main subgroup 2018-09-11 13:38:04 +00:00
moneromooo-monero 1569717718
bulletproofs: speed up a few multiplies using existing Hi cache 2018-09-11 13:38:03 +00:00
moneromooo-monero 0b05a0fa74
Add Pippenger cache and limit Straus cache size 2018-09-11 13:38:02 +00:00
moneromooo-monero 263431c486
Pippenger multiexp
Based on sarang's python code
2018-09-11 13:37:45 +00:00
moneromooo-monero 1b867e7f40
precalc the ge_p3 representation of H 2018-09-11 13:37:42 +00:00
moneromooo-monero 7e67c52fa2
Add a define for the max number of bulletproof multi-outputs 2018-09-11 13:37:38 +00:00
moneromooo-monero 126196b017
multiexp: some speedups
- use a raw memory block to store cache
- use aligned memory
- use doubling API where appropriate
- calculate straus in bands
2018-09-11 13:37:35 +00:00
moneromooo-monero bacf0a1e2f
bulletproofs: add aggregated verification
Ported from sarang's java code
2018-09-11 13:37:32 +00:00