Hi all,
NIST previously requested feedback on the benefits of a variant of SLH-DSA with a smaller maximum number of signatures (see: pqc-forum link). Based on this feedback, NIST has decided to proceed with such a variant.
To guide the discussion, the publication https://eprint.iacr.org/archive/2024/018/1737032157.pdf lists and discusses various parameter sets for this version of SLH-DSA. We invite community feedback on which specific parameter set(s) should be included, with a preference for minimizing the number of parameter sets to enhance interoperability.
Please let us know which one or two parameter sets would best suit your use cases and explain why. If none of the sets in the paper are suitable, please specify the characteristics you would require.
In general, we favor parameter sets that exhibit slow (conservative) security degradation under moderate overuse. For example, we prefer C-11 over C-1, despite C-11 being slower and larger, see Table 4 (Selection set: 128, 112, 2^20, 10,000,000) on page 14 of the paper. The idea is that if you prefer something like C-1 over C-11, let us know why you think the slower speeds and larger signature size of the latter would have a noticeable impact on your use case(s).
Similarly, if you prefer something like D-1 over D-8, let us know why you think the larger signature size of the latter would have a noticeable impact on your use case(s), see Table 5 under the Selection set (128, 112, 2^20, 100,000,000) on page 15 of the paper.
You can provide comments in this thread or email them to pqc-co...@nist.gov. Please note that submitted comments may be made public. We would appreciate responses by 4/14/2025.
Regards,
Quynh Dang, on behalf of the NIST PQC team.
--
You received this message because you are subscribed to the Google Groups "pqc-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pqc-forum+...@list.nist.gov.
To view this discussion visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/MW4PR09MB10059280AD24C92B4EA8C0E96F3C92%40MW4PR09MB10059.namprd09.prod.outlook.com.
Hi
Quynh,
Thanks for the great news!
We (Ericsson) will discuss and provide feedback.
I think signatures designed for less than 2^64 signatures could be useful in many use cases if they have performance benefits (smaller signatures and/or faster verification) compared to FIPS 205. Most signature keys are used far less than 2^64 times, and as most signature keys have an expiery time, it is often practically impossible to even come close. Cloudflare stated in 2023 that they on average handle 46 million requests per second. During 90 days, which is the standard lifetime of HTTP certs, that would be 2^48 signatures even if resumption was not used. Most systems can handle far less than 46 million requests per second.
Andrey Jivsov wrote:
>but there is a strong dislike for them on the signing infrastructure
>side, which the sought SLH-DSA variant should solve because it would
>match the stateless operational properties of ML-DSA.
Yeah, we had plans for XMSS/LMS even if we did not like the statefullness. Forbidding key export killed these plans and CNSA 2.0/BSI disagreement on multi-tree did not help. Now we are planning to only support SLH-DSA-SHAKE-s, ML-DSA + Ed448 hybrids, and standalone ML-DSA. No state, no pre-hash, and no SHA-2.
Cheers,
John
Hi Jade,
(Hi all, my discussion below is only about technical facts, it does not present or imply any opinion of the NIST PQC team on the matter. I try to get more useful information. )
Thank you for sharing your use case and thoughts on the parameter sets.
dd-14 (page 34) is about 11% smaller than AAA-2 (2928 vs 3264), its signing time is 28315644/ 449314816 (about 6%) of AAA-2's signing time, but its verifying time is (4758/451) 10.5 times slower than AAA-2's verifying time.
Would dd-14 provide better performance for your use case ? On average, how many signatures get verified in a boot ? Do you have the distribution of the number of signatures in a boot for the devices that your community deals with ?
It is possible to have users targeting not more than 2^10 signatures per key, dd-14 would provide a very good overuse safety in this case in my opinion.
Regards,
Quynh.
--
You received this message because you are subscribed to the Google Groups "pqc-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pqc-forum+...@list.nist.gov.
Dear NIST,
Thanks for your continuous efforts to produce well-written, user-friendly, and open-access security documents. We do not think stateful signatures is a robust solution. We welcome NIST’s plan to standardize additional SLH-DSA parameter sets [1–2]. For many use cases, stateless signature parameter sets designed for significantly fewer than 264 signatures pose no issues. We think that NIST should standardize more than one additional parameter set.
Please find below Ericsson’s detailed feedback:
We support the standardization of the AAA-2/PPP-2 parameter set, as suggested by Jade Philipoom. However, for manual signing of certificates, 210 would be sufficient. We believe 220 is too limited for automatic signing scenarios, such as when signing is integrated into the build process. For such use cases, we think NIST should standardize parameter sets designed to support 230 or 240 signatures, with reasonable signing performance. There is a significant need for flexible parameter sets to support adaptation across diverse industrial use cases. In general, we believe that “additional parameters” would be preferred for all our SLH-DSA use cases.
Cheers,
John Preuß Mattsson,
Expert Cryptographic Algorithms and Security Protocols, Ericsson
Links to the references can be found in the pdf version of the comments
https://emanjon.github.io/NIST-comments/2025%20SLH-DSA%20parameters.pdf
--
You received this message because you are subscribed to the Google Groups "pqc-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pqc-forum+...@list.nist.gov.
Hi,
One thing I forgot to write in Ericsson’s comments is the utter importance of SLH-DSA. While US NIST, UK NCSC, and Cadada Cyber Centre are approving all NIST PQC algorithms, many EU countries only recommend a subset of the NIST algorithms with additional
requirements, such as mandating hybridization for lattice-based algorithms.
While hybrid KEMs are relatively straightforward and already widely deployed, my impression is that many large ICT companies view hybrid signatures as overly complex and generally undesirable. Although standalone ML-DSA may be viable for certain markets, its use is currently strictly forbidden in several European countries. In this context, standalone SLH-DSA emerges as the only globally reasonable option.
For many infrastructure use of TLS, DTLS, QUIC, and IPsec, the size of the certificate chain and signing/verification time are not critical factors. In that regard, it's fortunate that NIST chose to standardize both ‘f’ and ‘s’. My current expectation is that SLH-DSA will see very widespread adoption, much more than I would have guessed a year ago.
Cheers,
John
From: pqc-...@list.nist.gov <pqc-...@list.nist.gov> on behalf of Thom Wiggers <th...@thomwiggers.nl>
Date: Wednesday, 16 April 2025 at 17:03
To: Dang, Quynh H. (Fed) <quynh...@nist.gov>
To view this discussion visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/479B1306-B5BC-42A3-B7C6-300894E24488%40thomwiggers.nl.
--
You received this message because you are subscribed to the Google Groups "pqc-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pqc-forum+unsubscribe@list.nist.gov.
To view this discussion visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/1806453.Ff3jj5kU4x%40tauon.
Hi Thom, Amber and all,
Thank you for your comments.
Thom and Amber wrote “For 2^30 signatures, we think that there may be some embedded use cases, such as individually signed firmware updates to large numbers of devices. As this use case may require online signing, signing time may be a relevant factor. At this time, we do not have a strong preference for any parameters.”
That is a very good point.
Do we know any specific systems for which ML-DSA-44 ( pk: 1312 bytes + sig: 2420 bytes = 3,732 bytes) ) does not work well for that use case ?
SLH-DSA-SHAKE/SHA2-128s has about 2 million hashes for signing.
At level 1 security with 2^30 limit, the smallest options are G-1/2/3 but they have much slower signing (about 94, 84, 67 million hashes respectively) than SLH-DSA-SHAKE/SHA2-128s’ signing. Their signature sizes are 3568, 3664 and 3696 bytes respectively, just a bit smaller than 3,732. After adding the 32 bytes of SLH-DSA-SHAKE/SHA2-128s’ public key, the size differences are even smaller.
I think we should stay on safer sides (choices) and should not assume that everyone will do all right things for security.
Regards,
Quynh.
From: Thom Wiggers <th...@thomwiggers.nl>
Sent: Wednesday, April 16, 2025 11:02 AM
To: Dang, Quynh H. (Fed) <quynh...@nist.gov>
Cc: pqc-forum <pqc-...@list.nist.gov>; pqc-comments <pqc-co...@nist.gov>; Amber Sprenkels <amber.s...@pqshield.com>
Subject: Re: [pqc-forum] NIST requests feedback on additional SLH-DSA(Sphincs+) parameter set(s) for standardization.
Dear Quynh, all,
Do we know any specific systems for which ML-DSA-44 ( pk: 1312 bytes + sig: 2420 bytes = 3,732 bytes) ) does not work well for that use case?
Amber Sprenkels
PQShield Ltd
Dang, Quynh H. (Fed) wrote:
>Do we know any specific systems for which ML-DSA-44 ( pk: 1312 bytes + sig: 2420 bytes = 3,732 bytes) ) does not work well for >that use case?
Quite many. ML-DSA-44 does not work at all for constrained LPWANs. My understanding is that it does not work well for the Web as it works today. 2420 bytes does not work well for application layer authentication tokens that might be sent very frequently over a single TLS connection. But note that additional SLH-DSA parameters are not the solution. FN-DSA is also problematic. The signature ramp-on will hopefully help most use cases. In some cases, ML-KEM or Classic McEliece can be used instead of signatures.
John
Hi Amber and Thom,
Thank you for the reminder of that important point.
Hi all,
SLH-DSA-SHAKE/SHA-128s' signing takes about 2 million hashes. Assuming it takes 0.2 seconds to generate 1 SLH-DSA-SHAKE/SHA-128s signature. G-1/2/3 has about 67-94 million hashes per signing. So, it takes about (67/2) x 0.2 to (94/2) x 0.2 (6.7 to 9.4) seconds to generate one signature. So, it would take about 77,546 to 108,796 days (about 212 years) to generate 1 billion signatures by one signer.
If signing gets 10 times faster, it will take about 21 years to generate 1 billion signatures by one signer.
If there are 10 signers using the same signing key, it would take about 2 years. Note that in practice, the signers/servers won't just constantly sign signatures.
G-7 (if we need fast verification), at 2^33 and 2^32 messages ( 8 and 4 times the limit), it retains about 119 and 123 bits of security, respectively.
The signing time of G-7 is in between G-1 and G-3's signing times. But G-7's signatures are 320 and 192 bytes larger than G-1 and G-3's signatures, respectively.
I don't know which parameter set is the most popular by the users. Is the verification time increase worth the signature size decrease ? Personally, I prefer the ones with the best overuse safety(ies) such as G-4/6/11. However, NIST takes performance into consideration. So, I don't know what limit(s) and what parameter set(s) NIST is going to standardize.
AAA-3 (2^20 limit), its signing takes 596 639 744 hashes, about (596/2 )x 0.2 = 59.6 seconds, about 1 minute. 2^20 is about 1 million. So, it would take about 1 million minutes; about 694 days to generate 1 million signatures by one signer.
2^20 seems safe enough for signing CA certificates.
Is this safe enough for firmware and software updates ? If all devices have the same signature for each update, 1 million signatures/updates over a few years by one signer seems safe. With a good overuse safety parameter set, the risk of a security break by some vendor using the same signing key for many years would be reduced.
What usage policies should NIST require for a 2^20 limit parameter set ?
What should we say about the case of multiple signers using the same signing key ?
How can we prevent a 2^20 limit parameter set from being used for the use case of a 2^30 limit parameter set discussed by Amber and Thom before?
Regards,
Quynh.
'Dang, Quynh H wrote:
>What usage policies should NIST require for a 2^20 limit parameter set ?
I suggest including a requirement that the signing process must be manual and involve human intervention. Automated systems can get stuck in unintended loops.
>What should we say about the case of multiple signers using the same signing key ?
That this requires extra margins calculated for the exact number of signers? If the number of signers is unclear in any way, I think the 2^64 limit parameter set should be required.
>How can we prevent a 2^20 limit parameter set from being used for the use case of a 2^30 limit parameter
I don't think you can exept forbidding it in the standard.
Cheers,
John
'Dang, Quynh H wrote:
>What usage policies should NIST require for a 2^20 limit parameter set ?I suggest including a requirement that the signing process must be manual and involve human intervention. Automated systems can get stuck in unintended loops.
--
You received this message because you are subscribed to the Google Groups "pqc-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pqc-forum+...@list.nist.gov.
Hi all,
A 2^30 limit parameter set is safer than a 2^20 limit one.
If the goal is to minimize the number of new parameter set(s) and to standardize a new one only when the existing ones have noticeable performance impact on some important use cases, I am not sure if there would still be a need to standardize a 2^20 one if NIST standardized a 2^30 one.
Below are some performance numbers of several parameter sets at 2^20 and 2^30 limits.
Parameter Set Limit Sig Size Verify Overuse Safety
AAA-1 20 3072 4767 1722
AAA-3 20 3280 452 19
G-1 30 3568 7085 205
G-7 30 3888 736 22
G-8 30 4000 743 53
A 2^30’s signature is about 500 bytes larger than a 2^20’s signature with the good overuse safety but slow verify direction. The former is about 600-700 byte larger than the latter with the weaker overuse safety but fast verify direction.
The verify time difference between a 2^20 and a 2^30 parameter sets are not significant in the same direction.
Are there use cases where a 2^20 one works fine, but a 2^30 one would create a serious performance issue due to its larger signatures ?
Regards,
Quynh.
Hi Chris,
Thank you for the discussion.
SLH-DSA-SHA2-128s-q20 is AAA-2 and its verification of a short message is ~210,000 cycles, see https://www.zerorisc.com/blog/future-of-pqc-on-opentitan . AAA-1 is about 10 times slower than AAA-2 in verification of a short message.
AAA-1 would take about 2,100,000/50,000,000 = 0.042 to 0.021 seconds (42 to 21 ms) to verify a signature of a short message on a 32-RISC CPU at 50MHz to 100MHz speed.
With a faster processor, the verification is faster.
G-7 and G-8 are about (4767 / 736) 6.47 and (4767 / 743) 6.41 times faster than AAA-1 in verification.
Regards.
Quynh.
To view this discussion visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/b9d65955-59eb-4db8-9618-13f9b2ed53d0n%40list.nist.gov.
Hi Chris,
So, 1, 2 or 3 signatures, G-7 would take about 6.5, 13 or 19.5 ms.
And the differences between AAA-2 and G-7 are 3, 6 or 9 ms.
Do you know why or have experimental data to show that these differences would create performance impact/issue ?
Regards,
Quynh.
From: Chris Fenner <cf...@google.com>
Sent: Monday, June 16, 2025 10:31 AM
To: pqc-forum <pqc-...@list.nist.gov>
Cc: Dang, Quynh H. (Fed) <quynh...@nist.gov>; Amber Sprenkels <amber.s...@pqshield.com>; Thom Wiggers <th...@thomwiggers.nl>; Chris Fenner <cf...@google.com>
Subject: [EXTERNAL] Re: [pqc-forum] NIST requests feedback on additional SLH-DSA(Sphincs+) parameter set(s) for standardization.
Thanks Quynh,
Indeed, we are talking about differences in single-digit numbers of milliseconds: based on the proportionate cycle time and the OT paper, on a 50MHz 32-RISC CPU, G-7 might take around 6.5ms to verify and AAA-2 might take around 3.5ms. That's a difference of 3 milliseconds (per verified signature, of which there might be a couple) out of a PCI device's entire ~100ms boot budget (which has to account for a few other activities besides signature verification, such as "actually booting" 😅)
Thus I see a lot of value in NIST standardizing (10^20) parameter sets, albeit with some type of guidance for how to hold them. What do you think of the idea for the signer's hardware to enforce rate-limiting of the production of signatures?
Thanks
Chris
Hi Chris,
To address your question, I don’t doubt that you would use a 2^20 parameter set in secure/safe ways. But I don’t assume that will be the case with everyone.
Generally, I would like to go with safer options.
Regards,
Quynh.
From: Chris Fenner <cf...@google.com>
Sent: Monday, June 16, 2025 10:31 AM
To: pqc-forum <pqc-...@list.nist.gov>
Cc: Dang, Quynh H. (Fed) <quynh...@nist.gov>; Amber Sprenkels <amber.s...@pqshield.com>; Thom Wiggers <th...@thomwiggers.nl>; Chris Fenner <cf...@google.com>
Subject: [EXTERNAL] Re: [pqc-forum] NIST requests feedback on additional SLH-DSA(Sphincs+) parameter set(s) for standardization.
Thanks Quynh,
Indeed, we are talking about differences in single-digit numbers of milliseconds: based on the proportionate cycle time and the OT paper, on a 50MHz 32-RISC CPU, G-7 might take around 6.5ms to verify and AAA-2 might take around 3.5ms. That's a difference of 3 milliseconds (per verified signature, of which there might be a couple) out of a PCI device's entire ~100ms boot budget (which has to account for a few other activities besides signature verification, such as "actually booting" 😅)
Thus I see a lot of value in NIST standardizing (10^20) parameter sets, albeit with some type of guidance for how to hold them. What do you think of the idea for the signer's hardware to enforce rate-limiting of the production of signatures?
Thanks
Chris
--
You received this message because you are subscribed to the Google Groups "pqc-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pqc-forum+unsubscribe@list.nist.gov.
To view this discussion visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/C21677E7-543F-49C5-993A-D2E5691C7060%40icann.org.
I fully agree with Paul. Especially signature size will be an important acceptance criteria for SLH-DSA. And counting / limiting of signatures is a simpler task than the state management required for the stateful hash-based schemes. In my view signature counting / limiting with an appropriate degree of accuracy can be build in software systems, while appropriate state management is generally understood to require costly HSM.
Falko
MTG
AG
Dr. Falko Strenzke
Phone: +49
6151 8000 24
E-Mail: falko.s...@mtg.de
Web: mtg.de
MTG AG - Dolivostr. 11 - 64293 Darmstadt, Germany
Commercial register: HRB 8901
Register Court: Amtsgericht Darmstadt
Management Board: Jürgen Ruf (CEO), Tamer Kemeröz
Chairman of the Supervisory Board: Dr. Thomas Milde
This email may contain confidential and/or privileged
information. If you are not the correct recipient or have
received this email in error,
please inform the sender immediately and delete this
email.Unauthorised copying or distribution of this email is
not permitted.
Data protection information: Privacy policy
SLH-DSA-SHAKE-128s verification can be completed in 179,603 cycles, which translates to 0.36 milliseconds with a 500 MHz clock (typical for a SoC Root-of-Trust).
TrungVào CN, 15 thg 6, 7 Reiwa lúc 6:31 CH Markku-Juhani O. Saarinen <mjos....@gmail.com> đã viết:
You received this message because you are subscribed to a topic in the Google Groups "pqc-forum" group.
To unsubscribe from this topic, visit https://groups.google.com/a/list.nist.gov/d/topic/pqc-forum/vtMTuE_3u-0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to pqc-forum+...@list.nist.gov.
To view this discussion visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/0dbd9ade-f099-47cd-8231-5d039efcb0c0n%40list.nist.gov.
ZjQcmQRYFpfptBannerEnd
Hi Chris,
To address your question, I don’t doubt that you would use a 2^20 parameter set in secure/safe ways. But I don’t assume that will be the case with everyone.
Are you saying that there are no ways to misuse any of the other NIST-proposed or defined configurations or algorithms?
Generally, I would like to go with safer options.
Generally – yes. In this case, there seems to be sufficient justification for including 2^20 parameters for specific (valid and important) uses.
You received this message because you are subscribed to a topic in the Google Groups "pqc-forum" group.
To unsubscribe from this topic, visit https://groups.google.com/a/list.nist.gov/d/topic/pqc-forum/vtMTuE_3u-0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to pqc-forum+...@list.nist.gov.
To view this discussion visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/CAEMn3UMAOKdrO84y__bS2AH1VwHYwjyLPhjkC3S2-CPMyxW1vg%40mail.gmail.com.
Do you know why or have experimental data to show that these differences would create performance impact/issue ?
You received this message because you are subscribed to a topic in the Google Groups "pqc-forum" group.
To unsubscribe from this topic, visit https://groups.google.com/a/list.nist.gov/d/topic/pqc-forum/vtMTuE_3u-0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to pqc-forum+...@list.nist.gov.
To view this discussion visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/MW4PR09MB100598BEF6815187DF85A027BF373A%40MW4PR09MB10059.namprd09.prod.outlook.com.
For decades, NIST has pushed ECDSA as a standard even though they fully understood that not backing it with a secure RNG could lead to the exposure of the private key. This scenario got much worse in the past decade as reusable virtual machines became the norm.
Changing the rule now to say that NIST will only standardize signature algorithms that work for "everyone" seems like a bad policy, particularly in the face of large communities that understand the risks of a particular scheme and can measure precisely when a key is becoming unsafe to use.
--
You received this message because you are subscribed to a topic in the Google Groups "pqc-forum" group.
To unsubscribe from this topic, visit https://groups.google.com/a/list.nist.gov/d/topic/pqc-forum/vtMTuE_3u-0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to pqc-forum+...@list.nist.gov.
To view this discussion visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/2bb53e5d-724c-452e-8257-dbd34502780cn%40list.nist.gov.
If the goal is to minimize the number of new parameter set(s) and to standardize a new one only when the existing ones have noticeable performance impact on some important use cases, I am not sure if there would still be a need to standardize a 2^20 one if NIST standardized a 2^30 one.
Hi Peter,
Thank you for your comment here: https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/0650d37c-ff0a-438d-999b-1c8f0f0b2fcdn%40list.nist.gov?utm_medium=email&utm_source=footer
What would the performance differences between AAA-3 vs G-7 and AAA-3 vs G-8 (https://eprint.iacr.org/archive/2024/018/1737032157.pdf ) be ? Their signature sizes are 3280, 3888 and 4000 bytes respectively.
Regards,
Quynh.
You received this message because you are subscribed to the Google Groups "pqc-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pqc-forum+...@list.nist.gov.
To view this discussion visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/MW4PR09MB100598964CEE1B21ECBA53F6AF34FA%40MW4PR09MB10059.namprd09.prod.outlook.com.
Hi Chris,
Thank you for sharing new parameter sets and your evaluations.
If some wants to have faster verify time than AAAs and Gs’ signing times and is willing to accept a bit larger signature size, I think you just found better and very good parameter sets. Below is some detail about the parameter sets rls128c1, G-7 and G-8.
id |
Sig in bytes |
Sign in # hashes |
Verify in #hashes |
#sigs at 112 bits of security |
rls128c1 |
3856 |
1.45 B |
311 |
2^27.25 |
G-7/8 |
3888 / 4000 |
84.67/95.68 mil |
736/743 |
2^34.5/2^35.74 |
Difference |
1 / 1.03% |
17.12 / 15.15 times |
2.36 / 2.38 times |
2^7.25 / 2^8.49 times |
Signing time of G-8 is 95 680 000 / 2 186 222 ( signing of SLH-DSA-X-128s in hash function calls) about 43.76 times of SLH-DSA-X-128s’ signing time.
Signing time of rls128c1 is 1 450 000 000 / 2 186 222, about 663 times of SLH-DSA-X-128s’ signing time.
If SLH-DSA-X-128s takes 0.5 seconds to sign, rls128c1 would take 331.5 seconds (5.525 minutes) to sign.
I don’t see a problem of someone says 5.5 minutes for signing is fine with my specific use case. But I don’t know if the other users are also fine with their specific software and firmware update and cert signing use cases.
I have not seen data which shows that the verify time of G-8 would create performance problem for a specific use case. It is just that rls128c1 and AAA-2/3 have better signing times than G-8’s signing time.
I think you and your teammates have found best parameter sets: AAA-2 and rls128c1 for the rebooting use case of the 32-bit RISC-V processors when overuse safety is not your concern or a risk in your system.
The attractive property of G-8 is that it has better overuse safety than AAA-2/3 and rls128c1’s.
Regards,
Quynh.
From: Chris Fenner <cf...@google.com>
Sent: Saturday, June 21, 2025 7:00 PM
To: Arne Padmos <goo...@arnepadmos.com>
What would the performance differences between AAA-3 vs G-7 and AAA-3 vs G-8 (https://eprint.iacr.org/archive/2024/018/1737032157.pdf ) be ? Their signature sizes are 3280, 3888 and 4000 bytes respectively.
Thank you Peter ! Yes, more experiments are needed. See my comment below.
From: Peter Thomassen <homa...@gmail.com>
Sent: Tuesday, July 8, 2025 1:54 PM
To: pqc-forum <pqc-...@list.nist.gov>
Cc: Dang, Quynh H. (Fed) <quynh...@nist.gov>; pqc-forum <pqc-...@list.nist.gov>; Paul Hoffman <paul.h...@icann.org>; homa...@gmail.com <homa...@gmail.com>; ja...@goertzen.ch
Subject: Re: [EXTERNAL] Re: [Ext] [EXTERNAL] Re: [pqc-forum] NIST requests feedback on additional SLH-DSA(Sphincs+) parameter set(s) for standardization.
Hi Quynh,
On Monday, July 7, 2025 at 7:58:27 PM UTC+2 Dang, Quynh H. (Fed) wrote:
What would the performance differences between AAA-3 vs G-7 and AAA-3 vs G-8 (https://eprint.iacr.org/archive/2024/018/1737032157.pdf ) be ? Their signature sizes are 3280, 3888 and 4000 bytes respectively.
I cannot answer your question precisely, as the DNS ecosystem is very diverse, and delivery success rates depend on all kinds of factors that don't allow writing down a simple function that would predict error rates based on DNSSEC signature (or key) size.
However, we've conducted a study last year with DNSSEC implementations of various PQC algorithms, then attempting to retrieve DNS records so signed from about 10,000 vantage points, using the RIPE ATLAS measurement platform.
The parameter space is quite large (UDP vs TCP; whether one (CSK) or two (KSK and ZSK) keys are used; whether the DO bit is set (delivers signatures to the client instead of only to the resolver); whether the requested name exists (if not, a large non-existence proof with several signatures has to be delivered); + some more details.)
Nevertheless, the results allow gaining some insights. In particular:
- On slide 7 of [1], consider the top-left diagram. Essentially, the NOERROR column is the success rate and the SERVFAIL column is the error rate for a standard query (UDP, name exists, no special circumstances). You can see that, as you go from FN-DSA-512 ("17_falcon512" row) to ML-DSA-44 ("18_dilithium2" row) to SLH-DSA-SHA2-128s ("19_spincs-sha256-128s" row), the success rate drops from 97.4% to 89.2% to 80.4%.
[Dang, Quynh H. (Fed)] Looking at the graphs on the slide 7, the ecdsa256 and ed22219 cases have failure rates not zero (all 4 ecdsa cases and 2 of the eddsa cases). This seems to possibly indicate that the failure is the natural way of UDP.
But 2k RSA sig has zero failure rate at all 4 cases. That seems to possibly indicate that the failure rates of the ecdsa and eddsa cases above were not caused by UDP (because 2k RSA sig is larger than the ecdsa and eddsa sigs), but by something else (I don’t know).
The DNS responses having one of those signatures above should fit in one 1232-byte packet.
https://blog.powerdns.com/2022/04/07/falcon-512-in-powerdns says (with Falcon512) that the 2 cases of having 1 sig, the response fits into a 1232-byte packet. The cases of having 2 sigs and (1 sig + 1 public key), the response does not fit into a 1232-byte packet which could create performance issue.
The “the top-left diagram” seems to have the case of a response having 1 Falcon512 sig and it fits into a 1232-byte packet. If so, I don’t understand why it has a noticeably higher failure rate than the ecdsa and eddsa cases’.
ML-DSA44 sig of 2420 bytes having a higher failure rate makes sense. SLH-DSA-level 1-small’s sig of 7856 bytes having a much higher failure rate also makes sense.
With signatures being 3280, 3888 and 4000 bytes with a pk size of 32 bytes, likely that they all would have similar performance with ML-DSA44 for the responses which include a sig and a pk.
Since those 3 sizes are not far away from each other much (subjective here), my guess is that they would have the same performance in most cases and in the other cases the differences are small. New experiments are needed to check my guess here.
Regards,
Quynh.
-- These numbers apply when the domain uses 1 key only. (This is our "pdns" setup.)
[Dang, Quynh H. (Fed)] Looking at the graphs on the slide 7, the ecdsa256 and ed22219 cases have failure rates not zero (all 4 ecdsa cases and 2 of the eddsa cases). This seems to possibly indicate that the failure is the natural way of UDP.
But 2k RSA sig has zero failure rate at all 4 cases. That seems to possibly indicate that the failure rates of the ecdsa and eddsa cases above were not caused by UDP (because 2k RSA sig is larger than the ecdsa and eddsa sigs), but by something else (I don’t know).
I don’t see a problem of someone says 5.5 minutes for signing is fine with my specific use case. But I don’t know if the other users are also fine with their specific software and firmware update and cert signing use cases.
I have not seen data which shows that the verify time of G-8 would create performance problem for a specific use case. It is just that rls128c1 and AAA-2/3 have better signing times than G-8’s signing time.
I think you and your teammates have found best parameter sets: AAA-2 and rls128c1 for the rebooting use case of the 32-bit RISC-V processors when overuse safety is not your concern or a risk in your system.
The attractive property of G-8 is that it has better overuse safety than AAA-2/3 and rls128c1’s.
--
You received this message because you are subscribed to a topic in the Google Groups "pqc-forum" group.
To unsubscribe from this topic, visit https://groups.google.com/a/list.nist.gov/d/topic/pqc-forum/vtMTuE_3u-0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to pqc-forum+...@list.nist.gov.
To view this discussion visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/03181424-8852-4cb7-95e8-37dc59873e9dn%40list.nist.gov.
Hi Chris,
Thank you for the input that you have provided. See my comment below.
From: Chris Fenner <cf...@google.com>
Sent: Wednesday, July 9, 2025 10:56 AM
To: Peter Thomassen <homa...@gmail.com>
Cc: pqc-forum <pqc-...@list.nist.gov>; Dang, Quynh H. (Fed) <quynh...@nist.gov>; Paul Hoffman <paul.h...@icann.org>; ja...@goertzen.ch <ja...@goertzen.ch>
Subject: Re: [EXTERNAL] Re: [Ext] [EXTERNAL] Re: [pqc-forum] NIST requests feedback on additional SLH-DSA(Sphincs+) parameter set(s) for standardization.
Thank you Quynh,
I think you could headline this entire discussion: "Performance, size, resilience to overuse; pick 2"
I don’t see a problem of someone says 5.5 minutes for signing is fine with my specific use case. But I don’t know if the other users are also fine with their specific software and firmware update and cert signing use cases.
Yup. I'd like to make 2 remarks on this point:
I have not seen data which shows that the verify time of G-8 would create performance problem for a specific use case. It is just that rls128c1 and AAA-2/3 have better signing times than G-8’s signing time.
I had hoped that one takeaway from my anecdote above about Smart NICs was that even a difference of ~3ms in boot time due to signature verification (the rough difference between G-7 and rls128c2 verification on a 50MHz RISC-V TPM-class SoC) can mean not having enough time to verify a signature during boot.
[Dang, Quynh H. (Fed)] https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/CAEMn3UMAOKdrO84y__bS2AH1VwHYwjyLPhjkC3S2-CPMyxW1vg%40mail.gmail.com says that G-7 takes about 3.4 ms for a verification.
AAA-2 takes 2.5 ms (3.4 x (213692 /337322)) for a verification.
Why does AAA-2 work well, but G-7 would create a problem ?
Regards,
Quynh.
[Dang, Quynh H. (Fed)] https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/CAEMn3UMAOKdrO84y__bS2AH1VwHYwjyLPhjkC3S2-CPMyxW1vg%40mail.gmail.com says that G-7 takes about 3.4 ms for a verification.
AAA-2 takes 2.5 ms (3.4 x (213692 /337322)) for a verification.
Why does AAA-2 work well, but G-7 would create a problem ?
Hi Chris and all,
Fast Verify Options at 2^20 or 2^24 limits.
Level 1.
Id |
n |
h |
d |
h’ |
a |
k |
lg(w) |
m |
|||||||
Level1-a |
16 |
21 |
1 |
21 |
25 |
6 |
3 |
22 |
Level1-b |
16 |
21 |
1 |
21 |
23 |
6 |
4 |
21 |
rls128cs1 |
16 |
22 |
1 |
22 |
24 |
6 |
2 |
21 |
Id |
Bit-security/#sigs |
pk |
sig |
-bytes |
Sign in #hashes |
Verify in # hashes |
#Sigs at 112 bits |
Level1-a |
128/2^24 |
32 |
3488 |
-368 |
1266679808 |
465 |
26.93[1] |
Level1-b |
117.97/2^24 |
32 |
3216 |
-640 |
1329594368 |
448 |
25.16 |
rls128cs1 |
128/2^24 |
32 |
3856 |
0 |
1451229184 |
311 |
27.25 |
[1] Note: 26.93 means 2^26.93 messages and that applies to the rest of this message.
(Assuming 9.44 M hashes takes 1 second, 302M (cached signing of rls128cs1) would take about 32 seconds. )
I think Level1-a may be considered slightly more attractive than rls128cs1 by many others because of the former’s smaller signature size even though the former has slower verification than the latter. I understand that you care about verification time very much.
Level1-b may be considered more attractive than the other 2 by many others due to its smallest signature size even though it has only 2^20 signatures limit at 128 bits of security. For some firmware update and/or certificate signing situations, 2^20 limit with the degradation to 112 bits of security at 2^26.93 signatures per signing key might be safe enough.
For me, I prefer rls128cs1 due to its best overuse safety (27^25 sigs at 112 bits of security) among those 3.
However, there are 2 other parameter sets whose signature sizes are 3584 and 3776 bytes, their overuse safeties are 27^29 and 27^97 messages at 112 bits of security and they have 364 and 376 hashes for verification. These 2 are a bit slower than rls128cs1 in verification, but they have smaller signatures and better overuse safeties ( many people might consider these improvements small).
To me, it is very hard to say which one to go with even when fast verify is the most important factor.
Level 3.
Id |
n |
h |
d |
h’ |
a |
k |
lg(w) |
m |
|||||||
Level3-a |
24 |
20 |
1 |
20 |
23 |
9 |
4 |
29 |
Level3-b |
24 |
21 |
1 |
21 |
23 |
9 |
4 |
29 |
Rls192cs1 |
24 |
21 |
1 |
21 |
25 |
9 |
3 |
32 |
Level3-c |
24 |
21 |
1 |
21 |
25 |
9 |
2 |
32 |
Level3-d |
24 |
21 |
1 |
21 |
23 |
10 |
4 |
32 |
Id |
Bit-sec/#sigs |
pk |
sig |
% size |
sign |
verify |
#Sigs at 128/112 bits |
Level3-a |
(168.46/2^24), (192/2^20.13) |
48 |
6912 |
-840 |
1084227584 |
647 |
28.76/30.55 |
Level3-b |
(175.69/2^24), (192/2^21.12 ) |
48 |
6936 |
-816 |
1329594368 |
648 |
29.76/31.55 |
Rls192cs1 |
192/2^24 |
48 |
7752 |
0 |
1451229184 |
526 |
31.77/33.55 |
Level3-c |
192/2^24 |
48 |
8568 |
+816 |
1757413376 |
460 |
31.77/33.55 |
Level3-d |
192/2^24 |
48 |
7512 |
-240 |
1967128576 |
672 |
31.19/32.79 |
I prefer rls192cs1 due to its 2^24 limit at 192 bits of security and its overuse safeties. However, many others might prefer one of the others for its smaller signature size or faster verification.
Level 5.
Id |
n |
h |
d |
h’ |
a |
k |
lg(w) |
m |
Level5-a |
32 |
21 |
1 |
21 |
20 |
14 |
4 |
38 |
Level5-b |
32 |
21 |
1 |
21 |
22 |
14 |
4 |
42 |
Rls256cs1 |
32 |
21 |
1 |
21 |
25 |
12 |
2 |
41 |
Id |
pk |
sig |
Size reduction in bytes. |
sign |
verify |
Bit-security/#sigs
|
Level5-a |
64 |
12256 |
-2688 |
854 |
(256/2^20), (192/2^27.17)
|
|
Level5-b |
64 |
13152 |
-1792 |
2428502016
|
882 |
256/2^24), (192/2^29.26)
|
Rls256cs1 |
64 |
14944 |
0 |
2327838720 |
602 |
(256/2^24), (192/2^29.98)
|
I prefer rls256cs1 for its largest overuse safeties. However, many others might prefer Level5-a or Level5-b for its smaller signature size.
Small Sig Options at 2^30 limit.
Level 1.
Id |
n |
h |
d |
h’ |
a |
k |
lg(w) |
m |
rls128gp2 |
16 |
45 |
3 |
15 |
19 |
6 |
8 |
21 |
Level1-A |
16 |
32 |
2 |
16 |
22 |
6 |
7 |
21 |
Id |
pk |
sig |
Size reduction in bytes. |
sign |
verify |
Sigs at 112 bits |
rls128gp2
|
32 |
3520 |
0 |
462618624
|
7082 |
43.02 |
Level1-A |
32 |
3408 |
-112 |
428081152
|
2862 |
34.99 |
Personally, I slightly prefer rls128gp2 over Level1-A because of the numbers of sigs at 112 bits of security. But many others might prefer Level1-A because it has smaller sig, much faster verification, and a slightly faster signing time.
Level 3.
Id |
n |
h |
d |
h’ |
a |
k |
lg(w) |
m |
rls192gp3 |
24 |
36 |
2 |
18 |
21 |
9 |
6 |
30 |
Level3-A |
24 |
34 |
2 |
17 |
24 |
8 |
7 |
30 |
Id |
pk |
sig |
Size reduction in bytes.
|
sign |
verify |
Sigs at 128 bits |
rls192gp3 |
48 |
7272 |
0 |
1.2B |
2414 |
42.73 |
Level3-A |
48 |
7080 |
-192 |
1.4B |
4078 |
41.98 |
Personally, I slightly prefer rls192gp3 over Level3-A because of the numbers of sigs at 128 bits of security. Some others might prefer Level3-A which has smaller signature even though the size improvement is small.
Level 5.
Id |
n |
h |
d |
h’ |
a |
k |
lg(w) |
m |
rls256gp1 |
64 |
34 |
2 |
17 |
21 |
13 |
7 |
41 |
Level5-A |
64 |
32 |
2 |
16 |
21 |
13 |
8 |
39 |
Id |
pk |
sig |
Size reduction in bytes.
|
sign |
verify |
#Sigs at 192/128 bits of security. |
rls256gp1 |
64 |
12768 |
0 |
1.39B |
5316 |
40.12/45.15 |
Level5-A |
64 |
12384 |
-384 |
1.22B |
9026 |
38.12/43.15 |
I prefer rls256gp1 over Level5-A due to its overuse safety. However, many others might prefer the latter for its smaller signature size, but the size improvement seems to be small.
2 limits at 3 security levels with SHA3 and SHA2, there would be 12 new parameter sets which seems too many to me. Also, if one more limit is added, there would be another 6 parameter sets.
Please discuss the parameter set(s) that you prefer here including your rationale to help us with this search and selection process.
Thank you and Regards,
Quynh.
From: Chris Fenner <cf...@google.com>
Sent: Wednesday, July 9, 2025 10:56 AM
To: Peter Thomassen <homa...@gmail.com>
Cc: pqc-forum <pqc-...@list.nist.gov>; Dang, Quynh H. (Fed) <quynh...@nist.gov>; Paul Hoffman <paul.h...@icann.org>; ja...@goertzen.ch <ja...@goertzen.ch>
Subject: Re: [EXTERNAL] Re: [Ext] [EXTERNAL] Re: [pqc-forum] NIST requests feedback on additional SLH-DSA(Sphincs+) parameter set(s) for standardization.
Thank you Quynh,
Hi Chris,
Thank you for the table, the graph, and the suggestions. See more discussion inline below.
Hi all,
Please discuss your preferences.
From: Chris Fenner <cf...@google.com>
Sent: Wednesday, August 6, 2025 8:19 PM
To: Dang, Quynh H. (Fed) <quynh...@nist.gov>
Cc: pqc-forum <pqc-...@list.nist.gov>; Paul Hoffman <paul.h...@icann.org>; ja...@goertzen.ch <ja...@goertzen.ch>; Peter Thomassen <homa...@gmail.com>
Subject: Re: [EXTERNAL] Re: [Ext] [EXTERNAL] Re: [pqc-forum] NIST requests feedback on additional SLH-DSA(Sphincs+) parameter set(s) for standardization.
Screenshot of table since it's garbled in the web view:
On Wed, Aug 6, 2025 at 5:11 PM Chris Fenner <cf...@google.com> wrote:
Apologies for my reading comprehension, I did not realize some of the suggestions were at the 2^20 level and some were at the 2^24 level. I think 2^20 signatures is probably fine for firmware signing, but the "rate limiting for 30 years" calculus yields 1 signature per 15 minutes. I like that 2^24 signatures lets you sign once per minute, because it makes it easier to reason about the safety: especially if your HSM doesn't cache the top level Merkle tree and takes over a minute to produce the signature in the first place -- slowness becomes a safety feature in that scenario. I've re-titled the "levelx-a/b/c/d" in my table to include the different limits. I think my recommendations become the following:
- rls128cs1 for the same reasons as before (next best thing is over 40% slower to verify but not that much smaller)
[Dang, Quynh H. (Fed)] If it takes 32 seconds to sign with rls128cs1, it will take 17.024 years for a single machine doing only signing to go over 2^24. At 2^25.75 and 2^27.25 limits, it has 120 and 112 bits of security, respectively. It seems safe enough for firmware, software update and certificate signing purposes. How about the case of multiple signers using the same key ? Would it be reasonable to require that a single signing key shall not be used concurrently in multiple signing processes ?
- rls192cs1 because it gives full strength at 2^24 signatures; level3-c-24 is a very good 2nd option but I disfavor it due to the 8KB boundary. There's not really a strong magic reason for 8192 bytes to be a big threshold, but just thinking about the way firmware images get laid out into (e.g., 4KB or 8KB) pages, it seems nice to stay under 8KB.
[Dang, Quynh H. (Fed)] As I stated in my previous email, I personally prefer rls128cs1 and rls192cs1 for their overuse safeties. You wanted a fastest verify option, so I just showed you that level3-c-24 is 13% faster in verification than rls192cs1 with 11% larger signature size cost. Anyone preferring level3-c-24 over rls192cs1, please speak up.
- level5-a-20 if NIST finds the 2^20 (instead of 2^24) limit acceptable, rls256cs1 otherwise. level5-b-24 is also very good. The reason I like
level5-a-20 is that it is so "small" it fits into three 4KB pages (similar argument to the above). Since this is the "safest" parameter set, it comes with some "bonus" overuse safety. An HSM that doesn't cache the Merkle tree, that can do about 1M short hashes per second, should take about 38 minutes to create a signature using this parameter set. So it may be quite reasonable to require users to avoid breaking the 2^20 limit, and recommend they limit the signer to one signature per 15 minutes. But I do wonder if it would be confusing to have a 2^20 limit for the level 5 parameter set, and a 2^24 limit for the others. The only reason I see not to go with a 2^20 parameter set for levels 1 and 2 is that the ones we've found don't give us a dramatic tradeoff benefit or cross an interesting size threshold.
[Dang, Quynh H. (Fed)] As stated in my previous email, I personally prefer rls256cs1 over the other 2 for its largest overuse safety. My 2nd choice is level5-b for its limit at 2^24 (not 2^20) and its smaller signature. Anyone preferring either level5-b-24 or level5-a-20, please speak up.
Regards,
Quynh.
You received this message because you are subscribed to the Google Groups "pqc-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pqc-forum+...@list.nist.gov.
To view this discussion visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/MW4PR09MB10059BBB4AEC8510E85E70759F32CA%40MW4PR09MB10059.namprd09.prod.outlook.com.
On Aug 7, 2025, at 14:35, 'Sophie Schmieg' via pqc-forum <pqc-...@list.nist.gov> wrote:
This Message Is From an External SenderThis message came from outside the Laboratory.
As mentioned before, I do not think that it is good practice to work around limits with overly prescriptive limitations on deployments. After all, it is perfectly fine to have two servers (for reliability reasons alone, many users will want at least two signing servers in different hemispheres) creating signatures with SLH-DSA, as long as they do not breach the limits, and taking your own numbers, two servers would still require 8000 years to produce enough signatures to reach the limits. SP 800-38D simply specifies the limit - no more than 2^32 encryption operations SHALL be done. I'd argue that this is also the best approach here: Document the upper limit, and assume that implementers will follow the guidance that is given. Just with AES-GCM, stuff does not go up in flames the second the limit is breached here, the limit is merely a mathematical artifact computing when a certain probability reaches an unacceptable limit, and in both cases there is enough safety margin included in the calculation that only a severe overstepping of the limit actually results in an exploitable vulnerability, most of the time.As an aside, while I'm talking about the 2^32 limit in SP 800-38D, I would actually argue that even that is not the right guidance, and the correct guidance would have been to state that the probability of an IV collision within the corresponding system shall not be above 2^-32. In most cases, this is the same result, as 2^32 encryption queries lead to the probability of IV collision to be 2^-32. However, there are scenarios where the difference matters: In many modern use cases of AES-GCM, the 2^32 limit is too restrictive, so in order to allow for the encryption of more messages, systems use key derivation to derive keys using an independent random nonce and then using this key to encrypt with AES-GCM. If we put the key derivation nonce at a length of 64 bit, we now have 2^64 keys instead of one, which, as a naive calculation suggests would allow for the encryption of 2^96 messages (even if the key derivation nonce is random, it turns out that due to law of large numbers the number of encryption calls allowed without violating NIST guidance is well above 2^95). However, since the individual collision chance is 2^-32, if one were to actually encrypt 2^96 messages (ignoring the fact that this is utterly impossible), one would expect not just one, but around 2^32 IV collisions. The correct computation instead models the key derivation nonce and the AES-GCM IV as a single, 160 bit nonce, which then, accounting for the 2^-32 collision probability limit and the birthday paradox, give the actual save to encrypt number of messages for this system, which is 2^64.My point with this story is that if you are not careful to put down the limits that you actually, mathematically, mean to enforce, you will produce systems that are perfectly compliant with the standard while also being perfectly insecure. All in all, just document that you can at most produce 2^20 signatures, and add suggestions for how such a limitation could be enforced, but do not make those suggestions binding.
On Thu, Aug 7, 2025 at 8:18 AM 'Dang, Quynh H. (Fed)' via pqc-forum <pqc-...@list.nist.gov> wrote:
Hi Chris,
Thank you for the table, the graph, and the suggestions. See more discussion inline below.
Hi all,
Please discuss your preferences.
From: Chris Fenner <cf...@google.com>
Sent: Wednesday, August 6, 2025 8:19 PM
To: Dang, Quynh H. (Fed) <quynh...@nist.gov>
Cc: pqc-forum <pqc-...@list.nist.gov>; Paul Hoffman <paul.h...@icann.org>; ja...@goertzen.ch <ja...@goertzen.ch>; Peter Thomassen <homa...@gmail.com>
Subject: Re: [EXTERNAL] Re: [Ext] [EXTERNAL] Re: [pqc-forum] NIST requests feedback on additional SLH-DSA(Sphincs+) parameter set(s) for standardization.
Screenshot of table since it's garbled in the web view:
<image001.png>
<image002.png>
On Aug 7, 2025, at 16:19, 'Sophie Schmieg' via pqc-forum <pqc-...@list.nist.gov> wrote:
Sophie Schmieg wrote:
>SP 800-38D simply specifies the limit - no more than 2^32 encryption operations >SHALL be done. I'd argue that this is also the best approach here:
I agree, while limits ideally should be high enough that they need not be considered in practice, there is almost always tradeoffs between security and performance. Overly prescriptive limitations often lead to people using something else, which might be worse, instead.
>the 2^32 limit is too restrictive, so in order to allow for the encryption of more >messages, systems use key derivation to derive keys using an independent random >nonce and then using this key to encrypt with AES-GCM.
Yes, but the 2^32 limit on invocations combined with the 2^32 block limit on plaintext length is actually too soft. A commonly agreed limit for block cipher modes is 2^59 blocks with a single key.
>As an aside, while I'm talking about the 2^32 limit in SP 800-38D, I would actually >argue that even that is not the right guidance, and the correct guidance would have >been to state that the probability of an IV collision within the corresponding >system shall not be above 2^-32.
SP 800-38D actually has both of these requirements and the requirement of 2^-32 IV collision probabiltiy is way to soft. With an IV collision probabiltiy of 2^-32 and attacker can completely compromise integrity and recover up to 2^33 blocks of plaintext with complexity 2^97. While this is the same as the complexity of a distinguishing attack based on the lack of collisions, the lack of collisions just allow an attacker to recover a small fraction of a bit and does not compromise integrity. 2^97 complexity is acceptable for the distinguishing attack (lack of block collisions), but not att all for the IV collision attack.
Cheers,
John
Arne Padmos
wrote:
>Cloudflare Radar which I assume reflect X25519MLKEM768
I also assume that Cloudflare Radar primarily reflects X25519MLKEM768 usage. Can anyone confirm this? (49% PQC on Sep 24, 8.00 UTC)
https://radar.cloudflare.com/adoption-and-usage#post-quantum-encryption-adoption
3GPP is will soon discuss which TLS key exchange algorithms to mandate. Personally, I would like to see both X25519MLKEM768 and standalone ML-KEM mandated (I avoid the term pure, as it implies that non-hybrid variants are somehow superior). However, support for standalone ML-KEM in TLS libraries currently appears to lag behind X25519MLKEM768. For example, the TLS implementations in Go and Java do not yet support standalone ML-KEM. Does anyone know if this situation is likely to change? 3GPP vendors generally rely on commercially available TLS implementations.
>the recently published ECCC Agreed Cryptographic Mechanisms v2 (ACMv2)
I strongly hope this document is not applied beyond national security systems. If it is intended for broader use, it must undergo a transparent public review process and actively incorporate input from industry stakeholders.
>Also, I'm assuming that the parameter sets for 'SLH-DSA-few' will only include SHAKE. Given the intended application domain, the performance difference between the SHA2 family and SHAKE256 in hardware, many of the PoCs mentioned appearing to be SHAKE-based, the interest shown in the thread, the advantage of compatibility, and the desire to limit the growth of additional parameter sets, I think just standardising SHAKE-based variants is the best decision. It might also help to reduce the alphabet soup of the current SLH-DSA identifiers.
+ 1
(While exploring the construction of a PKE using ML-KEM, I was reminded how valuable a Keccak-based AEAD would be. It would enable building an ML-KEM–based PKE where Keccak is the sole symmetric primitive that needs to be implemented.)
Cheers,
John
I also assume that Cloudflare Radar primarily reflects X25519MLKEM768 usage. Can anyone confirm this? (49% PQC on Sep 24, 8.00 UTC)
https://radar.cloudflare.com/adoption-and-usage#post-quantum-encryption-adoption
Hi Arne,
Quynh shared parameter candidates last week in the 6th PQC conference. The parameters included 2^16, 2^24 and 2^30. They are planning to standardize 2^24 params rls128cs1, rls192cs1, and rls256cs1. He solicited more feedback for the other two. The video is not public yet. I think it will take NIST 2-3 weeks to post it, assuming no government shutdown. Also see image.
From: pqc-...@list.nist.gov <pqc-...@list.nist.gov> On Behalf Of Arne Padmos
Sent: Friday, September 26, 2025 6:25 PM
To: pqc-forum <pqc-...@list.nist.gov>
Cc: John Mattsson <john.m...@ericsson.com>; Quynh H. Dang <quynh...@nist.gov>; Chris Fenner <cf...@google.com>; pqc-forum <pqc-...@list.nist.gov>; Paul Hoffman <paul.h...@icann.org>; ja...@goertzen.ch <ja...@goertzen.ch>; Peter Thomassen <homa...@gmail.com>;
Sophie Schmieg <ssch...@google.com>; Blumenthal, Uri - 0553 - MITLL <u...@ll.mit.edu>
Subject: RE: [EXTERNAL] [Ext] [EXTERNAL] Re: [pqc-forum] NIST requests feedback on additional SLH-DSA(Sphincs+) parameter set(s) for standardization.
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. |
Hi Arne,
Thank you for all that important information.
Yes, as you recommended, in the talk at the workshop last week, we announced that we plan to standardize the rls192cs1 parameter sets with both SHAKE256 and a SHA2. I will discuss with my team about your suggestion of just going with the SHAKE.
On the technical side, I will do my best to get the job done fast.
Hi all,
As presented in the talk, we plan to standardize the parameter sets rls128cs1, rls192cs1 and rls256cs1.
As Amber Sprenkels and Thom Wiggers discussed in their message on 04/16/2025: "we think that there may be some embedded use cases, such as individually signed firmware updates to large numbers of devices.". With that, we have searched for many different parameter sets at the 2^30 limit. We presented and discussed several of them. We asked the community for more feedback on the demand of parameter sets at this limit. We would like to know if the mentioned use case is very common in the industry.
rls128cs1’s signing time is about 664 times of the SLH-DSA-SHA2-128s’ signing time in the normal method. The scale reduces to about 138 times when the one-time signature tree is cached, and in this case if SLH-DSA-SHA2-128s takes 0.2 seconds to sign, rls128cs1 would take about 27.6 seconds to sign. So, the signing time of rls128cs1 could be considered too slow when a lot of signatures are desired to be generated in a short period of time (multiple signers would improve the speed for such a task).
Beside the use case Amber Sprenkels and Thom Wiggers brought up above, there could be another use case: signing certificates, especially end-entity certificates when a lot of them are desired to be generated quickly. We don't know if the CAs actually plan to use a smaller SLH-DSA parameter set to do that and if the answer is yes, is the signing time of rls128cs1 not acceptable to them ?
We also asked you to let us know if the 3 2^24 parameter sets above would have unacceptable performance for your systems.
We presented some 2^16 limit parameter sets, but their performance improvements over the 2^24 limit ones are small in our opinion. In addition, lower limits come with higher security risks when misuse happens and we would like to minimize the number of parameter sets, therefore, we don't plan to standardize them at this time.
Thank you and Regards,
Quynh.
From: Arne Padmos <goo...@arnepadmos.com>
Sent: Friday, September 26, 2025 6:25 PM
To: pqc-forum <pqc-...@list.nist.gov>
Hi Arne, Quynh,
> and no-one seems to have been clamouring for SHA-2-based variants
To this point, I think there is significant value in SHA-2 based variants given how much hardware still supports it, while not including SHA-3.
Adding SHA-3 in hardware is more expensive than SHA-2 (in terms of area), raising challenges for constrained devices for which these parameter sets would be especially useful.
Kind regards,
Joost
From: 'Dang, Quynh H. (Fed)' via pqc-forum <pqc-...@list.nist.gov>
Sent: Monday, September 29, 2025 7:59 AM
To: Arne Padmos <goo...@arnepadmos.com>; pqc-forum <pqc-...@list.nist.gov>
Cc: John Mattsson <john.m...@ericsson.com>; Chris Fenner <cf...@google.com>; pqc-forum <pqc-...@list.nist.gov>; Paul Hoffman <paul.h...@icann.org>; ja...@goertzen.ch <ja...@goertzen.ch>; Peter Thomassen <homa...@gmail.com>; Sophie Schmieg <ssch...@google.com>; Blumenthal, Uri - 0553 - MITLL <u...@ll.mit.edu>
Subject: RE: [EXTERNAL] Re: [Ext] [EXTERNAL] Re: [pqc-forum] NIST requests feedback on additional SLH-DSA(Sphincs+) parameter set(s) for standardization.
Caution: This is an external email. Please take care when clicking links or opening attachments. When in doubt, report the message using the 'Report this email' button |
To view this discussion visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/cf9e3cd8-b21e-4832-99bd-a205eb191c65n%40list.nist.gov.
Hi Quynh,
Thanks for making this happen.
The 2^24 parameters look fine. Personally, I would rather push the L1 2^24 parameters towards the smallest signature size, but I can live with rls128cs1.
Regarding the 2^16 options, personally I don’t think their size or performance benefit is significant enough to justify the parameter creep and the 2^16 limit monitoring impact.
As for 2^30, personally I am not aware of any use-cases where 2^24 will not be enough, but 2^30 will be.
Rgs,
From: pqc-...@list.nist.gov <pqc-...@list.nist.gov>
On Behalf Of Quynh Dang
Sent: Wednesday, October 1, 2025 12:40 PM
To: Chris Fenner <cf...@google.com>
Cc: pqc-forum <pqc-...@list.nist.gov>; Joost Renes <joost...@nxp.com>; john.m...@ericsson.com <john.m...@ericsson.com>; paul.h...@icann.org <paul.h...@icann.org>; ja...@goertzen.ch <ja...@goertzen.ch>; homa...@gmail.com <homa...@gmail.com>;
ssch...@google.com <ssch...@google.com>; u...@ll.mit.edu <u...@ll.mit.edu>; quynh...@nist.gov <quynh...@nist.gov>; goo...@arnepadmos.com <goo...@arnepadmos.com>
Subject: RE: [EXTERNAL] [Ext] [EXTERNAL] Re: [pqc-forum] NIST requests feedback on additional SLH-DSA(Sphincs+) parameter set(s) for standardization.
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe. |
Thank you Chris.
I confirmed that typo when I copied and pasted.
Regards,
Quynh.
On Wed, Oct 1, 2025 at 12:26 PM 'Chris Fenner' via pqc-forum <pqc-...@list.nist.gov> wrote:
NIST posted the slides from Quynh's presentation here: https://csrc.nist.gov/csrc/media/presentations/2025/sphincs-smaller-parameter-sets/sphincs-dang_2.2.pdf. Thanks again to Quynh and team for their work here; I really enjoyed reading through the analysis in the deck (wish I could have made it to the meeting).
I might have found a minor copy-paste typo: slide 11 lists the signature cost (in hashes) of rls192cs1 as 1451229184, the same as rls128cs1. I believe the correct value is 2034237433. I don't think this substantially changes much (we already knew these parameter sets were slow for signers in order to be fast for verifiers 😅)
I have prepared some simple charts that summarize the comparison between the existing parameter sets for SLH-DSA, the proposed RLS (Relatively Little Signatures) parameter sets, and some select parameter sets from Quynh's presentation. I selected sets from the 2^16 parameter sets based on minimum signature size, and sets from the 2^30 parameter sets based on minimum signature time, just to try to get a sense for what would be possible for future proposals for 2^16 and 2^30 (depending on the anticipated actual use-cases here).
Thanks
Chris
On Monday, September 29, 2025 at 8:57:23 AM UTC-7 Chris Fenner wrote: