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