Gilles Peskine
|
8874cd570e
|
Merge pull request #4826 from RcColes/development
Add LMS implementation
|
2022-10-14 18:33:01 +02:00 |
|
Manuel Pégourié-Gonnard
|
b3c30907d6
|
Merge pull request #6383 from mprse/aead_driver_test
Enable testing of AEAD drivers with libtestdriver1
|
2022-10-14 11:11:01 +02:00 |
|
Raef Coles
|
1951259a10
|
Update how lms.c imports platform.h
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 16:47:13 +01:00 |
|
Ronald Cron
|
49e4184812
|
Merge pull request #6299 from xkqian/tls13_add_servername_check
Add server name check when proposing pre-share key
|
2022-10-13 16:00:59 +02:00 |
|
Raef Coles
|
cbd02adc6e
|
Simplify LMS context freeing
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:30:32 +01:00 |
|
Raef Coles
|
45c4ff93c9
|
Fix windows requiring explicit cast in LMS calloc
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:30:14 +01:00 |
|
Raef Coles
|
142e577c34
|
Add extra zeroization to LMS and LMOTS
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:30:03 +01:00 |
|
Raef Coles
|
9fc303a99a
|
Add extra LMOTS import negative tests
And fix failures that are related to the new tests
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:30:01 +01:00 |
|
Raef Coles
|
4829459c90
|
Validate LMOTS sig length before parsing type
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:47 +01:00 |
|
Raef Coles
|
285d44b180
|
Capitalize "Merkle" in LMS and LMOTS code
As it is a proper noun
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:43 +01:00 |
|
Raef Coles
|
faf59babe8
|
Make LMS verification return VERIFY_FAILED more
To align with PSA error code rules on when VERIFY_FAILED is returned vs
INVALID_ARGUMENT
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:42 +01:00 |
|
Raef Coles
|
fbd60ec775
|
Change LMS and LMOTS init functions to use memset
Instead of zeroize
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:40 +01:00 |
|
Raef Coles
|
9b0daf60fb
|
Improve LMS private function warning
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:38 +01:00 |
|
Raef Coles
|
f6cb5a4826
|
Fix LMS return statements having incorrect style
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:35 +01:00 |
|
Raef Coles
|
75b4c7790e
|
Fix LMS internal function documentation
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:34 +01:00 |
|
Raef Coles
|
d48f7e90bb
|
Allocate LMS C_RANDOM_VALUE as hash size
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:32 +01:00 |
|
Raef Coles
|
1fb2f32ef5
|
Check LMS offsets are sane at runtime
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:31 +01:00 |
|
Raef Coles
|
e34e3c0e59
|
Remove unneeded cast in LMS calloc
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:30 +01:00 |
|
Raef Coles
|
370cc43630
|
Make LMS public key export part of public key api
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:28 +01:00 |
|
Raef Coles
|
e89488debf
|
Fix bug in LMS public key loading
To avoid using the type before it is parsed from the signature
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:27 +01:00 |
|
Raef Coles
|
3f6cdd7aab
|
Fix LMS not checking RNG function return value
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:24 +01:00 |
|
Raef Coles
|
02cf8234b4
|
Fix ots sig length check in LMS validate function
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:22 +01:00 |
|
Raef Coles
|
f36874a535
|
Fix error type of lms_import_public_key
Was returning an incorrect error when bad public key sizes were input
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:21 +01:00 |
|
Raef Coles
|
dc8fb79e09
|
Simplify LMS private key generation error handling
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:20 +01:00 |
|
Raef Coles
|
be3bdd8240
|
Rename LMS and LMOTS init/free functions
To match convention
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:18 +01:00 |
|
Raef Coles
|
29117d2e4e
|
Update LMS PSA error conversion
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:17 +01:00 |
|
Raef Coles
|
be0c2f9183
|
Update LMS local variable allocation
To use a default failure value, and to avoid a call to
psa_hash_operation_init()
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:15 +01:00 |
|
Raef Coles
|
2ac352a322
|
Make LMS functions args const where required
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:14 +01:00 |
|
Raef Coles
|
5127e859d7
|
Update LMS and LMOTS dependency macros
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:11 +01:00 |
|
Raef Coles
|
56fe20a473
|
Move MBEDTLS_PRIVATE required defines into lms.h
From lmots.h, as it is a private header
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:10 +01:00 |
|
Raef Coles
|
ab300f15e8
|
Move public header content from lmots.h to lms.h
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:08 +01:00 |
|
Raef Coles
|
0b7da1b787
|
Fix overflow in LMS context init
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:03 +01:00 |
|
Raef Coles
|
57d5328ad5
|
Remove MBEDTLS_LM(OT)S prefix from internal macros
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:00 +01:00 |
|
Raef Coles
|
ad05425ab7
|
Update naming of internal LMS functions
To comply with the mbedtls_ requirement
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:28:59 +01:00 |
|
Raef Coles
|
40158e11fc
|
Add LMOTS test hook to header
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:28:58 +01:00 |
|
Raef Coles
|
3982040232
|
Fix LMS zeroization using wrong sizeof type
Causing a buffer write out of bounds
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:28:55 +01:00 |
|
Raef Coles
|
98d6e22050
|
Remove doxygen markup from internal LMS functions
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:28:54 +01:00 |
|
Raef Coles
|
40f184c83e
|
Cast LMS allocation sizes to size_t
To prevent implict casting errors on 64-bit platforms
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:28:52 +01:00 |
|
Raef Coles
|
1310ecb389
|
Update LMOTS function documentation
To avoid CI failure
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:28:51 +01:00 |
|
Raef Coles
|
9c9027b1a4
|
Add extra LMS and LMOTS tests
NULL-message and LMOTS signature leak tests
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:28:50 +01:00 |
|
Raef Coles
|
fa24f9d6ea
|
Minor fixes to LMS and LMOTS macros
Update some names, use the correct macro in certain places.
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:28:48 +01:00 |
|
Raef Coles
|
0a967ccf9a
|
Document LMS and LMOTS internal functions
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:28:47 +01:00 |
|
Raef Coles
|
8738a49d0c
|
Fix iterator types in LMOTS
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:28:45 +01:00 |
|
Raef Coles
|
e0a17610d1
|
Fix LMS/LMOTS if-statement style
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:28:41 +01:00 |
|
Raef Coles
|
9b88ee5d5d
|
Fix LMS and LMOTS coding style violations
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:28:40 +01:00 |
|
Raef Coles
|
366d67d9af
|
Shorted LMS and LMOTS line-lengths
To attempt to comply with the 80-char suggestion
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:28:38 +01:00 |
|
Raef Coles
|
e9479a0264
|
Update LMS API to support multiple parameter sets
Parameterise macros to allow variation of sizes
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:28:36 +01:00 |
|
Raef Coles
|
ab4f87413a
|
Add MBEDTLS_LMS_PRIVATE define
To enable private key operations
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:28:35 +01:00 |
|
Raef Coles
|
ebd35b5b80
|
Rename LMS internal tree-manipulation functions
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:28:31 +01:00 |
|
Raef Coles
|
891c613f31
|
Update LMOTS signature use of temporary variables
Document them properly, and move random value to a temporary variable
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:28:29 +01:00 |
|