David Garske
0bb41e1eb4
Resolve hash new leak due to improper heap hint check. Make sure isAllocated is initialized to 0.
2024-10-05 11:44:58 -07:00
David Garske
7989dd8713
Refactor the AES ECB/Direct, CBC and CTR tests.
2024-10-05 11:44:58 -07:00
Aidan Garske
e10c943bf3
wolfCrypt CSharp Wrapper:
...
* Adds RNG, ECC(ECIES and ECDHE), RSA, ED25519/Curve25519, AES-GCM, and Hashing to the CSharp wrapper.
* Adds GitHub action for building the CSharp wrapper solution and running wolfCrypt test and a TLS server/client example.
* Adds "new" API's for wolfCrypt for platforms that cannot tolerate the structs directly.
* Fixes for several scan-build warnings.
2024-10-05 11:44:58 -07:00
Daniel Pouzzner
e944967731
wolfssl/wolfcrypt/types.h: add WC_NO_STATIC_ASSERT path, and add C89-compatible live fallback definition for wc_static_assert().
...
wolfssl/internal.h: refactor WOLFSSL_ASSERT_EQ() and WOLFSSL_ASSERT_SIZEOF_GE() to use wc_static_assert(), and drop unused WOLFSSL_ASSERT_TEST() and WOLFSSL_ASSERT_SIZEOF_TEST().
src/ssl_crypto.c and wolfcrypt/src/evp.c: refactor ad hoc asserts in wolfSSL_DES_ecb_encrypt(), wolfSSL_CRYPTO_cts128_decrypt(), and wolfSSL_EVP_DigestInit(), to use wc_static_assert().
2024-10-04 21:11:25 -05:00
Daniel Pouzzner
a25c0244a7
wolfssl/wolfcrypt/types.h: refactor static_assert*() as wc_static_assert*() to avoid conflicts with target-native static_assert(), and add additional coverage for C23 and MSVC C11.
...
wolfcrypt/test/test.c: in render_error_message(), in tests for strerror_r(), test for __USE_GNU.
2024-10-04 16:41:33 -05:00
Daniel Pouzzner
2e539ef70c
Merge pull request #7983 from philljj/tiny_dilithium_cleanup
...
dilithium: small cleanup to support wolfboot.
2024-10-03 23:37:11 -05:00
Daniel Pouzzner
f1e6dd2bac
Merge pull request #8037 from gojimmypi/pr-espressif-benchmark
...
Improve benchmark for Espressif devices
2024-10-03 23:36:27 -05:00
Sean Parkinson
f7afc47d98
Kyber ARM32 ASM: add assembly using base instructions
...
Support ARMv4 up to ARMv8.
Base instructions only - faster implemenation will use NEON.
2024-10-04 11:06:18 +10:00
jordan
c3410f2cb8
dilithium: support building dilithium with wolfboot.
2024-10-03 16:38:12 -05:00
David Garske
d0d802a2df
Merge pull request #8038 from SparkiDev/sp_math_ppc_li_fix
...
SP Maths: PowerPC ASM fix
2024-10-03 11:03:31 -07:00
David Garske
afe5209427
Merge pull request #7706 from SparkiDev/kyber_thumb2_asm
...
Kyber ASM ARMv7E-M/ARMv7-M: added assembly code
2024-10-03 10:56:42 -07:00
Sean Parkinson
d2047986d9
Kyber ASM ARMv7E-M/ARMv7-M: added assembly code
...
Improved performance by reworking kyber_ntt, kyber_invtt,
kyber_basemul_mont, kyber_basemul_mont_add, kyber_rej_uniform_c to be
in assembly.
Replace WOLFSSL_SP_NO_UMAAL with WOLFSSL_ARM_ARCH_7M
2024-10-03 18:11:31 +10:00
Sean Parkinson
695914ed33
SP Maths: PowerPC ASM fix
...
The instruction 'li' is a pseduo instruction for 'load immediate'.
With some compilers, the immediate was interpretted R0[0].
Change to use XOR instead.
2024-10-03 09:00:06 +10:00
Daniel Pouzzner
e814d1baea
Merge pull request #8016 from SparkiDev/dilithium_draft_final_fix
...
Dilithium: Final and draft available in one build
2024-10-02 14:02:00 -05:00
gojimmypi
cd6bea852b
Improve benchmark for Espressif devices
2024-10-02 09:54:48 -07:00
Reda Chouk
10f0885d88
Merge branch 'master' into fix-conversion
2024-10-02 17:14:06 +02:00
Sean Parkinson
50bbdbbe42
Dilithium: Final and draft available in one build
...
Make draft version of ML-DSA compiled in with final.
Use WC_ML_DSA_44_DRAFT, WC_ML_DSA_65_DRAFT and WC_ML_DSA_87_DRAFT for
the level to get the draft implementation.
2024-10-02 22:23:25 +10:00
gojimmypi
75a676bc7e
Espressif _thread_local_start and _thread_local_end fix
2024-10-01 03:19:31 -07:00
JacobBarthelmeh
ee7f02bbd6
Merge pull request #8004 from SparkiDev/dilithium_fixes_1
...
Dilithium: fixes
2024-09-30 10:01:16 -06:00
JacobBarthelmeh
113a61c11e
Merge pull request #8025 from douzzer/20240927-fixes2
...
20240927-fixes2
2024-09-30 09:43:12 -06:00
David Garske
2db2bedd5f
Merge pull request #8027 from SparkiDev/kyber_original_fix
...
Kyber original: fix to work
2024-09-30 07:58:30 -07:00
David Garske
47add7e9e2
Merge pull request #8020 from SparkiDev/arm32_base_chacha20_poly1305
...
ARM32 ChaCha20, Poly1305: assembly code
2024-09-30 06:53:37 -07:00
Sean Parkinson
bb67069e4a
Kyber original: fix to work
...
Encapsulate the message (hash of rand) for original.
Final of FIPS 203 uses rand.
2024-09-30 22:05:26 +10:00
Sean Parkinson
e4301bc554
ARM32 generated files: fix line lengths
...
Generated ARM32 assembly files no longer have lines with more than 80
characters.
2024-09-30 08:50:31 +10:00
Daniel Pouzzner
60c2499602
wolfssl/wolfcrypt/types.h: when defining fallback do-nothing SAVE_VECTOR_REGISTERS2(), also define SAVE_VECTOR_REGISTERS2_DOES_NOTHING, and likewise for fallback CAN_SAVE_VECTOR_REGISTERS, define CAN_SAVE_VECTOR_REGISTERS_ALWAYS_TRUE;
...
wolfcrypt/src/aes.c:
* when SAVE_VECTOR_REGISTERS2_DOES_NOTHING, define do-nothing VECTOR_REGISTERS_PUSH and VECTOR_REGISTERS_POP, to mollify Coverity CONSTANT_EXPRESSION_RESULT;
* in AesGcmDecryptUpdate_aesni(), omit " && (c != NULL)" clause from computation of endA argument to AesGcmAadUpdate_aesni(), to mollify Coverity FORWARD_NULL (impermissible nullness is already checked and BAD_FUNC_ARGed by the sole caller, wc_AesGcmDecryptUpdate());
wolfcrypt/src/misc.c: add readUnalignedWord64(), writeUnalignedWord64(), readUnalignedWords64(), and writeUnalignedWords64(), for safe word64 access to possibly-unaligned data;
wolfcrypt/src/wc_kyber_poly.c: use readUnalignedWords64() and readUnalignedWord64() to mitigate sanitizer-reported "load of misaligned address".
2024-09-27 17:15:53 -05:00
JacobBarthelmeh
b96e73f9ed
Merge pull request #7936 from gojimmypi/pr-add-espressif-esp-tls-cert-bundle
...
Add wolfSSL esp-tls and Certificate Bundle Support
2024-09-27 15:22:49 -06:00
Daniel Pouzzner
794f0d8d19
src/pk.c: add missing "keySz = padded_keySz" in _DH_compute_key() ct cleanup path.
...
wolfcrypt/src/wc_kyber_poly.c: add SAVE_VECTOR_REGISTERS2()...RESTORE_VECTOR_REGISTERS() wrappers for AVX2 implementations.
src/bio.c and src/ssl.c: add several missing WC_NO_ERR_TRACE()s, and tweak several returns to generate error traces.
2024-09-27 00:28:45 -05:00
David Garske
2285c02f1c
Merge pull request #7998 from SparkiDev/kyber_aarch64_asm
...
Kyber Aarch64: assembly implementations of functions
2024-09-26 11:59:06 -07:00
Sean Parkinson
2323a5cf59
ARM32 ChaCha20, Poly1305: assembly code
...
Add assembly code for ChaCha20 and Poly1305 on ARM32 when no NEON
available.
2024-09-26 20:24:58 +10:00
gojimmypi
2a354905cb
Add wolfSSL esp-tls and Certificate Bundle Support, improve esp32_mp RSA
2024-09-25 19:42:21 -07:00
Sean Parkinson
de657787cf
Kyber Aarch64: assembly implementations of functions
...
Aarch64 assembly implementation of Kyber functions.
SHA-3 assembly implementations when not hardware crypto.
2024-09-26 09:10:05 +10:00
JacobBarthelmeh
45b88048c2
make macro unique to wolfSSL
2024-09-25 15:59:57 -06:00
JacobBarthelmeh
d72c0b372c
Merge pull request #7990 from buchstabenwurst/master
...
Add support for (DevkitPro)libnds
2024-09-25 15:52:34 -06:00
JacobBarthelmeh
79b5ec86f6
Merge pull request #8015 from gojimmypi/pr-mp_read_radix
...
gate test mp_read_radix on OPENSSL_EXTRA or !NO_DSA or HAVE_ECC
2024-09-25 11:35:57 -06:00
JacobBarthelmeh
2328a7e407
Merge pull request #8017 from philljj/misc_cleanup
...
misc cleanup: extra spaces, typos.
2024-09-25 11:26:31 -06:00
JacobBarthelmeh
67b0c4d03f
Merge pull request #8009 from philljj/asn_cleanup
...
asn: cleanup around edPubKeyASN.
2024-09-25 10:09:40 -06:00
jordan
e5109b3f41
misc cleanup: extra spaces, typos.
2024-09-25 09:51:48 -05:00
Brett Nicholas
7592241a46
Merge pull request #8007 from billphipps/fix_cmac_cryptocb
...
Update to separate CMAC and AES conditional compiles. Correct update.
2024-09-25 08:43:27 -06:00
gojimmypi
393072037a
gate test mp_read_radix on OPENSSL_EXTRA || !NO_DSA || HAVE_ECC
2024-09-24 17:23:04 -07:00
Bill Phipps
60dbe38226
Update cmac.c to eliminate extra spaces
2024-09-24 18:34:19 -04:00
Bill Phipps
13b26bc46b
Update cryptocb.c to fix comment
2024-09-24 18:27:58 -04:00
Brett Nicholas
967dc443fa
remove trailing whitespace
2024-09-24 12:58:01 -06:00
jordan
c6124d573a
asn: tiny peer review cleanup.
2024-09-24 13:01:13 -05:00
Bill Phipps
8aa63e3aad
One more time to quiet clang tidy
2024-09-24 13:43:56 -04:00
Bill Phipps
5e1db686e1
Update logic to avoid clang-tidy warning.
2024-09-24 13:14:00 -04:00
Bill Phipps
35442d27b5
Fixed overlong lines. Thanks clang-tidy
2024-09-24 12:48:54 -04:00
John Safranek
17261467a6
Revert "FP SmallStack Fix"
...
This reverts commit 47e51400bb .
Turns out we don't want to put those fp_ints on the stack unless
absolutely necessary.
2024-09-24 09:19:43 -07:00
Bill Phipps
0d158fc663
Updates due to peer review
2024-09-24 12:06:19 -04:00
Joshua Okeleke
1896b47399
Change comment style
2024-09-24 16:35:29 +02:00
jordan
0f646b6e4b
asn: cleanup around edPubKeyASN.
2024-09-23 23:24:36 -05:00