Raef Coles
|
66edf6a833
|
Use hsslms data for LMOTS import/export test
Also, test that export fails when the buffer is too small.
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:58 +01:00 |
|
Raef Coles
|
8b55ba623e
|
Source LMOTS data from hsslms
So it can be reproduced
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:57 +01:00 |
|
Raef Coles
|
a6b47c0aac
|
Add LMS hsslms interop tests
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:55 +01:00 |
|
Raef Coles
|
d6adcb6146
|
Add negative LMS import/export tests
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:53 +01:00 |
|
Raef Coles
|
810612e14e
|
Update LMS and LMOTS to use TEST_EQUAL
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:51 +01:00 |
|
Raef Coles
|
90e13fc3c6
|
Add repro instructions for LMS test data
Add more interop tests, and use real data for the negative tests
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:49 +01:00 |
|
Raef Coles
|
0dc604ed2b
|
Change how LMS and LMOTS negative tests work
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:48 +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
|
7726678b23
|
Remove debugging code left in LMOTS tests
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:46 +01:00 |
|
Raef Coles
|
3c4ae77fec
|
Improve LMS private context documentation
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:45 +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
|
f6ddd51bfd
|
Sanitize LMS and LMOTS macros
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:13 +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
|
b4568c5423
|
Disable LMS in PSA crypto client test
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:07 +01:00 |
|
Raef Coles
|
47bccb7e47
|
Disable LMS_PRIVATE in all.sh when LMS is disabled
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:06 +01:00 |
|
Raef Coles
|
a7e03adef5
|
Disable LMS in all.sh when PSA isn't enabled
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:04 +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
|
98c504373c
|
Update LMS test description
To correct copy-paste error
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:29:02 +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
|
403558c1c9
|
Fix LMS function documentation
Signed-off-by: Raef Coles <raef.coles@arm.com>
|
2022-10-13 14:28:57 +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 |
|