Lee *!* Clagett
052df1b28c
Zero initialize rctSigBase elements
2024-02-06 13:23:10 -05:00
jeffro256
eae62a07e0
ringct: make `rctSigBase` serialization follow strict aliasing rule
...
Accessing an object of type `char` thru an lvalue of type `crypto::hash8` is undefined behavior.
https://developers.redhat.com/blog/2020/06/03/the-joys-and-perils-of-aliasing-in-c-and-c-part-2
2023-10-24 13:00:45 -05:00
Jeffrey Ryan
c59e0096b6
verRctNonSemanticsSimpleCached: fix fragility
2023-03-17 18:46:34 -05:00
SChernykh
29208a33cb
Cache successful `verRctNonSemanticsSimple` calls
2022-12-20 22:19:00 +01:00
SChernykh
6adf03cdc5
Second thread pool for IO
2022-09-20 10:22:12 +02:00
anon
c7b2944f89
multisig: fix critical vulnerabilities in signing
2022-06-30 12:56:40 -05:00
Crypto City
353cd5355e
wallet2: speedup large tx construction: no pointless clsag generation
...
4.1 seconds -> 3.3 seconds on a test case
2022-05-13 17:43:21 +00:00
luigi1111
d58ea37a8d
Merge pull request #8302
...
41da2fe
Update copyright to 2022 for Hardfork files (Akrit)
2022-05-10 16:56:39 -05:00
luigi1111
fbd1f1e476
Merge pull request #8293
...
4f08bcd
refactor(bp+): save one inversion, use sc_muladd (Dusan Klinec)
2022-05-10 16:51:59 -05:00
Akrit
41da2fe6f3
Update copyright to 2022 for Hardfork files
...
Update Makefile and LICENSE
2022-04-29 11:12:36 +02:00
Dusan Klinec
4f08bcd800
refactor(bp+): save one inversion, use sc_muladd
2022-04-26 13:37:11 +02:00
Luke Parker
baee2c06ec
Preserve commitment format inside transactions
2022-04-21 18:58:47 -04:00
mj-xmr
4db6aed98c
CMake: Add missing headers via monero_find_all_headers macro
2022-04-06 08:12:44 +02:00
luigi1111
0eb1b570b6
Merge pull request #8197
...
da9aa1f
Copyright: Update to 2022 (mj-xmr)
2022-04-06 00:08:53 -04:00
moneromooo-monero
5acdd0e2cb
bulletproofs+: some minor cleanup from vtnerd's review
2022-04-05 18:50:23 +00:00
moneromooo-monero
4c94cfecfc
store outPk/8 in the tx for speed
...
It avoids dividing by 8 when deserializing a tx, which is a slow
operation, and multiplies by 8 when verifying and extracing the
amount, which is much faster as well as less frequent
2022-04-05 18:50:22 +00:00
moneromooo-monero
a345060ace
ringct: port some of vtnerd's review changes from BP+ to BP
2022-04-05 18:50:21 +00:00
moneromooo-monero
75bd004f4e
ringct: a few minor optimizations from review
2022-04-05 18:50:21 +00:00
moneromooo-monero
a0d80b1f95
plug bulletproofs plus into consensus
2022-04-05 18:50:17 +00:00
Sarang Noether
b535d662b9
Updates from security audit
...
https://suyash67.github.io/homepage/assets/pdfs/bulletproofs_plus_audit_report_v1.1.pdf
2022-04-04 08:23:21 +00:00
Sarang Noether
b7713cce26
Precompute initial transcript hash
2022-04-04 08:23:21 +00:00
Sarang Noether
bd27debb2d
Bulletproofs+
2022-04-04 08:23:21 +00:00
mj-xmr
da9aa1f7f8
Copyright: Update to 2022
2022-03-04 06:59:20 +01:00
koe
c36ea26e5c
fix ge_p3_is_point_at_infinity(), which is evaluating field elements that haven't been reduced by the field order
2022-01-25 07:14:46 -06:00
selsta
d749e0d97c
ringct: silence unused variable warning
2021-08-19 22:00:44 +02:00
Lee Clagett
08e4497c6e
Improve cryptonote (block and tx) binary read performance
2021-01-23 06:23:39 +00:00
Kevin Barbour
85db1734e7
Remove unused variables in monero codebase
...
There are quite a few variables in the code that are no longer
(or perhaps never were) in use. These were discovered by enabling
compiler warnings for unused variables and cleaning them up.
In most cases where the unused variables were the result
of a function call the call was left but the variable
assignment removed, unless it was obvious that it was
a simple getter with no side effects.
2021-02-09 08:05:05 +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
moneromooo-monero
b6c4f8cd54
fix a couple bugs found by OSS-fuzz
...
- index out of bounds when importing outputs
- accessing invalid CLSAG data
2020-09-24 15:30:38 +00:00
luigi1111
ee0b02d0db
Merge pull request #6757
...
6a37da8
threadpool: guard against exceptions in jobs, and armour plating (moneromooo-monero)
2020-09-03 12:25:59 -05:00
moneromooo-monero
6a37da837e
threadpool: guard against exceptions in jobs, and armour plating
...
Those would, if uncaught, exit run and leave the waiter to wait
indefinitely for the number of active jobs to reach 0
2020-09-01 14:33:33 +00:00
moneromooo-monero
e6c81c5ea7
ringct: fix CLSAG serialization after boost/epee changes
...
also fix a an assert message refering t MLSAG
2020-08-28 11:52:54 +00:00
Sarang Noether
703944c4d4
CLSAG device support
2020-08-27 12:44:04 +00:00
Sarang Noether
641b08c920
CLSAG optimizations
2020-08-27 12:44:04 +00:00
moneromooo-monero
82ee01699c
Integrate CLSAGs into monero
...
They are allowed from v12, and MLSAGs are rejected from v13.
2020-08-27 12:44:04 +00:00
Sarang Noether
4b328c6616
CLSAG signatures
2020-08-27 12:43:29 +00:00
moneromooo-monero
7175dcb107
replace most boost serialization with existing monero serialization
...
This reduces the attack surface for data that can come from
malicious sources (exported output and key images, multisig
transactions...) since the monero serialization is already
exposed to the outside, and the boost lib we were using had
a few known crashers.
For interoperability, a new load-deprecated-formats wallet
setting is added (off by default). This allows loading boost
format data if there is no alternative. It will likely go
at some point, along with the ability to load those.
Notably, the peer lists file still uses the boost serialization
code, as the data it stores is define in epee, while the new
serialization code is in monero, and migrating it was fairly
hairy. Since this file is local and not obtained from anyone
else, the marginal risk is minimal, but it could be migrated
later if needed.
Some tests and tools also do, this will stay as is for now.
2020-08-17 16:23:58 +00:00
SomaticFanatic
5ef0607da6
Update copyright year to 2020
...
Update copyright year to 2020
2020-05-06 22:36:54 -04:00
luigi1111
b4023dcfc5
Merge pull request #6441
...
613071f
use memwipe on secret k/alpha values (moneromooo-monero)
2020-05-05 23:39:32 -05:00
moneromooo-monero
613071f4fa
use memwipe on secret k/alpha values
...
Reported by UkoeHB_ and sarang
2020-04-15 01:16:31 +00: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
luigi1111
e629db18f4
Merge pull request #6049
...
45fd72b
Updated paper references (SarangNoether)
277003f
Minor prover simplification (SarangNoether)
2019-12-12 13:43:57 -06:00
Jethro Grassie
d8fc8d8868
make d2h et al. constant-time
2019-11-19 04:21:02 -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
moneromooo-monero
9447e7276d
cryptonote: add function to get weight from a pruned tx
...
The weight of the prunable data is deterministic from the
unpruned data, so it can be determined from a pruned tx
2019-10-11 12:08:36 +00:00
luigi1111
85014813cf
Merge pull request #5707
...
3a0451a
MLSAG speedup and additional checks (SarangNoether)
2019-08-28 02:22:00 -05:00