David Garske
cefd55eb74
Fix for benchmarking shake with custom block size. Using ./benchmark -shake 1024 caused seg fault.
2023-02-08 11:25:53 -08:00
David Garske
48a136a932
Fix for MB vs MiB printing. The base2 option was printing type backwards (base2=1 = 1024 bytes and base2=0 or -base10 means 1000 bytes).
2023-01-12 11:09:20 -08:00
David Garske
5e1c7c3db2
Fix for benchmark help broken in PR #5871
2023-01-11 15:05:07 -08:00
Daniel Pouzzner
43265669c6
fix warnings around clang-diagnostic-embedded-directive and readability-uppercase-literal-suffix; update wolfSentry integration for upcoming release 0.8.0.
2023-01-05 00:13:17 -06:00
Jacob Barthelmeh
9dcc48c8f7
update copyright to 2023
2022-12-30 17:12:11 -07:00
Anthony Hu
0787ab1131
don't call external implemenation of kyber from benchmark anymore.
2022-12-29 11:48:54 -05:00
Anthony Hu
b3e99348cd
Purge the AES variant of Dilithium
2022-12-27 14:37:47 -05:00
Daniel Pouzzner
425d0b72c3
wolfcrypt/benchmark/benchmark.c: fix bench_stats_sym_finish() in GENERATE_MACHINE_PARSEABLE_REPORT mode to properly render "bytes_total" column in bytes, not the unit selected by WOLFSSL_BENCHMARK_FIXED_UNITS_*.
2022-12-26 20:25:05 -06:00
David Garske
60037ead70
Merge pull request #5871 from gojimmypi/BenchmarkEnhancements
...
Benchmark Enhancements and Code Cleanup
2022-12-22 17:18:47 -08:00
David Garske
29c46ce867
Merge pull request #5902 from bandi13/ESP-IDF_fixes
...
Esp idf v5 fixes
2022-12-22 17:01:09 -08:00
John Safranek
9ce79c4de8
Merge pull request #5921 from cconlon/libsuffix
2022-12-22 11:37:28 -08:00
Chris Conlon
9a7ff8773b
add --with-libsuffix support, append suffix to library artifact name
2022-12-21 13:31:07 -07:00
Andras Fekete
bc15f67d8d
Fixing indentation on preprocessor commands
2022-12-19 11:13:58 -05:00
András Fekete
11fcb790b1
Merge branch 'wolfSSL:master' into ESP-IDF_fixes
2022-12-19 11:11:55 -05:00
gojimmypi
64a7d511b8
Merge branch 'master' of https://github.com/wolfSSL/wolfssl into BenchmarkEnhancements
2022-12-16 14:00:16 -08:00
gojimmypi
c370529975
manual merge with upstream
2022-12-16 11:28:04 -08:00
Daniel Pouzzner
04b31518ba
wolfcrypt/benchmark/benchmark.c: fix calculation of outer iteration constant in bench_aesecb_internal(); fix .c.h clash in argument name ("useDevId" vs "useDeviceID").
2022-12-16 12:55:37 -06:00
Andras Fekete
814ad9fc38
Better fixes
2022-12-16 11:55:28 -05:00
Andras Fekete
b823da9bb9
Fix build issues with the latest ESP-IDF
2022-12-15 16:11:39 -05:00
gojimmypi
d8c9a5aa17
return benchmark to auto-scale units by default
2022-12-14 20:45:44 -08:00
gojimmypi
8831fbd22e
fix csv math, units/sec, PQ cycle header
2022-12-14 20:27:15 -08:00
JacobBarthelmeh
8924487f27
fix warning for builds using cmac and not devID
2022-12-14 15:38:08 -08:00
JacobBarthelmeh
9f77210b0b
update benchmark for devID builds
2022-12-14 15:20:03 -08:00
Sean Parkinson
819d40a76f
Benchmark AES-OFB: initialize and free AES object
...
Device ID is not initialized unless wc_AesInit() is called.
Call wc_AesFree() for possible hardware implementations.
2022-12-12 10:45:21 +10:00
gojimmypi
5e434e62fb
Support for WOLFSSL_BENCHMARK_FIXED_CSV, minor changes per #5871 feedback
2022-12-09 12:39:51 -08:00
gojimmypi
6c3e301006
Benchmark Consolidated Enhancements and Code Cleanup
2022-12-09 10:09:56 -08:00
Anthony Hu
3aa74e3c8c
stdout is undeclared
2022-12-08 15:29:48 -05:00
David Garske
9d9549fbd3
Merge pull request #5836 from anhu/kyber_cleanup
...
Remove kyber-90s and route all kyber through wolfcrypt.
2022-12-05 13:18:44 -08:00
Anthony Hu
a2fb4c0788
Remove kyber-90s and route all kyber through wolfcrypt.
2022-11-30 17:17:28 -05:00
Daniel Pouzzner
a9b28c1562
wolfcrypt/benchmark/benchmark.c: make iteration increment in bench_aesecb_internal() even lumpier (by a factor of 10) to further reduce false positives from iteration overhead.
2022-11-29 14:39:44 -06:00
David Garske
3046899966
Merge pull request #5821 from anhu/ntru_saber_purge
...
Purge NTRU and SABER. Not going to be standardized.
2022-11-28 08:28:11 -08:00
Sean Parkinson
7005d416ce
SP int: Comment and rework some code
...
Improvements to sp_int.c that make it slightly quicker and documented.
2022-11-28 18:06:09 +10:00
Anthony Hu
0bfa5c9836
Purge NTRU and SABER. Not going to be standardized.
2022-11-25 14:54:08 -05:00
Daniel Pouzzner
ca1ca24bc9
wolfcrypt/benchmark/benchmark.c: fix formatting (column alignment) in asym tests; fix typo in asym_pq section.
2022-11-08 12:31:04 -06:00
Daniel Pouzzner
b140abd1fd
wolfcrypt/benchmark/benchmark.c: add check_for_excessive_stime() and remove double declaration of base_rusage and cur_rusage.
2022-11-03 13:48:51 -05:00
Daniel Pouzzner
4ab41caf40
make static flags sym_header_printed, asym_header_printed, and pqasym_header_printed, local to the routines that use them (fixes an -Wunused-variable in -UBENCH_ASYM builds).
2022-11-01 01:12:17 -05:00
Daniel Pouzzner
89182b829f
wolfcrypt/benchmark/benchmark.c: add GENERATE_MACHINE_PARSEABLE_REPORT and LINUX_RUSAGE_UTIME codepaths;
...
fflush stdout after each scenario for line-buffered pipelining;
refactor csv_header_count into sym_header_printed, asym_header_printed, and pqasym_header_printed;
move SAKKE tests to precede PQ tests;
rename bench_stats_sym_check() to bench_stats_check();
add bench_stats_asym_finish_ex() accepting a "desc_extra" arg, and use it to disambiguate otherwise-homonymous SAKKE runs;
fix bench_aesecb_internal() to not check time (syscall) for every 3 blocks processed.
2022-11-01 00:15:37 -05:00
Sean Parkinson
fd7544ca19
Regresssion testing fixes
...
Ed25519 and Ed448 need to enable certs.
If no system CA certs can't be parsed,
wolfSSL_CTX_load_system_CA_certs() will fail. Don't try test if RSA and
ECC are not enabled.
Fix benchmark.c so that e is defined when WOLFSSL_BENCHMARK_ALL defined.
MAX_LENGTH_SZ is 4 and supports lengths up to 2^24 - one byte for length
and 3 bytes of length.
(new gcc compiler fix)
2022-10-27 17:47:48 +10:00
Jacob Barthelmeh
65d7d43497
use a check for if defined rather than value of macro
2022-10-24 16:32:19 -06:00
Jacob Barthelmeh
eb4c3e06eb
revert NO_MAIN_DRIVER behavior in benchmark app
2022-10-24 16:27:23 -06:00
Anthony Tatowicz
1f82e90dbf
Add SECP384 and SECP521 to bench
2022-10-21 18:50:59 -05:00
David Garske
0006d1f91c
Fix benchmark with small stack and WOLFSSL_RSA_VERIFY_ONLY.
2022-10-04 08:39:42 -07:00
David Garske
f9506dc05a
Add small stack to DoClientHello Suites (360 bytes). Add small stack for DRBG health test. Refactor of the small stack into its own header, to allow easier use in other files. Minor build fixes.
2022-09-30 14:06:31 -07:00
Daniel Pouzzner
ddad526e64
wolfcrypt/benchmark/benchmark.c: fix clang-tidy complaints around ungrouped string continuation and unparenthesized macro args.
2022-09-30 12:05:57 -05:00
Steffen Jaeckel
f24cf38f01
Update benchmarks
...
* add option to run benchmarks with and w/o AAD
This adds the possibility to benchmark AES-GCM and AES-CCM both with and
w/o AAD, with the option to also run both.
The default behavior when wolfSSL provides the `main()` function is
unchanged.
The default behavior when wolfSSL doesn't provide the `main()` function has
been changed to "run both benchmarks - with and w/o ADD".
* add option to run benchmarks against 4096bit RSA&DH keys
* remove `BENCH_SIZE` macro from benchmark.c
* pre-define benchmark sizes in a single place, before it had to be done in two places
* improve `benchmark_static_init()`
- static variable doesn't need to be in global scope
- add option to force re-init
- add more static variables to be reset
* add `-blocks` option to benchmarks
* expose benchmark `main()` as `wolfcrypt_benchmark_main()`
* fix benchmark `-?` output
* use correct SI/Binary prefix in benchmarks
* use a separate column per detail in CSV output of benchmark
* add `-aad_size` option to benchmark
* don't always print symmetric CSV headers
* always use M[i]B/s when output format is CSV
* Versal specific patches for benchmarks
This also removes the default define for `COUNTS_PER_SECOND` for Xilinx
targets, since I prefer to have a build failure over wrongly calculated
output.
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de >
2022-09-29 09:39:57 -06:00
David Garske
221fd275fd
Fixes for building without SHAKE.
2022-09-23 14:50:16 -07:00
David Garske
b42631c721
Fix for ESP32 wolfcrypt_test entry point.
2022-09-23 13:58:49 -07:00
Anthony Hu
bcf4dbe697
Changes inspired by Feedback from Sean.
...
Define WOLFSSL_HAVE_KYBER when HAVE_LIBOQS is defined.
Fix some misleading debug output.
Fix benchmarking logic.
2022-09-13 10:07:28 -04:00
Anthony Hu
a2635be9e6
wolfCrypt support for external Kyber implementations (liboqs and pqm4)
2022-09-13 10:07:28 -04:00
Sean Parkinson
8c1e2c52e7
Kyber: Add option to build Kyber API
...
wolfSSL Kyber implementation not included.
Added tests and benchmarking.
2022-09-13 10:07:27 -04:00