Commit Graph

48 Commits

Author SHA1 Message Date
j-berman ea87b30f89 Add view tags to outputs to reduce wallet scanning time
Implements view tags as proposed by @UkoeHB in MRL issue
https://github.com/monero-project/research-lab/issues/73

At tx construction, the sender adds a 1-byte view tag to each
output. The view tag is derived from the sender-receiver
shared secret. When scanning for outputs, the receiver can
check the view tag for a match, in order to reduce scanning
time. When the view tag does not match, the wallet avoids the
more expensive EC operations when deriving the output public
key using the shared secret.
2022-04-18 00:49:53 -07:00
mj-xmr da9aa1f7f8
Copyright: Update to 2022 2022-03-04 06:59:20 +01:00
moneromooo-monero 5ed604fe5b
crypto: fix non zero scalar being 0 after reducing 2020-12-04 01:00:03 +00:00
Sarang Noether 6bfcd31015 Updates InProofV1, OutProofV1, and ReserveProofV1 to new V2 variants that include all public proof parameters in Schnorr challenges, along with hash function domain separators. Includes new randomized unit tests. 2020-08-09 18:42:15 -04:00
SomaticFanatic 5ef0607da6 Update copyright year to 2020
Update copyright year to 2020
2020-05-06 22:36:54 -04:00
moneromooo-monero 613071f4fa
use memwipe on secret k/alpha values
Reported by UkoeHB_ and sarang
2020-04-15 01:16:31 +00:00
luigi1111 8f6f674753
Merge pull request #5609
1dc3b1a wallet: add --extra-entropy command line flag (moneromooo-monero)
2019-08-27 15:14:15 -05:00
moneromooo-monero 1dc3b1a516
wallet: add --extra-entropy command line flag
It lets the user add custom entropy to the PRNG.
It does this by hashing the new data and xoring the resulting
hash with the PRNG state.
2019-08-22 11:12:57 +00:00
Sarang Noether 4b1df4e50f Fix for biased signature nonce 2019-08-12 15:58:15 -04:00
binaryFate 1f2930ce0b Update 2019 copyright 2019-03-05 22:05:34 +01:00
Martijn Otto bd98e99c80
Removed a lot of unnecessary includes 2018-11-15 17:29:34 +01:00
moneromooo-monero a4317e61b5
crypto: some paranoid checks in generate_signature/check_signature
Reported by QuarksLab.
2018-09-11 13:38:12 +00:00
moneromooo-monero 7434df1cc6
crypto: never return zero in random32_unbiased
This avoids problems when the caller can't deal with a zero
walue, which happens often enough that it's worth nipping the
problem in the bud.
2018-09-11 13:38:12 +00:00
luigi1111 5295e4eb82
Merge pull request #4137
63e342b crypto: move null_pkey/null_skey to the cpp file (moneromooo-monero)
0496c7c crypto: do not use boost::value_initialized to init null skey/pkey (moneromooo-monero)
2018-08-15 17:17:34 -05:00
luigi1111 3fde902394
Merge pull request #4097
61caab8 crypto: remove slight bias in key generation due to modulo (moneromooo-monero)
2018-07-27 14:23:54 -05:00
moneromooo-monero 0496c7c91a
crypto: do not use boost::value_initialized to init null skey/pkey 2018-07-20 23:06:22 +01:00
moneromooo-monero 63e342be84
crypto: move null_pkey/null_skey to the cpp file 2018-07-15 19:09:36 +01:00
moneromooo-monero 61caab8a8c
crypto: remove slight bias in key generation due to modulo 2018-07-05 09:18:01 +01:00
moneromooo-monero ef649f998d
crypto: remove unused unsafe random scalar generator 2018-06-28 16:44:13 +01:00
luigi1111 b6eb7484d1
Merge pull request #3592
90a16b1 crypto: fix initialization order issue with random mutex (moneromooo-monero)
6a61f52 unit_tests: add ringdb unit tests (moneromooo-monero)
2018-05-31 14:41:17 -05:00
moneroexamples 9317bce9ca
crypto: more places needing fixing for GCC 8.1 2018-05-13 18:17:13 +01:00
moneromooo-monero 90a16b119f
crypto: fix initialization order issue with random mutex 2018-04-10 12:30:48 +01:00
stoffu b2d23b189e
crypto: revert odd namespace changes made in #3303 2018-03-14 21:00:17 +09:00
Edward Betts fbcc91c2a4 Correct spelling mistakes. 2018-03-05 17:00:40 +00:00
cslashm e745c1e38d Code modifications to integrate Ledger HW device into monero-wallet-cli.
The basic approach it to delegate all sensitive data (master key, secret
ephemeral key, key derivation, ....) and related operations to the device.
As device has low memory, it does not keep itself the values
(except for view/spend keys) but once computed there are encrypted (with AES
are equivalent) and return back to monero-wallet-cli. When they need to be
manipulated by the device, they are decrypted on receive.

Moreover, using the client for storing the value in encrypted form limits
the modification in the client code. Those values are transfered from one
C-structure to another one as previously.

The code modification has been done with the wishes to be open to any
other hardware wallet. To achieve that a C++ class hw::Device has been
introduced. Two initial implementations are provided: the "default", which
remaps all calls to initial Monero code, and  the "Ledger", which delegates
all calls to Ledger device.
2018-03-04 12:54:53 +01:00
Riccardo Spagni 666a76652b
Merge pull request #3187
851bd057 call _exit instead of abort in release mode (moneromooo-monero)
2018-02-16 14:20:31 +01:00
moneromooo-monero 851bd057ec
call _exit instead of abort in release mode
Avoids cores being created, as they're nowadays often piped
to some call home system
2018-02-01 13:32:46 +00:00
xmr-eric 18216f19dd Update 2018 copyright 2018-01-26 10:03:20 -05:00
kenshi84 53ad5a0f42
Subaddresses 2017-10-07 13:06:21 +09:00
moneromooo-monero b5345ef4f0
crypto: use malloc instead of alloca 2017-08-23 13:38:03 +01:00
stoffu 8da82256d4
crypto: moved boost::lock_guard into a smaller scope 2017-06-22 18:11:15 +09:00
stoffu c9e0e944e9
Signature proving payment to destination by only revealing key derivation, not the actual tx secret key 2017-06-22 18:11:13 +09:00
Riccardo Spagni c3599fa7b9
update copyright year, fix occasional lack of newline at line end 2017-02-21 19:38:18 +02:00
Antonio Huete Jimenez b00da61eab Preliminary support for DragonFly BSD
- It builds but no further testing has been done.
2016-12-15 02:27:53 -08:00
moneromooo-monero d4b62a1e29
rct amount key modified as per luigi1111's recommendations
This allows the key to be not the same for two outputs sent to
the same address (eg, if you pay yourself, and also get change
back). Also remove the key amounts lists and return parameters
since we don't actually generate random ones, so we don't need
to save them as we can recalculate them when needed if we have
the correct keys.
2016-08-28 21:30:19 +01:00
moneromooo-monero e70e8a69f4
crypto: error out where appropriate 2016-08-28 21:28:29 +01:00
redfish 6462a3a6db crypto: fix compile error: use named type in sizeof
Btw, the warning 4200 remains disabled, but it did not get triggered
(GCC 6.1.1, ARM). But, perhaps a better way than disabling
the warning would be to do what is suggested here:
http://stackoverflow.com/questions/3350852/how-to-correctly-fix-zero-sized-array-in-struct-union-warning-c4200-without%3E
2016-05-18 01:01:58 -04:00
moneromooo-monero d539be3359
crypto: make clear generate_random_bytes is not thread safe
And add a thread safe version to encourage proper use
2016-05-15 00:05:59 +01:00
Howard Chu b937a2c915 Use boost::thread instead of std::thread
and all other associated IPC
2016-03-11 15:09:50 +00:00
me0wmix 28f95eb001 OpenBSD support for Monero. 2016-01-21 11:18:26 -07:00
Riccardo Spagni de03926850
updated copyright year 2015-12-31 08:39:56 +02:00
Riccardo Spagni f4b69d553a
year updated in license 2015-01-02 18:52:46 +02:00
fluffypony 6afbdd9754 FreeBSD alloca.h reference fixed 2014-09-09 12:37:19 +02:00
fluffypony 6fc995fe5d License updated to BSD 3-clause 2014-07-23 15:03:52 +02:00
Thomas Winget d22e458c6c builds, but doesn't link. other than that, electrum-style recovery implemented (but not tested\!) 2014-06-12 19:05:51 -04:00
Thomas Winget 4f382b3830 most functions prototyped/modified for wallet recovery 2014-06-12 19:05:51 -04:00
Antonio Juarez 296ae46ed8 moved all stuff to github 2014-03-03 22:07:58 +00:00
amjuarez 175d06e75e crypto lib 2013-11-15 02:28:17 +04:00