Sean Parkinson
3bf9b49274
SP ECDSA sign: fix multiple loops work of generating k
...
Support only one loop of generated k.
2021-02-18 09:06:50 +10:00
Sean Parkinson
590597a0e2
SP ECC verify: check point for z=0 and set to infinity
2021-01-28 14:43:51 +10:00
Sean Parkinson
6dc06993bf
SP: ensure modulus/prime is odd before performing RSA/DH/ModExp ops
2020-12-16 21:49:09 +10:00
Sean Parkinson
2862a9ce56
SP modinv: add non-constant time modinv
...
Can only be used in ECC verify - sign operation must be constant time.
Not used for small code.
2020-12-10 09:24:22 +10:00
toddouska
6c62899ea8
Merge pull request #3535 from SparkiDev/sp_fixes_4
...
SP: change implicit casting downs to be explicit
2020-12-09 09:25:57 -08:00
Sean Parkinson
dbe4ce0e24
SP: Get RSA verify only to build with DH
...
Fix configuration: --enable-rsavfy --enable-sp --enable-cryptonly
[--enable-sp-asm]
2020-12-07 09:46:14 +10:00
Sean Parkinson
56cb4c8ea7
SP: change implicit casting downs to be explicit
2020-12-04 11:52:39 +10:00
Sean Parkinson
35acfa0f42
SP ECC: check the length of public key ordinates and private key
...
Do quick bit length check before loading the MP integers into fixed size
arrays.
Changed ECC to use SP key check function if SP enabled and not only with
SP Math.
2020-11-27 08:49:30 +10:00
Sean Parkinson
b1f9aba0ca
SP div: stop overflow on divide
2020-11-24 16:14:14 +10:00
David Garske
508ba85b69
Fixes for SP math only with ECC check key. Fix SP math when loading an ECC public only and calling wc_ecc_check_key. Fix for missing ecc_check_privkey_gen with SP math only. Applies to: /configure --enable-sp --enable-sp-math CFLAGS="-DWOLFSSL_VALIDATE_ECC_IMPORT".
2020-11-17 08:13:08 -08:00
Sean Parkinson
ec59acbae0
SP Cortex-M4 assembly: Fix for GCC compile
...
b<cond>.n not allowed with GCC.
Fix sizeof to use tmp_arr not tmp which is now a pointer.
2020-09-24 11:03:50 +10:00
Elms
cd077d74c1
CortexM SP ASM compiling for IAR 6.70
...
* asm can handle pointers but not arrays, use redirection pointers
* branch width must be specified explicitly
2020-09-16 16:23:51 -07:00
Sean Parkinson
3ecbc7762a
SP mod exp: support exponents of different lengths
2020-09-09 15:23:04 +10:00
David Garske
92cf0d7b10
Fix numerous maybe-uninitialized errors in WOLFSSL_SP_SMALL and WOLFSSL_SMALL_STACK cases.
2020-08-20 15:05:20 -07:00
David Garske
1f10e77b0f
Fix for SP math with WOLFSSL_VALIDATE_ECC_KEYGEN. Fixes logic error on point x/y zero check.
2020-08-19 09:30:32 -07:00
David Garske
62e78b7cf4
Fix state machine after script rebase.
2020-08-07 16:56:58 -07:00
David Garske
bc03b5793c
Add state for ECC verify non-blocking and mont_inv_order to reduce maximum blocking time.
2020-08-07 16:48:16 -07:00
toddouska
17cc941b29
Merge pull request #3195 from SparkiDev/sp_ecc_cache
...
SP ECC Cache Resitance
2020-08-07 15:35:06 -07:00
Sean Parkinson
1ea3dc5f55
SP ECC: initialize infinity in make key
2020-08-07 12:15:31 +10:00
Sean Parkinson
83caf39caa
SP ECC Cache Resitance
...
SP ECC improved cache attack resistant implementation.
On by defualt and turn off with WC_NO_CACHE_RESISTANT.
2020-08-06 08:21:08 +10:00
David Garske
776b1a2d17
Fix for ED25519 with user_settings.h. Fixes for build warnings. Fix spelling error. Added template for wolfBoot key/sign tools.
2020-07-31 15:17:53 -07:00
Sean Parkinson
568fc8f5bd
Fixes for compiling for ARM64 iOS
...
Fix bug in ChaCha20 assembly code (was writing one byte too many).
Fix the assembly code to have APPLE format.
Change Poly1305 inline assembly as requested by compiler.
Initialize variables that will be set anyway - compiler complaint.
Change to use the assembly code files for Curve25519 and SHA-512.
Ed25519 not suported with ARM assembly.
2020-07-23 18:08:37 +10:00
David Garske
547144bc9c
Adds ECC non-blocking sign/verify support when used with SP math. New --enable-sp=nonblock and --enable-ecc=nonblock options. Example ./configure --enable-ecc=nonblock --enable-sp=yes,nonblock.
2020-07-17 15:13:50 -07:00
toddouska
88b8ea04f6
Merge pull request #2971 from SparkiDev/sp_cortexm_comment
...
Fix SP Cortex-M ASM comments
2020-05-13 16:30:14 -07:00
Sean Parkinson
57756bfa8d
Remove unused 4096-bit functions
2020-05-13 10:23:05 +10:00
Sean Parkinson
786e21b107
Fix SP Cortex-M ASM comments
2020-05-12 23:28:39 +10:00
David Garske
174b4d5159
Cleanup of SP with small stack. Expand support for WOLFSSL_SP_NO_MALLOC. Fix for evp.c when included directly.
2020-05-04 14:23:32 -07:00
David Garske
327cdefc24
Fix for SP math with RSA_LOW_MEM, which was broken in PR #2892 .
2020-04-27 08:59:54 -07:00
Sean Parkinson
7a0cbe084e
Improve performance of SP Cortex M asm
2020-04-23 11:05:42 +10:00
Sean Parkinson
416f0775d3
Merge pull request #2900 from dgarske/sp_no_malloc
...
Added option to build SP small without malloc
2020-04-14 09:40:11 +10:00
David Garske
d412ccb6f8
Added new option WOLFSSL_SP_NO_MALLOC for building small SP without malloc. Added SP documentation. Added ./configure --enable-sp=yes,nomalloc supprt. https://github.com/wolfSSL/scripts/pull/79
2020-04-10 11:13:55 -07:00
Sean Parkinson
411aee6e05
Fixes from cppcheck
...
Added PRIVATE_D version of rsa private key operation for SP
implementation for specific platforms.
WC_NO_RNG results in warnings when RNG calls don't do anything.
Added ifdef checks for variables not used otherwise.
Remove superfluous if statements like when checking ret == 0.
Change names of globals that are generic and are used locally before
global definition.
Remove definition of variable len that isn't used except as a
replacement for sz which is parameter.
Don't subtract two variables when one has just been assigned the value
of the other.
Fix shifting of signed value.
Fix parameter checking in aes.c and des3.c for platform specific code.
2020-04-08 09:46:22 +10:00
Sean Parkinson
7dad0d3965
Tweak the SP x86_64 ECC assembly
...
Put back fixes undone in previous commits:
- Fix casting warning in SP when mp_digit < sp_digit
- SP fix check for NULL in EC point_new
2020-04-06 11:02:30 +10:00
Sean Parkinson
df1819b79f
Improve speed of AArch64 assembly
...
Improve point_dbl and point_dbl_n for all platforms.
2020-04-01 15:06:50 +10:00
Sean Parkinson
a7d265bf46
Fix casting warning in SP when mp_digit < sp_digit
2020-03-24 12:41:25 +10:00
Sean Parkinson
c776a4219a
SP fix check for NULL in EC point_new
2020-03-19 08:56:52 +10:00
Sean Parkinson
6321eabf86
Fix SP RSA private op
...
tmpa - tmpb can be less than -p.
Need to conditionally add p twice.
C and multiple platform fix.
2020-03-12 09:33:52 +10:00
Sean Parkinson
c62f31cd27
Fix cache resist compile to work with SP C code
2020-02-20 10:10:05 +10:00
Sean Parkinson
8972bf6278
Add support for P384 curve into SP
2020-02-17 15:46:34 +10:00
Sean Parkinson
55ea2facdd
Changes to clear issues raised by cppcheck
2020-01-30 14:24:32 +10:00
Sean Parkinson
34a462b342
Don't use r7 with Cortex-M SP assembly
...
r7 not available when compiling Cortex-M4 in debug.
2020-01-07 12:53:34 +10:00
Eric Blankenhorn
b83804cb9d
Correct misspellings and typos from codespell tool
2019-12-24 12:29:33 -06:00
Sean Parkinson
a71eb11b38
Improve Cortex-M RSA/DH assembly code performance
...
Performance of modular exponentiation improved by about 30%.
2019-12-17 09:03:34 +10:00
toddouska
1ba366920c
Merge pull request #2581 from SparkiDev/ecc_fixes_add
...
Add deterministic ECDSA sig gen. Fix corner cases for add point.
2019-11-20 09:12:28 -08:00
Sean Parkinson
cc880e39ae
Add deterministic ECDSA sig gen. Fix corner cases for add point.
...
In verify, two points are added and they may either be the same point
(different z) or result in infinity.
If they are the same point then a double needs to be performed instead.
Detection of infinity added.
Calculation of wc_ecc_sig_size fixed to handle wehn there are more bits
in the order than in the modulus.
2019-11-14 12:49:45 +10:00
Sean Parkinson
5221c082f1
SP now has support for RSA/DH 4096-bit operations
2019-11-12 12:04:06 +10:00
Sean Parkinson
f590f6522d
MISRA-C changes to SP plus cppcheck fixes
2019-11-04 16:13:48 +10:00
Sean Parkinson
901ee627fc
Fixes from using cppcheck tool
...
Various fixes for uninitialized variable use.
sniffer.c: close file when seek fails
tls.c: fix QSH_GET_SIZE macro
wolfio.c: uIPGenerateCookie: use the parameter, _ctx, instead of self
referencing.
wolfssl_adds.c: check for equivalent to XBADFILE to indicate error.
SP: change right shift of signed value to unsigned
sp_int.h: define 128-bit types
types.h: change a XMALLOC define to not use (,,) - cppcheck doesn't like
it and is unnecessary.
2019-10-01 09:22:00 +10:00
Sean Parkinson
42d04a36d6
Change static globals to const where possible
...
Change parameters to functions to be const where possible (and
necessary).
2019-09-26 23:05:02 +10:00
David Garske
3b6112e317
Fixes for using Keil with single precision math.
2019-09-19 14:34:30 -07:00