aboutsummaryrefslogtreecommitdiff
path: root/src/crypto
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge pull request #4755Riccardo Spagni2018-11-141-2/+3
|\ \ \ | |_|/ |/| | | | | 42d8d508 crypto: fix AES encryption on big endian (xiphon)
| * | crypto: fix AES encryption on big endianxiphon2018-10-311-2/+3
| |/
* | Merge pull request #4711Riccardo Spagni2018-11-061-5/+2
|\ \ | | | | | | | | | c4fbfd78 Small function declaration cleanup in slow-hash.c (Pol Mauri)
| * | Small function declaration cleanup in slow-hash.cPol Mauri2018-10-231-5/+2
| |/ | | | | | | | | | | | | | | - These functions are declared twice in slow-hash.c. Remove one of the copies. - The declarations have the wrong return type, should be void, not int. Function definitions here: https://github.com/monero-project/monero/blob/1e74586ee99e4bd89626d2eb4d23883cd91f0f81/src/crypto/aesb.c#L151-L180 Test plan: make release-test
* | crypto: fixed groestl on big-endian platformsxiphon2018-10-252-47/+91
| |
* | crypto: fixed incremental keccak API on big-endian platformsxiphon2018-10-221-2/+3
|/
* Merge pull request #4449Riccardo Spagni2018-09-291-2/+41
| | | | 17142ec9 malloc scratchpad for all supported android archs (m2049r)
* Merge pull request #4404Riccardo Spagni2018-09-221-0/+20
|\ | | | | | | f3cd51a1 cryptonote tweak v2.2 (Lee Clagett)
| * cryptonote tweak v2.2Lee Clagett2018-09-221-0/+20
| |
* | Merge pull request #4395Riccardo Spagni2018-09-211-3/+8
|\ \ | | | | | | | | | 9bf0105e Fixed Keccak implementation on big-endian platforms (Alexandro Sanchez)
| * | Fixed Keccak implementation on big-endian platformsAlexandro Sanchez2018-09-171-3/+8
| |/
* | Merge pull request #4357Riccardo Spagni2018-09-181-1401/+3
|\ \ | |/ |/| | | 8501b8df crypto_ops_builder: link to EdDSA/Ed25519 draft RFC (moneromooo-monero)
| * crypto_ops_builder: link to EdDSA/Ed25519 draft RFCmoneromooo-monero2018-09-091-1401/+3
| | | | | | | | instead of including the text, as it's not fully free to redistribute
* | Merge pull request #4326Riccardo Spagni2018-09-143-8/+10
|\ \ | | | | | | | | | bcda7adc NetBSD support (thomasvaughan)
| * | NetBSD supportthomasvaughan2018-09-113-8/+10
| | |
* | | Merge pull request #4219Riccardo Spagni2018-09-114-4/+35
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9137ad2c blockchain: add a testnet v9 a day after v8 (moneromooo-monero) ac4f71c2 wallet2: bump testnet rollback to account for coming reorg (moneromooo-monero) 8f418a6d bulletproofs: #include <openssl/bn.h> (moneromooo-monero) 2bf63650 bulletproofs: speed up the latest changes a bit (moneromooo-monero) 044dff5a bulletproofs: scale points by 8 to ensure subgroup validity (moneromooo-monero) c83012c4 bulletproofs: match aggregated verification to sarang's latest prototype (moneromooo-monero) ce0c7432 performance_tests: add padded bulletproof construction (moneromooo-monero) 1224e53b core_tests: add a test for 4-aggregated BP verification (moneromooo-monero) 0e6ed559 fuzz_tests: add a bulletproof fuzz test (moneromooo-monero) 463434d1 more comprehensive test for ge_p3 comparison to identity/point at infinity (moneromooo-monero) d0a0565f unit_tests: add a few more multiexp unit tests (moneromooo-monero) 6526d87f core_tests: add a test for a tx with empty bulletproof (moneromooo-monero) a129bbd9 multiexp: fix maxscalar off by one (moneromooo-monero) 7ed496cc ringct: error out when hashToPoint* returns the point at infinity (moneromooo-monero) d1591853 cryptonote_basic: check output type before using it (moneromooo-monero) 61632dc1 ringct: prevent a potential very large allocation (moneromooo-monero) a4317e61 crypto: some paranoid checks in generate_signature/check_signature (moneromooo-monero) 7434df1c crypto: never return zero in random32_unbiased (moneromooo-monero) 0825e974 multiexp: fix wrong Bos-Coster result for 1 non trivial input (moneromooo-monero) a1359ad4 Check inputs to addKeys are in range (moneromooo-monero) fe0fa3b9 bulletproofs: reject x, y, z, or w[i] being zero (moneromooo-monero) 5ffb2ff9 v8: per byte fee, pad bulletproofs, fixed 11 ring size (moneromooo-monero) 869b3bf8 bulletproofs: a few fixes from the Kudelski review (moneromooo-monero) c4291762 bulletproofs: reject points not in the main subgroup (moneromooo-monero) 15697177 bulletproofs: speed up a few multiplies using existing Hi cache (moneromooo-monero) 0b05a0fa Add Pippenger cache and limit Straus cache size (moneromooo-monero) 51eb3bdc add pippenger unit tests (moneromooo-monero) b17b8db3 performance_tests: add stats and loop count multiplier options (moneromooo-monero) 7314d919 perf_timer: split timer class into a base one and a logging one (moneromooo-monero) d126a02b performance_tests: add aggregated bulletproof tx verification (moneromooo-monero) 263431c4 Pippenger multiexp (moneromooo-monero) 1ed0ed4d multiexp: cut down on memory allocations (moneromooo-monero) 1b867e7f precalc the ge_p3 representation of H (moneromooo-monero) ef56529f performance_tests: document the tested bulletproof layouts (moneromooo-monero) 30111780 unit_tests: a couple more bulletproof unit tests for gamma (moneromooo-monero) c444b1b2 require canonical multi output bulletproof layout (moneromooo-monero) 7e67c52f Add a define for the max number of bulletproof multi-outputs (moneromooo-monero) 2a8fcb42 Bulletproof aggregated verification and tests (moneromooo-monero) 126196b0 multiexp: some speedups (moneromooo-monero) 71d67bda aligned: aligned memory alloc/realloc/free (moneromooo-monero) cb9ecab1 performance_tests: add signature generation/verification (moneromooo-monero) bacf0a1e bulletproofs: add aggregated verification (moneromooo-monero) e895c3de make straus cached mode thread safe, and add tests for it (moneromooo-monero) 7f48bf05 multiexp: bos coster now works for just one point (moneromooo-monero) 9ce9f8ca bulletproofs: add multi output bulletproofs to rct (moneromooo-monero) f34e2e20 performance_tests: add tx checking tests with more than 2 outputs (moneromooo-monero) 0793184b performance_tests: add a --verbose flag, and default to terse (moneromooo-monero) 939bc223 add Straus multiexp (moneromooo-monero) 9ff6e6a0 ringct: add bos coster multiexp (moneromooo-monero) e9164bb3 bulletproofs: misc optimizations (moneromooo-monero) 112f32f0 performance_tests: add crypto ops (moneromooo-monero) f5d7b993 performance_tests: add bulletproofs (moneromooo-monero) 8f4ce989 performance_tests: add RingCT MLSAG gen/ver tests (moneromooo-monero) 1aa10c43 performance_tests: add (Borromean) range proofs (moneromooo-monero) aacfd6e3 bulletproofs: multi-output bulletproofs (moneromooo-monero) cb1cc757 performance_tests: don't override log level to 0 (moneromooo-monero)
| * | | more comprehensive test for ge_p3 comparison to identity/point at infinitymoneromooo-monero2018-09-112-0/+15
| | | | | | | | | | | | | | | | Reported by QuarksLab.
| * | | crypto: some paranoid checks in generate_signature/check_signaturemoneromooo-monero2018-09-111-1/+11
| | | | | | | | | | | | | | | | Reported by QuarksLab.
| * | | crypto: never return zero in random32_unbiasedmoneromooo-monero2018-09-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | bulletproofs: a few fixes from the Kudelski reviewmoneromooo-monero2018-09-111-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
| * | | precalc the ge_p3 representation of Hmoneromooo-monero2018-09-112-0/+7
| | |/ | |/|
* | | Merge pull request #4218Riccardo Spagni2018-09-112-53/+360
|\ \ \ | |/ / |/| | | | | 5fd83c13 Cryptonight variant 2 (SChernykh)
| * | Cryptonight variant 2SChernykh2018-09-092-53/+360
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Contains two modifications to improve ASIC resistance: shuffle and integer math. Shuffle makes use of the whole 64-byte cache line instead of 16 bytes only, making Cryptonight 4 times more demanding for memory bandwidth. Integer math adds 64:32 bit integer division followed by 64 bit integer square root, adding large and unavoidable computational latency to the main loop. More details and performance numbers: https://github.com/SChernykh/xmr-stak-cpu/blob/master/README.md
* | | Merge pull request #4259luigi11112018-09-042-0/+88
|\ \ \ | |_|/ |/| | | | | 4e08100 Incremental Keccak API added (pr4r05)
| * | Incremental Keccak API addedDusan Klinec2018-08-152-0/+88
| |/ | | | | | | - needed for TREZOR integration
* | add and use constant time 32 byte equality functionmoneromooo-monero2018-08-233-5/+26
| |
* | crypto: make secret_key automatically mlockmoneromooo-monero2018-08-162-6/+8
| |
* | Merge pull request #4137luigi11112018-08-152-3/+5
|\ \ | | | | | | | | | | | | 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)
| * | crypto: do not use boost::value_initialized to init null skey/pkeymoneromooo-monero2018-07-202-3/+2
| | |
| * | crypto: move null_pkey/null_skey to the cpp filemoneromooo-monero2018-07-152-2/+5
| | |
* | | wallet: allow adjusting number of rounds for the key derivation functionstoffu2018-08-081-4/+8
| |/ |/|
* | Merge pull request #4097luigi11112018-07-272-4/+25
|\ \ | | | | | | | | | 61caab8 crypto: remove slight bias in key generation due to modulo (moneromooo-monero)
| * | crypto: remove slight bias in key generation due to modulomoneromooo-monero2018-07-052-4/+25
| |/
* | Merge pull request #4074luigi11112018-07-191-6/+0
|\ \ | | | | | | | | | ef649f9 crypto: remove unused unsafe random scalar generator (moneromooo-monero)
| * | crypto: remove unused unsafe random scalar generatormoneromooo-monero2018-06-281-6/+0
| |/
* | Merge pull request #4045luigi11112018-07-197-10/+10
|\ \ | | | | | | | | | 7cdd147 Changed URLs to HTTPS (einsteinsfool)
| * | Changed URLs to HTTPSeinsteinsfool2018-06-237-10/+10
| |/
* / crypto: add a README pointing to the SUPERCOP licencemoneromooo-monero2018-06-181-0/+4
|/
* Merge pull request #3592luigi11112018-05-312-10/+15
|\ | | | | | | | | 90a16b1 crypto: fix initialization order issue with random mutex (moneromooo-monero) 6a61f52 unit_tests: add ringdb unit tests (moneromooo-monero)
| * crypto: fix initialization order issue with random mutexmoneromooo-monero2018-04-102-10/+15
| |
* | crypto: more places needing fixing for GCC 8.1moneroexamples2018-05-131-10/+10
| |
* | chacha: fix build with GCC 8.1moneromooo-monero2018-05-131-2/+2
| |
* | slow-hash: fix memory leak for Windows /karbowanec#41aivve2018-04-241-1/+1
|/
* chacha: call prehashed version explicitly as generate_chacha_key_prehashedstoffu2018-03-144-16/+34
| | | | | | hash: add prehashed version cn_slow_hash_prehashed slow-hash: let cn_slow_hash take 4th parameter for deciding prehashed or not slow-hash: add support for prehashed version for the other 3 platforms
* crypto: revert odd namespace changes made in #3303stoffu2018-03-142-10/+1
|
* device: untangle cyclic depenencystoffu2018-03-143-89/+0
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* device: made function prototypes consistent with pre-#3303 codebasestoffu2018-03-141-6/+2
|
* slow-hash: fix uint64 type typomoneromooo-monero2018-03-071-1/+1
|
* tweaks to the monerov1 cryptonight algorithmLee Clagett2018-03-051-16/+52
|
* slow-hash: optimized versionSChernykh2018-03-051-4/+4
|