aboutsummaryrefslogtreecommitdiff
path: root/src/test/crypto_tests.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Increment MIT Licence copyright header year on files modified in 2016isle29832016-12-311-1/+1
| | | | | | Edited via: $ contrib/devtools/copyright_header.py update .
* test: Fix test_random includesMarcoFalke2016-11-071-1/+1
|
* Kill insecure_random and associated global stateWladimir J. van der Laan2016-10-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are only a few uses of `insecure_random` outside the tests. This PR replaces uses of insecure_random (and its accompanying global state) in the core code with an FastRandomContext that is automatically seeded on creation. This is meant to be used for inner loops. The FastRandomContext can be in the outer scope, or the class itself, then rand32() is used inside the loop. Useful e.g. for pushing addresses in CNode or the fee rounding, or randomization for coin selection. As a context is created per purpose, thus it gets rid of cross-thread unprotected shared usage of a single set of globals, this should also get rid of the potential race conditions. - I'd say TxMempool::check is not called enough to warrant using a special fast random context, this is switched to GetRand() (open for discussion...) - The use of `insecure_rand` in ConnectThroughProxy has been replaced by an atomic integer counter. The only goal here is to have a different credentials pair for each connection to go on a different Tor circuit, it does not need to be random nor unpredictable. - To avoid having a FastRandomContext on every CNode, the context is passed into PushAddress as appropriate. There remains an insecure_random for test usage in `test_random.h`.
* Do not shadow variablesPavel Janík2016-09-271-10/+10
|
* crypto: add aes cbc testsCory Fields2016-05-131-0/+135
|
* Add ctaes-based constant time AES implementationPieter Wuille2016-05-131-0/+56
|
* Bump copyright headers to 2015MarcoFalke2015-12-131-1/+1
|
* tests: add a BasicTestingSetup and apply to all testsWladimir J. van der Laan2015-03-121-1/+2
| | | | | | | | Make sure that chainparams and logging is properly initialized. Doing this for every test may be overkill, but this initialization is so simple that that does not matter. This should fix the travis issues.
* Use libsecp256k1's RFC6979 implementationPieter Wuille2015-01-061-35/+0
|
* Remove references to X11 licenceMichael Ford2014-12-161-1/+1
|
* Add the RFC6979 PRNGPieter Wuille2014-11-201-0/+36
|
* Add HMAC-SHA256Pieter Wuille2014-11-201-0/+43
|
* Split up crypto/sha2Pieter Wuille2014-11-201-1/+3
|
* Fixing out of bounds asses errorENikS2014-09-231-1/+1
|
* Split up util.cpp/hWladimir J. van der Laan2014-08-261-1/+1
| | | | | | | | | | | | | | | | Split up util.cpp/h into: - string utilities (hex, base32, base64): no internal dependencies, no dependency on boost (apart from foreach) - money utilities (parsesmoney, formatmoney) - time utilities (gettime*, sleep, format date): - and the rest (logging, argument parsing, config file parsing) The latter is basically the environment and OS handling, and is stripped of all utility functions, so we may want to rename it to something else than util.cpp/h for clarity (Matt suggested osinterface). Breaks dependency of sha256.cpp on all the things pulled in by util.
* move rand functions from util to new random.h/.cppPhilip Kaufmann2014-07-091-0/+1
|
* Add <Hasher>::OUTPUT_SIZEPieter Wuille2014-06-211-0/+1
|
* Extend and move all crypto tests to crypto_tests.cppPieter Wuille2014-06-211-0/+202