aboutsummaryrefslogtreecommitdiffstats
path: root/src/fuzzer
Commit message (Collapse)AuthorAgeFilesLines
* Add missing override annotations in fuzzers [ci skip]Jack Lloyd2018-04-062-2/+2
|
* Modify tls_server fuzzer to use callbacks interface, skip validationJack Lloyd2018-04-011-25/+63
|
* Update tls_client fuzzer to skip validation resultsJack Lloyd2018-04-011-15/+53
| | | | | Currently OSS-Fuzz stops cold at receiving the certificate message since the odds of libFuzzer forging an RSA signature are not high.
* Add EC_Group::clear_registered_curve_dataJack Lloyd2018-03-191-0/+7
| | | | | | Needed for OSS-Fuzz (OOMing a lot) and maybe very occasionally useful in some weird application that has to deal with 100s of different curves.
* Add mixed (J+A) point addition, new scalar mul for base pointsJack Lloyd2018-03-081-15/+25
| | | | | | | | | Adds PointGFp::force_affine(), ::add_affine(), and ::is_affine() Use a (very simple) technique for base point precomputations. Stick with fixed window for variable point inputs. Scalar blinding is now always enabled
* Simplify modular inversion fuzzerJack Lloyd2018-03-011-50/+6
| | | | | Now binary ext gcd algorithm has an exposed API so no need to duplicate the code here.
* Remove use of redc_helper in fuzzersJack Lloyd2018-02-266-54/+48
| | | | This runs into the same weird UbSan issue as in #1370
* Optimize Barrett reductionJack Lloyd2018-02-261-0/+41
| | | | | | | | | | OSS-Fuzz 6570 flagged an issue with slow modular exponentation. It turned out the problem was not in the library version but the simple square-and-multiply algorithm. Computing g^x % p with all three integers being dense (high Hamming weight) numbers took about 1.5 seconds on a fast machine with almost all of the time taken by the Barrett reductions. With these changes, same testcase now takes only a tiny fraction of a second.
* Change pow_mod fuzzer to also accept p from inputJack Lloyd2018-02-251-11/+15
| | | | | Previously it used a hardcoded (random) prime, but accepting all three inputs allows much better coverage of corner cases.
* Fix fuzzer buildJack Lloyd2018-02-221-3/+6
|
* Minimize header dependenciesJack Lloyd2018-02-211-1/+0
|
* New API for blinded ECC point multiplicationJack Lloyd2018-02-211-4/+4
| | | | No shared state
* Use shared representation of EC_GroupJack Lloyd2018-01-311-1/+1
| | | | Hide CurveGFp with an eye for eventual removal
* Update ASN.1 fuzzerJack Lloyd2018-01-151-1/+1
|
* Refactor ASN1_Pretty_PrinterJack Lloyd2017-12-281-1/+20
| | | | | | Now the base class ASN1_Formatter parses the data and calls virtuals to format. This allows custom formatting, or in the case of the fuzzer skipping the overhead of formatting entirely.
* Update ASN.1 fuzzerJack Lloyd2017-11-151-9/+9
|
* Fix fuzzer buildJack Lloyd2017-09-291-0/+1
|
* Fix building fuzzersJack Lloyd2017-09-215-1/+6
|
* Change header guard format to BOTAN_FOO_H_Jack Lloyd2017-09-203-6/+6
| | | | | | ISO C++ reserves names with double underscores in them Closes #512
* Clean up fuzzer code a bitJack Lloyd2017-09-025-46/+34
| | | | | If we ever output something to the terminal it should be because we are crashing.
* Add support for fuzzing with KLEEJack Lloyd2017-08-301-0/+16
| | | | | | For the fuzzers, builds an object and then links in a second step, because we need that to link the fuzzer binaries for LLVM. (Clang will emit bitcode for us, but doesn't want to link it.)
* Create new fuzzer build modeJack Lloyd2017-08-2527-0/+1082