Chris Conlon
45c5a2d39c
update copyright to 2020
2020-01-03 15:06:03 -08:00
Eric Blankenhorn
b83804cb9d
Correct misspellings and typos from codespell tool
2019-12-24 12:29:33 -06:00
toddouska
44552fe707
Merge pull request #2536 from dgarske/nxp_mmcau_align
...
Fix NXP MMCAU when data pointer is not aligned
2019-11-08 15:02:43 -08:00
Hideki Miyazaki
0c8ab5b0e4
fix esp build failure
2019-11-03 12:19:59 +09:00
David Garske
28d466cb10
Fix to ensure 4-byte alignment is default for MMCAU with SHA1, SHA256 and MD5.
2019-10-30 13:34:57 -07:00
David Garske
7f42b71571
Fix NXP MMCAU when data pointer is not aligned.
2019-10-29 13:45:25 -07:00
John Safranek
825f311959
add OCTEON and QAT to wolfCrypt test, update SHA-1 to reset ret when it will do the software sha
2019-10-23 09:58:10 -07:00
Aaron Jense
0340b323cd
Fix shadow redeclaration
2019-10-02 09:41:06 -06:00
David Garske
b47039b7ec
Fix for possible unused local32 warning.
2019-09-27 09:22:18 -07:00
David Garske
78f6bbcdb8
Adjusted the alignement macro to use WC_HASH_DATA_ALIGNMENT for shared settings across hash algos.
2019-09-26 11:53:24 -07:00
David Garske
6bfe6761d8
Disable the new hashing aligned build option by default. Does not increase performance... the memcpy is faster than the alignment check on modern CPU's. Embedded systems may benefit from this though, so leaving support for it in place.
2019-09-26 11:49:33 -07:00
David Garske
4c709f1f2c
Improvements to SHA-1, SHA-256 and MD5 performance:
...
* Added detection for buffer alignment to avoid memcpy.
* Added MD5 and SHA-1 support for XTRANSFORM_LEN to process blocks.
* Cleanups for consistency between algorithms and code commenting.
* Enhancement for NXP MMCAU to process more than one block at a time.
* Improved MMCAU performance: SHA-1 by 35%, SHA-256 by 20% and MD5 by 78%.
```
NXP K64 w/MMCAU after:
MD5 8 MB took 1.000 seconds, 7.910 MB/s
SHA 4 MB took 1.005 seconds, 3.644 MB/s
SHA-256 2 MB took 1.006 seconds, 2.306 MB/s
NXP K64 w/MMCAU before:
MD5 4 MB took 1.004 seconds, 4.450 MB/s
SHA 3 MB took 1.006 seconds, 2.670 MB/s
SHA-256 2 MB took 1.008 seconds, 1.913 MB/s
```
2019-09-26 11:32:59 -07:00
Hideki Miyazaki
a6b2d1621b
Free memory for a msg buffer when calling wc_ShaxxxFree()
2019-09-19 11:18:52 +09:00
Hideki Miyazaki
5c6f6fdb7d
Renesas TSIP Support
...
merged from private repo
removed unneccessary #include
make line as 80 characters
added simple tls server
Disable TLS-linked API use when being SERVER SIDE, still use certificate verify API
Added utility tools, generate signature arrays etc
added vars to store tsip hmac keys
fix build failure when disabling dc_printf
2019-09-19 11:18:52 +09:00
David Garske
e298b3290d
Fix to initialize hash flag.
2019-08-21 06:36:37 -07:00
John Safranek
246c444b93
Updates for v4.0.0
...
Update the copyright dates on all the source files to the current year.
2019-03-15 10:37:36 -07:00
David Garske
68c04a95e0
Refactor of the crypto callback return code for cases when unavailable to use new error code CRYPTOCB_UNAVAILABLE. Retains support for original NOT_COMPILED_IN error code. Added new CRYPTO_CB_VER define for helping applications handle/detect changes to crypto callback interface (currently no way to determine changes at build-time between release cycles).
2019-03-08 16:50:45 -08:00
David Garske
dcdb1d7094
Added flag to indicate if hash is copied.
2019-02-12 16:03:10 -08:00
David Garske
838652c03b
Added flags build option to hashing algorithms. This allows indicator to determine if hash will be "copied" as done during a TLS handshake.
2019-02-12 16:03:10 -08:00
David Garske
ee45cfdbcb
Refactor and rename of cryptodev to cryptocb. Refactor API names from wc_CryptoDev to use wc_CryptoCb. Backwards compatibility is retained for anyone using old WOLF_CRYPTO_DEV name. Added comment about fall-through case when CryptoCb return NOT_COMPILED_IN.
2019-01-17 11:01:14 -08:00
David Garske
1201ffb13f
Added CryptoDev callback support for AES CBC and SHA1/SHA256.
2019-01-02 14:34:26 -08:00
Hideki Miyazaki
30612ad3ed
addressed review comments
2018-12-28 11:48:39 +09:00
Hideki Miyazaki
9d2294b967
Support AES and SHA hw acceleration on esp32-wroom-32
...
Removed unnecessary codes
Added README
Some clean up for maintenancebility
Removed unused methods
Removed unused methods
2018-12-28 08:39:19 +09:00
David Garske
beceab2734
Fix for leak with WOLFSSL_PIC32MZ_HASH and TLS. The PIC32 update cache buffer was not always being free'd.
2018-07-25 11:22:03 -07:00
Chris Conlon
7f19f914c0
create WOLFSSL_NUCLEUS_1_2 for older 1.2 version
2018-07-20 10:51:15 -06:00
Chris Conlon
eeb50099d9
initial Nucleus port with PB changes
2018-07-13 14:58:37 -06:00
John Safranek
586874b997
Rename INLINE
...
1. Renamed the macro INLINE as WC_INLINE.
2. For FIPS and the "selftest" build, define INLINE as WC_INLINE. Allows the FIPS code to work unchanged.
2018-06-26 15:17:46 -07:00
John Safranek
5e516cc2e0
Merge branch 'master' into fipsv2
2018-06-12 10:10:50 -07:00
Sean Parkinson
fb7d74c197
FinalRaw parameter hash may not be aligned.
2018-05-30 09:10:46 +10:00
Sean Parkinson
e684156a1e
Constant time padding and HMAC verification in TLS
2018-05-30 09:10:46 +10:00
John Safranek
90a5bde0f2
FIPS Revalidation
...
1. Update the const data and code segment tags for the Windown builds.
2018-05-16 15:47:12 -04:00
John Safranek
f6fe3744a7
FIPS Update
...
1. Moved the rest of the FIPS algorithms to FIPSv2.
2. Updated the fips-check and autogen scripts.
3. Updated the automake include for the crypto files.
4. Updated the example server to use the wolfSSL API and wolfSSL-based OpenSSL compatibility layer.
5. Added error code for the SHA-3 KAT.
6. Updated an test case in the API test for AES-GCM encrypt that is now considered a success case, but the FIPS mode was still treating as a failure.
2018-05-16 15:47:12 -04:00
David Garske
0be1c10fcd
Moved the STM32 functions to their own .c file. Added GPL header. Finished testing on STM32 CubeMX with F4 and F7 and StdPeriLib with F4.
2018-02-05 12:57:06 -08:00
David Garske
a4a5f4f27a
STM32 refactor to move hashing code into wolfssl/wolfcrypt/port/stm32.h. Supports CubeMX HAL or StdPeriLib with MD5, SHA1, SHA224 and SHA256. Detects if hardware supports SHA2. Adds hashing context save/restore and hashing clock/power optimizations. Fix for building *.c in wolfcrypt/src/port for caam_driver.c. Fix for warning with wolfSSL_CryptHwMutexUnLock when no threading defined and return code not checked.
2018-01-31 11:25:20 -08:00
Jacob Barthelmeh
01f603ad65
add documentation, macro for no AES hw or HASH hw, use usleep when waiting for entropy
2018-01-02 15:00:35 -07:00
Jacob Barthelmeh
5fa9455bf9
add CAAM with INTEGRITY support
2017-12-20 11:16:11 -07:00
David Garske
5a5fea7b46
Add USE_SLOW_SHA256 and USE_SLOW_SHA512 options for reduced code size of SHA. Existing USE_SLOW_SHA2 applies for SHA512 only. Cleanup formatting of the sha256.c and sha512.c code. Added new ./configure --lowresource option, which defines the memory reduction defines. Fix for make check resume.test scipt with NO_SESSION_CACHE defined.
2017-11-09 11:05:28 -08:00
David Garske
7f30397252
Remove execute bit on all code files.
2017-10-23 11:16:40 -07:00
David Garske
911b6f95f8
Release v3.12.2 (lib 14.0.0). Updated copywright.
2017-10-22 15:58:35 -07: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
dcab2f47ee
Fixes for STM32 hardware acceleration. Adds CubeMX HAL hashing support for MD5, SHA1, SHA224 and SHA256. Adds support for STM32F7 (WOLFSSL_STM32F7). Fixes issue with AES-GCM and STM32F2. Cleanup of the STM32 macros (adds NO_STM32_HASH, NO_STM32_CRYPTO and NO_STM32_RNG to optionally disable hardware acceleration).
2017-09-15 10:39:09 -07:00
David Garske
65b8389af0
Fix for handling hash copies to make sure copied buffer is not free’d. Resolves issues when testing TLS connection with wolfssl_tcp_client and openurl https://www.google.com/ .
2017-08-02 08:42:04 -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
Chris Conlon
c099137450
add classic Kinetis mmCAU support, FREESCALE_USE_MMCAU_CLASSIC
2017-06-28 16:32:35 -06:00
jrblixt
6acd5dafa7
Changes from Todd's code review.
2017-05-16 12:58:07 -06:00
jrblixt
606aca9916
Merge branch 'master' of https://github.com/jrblixt/wolfssl into unitTest_api_dev
2017-05-12 02:04:58 -06:00
David Garske
db63fe83d4
Initial pass at fixes for coverity scan.
2017-04-28 14:59:45 -07:00
jrblixt
3749988ee2
Updated wolfcrypt/src/sha.c.
2017-04-14 16:24:25 -06:00
jrblixt
00ea508751
Param check fix in hash files.
2017-04-14 02:16:04 -06:00
jrblixt
85b78835a6
Merge branch 'master' into unitTest_api_dev
...
src/keys.c
wolfcrypt/src/hmac.c
wolfcrypt/src/md5.c
wolfcrypt/src/sha256.c
wolfcrypt/src/sha512.c
wolfssl/wolfcrypt/md5.h
2017-04-13 16:33:23 -06:00