JacobBarthelmeh
dda72dc19c
Merge pull request #6979 from SparkiDev/sp_arm64_noinline
...
SP ARM64 P-256: mark functions as SP_NOINLINE
2023-11-21 09:48:08 -07:00
JacobBarthelmeh
60909d5cba
Merge pull request #6971 from SparkiDev/iar_thumb2_asm
...
IAR Thumb2 ASM: fixes
2023-11-21 09:46:31 -07:00
Sean Parkinson
9ac3083e5d
Thumb2 ASM fixes
...
Make a separate AES for IAR that has AES_encrypt_block and
AES_decrypt_block inlined. Default code is relying on compiler to use
specific registers and not modify others.
Improve performance of small SP ASM code for RSA.
2023-11-21 11:58:10 +10:00
Sean Parkinson
e97e1b5847
SP ARM64 P-256: mark functions as SP_NOINLINE
...
iOS device compilations are inlining functions and causing P-256 to
fail.
Add SP_NOINLINE to key P-256 functions.
Add "cc" to more clobber lists.
2023-11-21 10:43:38 +10:00
JacobBarthelmeh
538ce14c62
Merge pull request #6953 from SKlimaRA/SKlimaRA/enable-ca-false
...
Enable encoding CA:FALSE with build flag
2023-11-20 15:03:14 -07:00
David Garske
7566328610
Implement proper wc_AesSetKeyLocal for NXP/Freescale MMCAU and LTC. This is required for AES CTR and AES Direct.
2023-11-20 08:15:50 -08:00
Anthony Hu
3fa612f49f
Fix build errors when defining FREESCALE_MMCAU
2023-11-20 08:15:45 -08:00
Sean Parkinson
9ed0018954
Merge pull request #6980 from gojimmypi/SM-cipher-type-PR
...
Fix evp SM cipherType check
2023-11-20 07:22:54 +10:00
gojimmypi
16dba37ae6
fix wolfSSL_EVP_CIPHER_CTX_ctrl() SM GCM/CCM type
2023-11-17 07:56:56 -08:00
Daniel Pouzzner
e395aad84b
Merge pull request #6958 from embhorn/zd16866
...
Add XGMTIME validation
2023-11-16 21:28:27 -05:00
JacobBarthelmeh
957a0ce300
Merge pull request #6964 from lealem47/zd16470
...
Parse explicit parameters in StoreEccKey()
2023-11-16 15:59:21 -07:00
gojimmypi
4c6c2942b1
Fix evp SM cipherType
2023-11-16 13:38:39 -08:00
JacobBarthelmeh
6945093221
Merge pull request #6935 from SparkiDev/ssl_crypto_extract
...
ssl.c: Move out crypto compat APIs
2023-11-16 11:58:14 -07:00
Sean Parkinson
8c61b2cc5f
IAR Thumb2 ASM: fixes
...
Don't assign constants to registers with IAR.
Don't assume register usage in AES_set_encrypt_key.
2023-11-16 11:14:43 +10:00
JacobBarthelmeh
bb73c233fc
Merge pull request #6973 from douzzer/20231115-misc-fixits
...
20231115-misc-fixits
2023-11-15 15:27:25 -07:00
Daniel Pouzzner
748b058dde
wolfcrypt/src/aes.c: fix for -Wrestrict in wc_AesCbcDecrypt() when WOLFSSL_AESNI.
2023-11-15 00:51:21 -06:00
Sean Parkinson
26a9435f5c
ECC point double: when z ordinate is 0 point is infinity
...
Recognize z == 0 as infinity in result of double.
2023-11-15 16:43:06 +10:00
Daniel Pouzzner
7e99ccc782
wolfcrypt/src/wc_port.c, wolfssl/wolfcrypt/wc_port.h: refactor WOLFSSL_GMTIME gmtime() into gmtime_r(), and always define HAVE_GMTIME_R when defined(WOLFSSL_GMTIME).
2023-11-15 00:09:22 -06:00
Sean Parkinson
2213306386
ECC double point: SECP112R2 and SEC128R2 are Koblitz curves
...
SECP112r2 and SECP128R2 are Koblitz curves, so don't compile them in
unless HAVE_ECC_KOBLITZ is defined. This requires custom curves which
enables point doubling to support A != -3.
2023-11-15 13:30:45 +10:00
Sean Parkinson
c4677927bc
AES GCM ARM64: Replace hardware crypto assembly with generated code
...
Optimized assembly of AES GCM for ARM64 using hardware crypto
instructions.
Code replaced between "START..." and "END...".
2023-11-14 09:24:05 +10:00
JacobBarthelmeh
c903a8c4a6
Merge pull request #6854 from SparkiDev/aes_bit_sliced
...
AES bitsliced implementation added
2023-11-10 17:10:19 -07:00
Lealem Amedie
04ea4da6fd
Parse explicit parameters in StoreEccKey()
2023-11-10 15:11:08 -07:00
Sean Parkinson
3ab0fc1ba4
SP C: support e up to 64-bits
...
SP C code only supported one digit worth of e which is less than 64 or
32.
Change is to support up to 64 bit of e using sp_uint64 to hold value.
2023-11-10 09:58:51 +10:00
Eric Blankenhorn
a4bf774e1c
Add XGMTIME validation
2023-11-09 16:06:37 -06:00
JacobBarthelmeh
49a219e0d1
Merge pull request #6930 from Frauschi/zephyr_fix
...
Fixes for the Zephyr port
2023-11-09 12:56:34 -07:00
JacobBarthelmeh
73d3277b74
Merge pull request #6947 from SparkiDev/sp_arm64_mont_red_4_fix
...
SP ARM64 asm: fix Montgomery reduction by 4
2023-11-09 08:39:52 -07:00
Tobias Frauenschläger
081b34919c
Zephyr: improve order of random seed sources
...
When using Zephyr, we also want to use the proper wc_GenerateSeed
method. However, if one of the defines is set (e.g., NO_STM32_RNG), the
Zephyr option is ignored, although it would work. Hence, we have to
change the order in which these settings for the source of a random seed
are evaluated.
Signed-off-by: Tobias Frauenschläger <t.frauenschlaeger@me.com >
2023-11-09 10:41:54 +01:00
Tobias Frauenschläger
182eaa0b63
Zephyr: add support for RTC time
...
For ASN date validation, the actual wall clock time is needed from an
RTC. This commit adds support to read the RTC time in case it is
available in the Zephyr system. If the RTC is not available or an error
occurs during the readout, we fallback to the old implementation which
only supports relative time since boot.
Signed-off-by: Tobias Frauenschläger <t.frauenschlaeger@me.com >
2023-11-09 10:41:54 +01:00
Tobias Frauenschläger
9d880fe161
Zephyr: Fix deprecation warning for rand32.h
...
Signed-off-by: Tobias Frauenschläger <t.frauenschlaeger@me.com >
2023-11-09 10:41:54 +01:00
SKlimaRA
308346aa0d
one less memcpy
2023-11-09 09:40:58 +01:00
JacobBarthelmeh
3332b036d5
Merge pull request #6950 from SparkiDev/srtp_kdf_fix
...
SRTP KDF: Don't use i outside loop
2023-11-08 23:13:40 -07:00
Sean Parkinson
168747615c
SP Cortex-M: branch long explicitly for IAR
...
GCC doesn't like explicit wide branch instruction but will use
appropriate instruction implicitly.
IAR won't widen branch instruction unless explicitly told.
2023-11-09 08:27:42 +10:00
Stanislav Klima
a137847894
removed isCaSet from decoded cert
2023-11-08 12:24:29 +01:00
Stanislav Klima
1562106899
micro fix
2023-11-08 11:18:58 +01:00
Stanislav Klima
f518a8f7d5
new build flag WOLFSSL_ALLOW_ENCODING_CA_FALSE
2023-11-08 10:51:25 +01:00
Sean Parkinson
54f2d56300
ssl.c: Move out crypto compat APIs
...
ssl_crypto.c contains OpenSSL compatibility APIS for:
- MD4, MD5, SHA/SHA-1, SHA2, SHA3
- HMAC, CMAC
- DES, DES3, AES, RC4
API implementations reworked.
Tests added for coverage.
TODOs for future enhancements.
2023-11-08 19:43:18 +10:00
Stanislav Klima
4bbb0e3876
drafted ca false
2023-11-08 10:23:46 +01:00
Sean Parkinson
716cb450aa
SRTP KDF: Don't use i outside loop
...
When shifting index down, first XOR outside loop isn't meant to use i.
2023-11-08 15:04:46 +10:00
David Garske
0fa47e9e28
Merge pull request #6943 from SparkiDev/iar_inline_asm_no_register
...
Thumb2 inline ASM: IAR doesn't do register variables
2023-11-07 14:23:44 -08:00
JacobBarthelmeh
8921a720a1
Merge pull request #6888 from SparkiDev/srtp_kdf
...
SRTP/SRTCP KDF: add implementation
2023-11-07 10:11:43 -07:00
JacobBarthelmeh
a6de9cd06f
Merge pull request #6942 from SparkiDev/sp_int_sqr_volatile
...
SP int: ARM64 optimization issue
2023-11-07 10:09:25 -07:00
Sean Parkinson
cefe108cab
Thumb2 inline ASM: IAR doesn't do register variables
...
IAR doesn't parse register variable declarations with specified
registers. IAR doesn't even honor the register keyword.
Can use small negative but IAR doesn't like it.
Specify the positive value instead.
Add a small code size version of mont_reduce_full using umlal and umaal.
Make 'asm' usage in variables use keyword '__asm__'.
Explicitly don't inline some functions when compiling with IAR.
2023-11-07 16:12:07 +10:00
Sean Parkinson
01c3345c7a
SP ARM64 asm: fix Montgomery reduction by 4
...
Handle add overflow properly in generic Montgomery reduction for 4
words. Used when reducing back to order of P-256 curve.
2023-11-07 11:39:03 +10:00
Sean Parkinson
8c3e1dbf48
SRTP/SRTCP KDF: add implementation
...
Add implementation of SRTP KDF and SRTCP KDF.
One shot APIs compatible with SP 800-135 and ACVP testing.
Tests added to test.c.
Benchmarking added.
Doxygen added.
2023-11-07 10:33:14 +10:00
JacobBarthelmeh
8569e76a87
Merge pull request #6915 from bigbrett/typo-fix-DecodeBasicCAConstraint
...
fix typo in WOLFSSL_ENTER function name
2023-11-03 13:53:23 -06:00
Sean Parkinson
5b863dcb12
AES bitsliced implementation added
...
AES bitsliced implementation that is cache attack safe.
Configure with:
--enable-aes-bitslice
or define:
WC_AES_BITSLICE
HAVE_AES_ECB
HAVE_AES_DIRECT
Very slow for CBC, CFB, OFB and any mode that uses a previous encrypt
block to calculate current.
CTR, GCM, XTS can parallelize the data and be much faster.
Added AES-ECB test to test.c.
2023-11-03 14:19:58 +10:00
Sean Parkinson
cfb6560468
SP int: ARM64 optimization issue
...
Make variables volatile to avoid compiler optimization issues.
2023-11-03 08:08:29 +10:00
JacobBarthelmeh
c8af4edd74
Merge pull request #6940 from bandi13/takeInConstParameters
...
Can guarantee not to modify arguments of `mp_isodd` and `mp_iszero`
2023-11-02 15:45:51 -06:00
Andras Fekete
49b9764c52
Can guarantee not to modify arguments of mp_isodd and mp_iszero
2023-11-02 16:00:57 -04:00
JacobBarthelmeh
96977d1480
Merge pull request #6900 from julek-wolfssl/zd/16868
...
EVP_EncodeBlock should not append a newline
2023-11-02 09:20:39 -06:00