Commit Graph

260 Commits

Author SHA1 Message Date
Sarang Noether 0bdbd108d8 Bulletproofs+ 2021-08-30 00:11:56 +03:00
wowario e1ff02c1c5 support old BP 2021-08-30 00:00:54 +03:00
SChernykh 9ca9f1214a 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
2021-03-18 21:57:13 +01:00
moneromooo-monero 9e6187a736
fix a couple bugs found by OSS-fuzz
- index out of bounds when importing outputs
- accessing invalid CLSAG data
2020-09-24 15:33:40 +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
Sarang Noether 3a0451a8be MLSAG speedup and additional checks 2019-08-27 16:22:44 -04:00
luigi1111 e3de4aa68b
Merge pull request #5502
25a7cfd add a few checks where it seems appropriate (moneromooo-monero)
1a66a86 remove unused code (moneromooo-monero)
2019-07-24 13:57:06 -05:00
moneromooo-monero 1387549e90
serialization: check stream good flag at the end
just in case
2019-06-14 08:47:23 +00:00
moneromooo-monero 1a66a86f94
remove unused code 2019-04-29 20:52:40 +00:00
Riccardo Spagni ac8e2a7819
Merge pull request #5437
acb68dba bulletproofs: cut down on keyV allocations (moneromooo-monero)
2019-04-16 22:44:00 +02:00
moneromooo-monero acb68dbaa9
bulletproofs: cut down on keyV allocations 2019-04-13 22:37:08 +00:00
moneromooo-monero 93bb2f48f7
ringct: prevent use of full ringct signatures for more than one input 2019-04-11 19:44:06 +00:00
Riccardo Spagni b8ab510f23
Merge pull request #5332
7c440915 Add get_tx_proof support, needed for new sanity check (cslashm)
98fdcb2a Add support for V11 protocol with BulletProofV2 and short amount. New scheme key destination contrfol Fix dummy decryption in debug mode (cslashm)
3a981a33 Add application version compatibility check. (cslashm)
2019-04-01 17:35:12 +02:00
Riccardo Spagni 7ec799c542
Merge pull request #5287
1d14b3f0 ringct: fix capitalization for scaler mult (fuwa)
2019-04-01 17:19:32 +02:00
cslashm 98fdcb2aa5 Add support for V11 protocol with BulletProofV2 and short amount.
New scheme key destination contrfol
Fix dummy decryption in debug mode
2019-03-28 18:26:15 +01:00
fuwa 1d14b3f072 ringct: fix capitalization for scaler mult 2019-03-25 13:00:14 +08:00
binaryFate 1f2930ce0b Update 2019 copyright 2019-03-05 22:05:34 +01:00
moneromooo-monero ef93b0995c
various: remove unused variables 2019-03-04 22:24:49 +00:00
Riccardo Spagni 9d415495bf
Merge pull request #5082
1bc5f9fa bulletproofs: speed up vector_power_sum (moneromooo-monero)
2019-03-04 21:18:53 +02:00
moneromooo-monero b6534c40e6
ringct: remove unused senderPk from ecdhTuple
This was an early ringct field, which was never used in production
2019-01-22 23:17:42 +00:00
moneromooo-monero 7d37598158
ringct: the commitment mask is now deterministic
saves space in the tx and is safe

Found by knaccc
2019-01-22 23:17:39 +00:00
moneromooo-monero 99d946e619
ringct: encode 8 byte amount, saving 24 bytes per output
Found by knaccc
2019-01-22 23:17:31 +00:00
moneromooo-monero cdc3ccec5f
ringct: save 3 bytes on bulletproof size
Found by luigi1111
2019-01-22 23:17:27 +00:00
moneromooo-monero f931e16c6e
add a bulletproof version, new bulletproof type, and rct config
This makes it easier to modify the bulletproof format
2019-01-22 23:17:24 +00:00
moneromooo-monero 1bc5f9fa4b
bulletproofs: speed up vector_power_sum
found by sarang
2019-01-19 00:18:34 +00:00
Riccardo Spagni 5753d71922
Merge pull request #5050
07cb574c ringct: remove duplicate rv.mixRing = mixRing; in genRctSimple (stoffu)
2019-01-18 19:02:01 +02:00
stoffu 07cb574ca4
ringct: remove duplicate rv.mixRing = mixRing; in genRctSimple 2019-01-08 11:51:35 +09:00
moneromooo-monero aaafa8a946
ringct: avoid repeated point conversion 2018-12-12 12:48:10 +00:00
Riccardo Spagni 6bc0c7e685
Merge pull request #4927
6456cb41 Bulletproof: Initialize members in default construtor. (Tadeas Moravec)
2018-12-12 12:01:31 +02:00
Riccardo Spagni e9aa886d9e
Merge pull request #4921
ac665418 ringct: fix dummy bulletproofs on ledger in fake mode (moneromooo-monero)
2018-12-12 11:59:56 +02:00