add six new SLH-DSA parameter sets from NIST SP 800-230 - #2292
add six new SLH-DSA parameter sets from NIST SP 800-230#2292chen-cht wants to merge 3241 commits into
Conversation
…c-java into pgpainless-fixSelfSigSelection
…nless/bc-java into pgpainless-pgpsecretkeyV6directkeysig
This adaption allows one to support new certificate type, e.g. the C509 certificate, without modifying the bouncycastle classes.
… or remove it. Relates to github bcgit#1749
…cert in it, relates to github bcgit#1420
Added BC provider support for LEA, relates to github bcgit#1880.
add SLH-DSA parameter sets from NIST-SP-800-230
add SLH-DSA parameter sets from NIST SP 800-230
|
Thanks for the PR. There's been some new suggestions on the PQC mailing list for these - putting on hold while the discussion pans out. |
|
I know this is on hold pending the pqc-forum discussion, so this is for whenever it gets picked back up. The issues below apply to any SP 800-230 support regardless of the final parameter choices. Thanks for taking this on. Adding the SP 800-230 limited-signature SLH-DSA sets (the "-24" family, capped at 2^24 signatures per key) is worth having in BC, and the parameter tuples are numerically right where they land: 1. WOTS+ checksum / base-w decode is wrong for 128-24 and 192-24 (blocker)File: 128-24 (w=4, lg_w=2): checksum decodes to a constant zero. In the checksum encode (lines 84-91), the left-shift is 192-24 (w=8, lg_w=3): base_w mis-decodes both the message and the checksum. Because 2. Sets landed only on the deprecated treeThe six sets are added at 3. Modern engine rejects w=4/w=8If you move the sets to the modern tree (the right fix), they fail at construction: 4. No JCA provider or public spec entry point
5. Diff is not reviewableThe PR reports 264,657 additions / 122,102 deletions across 3,807 files, while the real change is roughly 40 lines. The head branch has diverged substantially from base, which pulls in thousands of unrelated files plus some stray ones ( 6. No test vectors
Minor notes
Objective checks you can runSignature size: What would make this mergeable
The parameter values are right, so the foundation is sound once the encoding and the plumbing are fixed. Happy to look again once the checksum fix and a round-trip test are in place. |
Overview
This PR adds six new SLH-DSA parameter sets defined in NIST SP 800-230 (Initial Public Draft).
New Parameter Sets Added
The following SLH-DSA parameter sets are introduced:
SHA2-based:
SHAKE-based:
Changes