John Safranek
39ea69dbac
AES-GCM
...
1. Updated the wolfCrypt GMAC test to leave out the test case with the 15-byte tag when building for FIPS.
2. Replace tabs with spaces.
2018-04-13 09:40:09 -07:00
John Safranek
a9ee541e3f
FIPS Revalidation
...
1. Added new AES-GCM Encrypt API for FIPS where the IV is generated internally.
2. Fix the AES-NI guard flags so it can be used when FIPS enabled.
2018-04-13 09:40:09 -07:00
John Safranek
7d620eb1ee
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-04-13 09:40:09 -07:00
John Safranek
910ecc9689
AES-CCM FIPS
...
1. Add new error code for the AES-CCM FIPS KAT failure.
2. When enabling FIPSv2, force enable AES-CCM.
2018-04-13 09:39:02 -07:00
David Garske
ede006b3e1
Merge pull request #1479 from JacobBarthelmeh/HardwareAcc
...
Fix PIC32 AES-CBC and add test case
2018-04-05 09:15:08 -07:00
Jacob Barthelmeh
815219b589
fix pic32 AES-CBC and add test case
2018-04-04 16:09:11 -06:00
David Garske
0c898f513d
Nitrox V fixes and additions:
...
* Added support for ECC, AES-GCM and HMAC (SHA-224 and SHA3).
* Fixes for Nitrox V with TLS.
* ECC refactor for so key based `r` and `s` apply only when building with `WOLFSSL_ASYNC_CRYPT`.
* ECC refactor for `e` and `signK` to use key based pointer for Nitrox V.
* Improved the Nitrox V HMAC to use start, update and final API's instead of caching updates.
* Fix for Intel QuickAssist with unsupported HMAC hash algos using `IntelQaHmacGetType` (such as SHA3).
* Added new API `wc_mp_to_bigint_sz` to zero pad unsigned bin.
* Fix for AES GCM to gate HW use based on IV len in aes.c and remove the gate in test.c.
* Implemented workaround to use software for AES GCM Nitrox V hardware and 13 byte AAD length for TLS.
* New debug option `WOLFSSL_NITROX_DEBUG` to add pending count.
2018-04-03 09:14:20 -07:00
Jacob Barthelmeh
f6869dfe09
AES ECB build with ARMv8 instructions enabled
2018-03-02 09:30:43 -07:00
Jacob Barthelmeh
79f13478df
add AES macro guards and reduce code in GetName
2018-02-23 13:45:42 -07:00
Jacob Barthelmeh
312d1a2aaf
fix unused function warning with CAAM and AES
2018-02-21 15:21:07 -07:00
Jacob Barthelmeh
c2f660c0fc
first round of adding AES key size macros
2018-02-19 17:23:49 -07:00
toddouska
95ed1a88ed
Merge pull request #1364 from SparkiDev/aesni_authtagsz
...
AES-GCM AES-NI code now handles different tag lengths
2018-02-09 13:19:14 -08:00
Sean Parkinson
35c993e55d
AES-GCM AES-NI code now handles different tag lengths
...
Encrypt and decrypt code modified.
AES-NI, AVX1 and AVX2 code modified.
Test of 15 byte tag added.
2018-02-09 17:21:06 +10:00
David Garske
fbdcd3c67f
Fix for missing ret in some wc_AesGcmEncrypt functions due to refactor in commit 0765aa0.
2018-02-07 15:40:28 -08:00
Sean Parkinson
e82e3d3d6e
Improve performance of AES-GCM for AVX1 and AVX2
2018-01-30 12:00:13 +10:00
toddouska
f06abdb3ae
Revert "Improve AES-GCM code for Intel AVX1 and AVX2"
2018-01-19 15:12:08 -08:00
toddouska
085d3dae14
Merge pull request #1315 from SparkiDev/aes_gcm_sb
...
Improve AES-GCM code for Intel AVX1 and AVX2
2018-01-19 15:09:34 -08:00
Jacob Barthelmeh
0c4f9c39c9
adjust AES-CFB location in code or --enable-armasm build and use wc_AesEncryptDirect function calls
2018-01-15 13:00:25 -07:00
Jacob Barthelmeh
df7917fcd9
add --enable-aescfb, add comments, include of stdio with snprintf
2018-01-12 11:05:43 -07:00
Sean Parkinson
3d6d80fe21
Improve AES-GCM code for Intel AVX1 and AVX2
...
Improve AES-GCM Intel performance by converting to pure inline ASM.
Improve AES-GCM Intel code algorithmically.
Split out platform specific code for AES-GCM encrypt and decrypt.
Move C implementation of AES-GCM to separate function to speed up Intel
ASM code.
Modified test to try all input byte sizes up to large benchmark size
when defined.
2018-01-12 10:51:32 +10:00
Jacob Barthelmeh
29ccc36fc2
refactor openssl test in test.c and update AES CFB compatibility function
2018-01-11 15:35:38 -07:00
Jacob Barthelmeh
953fc0d4a8
update CFB mode to handle partial AES block sizes
2018-01-11 15:28:56 -07:00
Jacob Barthelmeh
c2a6c6c395
add CFB mode for AES
2018-01-11 15:23:15 -07: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
84ecf94263
spelling mistakes, formatting, and change error name
2017-12-27 15:24:14 -07:00
Jacob Barthelmeh
22fc90006b
AES-XTS performance enhancement
2017-12-23 14:44:32 -07:00
Jacob Barthelmeh
cf1575fafb
AES-GCM performance enhancement
2017-12-23 14:44:32 -07:00
Jacob Barthelmeh
351a673ec0
Add AES-CCM hardware acceleration support and other fixes
2017-12-20 11:16:11 -07:00
Jacob Barthelmeh
5fa9455bf9
add CAAM with INTEGRITY support
2017-12-20 11:16:11 -07:00
Jacob Barthelmeh
89e57f4159
protect against AES-CCM copy to smaller local buffer
2017-12-19 11:55:40 -07:00
Jacob Barthelmeh
0d5a772348
revert macro to allow AES keywrap and AES XTS with ARM assembly
2017-12-19 11:49:30 -07: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
toddouska
8badc334ea
Merge pull request #1239 from JacobBarthelmeh/AES
...
fix AES ECB sanity checks
2017-11-16 13:57:47 -08:00
Jacob Barthelmeh
a89280ac91
fix AES ECB sanity checks
2017-11-16 13:27:57 -07:00
kaleb-himes
fd9a2a8d62
Change function to macro for GCC 4.8.*
...
GCC 4.8.* bug can't handle parameter that is a pointer to __m128i
2017-11-16 08:32:45 +10:00
toddouska
a0931313dd
Merge pull request #1226 from SparkiDev/aes_gcm_avx1_avx2
...
Improve AES-GCM performance on AVX1 (IvyBridge) and AVX2
2017-11-14 13:03:22 -08:00
Sean Parkinson
6c848e7133
Improve AES-GCM performance on AVX1 (IvyBridge) and AVX2
2017-11-13 15:43:30 +10:00
Jacob Barthelmeh
8ced766d61
fix warning for static analysis report
2017-11-09 13:16:29 -07:00
Sean Parkinson
6a825ea0ce
Fix warnings and g++ casting error
2017-11-09 17:30:59 +10: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
Sean Parkinson
152c24f210
Fix aesni code for avx2
2017-10-05 13:02:33 +10:00
JacobBarthelmeh
fd9b2d3b8d
Merge pull request #1116 from dgarske/stm32_hash
...
Fixes for STM32 hardware acceleration
2017-09-28 09:35:36 -06:00
Chris Conlon
4f15cde2eb
Merge pull request #1155 from dgarske/fixes_pic32mz
...
PIC32MZ minor build warning fixes
2017-09-26 16:26:32 -06:00
John Safranek
0ced1f4847
AESGCM Init
...
1. Update the AES-GCM with AES-NI 128-bit constant initializers so they work on both GCC/Clang and MSC.
* MSC uses a union for the type where the first member is a 16-byte array.
* GCC/Clang uses a 16-byte vector masking as a long long array.
2. Disable AES-GCM loop unrolling for Windows, when using AES-NI in 32-bit mode.
2017-09-22 15:28:47 -07:00
David Garske
4d8e1c9e5a
Minor build fixes for unused function and variable.
2017-09-19 12:48:57 -07:00
David Garske
816767744f
Fix for STM32 AES-CTR (tested on STM32F437). Improvement to the STM32 RNG code to detect improper RNG_CLK. Cleanup of the PIC32MZ Aes struct variables and the AES-CTR (tested on PIC32MZ2048).
2017-09-18 16:08:09 -07:00
David Garske
27d607efa3
Fixes for AES on STM32 with StdPeriLib and fix for building with NO_STM32_CYPTO. Researching better solution for AES-CTR.
2017-09-15 10:39:09 -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
Jacob Barthelmeh
398252ddad
add XtsAes structure and change XTS-AES API
2017-09-08 16:00:33 -06:00