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
6 years ago
Riccardo Spagni
4a652d6b52
Merge pull request #4379
...
607301bf
rct: avoid repeated unnecessary conversions when accummulating (moneromooo-monero)
6 years ago
moneromooo-monero
607301bf6d
rct: avoid repeated unnecessary conversions when accummulating
6 years ago
stoffu
67a56a9f8b
rctTypes: fix incorrect serialization
6 years ago
moneromooo-monero
8f418a6db0
bulletproofs: #include <openssl/bn.h>
...
Apparently needed for openssl 1.1.x
6 years ago
moneromooo-monero
2bf636503f
bulletproofs: speed up the latest changes a bit
6 years ago
moneromooo-monero
044dff5a30
bulletproofs: scale points by 8 to ensure subgroup validity
6 years ago
moneromooo-monero
c83012c476
bulletproofs: match aggregated verification to sarang's latest prototype
6 years ago
moneromooo-monero
463434d1f7
more comprehensive test for ge_p3 comparison to identity/point at infinity
...
Reported by QuarksLab.
6 years ago
moneromooo-monero
a129bbd944
multiexp: fix maxscalar off by one
...
Reported by QuarksLab.
6 years ago
moneromooo-monero
7ed496cc78
ringct: error out when hashToPoint* returns the point at infinity
...
Reported by QuarksLab.
6 years ago
moneromooo-monero
61632dc166
ringct: prevent a potential very large allocation
...
Reported by QuarksLab.
6 years ago
moneromooo-monero
0825e97436
multiexp: fix wrong Bos-Coster result for 1 non trivial input
...
Reported by QuarksLab.
6 years ago
moneromooo-monero
a1359ad43c
Check inputs to addKeys are in range
...
Reported by QuarksLab.
6 years ago
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.
6 years ago
moneromooo-monero
5ffb2ff9b7
v8: per byte fee, pad bulletproofs, fixed 11 ring size
6 years ago
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
6 years ago
moneromooo-monero
c429176248
bulletproofs: reject points not in the main subgroup
6 years ago
moneromooo-monero
1569717718
bulletproofs: speed up a few multiplies using existing Hi cache
6 years ago
moneromooo-monero
0b05a0fa74
Add Pippenger cache and limit Straus cache size
6 years ago
moneromooo-monero
263431c486
Pippenger multiexp
...
Based on sarang's python code
6 years ago
moneromooo-monero
1ed0ed4de4
multiexp: cut down on memory allocations
6 years ago
moneromooo-monero
1b867e7f40
precalc the ge_p3 representation of H
6 years ago
moneromooo-monero
7e67c52fa2
Add a define for the max number of bulletproof multi-outputs
6 years ago
moneromooo-monero
2a8fcb421b
Bulletproof aggregated verification and tests
...
Also constrains bulletproofs to simple rct, for simplicity
6 years ago
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
6 years ago
moneromooo-monero
bacf0a1e2f
bulletproofs: add aggregated verification
...
Ported from sarang's java code
6 years ago
moneromooo-monero
e895c3def1
make straus cached mode thread safe, and add tests for it
6 years ago
moneromooo-monero
7f48bf05d7
multiexp: bos coster now works for just one point
6 years ago
moneromooo-monero
9ce9f8caf6
bulletproofs: add multi output bulletproofs to rct
6 years ago
moneromooo-monero
939bc22332
add Straus multiexp
6 years ago
moneromooo-monero
9ff6e6a0a7
ringct: add bos coster multiexp
6 years ago
moneromooo-monero
e9164bb38b
bulletproofs: misc optimizations
...
Use double mults where possible, avoid conversions, simplify
6 years ago
moneromooo-monero
aacfd6e370
bulletproofs: multi-output bulletproofs
6 years ago
moneromooo-monero
7c8f95d3e2
ringct: make conversion functions return const refs
...
This might avoid unnecessary copies.
Reported by stoffu
6 years ago
luigi1111
5f1bbe3bce
Merge pull request #4268
...
1f2409e
Do memwipe for critical secret keys copied to rct::key (stoffu)
6 years ago
moneromooo-monero
d2e26c23f3
add and use constant time 32 byte equality function
6 years ago
luigi1111
a5d21be843
Merge pull request #4210
...
4616cf2
Fixed ZMQ-RPC for transactions and GET_BLOCKS_FAST (vtnerd)
6 years ago
stoffu
1f2409e9e2
Do memwipe for critical secret keys copied to rct::key
6 years ago
Lee Clagett
4616cf2641
Fixed ZMQ-RPC for transactions and GET_BLOCKS_FAST
6 years ago
luigi1111
3fde902394
Merge pull request #4097
...
61caab8
crypto: remove slight bias in key generation due to modulo (moneromooo-monero)
6 years ago
luigi1111
94ed562148
Merge pull request #4045
...
7cdd147
Changed URLs to HTTPS (einsteinsfool)
6 years ago
moneromooo-monero
61caab8a8c
crypto: remove slight bias in key generation due to modulo
6 years ago
moneromooo-monero
2771a18e85
threadpool: allow leaf functions to run concurrently
...
Decrease the number of worker threads by one to account
for the fact the calling thread acts as a worker thread now
6 years ago
einsteinsfool
7cdd147da5
Changed URLs to HTTPS
6 years ago
moneromooo-monero
01cc978722
ringct: remove an unnecessary scalarmultBase in zeroCommit
6 years ago
moneromooo-monero
5f19384729
ringct: do not show verification errors with default settings
6 years ago
Riccardo Spagni
cb72b85bbf
Merge pull request #3372
...
c3e23b2d
ringct: 17% improvement in Borromean signature verification (moneromooo-monero)
6 years ago
stoffu
27a196b126
device: untangle cyclic depenency
...
When #3303 was merged, a cyclic dependency chain was generated:
libdevice <- libcncrypto <- libringct <- libdevice
This was because libdevice needs access to a set of basic crypto operations
implemented in libringct such as scalarmultBase(), while libringct also needs
access to abstracted crypto operations implemented in libdevice such as
ecdhEncode(). To untangle this cyclic dependency chain, this patch splits libringct
into libringct_basic and libringct, where the basic crypto ops previously in
libringct are moved into libringct_basic. The cyclic dependency is now resolved
thanks to this separation:
libcncrypto <- libringct_basic <- libdevice <- libcryptonote_basic <- libringct
This eliminates the need for crypto_device.cpp and rctOps_device.cpp.
Also, many abstracted interfaces of hw::device such as encrypt_payment_id() and
get_subaddress_secret_key() were previously implemented in libcryptonote_basic
(cryptonote_format_utils.cpp) and were then called from hw::core::device_default,
which is odd because libdevice is supposed to be independent of libcryptonote_basic.
Therefore, those functions were moved to device_default.cpp.
6 years ago
moneromooo-monero
c3e23b2dce
ringct: 17% improvement in Borromean signature verification
6 years ago