summaryrefslogtreecommitdiff
path: root/src/regress/lib/libcrypto/bn (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Unhook bn_mod_exp2_mont testtb2023-03-261-2/+1
|
* Fold the small BN_mod_exp2_mont() crash test into bn_mod_exp.ctb2023-03-262-23/+27
|
* Test negative modulus as well.tb2023-03-261-5/+7
| | | | Lower the number of rounds. These tests are expensive.
* Align bn_mod_exp_zero_test() with bn_mod_exp_test()tb2023-03-261-11/+11
|
* Fix copy-paste errortb2023-03-261-2/+2
|
* Fix a typo in dump_exp_results()tb2023-03-261-2/+2
|
* Add more extensive regress coverage for BN_mod_exp2_mont()tb2023-03-261-1/+191
|
* Rename dump_results() into dump_exp_results()tb2023-03-261-4/+4
| | | | | This prepares for consistency with an upcoming diff. While here fix an argument order bug.
* Move the N_MOD_EXP_TESTS up to where it belongstb2023-03-261-3/+3
|
* Add regress coverage for an issue with BN_mod_exp2_mont() reportedtb2023-03-261-1/+23
| | | | | | | | by Guido Vranken in ossfuzz #55997. This test currently fails and will be fixed momentarily. This also checks sensible behavior with respect to zero exponents for this functions.
* bn_primes: there is no need to link this statically. It can pull thetb2023-03-261-2/+5
| | | | primes table in directly.
* bn_mod_exp_ret() fix stupid logic errortb2023-03-261-4/+5
|
* KNF: some missing spaces after commatb2023-03-181-5/+5
|
* Rename bn_mod_exp_zero to the more appropriate bn_mod_exptb2023-03-182-4/+4
|
* Retire the bn_mod_exp test.tb2023-03-182-222/+1
| | | | Its is fully covered by bn_mod_exp_zero now.
* Reimplement a variant of the bn_mod_exp tests from scratchtb2023-03-181-2/+202
| | | | | This exercises the same corner cases as bn_mod_exp and a few more. With input from jsing
* Include tests with negative values in BN_mod_exp* regress.jsing2023-03-151-2/+15
| | | | This currently fails.
* bn_mod_exp_zero: rename result into gottb2023-03-151-14/+14
|
* Add regress coverage for BN_{add,sub,mul,div,mod}_word().jsing2023-03-112-1/+619
| | | | | | | This also provides some indirect coverage for BN_hex2bn(), BN_bn2hex() and BN_get_word(). Two of these tests are currently failing and will be fixed shortly.
* Mark test table as static const.jsing2023-03-111-2/+2
|
* reduce number of tests in bn_rand_interval.tb2023-03-081-2/+2
| | | | | This is only testing basic functionality anyway, so 10000 tests are more than enough.
* bn_isqrt: reduce number of tests to 100.tb2023-03-081-2/+2
| | | | | | The runtime is roughly quadratic in N_TESTS. While it only takes 1-2s on modern machines, this test takes a long time on slow machines. A reduction of runtime by a factor of ~16 is significant.
* Add regress coverage for BN_num_bits_word()tb2023-02-141-1/+25
|
* Revise for negative zero changes.jsing2023-02-131-2/+2
|
* Add currently failing negative zero check to BN_rshift() regress.jsing2023-02-131-1/+5
|
* Add bn/arch/${MACHINE_CPU} to the include path.jsing2023-01-311-1/+2
| | | | This will be needed once headers pull in bn_arch.h.
* Add more regress tests for BN_usub().jsing2023-01-311-1/+22
| | | | | | This adds more tests for BN_usub(), particularly where b > a, which should be an error condition. One of these currently succeeds and produces incorrect results.
* Use utime in order to make benchmarks less noisy and more consistent.jsing2023-01-291-5/+14
|
* Set BN_FLG_CONSTTIME on benchmark inputs.jsing2023-01-291-1/+4
| | | | | The public APIs still change behaviour based on BN_FLG_CONSTTIME - set it to avoid benchmark noise.
* Add benchmarks for BN_div()jsing2023-01-291-10/+147
|
* Correct setup for BN_mul/BN_sqr benchmarks.jsing2023-01-291-4/+4
| | | | BN_rand() takes a bit length, not the top bit.
* Rename bn_mul.c regress to bn_mul_div.c.jsing2023-01-292-5/+5
|
* Provide basic benchmarks for BN_mul() and BN_sqr().jsing2023-01-212-2/+275
|
* Fix previous.jsing2023-01-071-3/+9
|
* Add additional shift benchmarks that are useful on BN_BITS2 == 32 platformsjsing2023-01-051-2/+56
|
* Add regress coverage for shifts of zero bits.jsing2022-12-231-1/+38
|
* Do similar setup for lshift and rshift benchmarks.jsing2022-12-231-1/+13
| | | | This prevents realloc from unnecessarily impacting the lshift benchmarks.
* Use volatile sig_atomic_t for flag set in signal handlertb2022-12-181-2/+2
|
* Switch to using BN_zero() instead of BN_zero_ex()tb2022-12-171-2/+2
|
* Move benchmark target up a bit and mark it phonytb2022-12-171-4/+5
|
* Zap some whitespacetb2022-12-171-2/+2
|
* Provide regress coverage for BN shift functions.jsing2022-12-172-1/+543
| | | | | | Provide regress coverage for BN_lshift1(), BN_rshift1(), BN_lshift() and BN_rshift(), along with basic benchmarking functionality (run via 'make benchmark').
* bn/Makefile: tidy up and simplifytb2022-12-091-16/+10
|
* bn_mod_exp test: drop extra parentheses for readabilitytb2022-12-081-4/+4
|
* Add a few missing headers and drop a few unused onestb2022-12-067-20/+20
| | | | In bn_test.c include bn_local.h instead of using copy-pasted prototypes.
* bn_mod_exp.c doesn't need <string.h>tb2022-12-051-2/+1
|
* More cleanuptb2022-12-031-11/+8
| | | | | Drop unnecessary loading of error strings, fix error path and consistently print to stdout.
* Refactor and fix bn_mod_exp testtb2022-12-031-80/+86
| | | | | | | | | | | The amount of copy-paste in this test led to a few bugs and it was hard to spot them since things were done in random order. Use a different approach: compute the result of a^b (mod m) according to BN_mod_exp_simple(), then compare the results of all the other *_mod_exp* functions to that. Reuse the test structure from bn_mod_exp_zero.c to loop over the list of functions. This way we test more functions and don't forget to check some crucial bits.
* Add missing checks for BN_mod_exp_{non,}ct()tb2022-12-031-6/+8
| | | | | | Someone added a few more functions to test, but forgot to check their results, so if they would not do the expected thing that would only be noticed if one of the already tested functions would break.
* Fix some ancient silliness with a random bytetb2022-12-031-8/+5
| | | | | | | For nearly 25 years this test has attempted to generate random numbers of bit length between 192 and 319 bits. Unfortunately, it used an unsigned char so instead of generating numbers in the interval [-64..63] and add them to 256, it used numbers in the intervals [0..63] and [192..255]...