signatures
signatures copied to clipboard
Add lms to RustCrypto/signatures
This adds the lms
directory to RustCrypto/signatures under the crate name lms-signature
. The authors of the original RFC seem quite happy using the phrase so this keeps the naming in the signatures repository consistent. Hopefully I ported the Github workflow without any issues.
There are two notable limitations to our implementation:
- We rely on
generic_array::GenericArray
from the olderdigest-0.10.7
instead of using thehybrid_array::Array
approach from the upcomingdigest-0.11
ecosystem. - We lack a way of compressing Merkle tree data so we just store the entire tree which causes H15, H20, and H25 variants of LMS to not work due to storage limitations.
This PR also does not modify the main README in any way. I have also refrained from committing any changes to Cargo.lock.
@tarcieri do you have opinions on large in-file KAT buffers like this?
Debating whether we should
- Leave as-is
- Break large KATs out to a separate directory
- Just include a hash of the actual expected result and compare against that
There will be a couple more large KATs eventually once HSS is implemented, and if we want to support the larger merkle tree sizes then they will start getting really big.
@tjade273 we generally just check them in, but for very large ones omit them from the resulting .crate
, e.g.:
https://github.com/RustCrypto/MACs/blob/43cc597/cmac/Cargo.toml#L14
utACK, let me know if you'd like to make any additional changes or otherwise we can get this merged
We can probably get this merged.