Sean Parkinson
4d75f337bb
Fix AVX2 final func to reset state
2018-01-24 16:36:44 -08:00
Sean Parkinson
f2079ca792
Added option to benchmark RSA sign/verify instead of enc/dec
2018-01-18 11:35:19 +10:00
toddouska
2e6f97621a
Merge pull request #764 from JacobBarthelmeh/Compatibility-Layer-Part3
...
Compatibility layer part3
2018-01-13 09:57:14 -08:00
Jacob Barthelmeh
df7917fcd9
add --enable-aescfb, add comments, include of stdio with snprintf
2018-01-12 11:05:43 -07:00
Jacob Barthelmeh
c2a6c6c395
add CFB mode for AES
2018-01-11 15:23:15 -07:00
David Garske
481f4765eb
Cleanup to remove duplicate MAX_DIGEST_SIZE in hmac.h and refactor to use WC_MAX_DIGEST_SIZE. Cleanup for HMAC to include hash.h and refactor HMAC_BLOCK_SIZE to WC_HMAC_BLOCK_SIZE. Fix build warning in benchmark.c with unused variable if features are disabled.
2018-01-11 09:52:49 -08:00
toddouska
f2375f3fee
Merge pull request #1271 from SparkiDev/chacha20_sb
...
Improve performance of small number of blocks for chacha20
2018-01-02 09:40:49 -08:00
David Garske
f71047ef2d
Fix for building with `BENCH_EMBEDDED`. Fix for building without OPENSSL_EXTRA where wolfSSL_OPENSSL_malloc assumes size_t is defined. Improvements to the GCC-ARM IDE example.
2017-12-29 08:19:21 -08:00
Chris Conlon
7bc5bcb86a
benchmark.c fixes for NO_MAIN_DRIVER, const arrays
2017-12-20 14:55:35 -07:00
Chris Conlon
e4ac38c532
fix valgrind use of uninitialized value warning
2017-12-20 11:35:30 -07:00
Sean Parkinson
31aa5e308d
Improve performance of small number of blocks for chacha20
2017-12-19 18:02:21 +10:00
toddouska
26019b3441
Merge pull request #1262 from SparkiDev/benchmark
...
Improve benchmark program
2017-12-11 15:55:00 -08:00
Sean Parkinson
704b332960
Add usage information
...
Only recognize on command line algorithms compiled in.
2017-12-11 11:40:11 +10:00
Sean Parkinson
2954b67f96
Improve benchmark program
...
Supports command line choosing of algorithms to benchmark.
Display benchmarks in powers of 10 (1000, 1000*1000) instead of
powers of 2 (1024, 1024*1024).
2017-12-08 13:57:34 +10:00
David Garske
bababf115a
Moved to IDE/XCODE. Fixed build warnings with xcode. Updated the `user_settings.h` to support fast math, ECC, timing resistance, single precision math, ARMv8, SHA3, ChaCha20/Poly1305, Ed/Curve25519 and ensure default disables are defined. Added Xcode iOS benchmark example. Runs wolfCrypt test, wolfCrypt benchmark and the new TLS benchmark by cipher suite.
2017-12-07 11:02:19 +01:00
Takashi Kojo
86a287be01
fix compile error with EWARM
2017-11-27 09:01:33 +09:00
David Garske
e591576cdf
Cleanup of the RSA exponent hard coded value.
2017-11-06 10:23:06 -08:00
David Garske
911b6f95f8
Release v3.12.2 (lib 14.0.0). Updated copywright.
2017-10-22 15:58:35 -07:00
David Garske
f23ec7d5f2
Fix for building with `--disable-oldnames`.
2017-10-18 10:22:35 -07:00
toddouska
9920bdf097
Merge pull request #1103 from SparkiDev/sp_rsa
...
Single Precision maths for RSA, DH and ECC
2017-10-18 08:44:47 -07:00
Chris Conlon
e49560fbf0
add missing parameter in SHOW_INTEL_CYCLES
2017-10-17 09:31:21 -06:00
Chris Conlon
7dccd9d478
set hash size for PIC32MZ hardware crypto
2017-10-17 09:30:26 -06:00
Chris Conlon
d5b7c13fbf
change enc/dec labels for AES, move scrypt bench below HMAC
2017-10-17 09:30:26 -06:00
Chris Conlon
d65704c6b4
add benchmarks for AES-128/192/256-ECB
2017-10-17 09:30:16 -06:00
Sean Parkinson
90f8f67982
Single Precision maths for RSA (and DH)
...
Single Precision ECC implementation
2017-10-17 08:36:39 +10:00
Chris Conlon
9a6e4b2939
add separate benchmarks for AES-128/192/256-GCM
2017-10-16 14:43:39 -06:00
Chris Conlon
1e445e10a1
add separate benchmarks for AES-128/192/256-CTR
2017-10-16 14:43:38 -06:00
Chris Conlon
2b077b2792
add separate benchmarks for AES-128/192/256-CBC
2017-10-16 14:43:38 -06:00
Chris Conlon
1f72696359
add HMAC-MD5/SHA/SHA224/SHA384/SHA512 benchmarks
2017-10-16 14:43:38 -06:00
David Garske
6707be2b0e
Added new `--disable-oldnames` option to allow for using openssl along-side wolfssl headers (without OPENSSL_EXTRA). Add `--enable-opensslcoexist` which makes sure `oldnames` is disabled. Refactor of `SSL_` to `WOLF_SSL_`. Refactor of `SHA`, `MD5`, `SHA224`, `SHA256`, `SHA512` and `SHA384` to `WC_` naming.
2017-10-11 09:10:42 -07:00
David Garske
ee6f88cd98
Fix cast warnings with wolfCrypt test/benchmark. Cleanup of 80 char max line length in wolfCrypt test.
2017-09-22 15:22:42 -07:00
David Garske
eec5f9bb41
Fixes for benchmark after buffers were moved into thread. Needed THREAD_LS_T and fixed benchmark alloc failure cleanup.
2017-09-22 11:35:46 -07:00
David Garske
a9e540fc07
Moved the bench_ buffer allocation/free into the thread, so the THREAD_LS has a unique one for each which resolves issues with benchmark when using the `USE_QAE_THREAD_LS` option.
2017-09-15 14:02:06 -07:00
David Garske
3f16fba4f8
Fix build warning with possible use of unitialized `ret`.
2017-09-15 10:41:43 -07:00
Jacob Barthelmeh
398252ddad
add XtsAes structure and change XTS-AES API
2017-09-08 16:00:33 -06:00
Jacob Barthelmeh
ef73c1df7c
add AES-XTS mode --enable-xts
2017-08-30 17:50:15 -06:00
David Garske
b32be20110
Refactored async event intialization so its done prior to making possible async calls. Added `threadId` and removed volatile attribs in `WOLF_EVENT`. Fixed possible unitialized value in benchmark ret.
2017-08-15 21:19:28 -07:00
David Garske
a9c943d5bd
Fix jenkins warning with possible uninitialized 'ret'.
2017-08-15 21:19:28 -07:00
David Garske
44a3622248
Fixes to better handle threading with async. Fix `wc_CamelliaCbcEncrypt` return code checking. Fix to ensure cycles per byte shows on same line. Refactor of async event state. Refactor to initalize event prior to operation (in case it finishes before adding to queue). Add `HAVE_AES_DECRYPT` to --enable-all option. Cleanup benchmark error display.
2017-08-15 21:19:28 -07:00
David Garske
4e735631e7
Fixes for PIC32MZ:
...
* Adds crypto HW support for AES Direct and AES CCM.
* Fixes to enable PIC32MZ hardware hashing where updates are cached via heap buffer and final performs single operations against hardware.
* Fix for benchmark with 1024-bit certs passing in wrong size for `wc_RsaPrivateDecrypt` when using `USE_CERT_BUFFERS_1024`.
* Fix to resolve missing `strncasecmp` for the Microchip XC32. Workaround to use case sensitive version instead. This error occurred when building with HAVE_ECC defined in Harmony with XC32.
* Cleanup of the PIC32MZ crypto and hashing hardware code. Replace `pic32mz-hash.c` with `pic32mz-crypt.c`
* Add user_settings.h for mplabx and mcapi examples.
* Sync up with Harmony changes for MCAPI.
2017-08-01 12:42:09 -07:00
Sean Parkinson
bde6a35ac4
Assembly optimization for AES-NI, and AVX1 and AVX2
...
Unroll the loop for 8.
Use new optimized maths.
Fix SHA-384 to use SHA-512 assembly code.
Only perform CPU id check in one place.
2017-07-25 08:50:39 +10:00
toddouska
36c2ee92dc
Merge pull request #1050 from JacobBarthelmeh/ARMv8
...
Xilinx port
2017-07-24 15:37:05 -07:00
Jacob Barthelmeh
59a46d08d9
Xilinx port
2017-07-21 17:39:47 -06:00
David Garske
f0d6299581
Fix issue with `benchmark_init` refactor where malloc failure could use null pointer. Added error checking on the `wolfCrypt_Init()`.
2017-07-21 09:31:12 -07:00
David Garske
0a63221220
Fix for SHA3 benchmark digest size for 224. Fix for building track and debug memory together. Fix for hash test order of SHA256 wrong. Fix for asn `SkipObjectId` missing, when RSA and ECC disabled. Enhancement to allow individual bench calls with bench init/free.
2017-07-19 18:14:57 -07:00
Chris Conlon
f8c0a52170
Merge pull request #996 from jrblixt/unitTest_api_addAes-PR06152017
...
Unit test api add AES.
2017-07-11 08:36:13 -07:00
toddouska
e767d40656
Merge pull request #1006 from cconlon/mqx
...
Update MQX Classic, mmCAU Ports
2017-07-05 10:30:20 -07:00
David Garske
a025417877
Fix issue with QAT and DH operations where key size is larger than block size. Fix issue with DhAgree in TLS not setting agreeSz, which caused result to not be returned. Renamed the internal.c HashType to HashAlgoToType static function because of name conflict with Cavium. Optimize the Hmac struct to replace keyRaw with ipad. Enable RNG HW for benchmark. Fixed missing AES free in AES 192/256 tests.
2017-06-30 11:35:51 -07:00
Chris Conlon
15a1c9d48e
fixes for MQX classic with Codewarrior
2017-06-28 12:28:40 -06:00
jrblixt
a3b21f0394
Aes unit test functions.
2017-06-26 15:16:51 -06:00
jrblixt
6a2824f199
Add Camellia unit test functions..
2017-06-16 16:27:03 -06:00
toddouska
b778ddfea2
Merge pull request #957 from SparkiDev/tls13_updates
...
Tls13 updates
2017-06-14 14:59:11 -07:00
Sean Parkinson
89e6ac91bf
Improve PSK timeout checks
...
Post-handshake Authentication
Fix KeyUpdate to derive keys properly
Fix supported curves (not checking ctx extensions)
2017-06-14 11:28:53 -07:00
Nickolas Lapp
1e94868432
Add LINUX SGX Support for building of wolfSSL static library. See README
...
in IDE/LINUX-SGX/README.md.
2017-06-13 17:34:45 -07:00
Levi Rak
267753acdd
add void to function prototype
2017-06-12 10:28:10 -06:00
toddouska
320ad56139
Merge pull request #939 from dgarske/fixes_async
...
Fixes for build with async
2017-05-26 17:04:57 -07:00
Sean Parkinson
4134073c8d
Initial revision of SHA-3
2017-05-25 09:09:50 +10:00
Chris Conlon
60c51db831
Merge pull request #928 from jrblixt/unitTest_api_sha224-RipeMd
...
Add sha224 RipeMd to unit test
2017-05-24 09:00:35 -06:00
David Garske
c1664bd1a0
Fixes for async with benchmark tool.
2017-05-23 15:41:42 -07:00
toddouska
bdaa827114
Merge pull request #927 from dgarske/fix_nxp_ltc
...
Build fixes for NXP KSDK with MMCAU / LTC after Hexiwear changes
2017-05-19 08:49:54 -07:00
jrblixt
77ac61c0f4
Prepare for PR Add Sha224 and RipeMd to unit test.
2017-05-18 13:08:25 -06:00
David Garske
30db8e95a7
Build fixes for KSDK NXP MMCAU / LTC after Hexiwear changes.
2017-05-18 11:52:20 -07:00
David Garske
48895cf03b
Added argument for benchmark block size. Usage: `./wolfcrypt/benchmark/benchmark 128`. Automatic calculation for showing as bytes, KB or MB.
2017-05-18 11:24:32 -07:00
David Garske
4edcbc79c1
RipeMd and Sha224 added to unit test.
2017-05-18 09:32:11 -06:00
David Garske
e8cf4b5ff0
Coverity fixes for TLS 1.3, async, small stack and normal math.
2017-05-09 09:13:21 -07:00
Jacob Barthelmeh
dbb67d8582
warnings for builds of haproxy, nginx, and leanpsk
2017-05-02 14:29:53 -06:00
toddouska
27aafd674a
Merge pull request #886 from dgarske/fixes_coverity2
...
Fixes for coverity scan (part 2)
2017-05-02 08:53:03 -07:00
Chris Conlon
8d032081ae
Merge pull request #767 from shihrer/hexiwear_pr
...
Hexiwear changes and KDS Project for Hexiwear platform
2017-05-02 07:31:41 -06:00
David Garske
9491027c85
Fixes for coverity scan (part 2).
2017-05-01 16:34:24 -07:00
David Garske
db63fe83d4
Initial pass at fixes for coverity scan.
2017-04-28 14:59:45 -07:00
Michael
b08e5f3b82
Merge branch 'master' into hexiwear_pr
2017-04-14 12:03:42 -06:00
Michael Shihrer
21d2becd6b
Modified settings.h to allow building on KSDK 1.3, modified test.c and benchmark.c to work with KSDK, added KDS project for building wolfSSL for Hexiwear
2017-04-14 12:02:28 -06:00
David Garske
4c6a70861b
Fix build errors with --enable-scrypt.
2017-04-13 09:37:48 -07:00
David Garske
c1640e8a3d
Intel QuickAssist (QAT) support and async enhancements/fixes:
...
* Adds ./configure "--with-intelqa=../QAT1.6”, port files, memory management and README.md (see wolfcrypt/src/port/intel/).
* Added Intel QAT support for RSA public/private (CRT/non-CRT), AES CBC/GCM, ECDH/ECDSA, DH, DES3, SHA, SHA224, SHA256, SHA384, SHA512, MD5 and HMAC.
* wolfSSL async enabled all client and server: PKI, Encrypt/Decrypt, Hashing/HMAC and Certificate Sign/Verify.
* wolfSSL async support in functions: Encrypt, Decrypt, VerifyMAC, BuildMessage, ConfirmSignature, DoCertificate, ParseCertRelative, and MakeSignature.
* wolfCrypt test and benchmark async support added for all HW acceleration.
* wolfCrypt benchmark multi-threading support.
* Added QuickAssist memory overrides for XMALLOC, XFREE and XREALLOC. XREALLOC determines if existing pointer needs reallocated for NUMA.
* Refactor to make sure “heap” is available for async dev init.
* Added async support for all examples for connect, accept, read and write.
* Added new WC_BIGINT (in wolfmath.c) for async hardware support.
* Added async simulator tests for DES3 CBC, AES CBC/GCM.
* Added QAT standalone build for unit testing.
* Added int return code to SHA and MD5 functions.
* Refactor of the async stack variable handling, so async operations have generic args buffer area and cleanup function pointer.
* Combined duplicate code for async push/pop handling.
* Refactor internal.c to add AllocKey / FreeKey.
* Refactor of hash init/free in TLS to use InitHashes and FreeHashes.
* Refactor of the async event->context to use WOLF_EVENT_TYPE_ASYNC_WOLFSSL for WOLFSSL* and WOLF_EVENT_TYPE_ASYNC_WOLFCRYPT for WC_ASYNC_DEV*.
* Suppress error message for WC_PENDING_E.
* Implemented "wolfSSL_EVP_MD_CTX_init" to do memset.
* Cleanup of the openssl compat CTX sizes when async is enabled.
* Cleanup of AES, DES3, DH, SHA, MD5, DES3, DH, HMAC, MD5 for consistency and readability.
* Cleanup of the OPAQUE_LEN.
* Cleanup to use ENCRYPT_LEN instead of sizeof(ssl->arrays.preMasterSecret).
* Changed ssl->arrays.preMasterSecret to use XMALLOC (accelerates HW operations)
* Reduce verbosity with debug enabled for "GetMyVersion", "wolfSSL Using RSA OAEP padding" and "wolfSSL Using RSA PKCSV15 padding".
* Updated RSA un-padding error message so its different than one above it for better debugging.
* Added QAT async enables for each algorithm.
* Refactor of the async init to use _ex.
* Added WC_ASYNC_THRESH_NONE to allow bypass of the async thresholds for testing.
* Reformatted the benchmark results:
PKI: "RSA 2048 private HW 18522 ops took 1.003 sec, avg 0.054 ms, 18467.763 ops/sec"
Crypto/Hashing: SHA-256 SW 350 megs took 1.009 seconds, 346.946 MB/s Cycles per byte = 9.87
* Added min execution time for all benchmarks.
* Moved wc_*GetHash and wc_*RestorePos to appropriate files so use of isCopy flag is local.
* Fix for ECC sign status sometimes being invalid due to uninitialized ECC digest in benchmark.
* Added new DECLARE_VAR/FREE_VAR and DECLARE_ARRAY/FREE_ARRAY macros for helping setup test/benchmark variables to accelerate async.
* Added NO_SW_BENCH option to only run HW bench.
* Added support for PRNG to use hardware SHA256 if _wc devId provided.
* Fix to prevent curve tests from running against wrong curve sizes. Changed wc_ecc_set_curve to match on exact size.
* Added the wc_*GetHash calls to the wolfCrypt tests.
* Added async hardware start/stop to wolfSSL init/cleanup.
* Refactor to add wc_*Copy for hashing context (for async), which replaces wc_*RestorePos.
* Fixes for building with TI hashing (including: SHA224, missing new API’s and building with dummy build for non hw testing). Note: We need to add build test for this `./configure CFLAGS="-DWOLFSSL_TI_HASH -DTI_DUMMY_BUILD”`.
* Added arg checks on wc_*GetHash and wc_*Copy.
* Cleanup of the BuildMD5, BuildSHA, BuildMD5_CertVerify and BuildSHA_CertVerify functions.
* Added new ./configure --enable-asyncthreads, to allow enable/disable of the async threading support. If --enable-asynccrypt set this will be enabled by default if pthread is supported. Allows multi-threaded benchmarks with async simulator.
* Added checks for all hashing to verify valid ->buffLen.
* Fix for SHA512 scan-build warning about un-initialized “W_X”.
* Fix for valgrind un-initialized use of buffer in AllocDer (der->buffer) and BuildTlsFinished handshake_hash.
* Refactor of the benchmarking to use common function for start, check and finish of the stats.
* Fixed issue with ECC cache loading in multi-threading.
* Fix bug with AESNI not aligned code that assumes XMALLOC is 16-byte aligned.
* Added new WC_ASYNC_NO_… options to allow disabling of individual async algorithms. New defines are: WC_ASYNC_NO_CRYPT, WC_ASYNC_NO_PKI and WC_ASYNC_NO_HASH. Additionally each algorithm has a WC_ASYNC_NO_[ALGO] define.
* Added “wolfSSL_GetAllocators” API and fixed the wolfCrypt memcb_test so it restores callback pointers after test is complete (fixes issue with using custom allocators and test breaking it).
2017-04-10 14:45:05 -07:00
David Garske
d648d4f6c7
Fix leak in StackSizeCheck. Fix build error with debug enabled and stack size check.
2017-04-05 14:24:55 -07:00
David Garske
34a4f1fae0
Move wolfCrypt test/benchmark to move static memory pool to global (not in stack). Fix wolfCrypt test wc_InitRng to use _ex with HEAP_HINT (when not FIPS). Added ability to use HAVE_STACK_SIZE with wolfCrypt test and benchmark. Cleanup of the benchmark_test function main wrapper.
2017-03-31 13:11:23 -07:00
David Garske
75abeaecfc
Updates for TKernel port (WOLFSSL_uTKERNEL2). Added support for InterNiche prconnect_pro using WOLFSSL_PRCONNECT_PRO. Cleanup the min/max functions. Add NO_STDIO_FGETS_REMAP to not include the fgets remap for WOLFSSL_uTKERNEL2. Fix TFM build warning. Added HAVE_POCO_LIB. Added wolfCrypt test temp cert path for WOLFSSL_uTKERNEL2 = /uda/. Added WOLFSSL_CURRTIME_REMAP for benchmark to allow different function name to be used for system which have a conflicting name. Add ability to use normal malloc/free with WOLFSSL_uTKERNEL2 using NO_TKERNEL_MEM_POOL. Added new XMALLOC_OVERRIDE to allow custom XMALLOC/XFREE/XREALLOC macros. Move CUSTOM_RAND_GENERATE up in RNG choices. Rename tls.c STK macros due to conflict.
2017-03-28 19:10:19 -07:00
David Garske
e98a0465ae
tenAsys INtime RTOS port. Porting complete for mutex semaphores, threading, file, socket and RNG. Added projects for libwolfssl and wolfExamples. The wolfExamples project includes examples for wolfCrypt Test/Benchmark and wolfSSL TLS client/server. Provided reference user_settings.h with comments and enable/disable gates. Added README.md with overview and instructions. Fixed issue building master with NO_WOLFSSL_DIR defined. Added check if old TLS is enabled that SHA and MD5 are enabled. Cleanup of the wolfCrypt test use of USE_CERT_BUFFERS with file system enabled.
2017-03-13 09:48:55 -07:00
David Garske
9c7407d18c
Added return codes to wc_InitDhKey, wc_InitDsaKey and mp_set. Added missing return code checks on mp_copy in ecc.c. Fixed build with DSA and no ECC where mp_set function def would be missing.
2017-02-21 14:03:21 -08:00
toddouska
ef38ab8fc5
Merge pull request #701 from JacobBarthelmeh/mutex
...
better compatibility with printing errors to a file
2017-02-08 11:12:17 -08:00
John Safranek
ac0181d527
In benchmark, change the calls to InitRNG to the explicit
...
heap versions like all the other crypt calls so it works
with static memory. Plays nice with FIPS mode if available.
2017-01-20 15:36:08 -08:00
David Garske
1afe613512
Fixes for building with NO_AES_DECRYPT. Added new HAVE_AESGCM_DECRYPT to allow AES GCM Decrypt with NO_AES_DECRYPT defined, since GCM uses only encrypt routine. Only allow TLS AES if NO_AES_DECRYPT is not defined.
2017-01-18 15:56:18 -08:00
toddouska
fc8ab42612
Merge pull request #671 from dgarske/ecc_curve_cache
...
New ECC curve cache feature to improve performance
2017-01-11 13:34:32 -08:00
Jacob Barthelmeh
dcb9ef6651
better compatibility with printing errors to a file
2017-01-06 14:29:16 -07:00
David Garske
6cc1fd293e
Fixed issue with stack increase with curve cache disabled. Fixed issue with missing wc_ecc_curve_free() in wc_ecc_verify_hash_ex() causing mem leak. Changed ecc_curve_spec_cache to be allocated per curve. Added new wc_ecc_curve_cache_free() API to release all curve cache memory. Moved ecc_curve_spec struct and ecc_curve_load_mask enum to ecc.c. Add missing wc_ecc_fp_free() to wolfCrypt test. Added ecc.c comment for FP_ECC.
2016-12-21 12:31:02 -08:00
Sean Parkinson
20887a8c35
Implementation of scrypt
...
Tests and benchmarking added.
Configure with --enable-scrypt and requires --enable-pwdbased
2016-12-14 16:57:41 +10:00
kaleb-himes
6c7e1785aa
EXIT_TEST macro added for cleaner implementation and maintenance
2016-12-09 19:39:36 -07:00
kaleb-himes
9e17b2b0aa
Merge branch 'master' of https://github.com/wolfssl/wolfssl into RIOT_OS
2016-12-09 13:09:25 -07:00
David Garske
eaca90db28
New Atmel support (WOLFSSL_ATMEL) and port for ATECC508A (WOLFSSL_ATECC508A). Adds wolfCrypt support for ECC Hardware acceleration using the ATECC508A. Adds new PK callback for ECC shared secret. Fixed missing "wc_InitRng_ex" when using "CUSTOM_RAND_GENERATE_BLOCK". Added ATECC508A RNG block function for P-RNG bypass ability. Added internal "wolfSSL_GetEccPrivateKey" function for getting reference to private key for ECC shared secret (used in test.h for testing PK_CALLBACK mode). Added README.md for using the Atmel ATECC508A port.
2016-12-07 07:57:55 -08:00
kaleb-himes
162294e3e5
added benchmark app for RIOT and updated test error handling
2016-12-02 14:39:37 -07:00
Sean Parkinson
fdfc177254
SHA224 implementation added
...
Added SHA24 implementation and tetss.
Added HMAC-SHA224 implementation and tests.
Added RSA-SHA224 and ECDSA-SHA224.
Added MGF1-SHA224
Added OpenSSL APIs for SHA224
Configuration option to enable SHA224 and it is on by default for x86_64
2016-11-10 15:52:26 +10:00
toddouska
3780f452e8
Merge pull request #609 from JacobBarthelmeh/ARMv8
...
ARMv8 : clang build with ARMv8
2016-11-03 09:02:20 -07:00
JacobBarthelmeh
6f06b60bc0
ARMv8 : clang build with ARMv8
2016-11-01 13:38:01 -07:00
Jacob Barthelmeh
09c32de412
RNG : option to not use RNG
2016-10-31 16:51:02 -06:00
toddouska
2ecf7090ca
Merge pull request #595 from JacobBarthelmeh/Testing
...
static analysis : Fix warnings with wc_AesCcmSetKey
2016-10-12 11:27:29 -07:00
Jacob Barthelmeh
54c51ec4a0
static analysis : Fix warnings with wc_AesCcmSetKey
2016-10-12 10:02:53 -06:00
Jacob Barthelmeh
eb9161d8a7
ARMv8 : sanity checks
2016-10-10 15:08:59 -06:00
Jacob Barthelmeh
6d73175b22
Benchmark App : fixed some invalid set key sizes
2016-09-17 15:07:38 -06:00
Jacob Barthelmeh
41912b92c6
initial ARMv8 instructions
2016-09-01 18:10:06 +00:00
David Garske
6a70403547
Fix for "not used" devId in benchmark.
2016-08-29 11:01:16 -07:00
David Garske
2ecd80ce23
Added support for static memory with wolfCrypt. Adds new "wc_LoadStaticMemory" function and moves "wolfSSL_init_memory_heap" into wolfCrypt layer. Enhanced wolfCrypt test and benchmark to use the static memory tool if enabled. Added support for static memory with "WOLFSSL_DEBUG_MEMORY" defined. Fixed issue with have-iopool and XMALLOC/XFREE. Added check to prevent using WOLFSSL_STATIC_MEMORY with HAVE_IO_POOL, XMALLOC_USER or NO_WOLFSSL_MEMORY defined.
2016-08-29 10:38:06 -07:00
David Garske
17a34c5899
Added asynchronous wolfCrypt RSA, TLS client and Cavium Nitrox V support. Asynchronous wolfSSL client support for "DoServerKeyExchange", "SendClientKeyExchange", "SendCertificateVerify" and "DoCertificateVerify". Fixes for async DTLS. Refactor of the wolf event and async handling for use in wolfCrypt. Refactor of the async device support so its hardware agnostic. Added Cavium Nitrox V support (Nitrox tested using SDK v0.2 CNN55XX-SDK with new configure "--with-cavium-v=/dir" option). Moved Nitrox specific functions to new port file "port/cavium/cavium_nitrox.c". RSA refactor to handle async with states. RSA optimization for using dpraw for private key decode. Use double linked list in wolf event for faster/cleaner code. Use typedef for wolf event flag. Cleanup of the async error codes. wolfCrypt test and benchmark support for async RSA. Asynchronous mode enabled using "./configure --enable-asynccrypt". If no async hardware is defined then the internal async simulator (WOLFSSL_ASYNC_CRYPT_TEST) is used. Note: Using async mode requires async.c/h files from wolfSSL. If interested in using asynchronous mode please send email to info@wolfssl.com.
2016-08-15 13:59:41 -06:00
toddouska
d235a5f0cc
add WC_RSA_BLINDING, wc_RsaSetRNG() for RSA Private Decrypt which doesn't have an RNG
2016-07-18 11:57:47 -07:00
John Safranek
61801e06df
add benchmark for AES-CMAC
2016-05-25 16:12:19 -07:00
David Garske
c1507957c4
Added a benchmark for ECC encrypt/decrypt when enabled via "HAVE_ECC_ENCRYPT" or "--enable-eccencrypt --enable-hkdf".
2016-05-19 11:42:00 -07:00
Chris Conlon
8f3e1165a1
add Whitewood netRandom client library support
2016-05-05 15:31:25 -06:00
toddouska
ee21d33794
Merge pull request #407 from wolfSSL/embOS-port
...
embOS port
2016-05-05 13:27:27 -07:00
kaleb-himes
6e26cac686
Reworking directories and simplify README
2016-05-04 13:03:05 -07:00
David Garske
822d71431e
Moved mem_track.h into wolfssl/wolfcrypt. Added new WOLFSSL_DEBUG_MEMORY option. Added documentation for using mem_track and new debug memory option.
2016-05-04 10:04:38 -07:00
kaleb-himes
d184f8b1aa
wolfSSL embOS port Initialize
...
self-review complete
Removed autogenerated files
2016-05-03 17:09:55 -06:00
John Safranek
698b1cc7dc
update benchmark to show AES-CBC decrypt speed
2016-04-08 13:33:41 -07:00
David Garske
dd28d53cfb
Fix build issues with new async changes. Fixed issue with unused args preSigSz and preSigIdx with PSK enabled and ECC + RSA disabled. Fixed issue with missing qsSz variable in DoClientKeyExchange. Fixed missing DhAgree and DhKeyGen with NO_CERTS and PSK enabled. Fixed a couple scan-build warnings with "Value stored to '' is never read".
2016-04-01 09:23:46 -07:00
David Garske
f539a60a40
Adjusted the RNG benchmark to split into smaller requests of max allowed RNG size.
2016-03-25 06:59:35 -07:00
David Garske
27e041246f
Added benchmark for the RNG.
2016-03-24 08:42:19 -07:00
Jacob Barthelmeh
e99a5b0483
prepare for release v3.9.0
2016-03-17 16:02:13 -06:00
David Garske
0683ecb727
Fixed FreeCRL issue with strdup memory. Added additional checks for WOLF_AES_CBC and WOLF_AES_COUNTER. Disabled memory tracker by default for wolfCrypt test and benchmark. Updated README to better document Linux Binutils LD bug workaround.
2016-03-16 09:41:19 -07:00
David Garske
a38183b816
Port for Nordic nRF51 RNG, RTC and AES. Added RNG test for wc_RNG_GenerateBlock 0's check even if HAVE_HASHDRBG is enabled. Added NIST test vectors for ECC P-256, P-384 and P-521. Added helpful debug message in ECC import if issue finding ecc_sets[] for curve. Moved memory tracker into separate file and added support for it to wolfcrypt test and benchmark. Added Ed255519/Curve25519 options for granular control of sign, verify, shared secret, import and export. Added AES options for max key size (AES_MAX_KEY_SIZE), no decrypt (NO_AES_DECRYPT) and no CBC (NO_AES_CBC).
2016-03-15 13:58:51 -07:00
David Garske
731e13ecf2
Fixes issue with building crypt benchmark with only ED/Curve25519 enabled with static rng missing.
2016-02-22 16:46:13 +01:00
David Garske
8d0d5a3f90
Fixes so ECC only build works. Fixes so ECC enabled with ASN disabled works and will prevent ECC sign/verify.
2016-02-10 08:53:09 -08:00
David Garske
be4c400d16
Fixes for disabling the crypt test and benchmark. Added new "./configure --disable-crypttests" option. Also made sure use of both NO_CRYPT_BENCHMARK and NO_CRYPT_TEST in "./configure CFLAGS=-D" scenario work correctly.
2016-02-04 12:06:24 -08:00
kaleb-himes
bf1af39027
benchmark needs a main if NO_CRYPT_BENCHMARK defined
2016-02-04 12:07:39 -07:00
David Garske
dda0de4baa
Added optional define "NO_CRYPT_BENCHMARK" to allow disabling benchmark code.
2016-02-01 13:04:30 -08:00
David Garske
f8876854f4
Spelling fixes in comments and error strings (ALGO_ID_E, ASN_TIME_E and WOLFSSL_ERROR function).
2016-01-29 16:13:09 -08:00
David Garske
07c79f9dc3
Fixes unused argument build error seen on CrossWorks (Issue #255 ).
2016-01-14 21:09:01 -08:00
David Garske
09793e3206
Added benchmark.h to expose the benchmark_test function. Updated a couple of projects to use the new benchmark header.
2015-11-17 08:52:12 -08:00
toddouska
54a0a3370a
fix wolfSSL_Init to only call new wolfCrypt_Init() once
2015-11-02 12:35:43 -08:00
toddouska
28dcef2d71
gcm benchmark results format alignment
2015-11-02 09:39:34 -08:00
John Safranek
f8aeac608c
1. Add C NI-intrinsic AES-GCM encrypt and decrypt.
...
2. Fix error string for wolfcrypt test of GMAC.
3. Add AES-GCM Decrypt to benchmark.
2015-10-30 16:03:26 -07:00
Jacob Barthelmeh
dc31b9238f
wolfcrypt init
2015-10-23 11:55:17 -06:00
toddouska
d669fc28c2
add idea benchmark, cleanup
2015-09-23 14:42:48 -07:00
Takashi Kojo
9af596dfff
add config files
2015-08-12 17:55:18 +09:00
Chris Conlon
0cd893a51b
Freescale: Use new I/O where applicable
2015-08-07 16:22:31 -06:00
Chris Conlon
5d40c5f566
Rename RNG to WC_RNG for Freescale, add NO_OLD_RNGNAME define to completely remove RNG type usage
2015-08-07 11:53:19 -06:00
John M. Schanck
53fb9188e7
Use ntru functions from stable libntruencrypt api
...
ntru_crypto_external_drbg_instantiate has been renamed
to ntru_crypto_drbg_external_instantiate in the 1.0.0
release of libntruencrypt. Made various other small changes
to build against libntruencrypt.
2015-07-16 15:43:50 -04:00
Jacob Barthelmeh
14723b7e65
QSH (quantum-safe handshake) extension
2015-07-07 09:55:58 -06:00
Takashi Kojo
fe3253e618
IAR/EWARM wolfSSL name change
2015-06-01 20:02:20 +09:00
Takashi Kojo
559404137e
moving xxxGetHash to hash.c
2015-05-27 18:37:19 +09:00
Takashi Kojo
aaa1fe813a
Added aes.c/des3.c
2015-05-22 09:55:49 +09:00
toddouska
8f8fb3834a
reduce benchmark stack use, reduce max variable sizes
2015-05-07 14:24:58 -07:00
toddouska
114fc18c33
add alignment to benchmark key/iv
2015-04-30 17:10:33 -07:00
toddouska
d090721730
fix cycles per byte format is cycles > 100
2015-03-28 14:38:29 -07:00
toddouska
905e5801f8
fix benchmark format, GB/s won't misalign output
2015-03-27 21:36:35 -07:00
toddouska
495fbe087e
allow dh to be used w/o certs and asn
2015-03-27 14:28:05 -07:00
toddouska
8f6d7a1ce7
rename ecc25519 to curve25519, less confusing with ed25519 now in play too
2015-03-24 11:56:40 -07:00
John Safranek
9f2454fc78
Added a noop function wc_FreeRng() for when not using the HashDRBG to keep
...
the calls to InitRng and FreeRng simple and balanced.
2015-03-20 14:19:35 -07:00
toddouska
2e7d3a9121
cleanup ed benchmark
2015-03-19 13:00:20 -07:00
toddouska
478a8bb059
adjust ./configure format, change ed sign/verify to msg from hash
2015-03-19 12:48:32 -07:00
Jacob Barthelmeh
d89d524570
initial ed25519 implementation
2015-03-19 11:40:41 -06:00
toddouska
1395c88ec4
Merge pull request #14 from lchristina26/master
...
fix STM32 bug in benchmark.c
2015-02-25 13:39:49 -08:00
lchristina26
f04b042c73
fix STM32 bug in benchmark.c
2015-02-25 11:43:30 -07:00
toddouska
9d20e712bf
add autoconf support for chapoly-aead, wipe temp polykey, minor whitespace adjusts
2015-02-24 12:33:52 -08:00
Andrew Burks
0e5f879d0b
Added documentation and benchmarks.
2015-02-24 10:00:39 -08:00
toddouska
420668c1f9
tiddy up 25519
2015-02-19 16:07:13 -08:00
Jacob Barthelmeh
4babd2cf2d
added in curve25519 crypto
2015-02-19 10:59:05 -07:00
John Safranek
7cff22c4b0
moved the buffers, key, and iv around in the file so lean-psk would still build
2015-01-30 10:43:31 -08:00
toddouska
c5b495c44e
fix HASH-DRBG memory leak in benchmark
2015-01-28 12:29:53 -08:00
toddouska
d6d56c8532
fix missing function argument to get_intel_cycles()
2015-01-26 16:49:28 -08:00
toddouska
a682d53f67
add cycles per byte to gcc + x86_64 benchmarks
2015-01-26 16:33:30 -08:00
John Safranek
2bcd55226f
Merge branch 'ecc2'
2015-01-23 10:37:55 -08:00
John Safranek
2e6d118a50
allow different sized fast math for both RSA and ECC
...
add C_EXTRA_FLAGS "-DALT_ECC_SIZE" to enable, and set
size with "-DFP_MAX_BITS_ECC=512", default is 512
2015-01-23 10:26:41 -08:00
kaleb-himes
b0e88e32ff
Error printouts name changed
2015-01-20 12:36:20 -07:00
Jacob Barthelmeh
3345293ad7
debugging the debugging function in benchmark
2015-01-14 17:01:44 -07:00
kaleb-himes
8fe965cf24
ntru wc_ fixes
2015-01-14 09:52:33 -07:00
Jacob Barthelmeh
d366599285
adding comment to header and _fips to c files
2015-01-08 10:42:01 -07:00
kaleb-himes
a389620a29
Copyright (C) updates
2015-01-08 09:39:04 -07:00
kaleb-himes
ce65bef5a8
enable-fpecc enable-ecc
2015-01-06 13:42:02 -07:00
Jacob Barthelmeh
cbbdfc7b96
wolfcrypt api testwolfcrypt update
2014-12-29 14:35:46 -07:00
kaleb-himes
edf53a1ed0
new changes
2014-12-29 10:27:03 -07:00
Jacob Barthelmeh
279f149828
adjustments to reverse compatibility
2014-12-19 16:31:01 -07:00
Jacob Barthelmeh
5107c6c12b
debugging linking error
2014-12-19 15:30:07 -07:00
Jacob Barthelmeh
e6a629118c
api calls to crypt library in portibality layer
2014-12-18 14:23:33 -07:00
Kaleb Himes
cf8cf779c5
headers and include.ams
2014-12-17 15:33:22 -07:00