<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.31 (Ruby 3.2.3) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>

<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc docmapping="yes"?>

<rfc ipr="trust200902" docName="draft-ietf-pquip-pqc-hsm-constrained-04" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Adapting Constrained Devices for PQC">Adapting Constrained Devices for Post-Quantum Cryptography</title>

    <author fullname="Tirumaleswar Reddy">
      <organization>Nokia</organization>
      <address>
        <postal>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <country>India</country>
        </postal>
        <email>k.tirumaleswar_reddy@nokia.com</email>
      </address>
    </author>
    <author fullname="Dan Wing">
      <organization abbrev="Citrix">Citrix</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>danwing@gmail.com</email>
      </address>
    </author>
    <author fullname="Ben Salter">
      <organization>UK National Cyber Security Centre</organization>
      <address>
        <email>ben.s3@ncsc.gov.uk</email>
      </address>
    </author>
    <author fullname="Kris Kwiatkowski">
      <organization>PQShield</organization>
      <address>
        <email>kris@amongbytes.com</email>
      </address>
    </author>

    <date year="2026" month="March" day="27"/>

    <area>Security</area>
    <workgroup>PQUIP</workgroup>
    <keyword>PQC</keyword> <keyword>IoT</keyword> <keyword>TEE</keyword> <keyword>HSM</keyword> <keyword>RoT</keyword>

    <abstract>


<?line 151?>

<t>This document provides guidance on integrating Post-Quantum Cryptography (PQC) into
resource-constrained devices, such as IoT nodes and lightweight Hardware Security Modules
(HSMs). These systems often operate with strict limitations on processing power, RAM, and
flash memory, and may even be battery-powered. The document emphasizes the role of hardware
security as the basis for secure operations, supporting features such as seed-based key
generation to minimize persistent storage, efficient handling of ephemeral keys, and the
offloading of cryptographic tasks in low-resource environments. It also explores the
implications of PQC on firmware update mechanisms in such constrained systems.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-pquip-pqc-hsm-constrained/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        pquip Working Group mailing list (<eref target="mailto:pqc@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/pqc/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/pqc/"/>.
      </t>
    </note>


  </front>

  <middle>


<?line 162?>

<section anchor="introduction"><name>Introduction</name>

<t>The transition to post-quantum cryptography (PQC) poses significant challenges for
resource-constrained devices, such as Internet of Things (IoT) devices, which are often equipped with Trusted Execution Environments (TEEs), secure elements, or other forms of hardware
security modules (HSMs).
These devices typically operate under strict limitations on
processing power, RAM, and flash memory, and in some cases are battery-powered. Adopting
PQC algorithms in such environments is difficult due to their substantially larger key
sizes and, in some cases, higher computational demands. Consequently, the migration to
PQC requires careful planning to ensure secure and efficient key management within
constrained platforms.</t>

<t>Constrained devices are often deployed as clients initiating outbound connections, but some also act in server roles or enforce local authentication policies.
As a result, designers may need to consider PQ solutions to address confidentiality, both outbound and inbound authentication, and signature verification used in secure boot, firmware updates, and device attestation.</t>

<t>This document provides guidance and best practices for integrating PQC algorithms into
constrained devices. It reviews strategies for key storage, ephemeral key management,
and performance optimization tailored to low-resource environments. The document also
examines ephemeral key generation in protocols such as TLS, along with techniques to
optimize PQC signature operations to improve performance within constrained cryptographic
modules.</t>

<t>This document focuses on PQC algorithms standardized by NIST or specified by the IRTF CFRG, and that have corresponding IETF protocol specifications, either published as RFCs or progressing through the IETF standards process. Specifically, it covers the following algorithms:</t>

<t><list style="symbols">
  <t>Module-Lattice-Based Key-Encapsulation Mechanism (ML-KEM) <xref target="FIPS203"/>.</t>
  <t>Module-Lattice-Based Digital Signature Algorithm (ML-DSA) <xref target="FIPS204"/>.</t>
  <t>Stateless Hash-Based Digital Signature Algorithm (SLH-DSA) <xref target="FIPS205"/>.</t>
  <t>Hierarchical Signature System/Leighton-Micali Signature (HSS/LMS) <xref target="RFC8554"/>, and the related eXtended Merkle Signature Scheme (XMSS) <xref target="RFC8391"/>.</t>
</list></t>

<t>Additional post-quantum algorithms are expected to be standardised in future, which may also prove suitable for use in constrained devices. Since algorithms may change prior to standardisation (or may end up unstandardised), no concrete guidance is provided on these here, but future specifications may provide guidance on the following algorithms:</t>

<t><list style="symbols">
  <t>The Falcon signature scheme <xref target="Falcon"/> has shorter keys and signatures than ML-DSA, though its use of floating point arithmetic may make it challenging to implement on some devices.</t>
  <t>The HQC KEM <xref target="HQC"/> is a code-based KEM, so offers algorithmic diversity to complement lattice-based KEMs, though it is less performant than ML-KEM.</t>
  <t>Smaller SLH-DSA parameter sets <xref target="Smaller-SPHINCS"/> may be standardised in future, which may make use of SLH-DSA more palatable on constrained devices.</t>
</list></t>

<t>This document focuses on device-level adaptations and considerations necessary to implement PQC efficiently on constrained devices.
Actual protocol behaviour is defined in other documents.</t>

</section>
<section anchor="conventions-and-definitions"><name>Conventions and Definitions</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<?line -18?>

</section>
<section anchor="key-management-in-constrained-devices-for-pqc"><name>Key Management in Constrained Devices for PQC</name>

<t>The embedded cryptographic components used in constrained devices are designed to securely manage cryptographic keys, often under strict limitations in RAM, flash memory, and computational resources. These limitations are further exhausted by the increased key sizes and computational demands of PQC algorithms.</t>

<t>One mitigation of storage limitations is to store only the seed rather than the full
expanded private key, as the seed is far smaller and can derive the expanded private key
as necessary. <xref target="FIPS204"/> Section 3.6.3 specifies that the seed ξ generated during ML-DSA.KeyGen can be stored for later use with ML-DSA.KeyGen_internal.
To reduce storage requirements on constrained devices, private keys for
Initial Device Identifiers (IDevIDs), Locally Significant Device
Identifiers (LDevIDs), and the optional attestation private key can be
stored as seeds instead of expanded key material.</t>

<section anchor="Seed"><name>Seed Management</name>

<t>To comply with <xref target="FIPS203"/>, <xref target="FIPS204"/>, <xref target="FIPS205"/> and <xref target="REC-KEM"/> guidelines:</t>

<section anchor="seed-storage"><name>Seed Storage</name>

<t>Several post-quantum algorithms use a seed to generate their private keys (e.g., ML-KEM and ML-DSA). Those seeds are smaller than private keys, hence some implementations may choose to retain the seed rather than the full private key to save on storage space. The private key can then be derived from the seed when needed or retained in a cache within the security module.</t>

<t>The seed is a Critical Security Parameter (CSP) as defined in <xref target="ISO19790"/>, from which the private key can be derived, hence it must be safeguarded with the same
level of protection as a private key. Seeds should be securely stored within a cryptographic module of the device whether hardware or software-based to protect against unauthorized access.</t>

<t>The choice between storing a seed or an expanded private key involves trade-offs
between storage efficiency and performance. Some constrained cryptographic modules may
store only the seed and derive the expanded private key on demand, whereas others may
prefer storing the full expanded key to reduce computational overhead during key usage.</t>

<t>The choice between storing the seed or the expanded private key has direct
implications on performance, as key derivation incurs additional computation. The impact
of this overhead varies depending on the algorithm. For instance, ML-DSA key generation,
which primarily involves polynomial operations using the Number Theoretic Transform (NTT)
and hashing, is computationally efficient compared to other post-quantum schemes. In contrast,
SLH-DSA key generation requires constructing a Merkle tree and multiple Winternitz One-Time
Signature (WOTS+) key generations, making it significantly more computationally intensive. In
many embedded deployments, SLH-DSA is expected to be used primarily for firmware verification, in which
case key generation is performed offline and does not impact device performance. However,
in scenarios where the device generates its own SLH-DSA key pairs, the higher key generation
cost may influence seed-storage design decisions and depend on performance considerations
or standards compliance (e.g., PKCS#11).</t>

<t>While vulnerabilities like the "Unbindable Kemmy Schmidt" misbinding attack <xref target="BIND"/> demonstrate
the risks of manipulating expanded private keys in environments lacking hardware-backed
protections, these attacks generally assume an adversary has some level of control over
the expanded key format. However, in a hardware-backed protected environment, where private
keys are typically protected from such manipulation, the primary motivation for storing
the seed rather than the expanded key is not directly tied to mitigating such misbinding attacks.</t>

<t>The expanded private key is derived from the seed using a one-way cryptographic function.
As a result, if the seed is not retained at key generation time, it cannot be reconstructed
from the expanded key (as the reverse operation is computationally infeasible). Implementations
should account for this non-recoverability when designing seed management.</t>

<t>A challenge arises when importing an existing private key into a system designed to
store only seeds. When a user attempts to import an already expanded private key, there is
a mismatch between the key format used internally (seed-based) and the expanded private
key. This issue arises because the internal format is designed for efficient key storage
by deriving the private key from the seed, while the expanded private key is already fully
computed. As NIST has not defined a single private key format for PQC algorithms, this
creates a potential gap in interoperability.</t>

</section>
<section anchor="efficient-key-derivation"><name>Efficient Key Derivation</name>

<t>When storing only the seed in a constrained cryptographic module, it is crucial that
the device is capable of deriving the private key efficiently whenever required. However,
repeatedly re-deriving the private key for every
cryptographic operation may introduce significant performance overhead. In scenarios where
performance is a critical consideration, it may be more efficient to store the expanded
private key directly (in addition to the seed). Implementations may choose to
retain (cache) several recently-used or frequently-used private keys to avoid the computational
overhead and delay of deriving private keys from their seeds with each request.</t>

<t>The key derivation process, such as ML-KEM.KeyGen_internal for ML-KEM or similar
functions for other PQC algorithms, must be implemented in a way that can securely operate
within the resource constraints of the device. If using the seed-only model, the derived
private key should only be temporarily held in memory during the cryptographic operation
and discarded immediately after use. However, storing the expanded private key may be a
more practical solution in time-sensitive applications or for devices that frequently
perform cryptographic operations.</t>

</section>
<section anchor="exporting-seeds-and-private-keys"><name>Exporting Seeds and Private Keys</name>

<t>Given the potential for hardware failures or the end-of-life of devices containing keys, it
is essential to plan for backup and recovery of cryptographic seeds and private keys.
Constrained devices should support secure seed- or key-backup mechanisms, leveraging protections such as encrypted storage and ensuring that security measures are in place so that the backup data is protected from unauthorized access.</t>

<t>There are two distinct approaches to exporting private keys or seeds from a constrained device:</t>

<section anchor="direct-transfer-over-tls"><name>Direct Transfer Over TLS</name>

<t>In scenarios where the constrained device supports mutually authenticated TLS with a peer, the device can securely transfer encrypted private key material directly to another cryptographic module over a mutually authenticated TLS connection.</t>

</section>
<section anchor="export-of-encrypted-seeds-and-private-keys"><name>Export of Encrypted Seeds and Private Keys</name>

<t>In more common constrained device scenarios for secure exporting of seeds and private keys, a strong symmetric encryption algorithm, such as AES in key-wrap mode (<xref target="RFC3394"/>), should be used to encrypt the seed or private key before export. This ensures that the key remains protected even if the export process is vulnerable to quantum attacks.</t>

<t>Operationally, the exported data and the symmetric key used for encryption must both be protected against unauthorized access or modification.</t>

</section>
<section anchor="security-requirements-for-export-operations"><name>Security Requirements for Export Operations</name>

<t>The encryption and decryption of seeds and private keys must occur entirely within the cryptographic modules to reduce the risk of exposure and ensure compliance to established security standards.</t>

</section>
</section>
</section>
<section anchor="ephemeral-key-management"><name>Ephemeral Key Management</name>

<t>Given the increased size of PQC key material, ephemeral key management will have to
be optimized for both security and performance.</t>

<t>For PQC KEMs, ephemeral key pairs are generated from an ephemeral seed, that is used
immediately during key generation and then discarded. Furthermore, once the shared secret is
derived, the ephemeral private key will have to be deleted. Since the private key resides in the
constrained cryptographic module, removing it optimizes memory usage, reducing the footprint of
PQC key material in the cryptographic module. This also ensures that that no unnecessary secrets
persist beyond their intended use.</t>

<t>Additionally, ephemeral keys, whether from traditional ECDH or PQC KEM algorithms, are intended
to be unique for each key exchange instance and kept separate across connections (e.g., TLS).
Deleting ephemeral keying material after use helps ensure that key material cannot be reused across connections, which would otherwise introduce security and privacy issues.</t>

<t>Constrained devices implementing PQC ephemeral key management will have to:</t>

<t><list style="symbols">
  <t>Generate ephemeral key pairs on-demand from an ephemeral seed stored temporarily within the cryptographic module.</t>
  <t>Enforce immediate seed erasure after the key pair is generated and the cryptographic operation is completed.</t>
  <t>Delete the private key after the shared secret is derived.</t>
  <t>Prevent key reuse across different algorithm suites or sessions.</t>
</list></t>

</section>
</section>
<section anchor="optimizing-memory-footprint-in-post-quantum-signature-schemes"><name>Optimizing Memory Footprint in Post-Quantum Signature Schemes</name>

<t>A key consideration when deploying post-quantum cryptography in cryptographic modules is the amount and type of memory available. In constrained devices, it is important to distinguish between volatile memory (RAM), used for intermediate computations during cryptographic operations, and non-volatile storage (e.g., flash), used for storing keys, firmware, and configuration data. For instance, ML-DSA, unlike traditional signature schemes such as RSA or ECDSA, requires significant RAM during signing due to multiple Number Theoretic Transform (NTT) operations, matrix expansions, and rejection sampling loops. These steps involve storing large polynomial vectors and intermediate values, making ML-DSA more memory-intensive.</t>

<t>Some constrained systems, particularly battery-operated devices, may have limited RAM available for cryptographic operations, even if sufficient non-volatile storage is available. In such cases, straightforward implementations of PQ schemes may exceed available RAM, making them infeasible without optimization.</t>

<t>Several post-quantum schemes can be optimized to reduce the memory footprint of the algorithm. For instance, SLH-DSA has two flavours: the "f" variants which are parameterized to run as fast as possible, and the "s" variants which produce shorter signatures. Developers wishing to use SLH-DSA may wish to utilize the "s" variants on devices with insufficient RAM to use the "f" variants. Further optimizations may be possible by running the signature algorithm in a "streaming manner" such that constrained device does not need to hold the entire signature in memory at once, as discussed in <xref target="Stream-SPHINCS"/>.</t>

<t>Implementations may trade off resource usage across CPU, RAM, and non-volatile storage. For example, techniques such as lazy expansion reduce RAM usage at the cost of increased computation, while storing expanded key in non-volatile storage can reduce runtime overhead. Designers should balance these trade-offs based on the target platform.</t>

<t>Both the ML-KEM and ML-DSA algorithms were selected for general use. Two optimization techniques that can be applied to make ML-DSA more feasible in constrained cryptographic modules are discussed in <xref target="lazy-expansion"/> and <xref target="pre-hashing"/>.</t>

<section anchor="memory-requirements-of-lattice-based-schemes"><name>Memory requirements of Lattice-Based Schemes</name>

<t>The dominant source of memory usage in ML-DSA comes from holding the expanded matrix A and the associated polynomial vectors needed to compute the noisy affine transformation t = A*s1 + s2, where A is a large public matrix derived from a seed, and t, s1, s2 are polynomial vectors involved in the signing process. The elements of those matrices and vectors are polynomials with integer coefficients modulo Q. ML-DSA uses a 23-bit long modulus Q, where in case of ML-KEM it is 12 bits, regardless of security level. Conversely, the sizes of those matrices depend on the security level.</t>

<t>To compute memory requirements, we need to consider the dimensions of the public matrix A and the size of the polynomial vectors. Using ML-KEM-768 as an example, the public matrix A has dimensions 5x5, with each polynomial having 256 coefficients. Each coefficient is stored on 2 bytes (<spanx style="verb">uint16</spanx>), leading to a size of 5 <em>5</em> 256 <em>2 = 12,800 bytes (approximately 12.5 KB) for the matrix A alone. The polynomial vectors t, s1, and s2 also contribute significantly to memory usage, with each vector requiring 5</em> 256 <em>2 = 2,560 bytes (approximately 2.5 KB) each. Hence, for straightforward implementation, the minimal amount of memory required for these vectors is 12,800 + 3</em> 2,560 = 20,480 bytes (approximately 20 KB). Similar computation can be easily done for other security levels as well as ML-DSA. The ML-DSA has much higher memory requirements due to larger matrix and polynomial sizes (i.e. ML-DSA-87 requires approximately 79 KB of RAM during signing operations).</t>

<t>It is worth noting that different cryptographic operations may have different memory requirements. For example, during ML-DSA verification, the memory usage is lower since the private key components are not needed.</t>

<section anchor="lazy-expansion"><name>Lazy Expansion as a Memory Optimization Technique</name>

<t>The lazy expansion technique is an optimization that significantly reduces memory usage by avoiding the need to store the entire expanded matrix A in memory at once. Instead of pre-computing and storing the full matrix, lazy expansion generates parts of it on-the-fly as needed for the process. This approach leverages the fact that not all elements of the matrix are required simultaneously, allowing for a more efficient use of memory.</t>

<t>As an example, we can look at the computation of matrix-vector multiplication t=A*s1. The matrix A is generated from a seed using a PRF, meaning that any element of A can be computed independently when needed. Similarly, the vector s1 is expanded from random seed and a nonce using a PRF.</t>

<t>The lazy expansion would first generate first element of a vector s1 (<spanx style="verb">s1(0)</spanx>) and then iterate over each row of matrix A in a first column. This approach generates partial result, that is a vector t. To finalize the computation of a vector t, the next element of s1 (<spanx style="verb">s1(1)</spanx>) is generated, and the process is repeated for each column of A until all elements of s1 have been processed. This method requires significantly less memory, in case of ML-KEM-768, size of element s1 (512 bytes) and a vector t (2560 bytes) is 256 <em>2 = 512 bytes, meaning that only 512 bytes + one row of matrix A (5</em> 256 <em>2 = 2560 bytes) + one element of t (5</em> 2 = 10 bytes) need to be stored in memory at any time, leading to a total of approximately 3 KB of memory usage, compared to the approximately 20 KB required for a straightforward implementation. The savings are even more pronounced for higher security levels, such as ML-DSA-87, where lazy expansion can reduce memory usage from approximately 79 KB to around 12 KB.</t>

<t>With lazy expansion, the implementation differs slightly from the straightforward version. Also, in some cases, lazy expansion may introduce additional computational overhead. Notably, applying it to ML-DSA signing operation may require to recompute vector y (<xref target="FIPS204"/>, Algorithm 7, line 11) twice. In this case implementers need to weigh the trade-off between memory savings and additional computation.</t>

<t>This memory optimization was initially described in <xref target="Bot19"/>. Other optimizations can be found in <xref target="Gre20"/> and <xref target="BosRS22"/>.</t>

</section>
</section>
<section anchor="pre-hashing"><name>Pre-hashing as a Memory Optimization Technique</name>

<t>To address the memory consumption challenge, algorithms like ML-DSA offer a form of
pre-hash using the μ (message representative) value described in Section 6.2 of <xref target="FIPS204"/>.
The μ value provides an abstraction for pre-hashing by allowing the hash or message
representative to be computed outside the cryptographic module. This feature offers
additional flexibility by enabling the use of different cryptographic modules for the
pre-hashing step, reducing memory consumption within the cryptographic module.
The pre-computed μ value is then supplied to the cryptographic module, eliminating the need to
transmit the entire message for signing. <xref target="RFC9881"/>
discusses leveraging Externalμ-ML-DSA, where the pre-hashing step
(Externalμ-ML-DSA.Prehash) is performed in a software cryptographic module, and only the
pre-hashed message (μ) is sent to the hardware cryptographic module for signing
(Externalμ-ML-DSA.Sign). By implementing Externalμ-ML-DSA.Prehash in software and
Externalμ-ML-DSA.Sign in an hardware cryptographic module, the cryptographic workload
is efficiently distributed, making it practical for high-volume signing operations even
in memory-constrained cryptographic modules.</t>

<t>The main advantage of this method is that, unlike HashML-DSA, the Externalμ-ML-DSA approach
is interoperable with the standard version of ML-DSA that does not use pre-hashing. This means
a message can be signed using ML-DSA.Sign, and the verifier can independently compute μ and use
Externalμ-ML-DSA.Verify for verification -- or vice versa. In both cases, the verifier
does not need to know whether the signer used internal or external pre-hashing, as the resulting
signature and verification process remain the same.</t>

</section>
</section>
<section anchor="optimizing-performance-in-pqc-signature-schemes"><name>Optimizing Performance in PQC Signature Schemes</name>

<t>When implementing PQC signature algorithms in constrained cryptographic modules,
performance optimization becomes a critical consideration. Transmitting the entire message
to the cryptographic module for signing can lead to significant overhead, especially for
large payloads. To address this, implementers can leverage techniques that reduce the data
transmitted to the cryptographic module, thereby improving efficiency and scalability.</t>

<t>One effective approach involves sending only a message digest to the cryptographic module
for signing. By signing the digest of the content rather than the entire content, the
communication between the application and the cryptographic module is minimized, enabling
better performance. This method is applicable for any PQC signature algorithm, whether it
is ML-DSA, SLH-DSA, or any future signature scheme. For such algorithms, a mechanism is</t>

<t>often provided to pre-hash or process the message in a way that avoids sending the entire
raw message for signing. In particular, algorithms like SLH-DSA present challenges due to</t>

<t>their construction, which requires multiple passes over the message digest during the
signing process. The signer does not retain the entire message or its full digest in
memory at once. Instead, different parts of the message digest are processed sequentially
during the signing procedure. This differs from traditional algorithms like RSA or ECDSA,
which allow for more efficient processing of the message, without requiring multiple
passes or intermediate processing of the digest.</t>

<section anchor="impact-of-rejection-sampling-in-ml-dsa-signing-on-performance"><name>Impact of rejection sampling in ML-DSA Signing on performance</name>

<t>In constrained and battery-powered IoT devices that perform ML-DSA signing, the rejection-sampling
loop introduces variability in signing latency and energy consumption due to the probabilistic
nature of the signing process. While this results in a variable number of iterations in the signing
algorithm, the expected number of retries for the standardized ML-DSA parameter sets is quantified
below.</t>

<t>The analysis in this section follows the algorithmic structure and assumptions defined in <xref target="FIPS204"/>.
Accordingly, the numerical results are analytically derived and characterize the expected behavior
of ML-DSA.</t>

<t>The ML-DSA signature scheme uses the Fiat–Shamir with Aborts construction <xref target="Lyu09"/>. As a
result, the signature generation algorithm is built around a rejection-sampling loop. This
section examines the rejection-sampling behavior of ML-DSA, as rejection sampling is not
commonly used as a core mechanism in traditional digital signature schemes.</t>

<t>Rejection sampling is used to ensure that intermediate and output values follow the
distributions required by the security proof. In particular, after computing candidate signature
components, the signer checks whether certain norm bounds are satisfied. If any of these bounds
are violated, the entire signing attempt is discarded and restarted with fresh randomness.</t>

<t>The purpose of rejection sampling is twofold. First, it prevents leakage of information about the
secret key through out-of-range values that could otherwise bias the distribution of signatures.
Second, it ensures that the distribution of valid signatures is statistically close to the ideal
distribution assumed in the security reduction.</t>

<t>The number of rejections during signature generation depends on four factors:</t>

<t><list style="symbols">
  <t>the message (i.e., the value of μ)</t>
  <t>the secret key material</t>
  <t>when hedged signing is used (see <xref target="FIPS204"/>, Section 3.4), the random seed</t>
  <t>the context string (see <xref target="FIPS204"/>, Section 5.2)</t>
</list></t>

<t>As a result, some message-key combinations may lead to a higher number of rejection iterations
than others.</t>

<t>Using Equation (5) from <xref target="Li32"/> and assuming an RBG as specified in <xref target="FIPS204"/> (Section 3.6.1),
the rejection probability during ML-DSA signing can be computed. These probabilities depend on
the ML-DSA parameter set and are summarized below.</t>

<texttable title="Acceptance probability - per-attempt probability of successful signing for the given ML-DSA variant." anchor="AcceptanceProbabilities">
      <ttcol align='left'>ML-DSA Variant</ttcol>
      <ttcol align='left'>Acceptance Probability</ttcol>
      <c>ML-DSA-44</c>
      <c>0.2350</c>
      <c>ML-DSA-65</c>
      <c>0.1963</c>
      <c>ML-DSA-87</c>
      <c>0.2596</c>
</texttable>

<t>Each signing attempt can be modeled as an independent Bernoulli trial: an attempt either
succeeds or is rejected, with a fixed per-attempt acceptance probability. Under this assumption,
the expected number of iterations until a successful signature is generated is the reciprocal
of the acceptance probability. Hence, if r denotes the per-iteration rejection probability and
p = 1 - r the acceptance probability, then the expected number of signing iterations is 1/p.
Using this model, the expected number of signing attempts for each ML-DSA variant is shown below.</t>

<texttable title="Expected Number of Attempts for the given ML-DSA variant." anchor="ExpectedAttempts">
      <ttcol align='left'>ML-DSA Variant</ttcol>
      <ttcol align='left'>Expected Number of Attempts</ttcol>
      <c>ML-DSA-44</c>
      <c>4.255</c>
      <c>ML-DSA-65</c>
      <c>5.094</c>
      <c>ML-DSA-87</c>
      <c>3.852</c>
</texttable>

<t>This model also allows computing the probability that the rejection-sampling loop completes
within a given number of iterations. Specifically, the minimum number of iterations n required
to achieve a desired completion probability can be computed as:
n &gt;= ln(1 - desired_probability) / ln(1 - p), where p is the per-iteration acceptance probability.
For example, achieving a 99% probability of completing the signing process for ML-DSA-65 requires
at most 21 iterations of the rejection-sampling loop.</t>

<t>Finally, based on these results, the cumulative distribution function (CDF) can be derived for
each ML-DSA variant. The CDF expresses the probability that the signing process completes within
at most a given number of iterations.</t>

<texttable title="CDF values denote the probability of completing the signing process within the given number of iterations, for each ML-DSA variant." anchor="MLDSA_Sign_CDF">
      <ttcol align='left'>Iterations</ttcol>
      <ttcol align='left'>ML-DSA-44</ttcol>
      <ttcol align='left'>ML-DSA-65</ttcol>
      <ttcol align='left'>ML-DSA-87</ttcol>
      <c>1</c>
      <c>0.2350</c>
      <c>0.1963</c>
      <c>0.2596</c>
      <c>2</c>
      <c>0.4148</c>
      <c>0.3541</c>
      <c>0.4518</c>
      <c>3</c>
      <c>0.5523</c>
      <c>0.4809</c>
      <c>0.5941</c>
      <c>4</c>
      <c>0.6575</c>
      <c>0.5828</c>
      <c>0.6995</c>
      <c>5</c>
      <c>0.7380</c>
      <c>0.6647</c>
      <c>0.7775</c>
      <c>6</c>
      <c>0.7996</c>
      <c>0.7305</c>
      <c>0.8353</c>
      <c>7</c>
      <c>0.8467</c>
      <c>0.7834</c>
      <c>0.8780</c>
      <c>8</c>
      <c>0.8827</c>
      <c>0.8259</c>
      <c>0.9097</c>
      <c>9</c>
      <c>0.9103</c>
      <c>0.8601</c>
      <c>0.9331</c>
      <c>10</c>
      <c>0.9314</c>
      <c>0.8876</c>
      <c>0.9505</c>
      <c>11</c>
      <c>0.9475</c>
      <c>0.9096</c>
      <c>0.9634</c>
</texttable>

<t>The table <xref target="MLDSA_Sign_CDF"/> shows that while acceptance rate is relatively high for ML-DSA, the
probability quickly grows with increasing number of iterations. After 11 iterations,
each ML-DSA variant achieves over 90% probability of completing the signing process.</t>

<section anchor="practical-implications-for-constrained-cryptographic-modules"><name>Practical Implications for Constrained Cryptographic Modules</name>

<t>As shown above, the rejection-sampling loop in ML-DSA signing leads to a probabilistic runtime
with a geometrically distributed number of iterations. While the expected execution time is
small, the tail of the distribution implies that, with low probability, a signing operation
may require significantly more iterations than average. This unfavorable tail behavior represents
a practical concern for ML-DSA deployments on constrained devices with limited execution
capability and may require additional consideration.</t>

<t>As discussed in <xref target="Seed"/>, in many deployment scenarios, constrained devices primarily perform signature verification, while signature generation is performed on more capable systems (e.g., firmware signing infrastructure). Therefore, the impact of rejection sampling is primarily relevant for devices that perform ML-DSA signing.</t>

<t>Devices that only verify signatures are not affected, as those operations do not involve rejection sampling and have deterministic execution times.</t>

<t>In firmware update and secure boot scenarios, signature verification is typically performed during early boot stages, where the bootloader has exclusive access to system resources. In such environments, the practical impact of resource constraints on signature verification is reduced compared to general runtime environments.</t>

</section>
<section anchor="suggestions-for-benchmarking-ml-dsa-signing-performance"><name>Suggestions for benchmarking ML-DSA Signing Performance</name>

<t>When benchmarking ML-DSA signing performance in constrained cryptographic modules, it is
important to account for the probabilistic nature of the rejection-sampling loop. Reporting
only a single timing measurement or a best-case execution time may lead to misleading conclusions
about practical performance.</t>

<t>To provide a more comprehensive assessment of ML-DSA signing performance, benchmarks should
report the following two metrics:</t>

<t><list style="numbers" type="1">
  <t>Single-iteration signing time:
The signing time for a signature operation that completes within a single iteration of the
rejection-sampling loop. This metric reflects the best-case performance of the signing algorithm
and provides insight into the efficiency of the core signing operation without the overhead
of repeated iterations.</t>
  <t>Average signing time:
The average signing time measured over a sufficiently large number of signing operations,
using independent messages and, where applicable, independent randomness. Alternatively, an
implementation <bcp14>MAY</bcp14> report the signing time corresponding to the expected number of iterations
(see <xref target="ExpectedAttempts"/>). This approach requires identifying a message, key, and randomness
combination that results in the expected iteration count.</t>
</list></t>

<t>Libraries implementing ML-DSA should provide a mechanism to report the number of
rejection-sampling iterations used during the most recent signing operation. This enables
benchmarking tools to accurately compute average signing times across multiple signing operations.</t>

</section>
</section>
</section>
<section anchor="additional-considerations-for-pqc-use-in-constrained-devices"><name>Additional Considerations for PQC Use in Constrained Devices</name>

<section anchor="key-rotation-and-renewal"><name>Key Rotation and Renewal</name>

<t>In constrained devices, managing the lifecycle of cryptographic
keys including periodic key rotation and renewal is critical for maintaining long-term
security and supporting cryptographic agility. While constrained devices may rely on
integrated secure elements or lightweight HSMs for secure key storage and operations, the
responsibility for orchestrating key rotation typically resides in the application layer
or external device management infrastructure.</t>

<t>Although the underlying cryptographic module may offer primitives to securely generate new
key pairs, store fresh seeds, or delete obsolete keys, these capabilities must be
integrated into the device's broader key management framework. This process is especially
important in the context of PQC, where evolving research may lead to changes in
recommended algorithms, parameters, and key management practices.</t>

<t>The security of PQC schemes continues to evolve, with potential risks arising from
advances in post-quantum algorithms, cryptanalytic or implementation vulnerabilities. As a
result, constrained devices should be designed to support flexible and updatable key
management policies. This includes the ability to:</t>

<t><list style="symbols">
  <t>Rotate keys periodically to provide forward-secrecy,</t>
  <t>Update algorithm choices or key sizes based on emerging security guidance,</t>
  <t>Reconfigure cryptographic profile of the device via firmware updates.</t>
</list></t>

</section>
<section anchor="sec-key-sizes"><name>Cryptographic Artifact Sizes for Post-Quantum Algorithms</name>

<t>The sizes of keys, ciphertexts, and signatures of post-quantum algorithms are generally larger than those of traditional
cryptographic algorithms. This increase in size is a significant consideration for
constrained devices, which often have limited memory and storage capacity. For example,
the key sizes for ML-DSA and ML-KEM are larger than those of RSA or ECDSA, which can lead to
increased memory usage and slower performance in constrained environments.</t>

<t>The following table lists the sizes of cryptographic artifacts for representative instantiations of SLH-DSA and ML-KEM at NIST Security Level 1, as defined in <xref target="NISTSecurityLevels"/>, ML-DSA at NIST Security Level 2, and HSS/LMS and XMSS at NIST Security Level 3; these are the lowest defined security levels for the respective schemes.</t>

<texttable>
      <ttcol align='left'>Algorithm</ttcol>
      <ttcol align='left'>Type</ttcol>
      <ttcol align='left'>Size (bytes)</ttcol>
      <c>ML-DSA-44</c>
      <c>Public Key</c>
      <c>1312</c>
      <c>&#160;</c>
      <c>Private Key</c>
      <c>2560</c>
      <c>&#160;</c>
      <c>Signature</c>
      <c>2420</c>
      <c>SLH-DSA-SHA2-128s</c>
      <c>Public Key</c>
      <c>32</c>
</texttable>

<texttable>
      <ttcol align='left'>&#160;</ttcol>
      <ttcol align='left'>Private Key</ttcol>
      <ttcol align='left'>64</ttcol>
      <c>&#160;</c>
      <c>Signature</c>
      <c>7856</c>
      <c>SLH-DSA-SHA2-128f</c>
      <c>Public Key</c>
      <c>32</c>
</texttable>

<texttable>
      <ttcol align='left'>&#160;</ttcol>
      <ttcol align='left'>Private Key</ttcol>
      <ttcol align='left'>64</ttcol>
      <c>&#160;</c>
      <c>Signature</c>
      <c>17088</c>
      <c>LMS_SHA256_M24_H15_W4</c>
      <c>Public Key</c>
      <c>48</c>
      <c>&#160;</c>
      <c>Private Key</c>
      <c>44</c>
      <c>&#160;</c>
      <c>Signature</c>
      <c>2004</c>
      <c>XMSS-SHA2_10_192</c>
      <c>Public Key</c>
      <c>48</c>
      <c>&#160;</c>
      <c>Private Key</c>
      <c>104</c>
      <c>&#160;</c>
      <c>Signature</c>
      <c>1492</c>
      <c>ML-KEM-512</c>
      <c>Public Key</c>
      <c>800</c>
      <c>&#160;</c>
      <c>Private Key</c>
      <c>1632</c>
      <c>&#160;</c>
      <c>Ciphertext</c>
      <c>768</c>
      <c>&#160;</c>
      <c>Shared Secret</c>
      <c>32</c>
      <c>X25519</c>
      <c>Public Key</c>
      <c>32</c>
      <c>&#160;</c>
      <c>Private Key</c>
      <c>32</c>
      <c>&#160;</c>
      <c>Shared Secret</c>
      <c>32</c>
      <c>Ed25519</c>
      <c>Public Key</c>
      <c>32</c>
      <c>&#160;</c>
      <c>Private Key</c>
      <c>32</c>
      <c>&#160;</c>
      <c>Signature</c>
      <c>64</c>
</texttable>

<t>Corresponding sizes for higher security levels will typically be larger - see <xref target="FIPS203"/>, <xref target="FIPS204"/>, <xref target="FIPS205"/>, <xref target="SP800-208"/> for sizes for all parameter sets.</t>

</section>
</section>
<section anchor="post-quantum-firmware-upgrades-for-constrained-devices"><name>Post-quantum Firmware Upgrades for Constrained Devices</name>

<t>Constrained devices deployed in the field require periodic firmware upgrades to patch
security vulnerabilities, introduce new cryptographic algorithms, and improve overall
functionality. However, the firmware upgrade process itself can become a critical attack
vector if not designed to be post-quantum. If an adversary compromises the update
mechanism, they could introduce malicious firmware, undermining all other security
properties of the cryptographic modules. Therefore, ensuring a post-quantum firmware
upgrade process is critical for the security of deployed constrained devices.</t>

<t>CRQCs pose an additional risk by breaking traditional digital signatures (e.g., RSA,
ECDSA) used to authenticate firmware updates. If firmware verification relies on
traditional signature algorithms, attackers could generate forged signatures in the future
and distribute malicious updates.</t>

<section anchor="post-quantum-firmware-authentication"><name>Post-Quantum Firmware Authentication</name>

<t>To ensure the integrity and authenticity of firmware updates, constrained devices will have to adopt PQC digital signature schemes for code signing.
These algorithms must provide long-term security, operate efficiently in low-resource environments, and be compatible with secure update mechanisms, such as the firmware update architecture for IoT described in <xref target="RFC9019"/>.</t>

<t><xref target="I-D.ietf-suit-mti"/> defines mandatory-to-implement cryptographic algorithms for IoT devices, and recommends use of HSS/LMS <xref target="RFC8554"/> to secure software devices. The SUIT working group may consider adding post-quantum algorithms, such as SLH-DSA and ML-DSA, in future specifications.</t>

<t>Stateful hash-based signature schemes, such as HSS/LMS or the similar XMSS <xref target="RFC8391"/>, are good candidates for signing firmware updates. Those schemes offer efficient verification times, making them more practical choices for constrained environments where performance and memory usage are key concerns.
Their security is based on the security of the underlying hash function, which is well-understood.
A major downside of stateful hash-based signatures is the requirement to keep track of which One-Time Signature (OTS) keys have been reused, since reuse of a single OTS key allows for signature forgeries.
However, in the case of firmware updates, the OTS keys will be signing versioned updates, which may make state management easier.
<xref target="I-D.ietf-pquip-hbs-state"/> discusses various strategies for a correct state and backup management for stateful hash-based signatures.</t>

<t>Other post-quantum signature algorithms may also be viable for firmware signing:</t>

<t><list style="symbols">
  <t>SLH-DSA, a stateless hash-based signature specified in <xref target="FIPS205"/>, also has well-understood security based on the security of its underlying hash function, and additionally doesn't have the complexities associated with state management that HSS and XMSS have.</t>
</list></t>

<t>However, signature generation and verification are comparatively slow, and signature sizes are generally larger than other post-quantum algorithms.
SLH-DSA's suitability as a firmware signing algorithm will depend on the capabilities of the underlying hardware.</t>

<t><list style="symbols">
  <t>ML-DSA is a lattice-based signature algorithm specified in <xref target="FIPS204"/>.
It is more performant than SLH-DSA, with significantly faster signing and verification times, as well as shorter signatures.</t>
</list></t>

<t>This will make it possible to implement on a wider range of constrained devices.
The mathematical problem underpinning ML-DSA, Module Learning With Errors (M-LWE), is believed to be a hard problem by the cryptographic community, and hence ML-DSA is believed to be secure.
Cryptographers are more confident still in the security of hash-based signatures than M-LWE, so developers may wish to factor that in when choosing a firmware signing algorithm.</t>

</section>
<section anchor="hybrid-signature-approaches"><name>Hybrid Signature Approaches</name>

<t>To enable secure migration from traditional to post-quantum security, PQ/T hybrid digital signature methods can be used for firmware authentication, combining a traditional and a post-quantum algorithm using either non-composite or composite constructions as defined in <xref target="RFC9794"/>.</t>

<t>A non-composite approach, where both signatures are generated and carried separately, is simple to implement, requires minimal changes to existing signing, and aligns well with current secure boot and update architectures.</t>

<t>Composite constructions, which combine multiple algorithms into a single signature, require changes to cryptographic processing. In such constructions, the additional cost of including a traditional algorithm is typically small compared to the post-quantum component, but overall resource usage remains dominated by the post-quantum algorithm, particularly in terms of key size, signature size, code size, and verification cost.</t>

<t>Implementations should ensure that verification enforces the intended hybrid authentication property, namely that authentication remains secure as long as at least one component algorithm remains secure.</t>

</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>The security considerations for key management in constrained devices for PQC focus on the
secure storage and handling of cryptographic seeds, which are used to derive private keys.
Seeds must be protected with the same security measures as private keys, and key
derivation should be efficient and secure within resource-constrained cryptographic
module. Secure export and backup mechanisms for seeds are essential to ensure recovery in
case of hardware failure, but these processes must be encrypted and protected from
unauthorized access.</t>

<section anchor="side-channel-protection"><name>Side Channel Protection</name>

<t>Side-channel attacks exploit physical leaks during cryptographic operations, such as timing information, power consumption, electromagnetic emissions, or other physical characteristics, to extract sensitive data like private keys or seeds. Given the sensitivity of the seed and private key in PQC key generation, it is critical to consider side-channel protection in cryptographic module design. While side-channel attacks remain an active research topic, their significance in secure hardware design cannot be understated. Cryptographic modules must incorporate strong countermeasures against side-channel vulnerabilities to prevent attackers from gaining insights into secret data during cryptographic operations.</t>

</section>
</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>Thanks to Jean-Pierre Fiset, Richard Kettlewell, Mike Ounsworth, Keegan Dasilva Barbosa, Hannes Tschofenig and Aritra Banerjee for the detailed review.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>

<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>

<reference anchor="RFC3394">
  <front>
    <title>Advanced Encryption Standard (AES) Key Wrap Algorithm</title>
    <author fullname="J. Schaad" initials="J." surname="Schaad"/>
    <author fullname="R. Housley" initials="R." surname="Housley"/>
    <date month="September" year="2002"/>
  </front>
  <seriesInfo name="RFC" value="3394"/>
  <seriesInfo name="DOI" value="10.17487/RFC3394"/>
</reference>

<reference anchor="RFC9019">
  <front>
    <title>A Firmware Update Architecture for Internet of Things</title>
    <author fullname="B. Moran" initials="B." surname="Moran"/>
    <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
    <author fullname="D. Brown" initials="D." surname="Brown"/>
    <author fullname="M. Meriac" initials="M." surname="Meriac"/>
    <date month="April" year="2021"/>
    <abstract>
      <t>Vulnerabilities in Internet of Things (IoT) devices have raised the need for a reliable and secure firmware update mechanism suitable for devices with resource constraints. Incorporating such an update mechanism is a fundamental requirement for fixing vulnerabilities, but it also enables other important capabilities such as updating configuration settings and adding new functionality.</t>
      <t>In addition to the definition of terminology and an architecture, this document provides the motivation for the standardization of a manifest format as a transport-agnostic means for describing and protecting firmware updates.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9019"/>
  <seriesInfo name="DOI" value="10.17487/RFC9019"/>
</reference>




    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="FIPS203">
  <front>
    <title>Module-lattice-based key-encapsulation mechanism standard</title>
    <author>
      <organization/>
    </author>
    <date month="August" year="2024"/>
  </front>
  <seriesInfo name="DOI" value="10.6028/nist.fips.203"/>
<refcontent>National Institute of Standards and Technology (U.S.)</refcontent></reference>

<reference anchor="FIPS204">
  <front>
    <title>Module-lattice-based digital signature standard</title>
    <author>
      <organization/>
    </author>
    <date month="August" year="2024"/>
  </front>
  <seriesInfo name="DOI" value="10.6028/nist.fips.204"/>
<refcontent>National Institute of Standards and Technology (U.S.)</refcontent></reference>

<reference anchor="FIPS205">
  <front>
    <title>Stateless hash-based digital signature standard</title>
    <author>
      <organization/>
    </author>
    <date month="August" year="2024"/>
  </front>
  <seriesInfo name="DOI" value="10.6028/nist.fips.205"/>
<refcontent>National Institute of Standards and Technology (U.S.)</refcontent></reference>

<reference anchor="SP800-208">
  <front>
    <title>Recommendation for Stateful Hash-Based Signature Schemes</title>
    <author fullname="David A. Cooper" initials="D." surname="Cooper">
      <organization/>
    </author>
    <author fullname="Daniel C. Apon" initials="D." surname="Apon">
      <organization/>
    </author>
    <author fullname="Quynh H. Dang" initials="Q." surname="Dang">
      <organization/>
    </author>
    <author fullname="Michael S. Davidson" initials="M." surname="Davidson">
      <organization/>
    </author>
    <author fullname="Morris J. Dworkin" initials="M." surname="Dworkin">
      <organization/>
    </author>
    <author fullname="Carl A. Miller" initials="C." surname="Miller">
      <organization/>
    </author>
    <date month="October" year="2020"/>
  </front>
  <seriesInfo name="DOI" value="10.6028/nist.sp.800-208"/>
<refcontent>National Institute of Standards and Technology</refcontent></reference>


<reference anchor="ISO19790" target="https://www.iso.org/standard/82423.html">
  <front>
    <title>Information security, cybersecurity, and privacy protection — Security requirements for cryptographic modules</title>
    <author >
      <organization>ISO</organization>
    </author>
    <date year="2025" month="February"/>
  </front>
</reference>
<reference anchor="BIND" target="https://eprint.iacr.org/2024/523.pdf">
  <front>
    <title>Unbindable Kemmy Schmidt: ML-KEM is neither MAL-BIND-K-CT nor MAL-BIND-K-PK</title>
    <author initials="S." surname="Schmieg">
      <organization></organization>
    </author>
    <date year="2024" month="April"/>
  </front>
</reference>
<reference anchor="HQC" target="https://pqc-hqc.org/doc/hqc_specifications_2025_08_22.pdf">
  <front>
    <title>Hamming Quasi-Cyclic (HQC)</title>
    <author initials="" surname="Gaborit et al">
      <organization></organization>
    </author>
    <date year="2025" month="August"/>
  </front>
</reference>
<reference anchor="Falcon" target="https://falcon-sign.info/falcon.pdf">
  <front>
    <title>Falcon: Fast-Fourier Lattice-based Compact Signatures over NTRU</title>
    <author initials="P.-A." surname="Fouque">
      <organization></organization>
    </author>
    <author initials="J." surname="Hoffstein">
      <organization></organization>
    </author>
    <author initials="P." surname="Kirchner">
      <organization></organization>
    </author>
    <author initials="V." surname="Lyubashevsky">
      <organization></organization>
    </author>
    <author initials="T." surname="Pornin">
      <organization></organization>
    </author>
    <author initials="T." surname="Prest">
      <organization></organization>
    </author>
    <author initials="T." surname="Ricosset">
      <organization></organization>
    </author>
    <author initials="G." surname="Seiler">
      <organization></organization>
    </author>
    <author initials="W." surname="Whyte">
      <organization></organization>
    </author>
    <author initials="Z." surname="Zhang">
      <organization></organization>
    </author>
    <date year="2020" month="October"/>
  </front>
</reference>
<reference anchor="Stream-SPHINCS" target="https://eprint.iacr.org/2021/1072.pdf">
  <front>
    <title>Streaming SPHINCS+ for Embedded Devices using the Example of TPMs</title>
    <author initials="R." surname="Niederhagen">
      <organization></organization>
    </author>
    <author initials="J." surname="Roth">
      <organization></organization>
    </author>
    <author initials="J." surname="Wälde">
      <organization></organization>
    </author>
    <date year="2021" month="August"/>
  </front>
</reference>
<reference anchor="BosRS22" target="https://eprint.iacr.org/2022/323.pdf">
  <front>
    <title>Dilithium for Memory Constrained Devices</title>
    <author initials="J." surname="Bos">
      <organization></organization>
    </author>
    <author initials="J." surname="Renes">
      <organization></organization>
    </author>
    <author initials="A." surname="Sprenkels">
      <organization></organization>
    </author>
    <date year="2022" month="December"/>
  </front>
</reference>


<reference anchor="REC-KEM">
  <front>
    <title>Recommendations for key-encapsulation mechanisms</title>
    <author fullname="Gorjan Alagic" initials="G." surname="Alagic">
      <organization/>
    </author>
    <author fullname="Elaine Barker" initials="E." surname="Barker">
      <organization/>
    </author>
    <author fullname="Lily Chen" initials="L." surname="Chen">
      <organization/>
    </author>
    <author fullname="Dustin Moody" initials="D." surname="Moody">
      <organization/>
    </author>
    <author fullname="Angela Robinson" initials="A." surname="Robinson">
      <organization/>
    </author>
    <author fullname="Hamilton Silberg" initials="H." surname="Silberg">
      <organization/>
    </author>
    <author fullname="Noah Waller" initials="N." surname="Waller">
      <organization/>
    </author>
    <date month="September" year="2025"/>
  </front>
  <seriesInfo name="DOI" value="10.6028/nist.sp.800-227"/>
<refcontent>National Institute of Standards and Technology (U.S.)</refcontent></reference>

<reference anchor="Lyu09">
  <front>
    <title>Fiat-Shamir with Aborts: Applications to Lattice and Factoring-Based Signatures</title>
    <author fullname="Vadim Lyubashevsky" initials="V." surname="Lyubashevsky">
      <organization/>
    </author>
    <date year="2009"/>
  </front>
  <seriesInfo name="Lecture Notes in Computer Science" value="pp. 598-616"/>
  <seriesInfo name="DOI" value="10.1007/978-3-642-10366-7_35"/>
  <seriesInfo name="ISBN" value="[&quot;9783642103650&quot;, &quot;9783642103667&quot;]"/>
<refcontent>Springer Berlin Heidelberg</refcontent></reference>


<reference anchor="Li32" target="https://pq-crystals.org/dilithium/data/dilithium-specification-round3-20210208.pdf">
  <front>
    <title>CRYSTALS-Dilithium: Algorithm Specifications and Supporting Documentation (Version 3.1)</title>
    <author initials="S." surname="Bai">
      <organization></organization>
    </author>
    <author initials="L." surname="Ducas">
      <organization></organization>
    </author>
    <author initials="E." surname="Kiltz">
      <organization></organization>
    </author>
    <author initials="T." surname="Lepoint">
      <organization></organization>
    </author>
    <author initials="V." surname="Lyubashevsky">
      <organization></organization>
    </author>
    <author initials="P." surname="Schwabe">
      <organization></organization>
    </author>
    <author initials="G." surname="Seiler">
      <organization></organization>
    </author>
    <author initials="D." surname="Stehlé">
      <organization></organization>
    </author>
    <date year="2021" month="February"/>
  </front>
</reference>
<reference anchor="NISTSecurityLevels" target="https://csrc.nist.gov/projects/post-quantum-cryptography/post-quantum-cryptography-standardization/evaluation-criteria/security-(evaluation-criteria)">
  <front>
    <title>Post-Quantum Cryptography: Security (Evaluation Criteria)</title>
    <author >
      <organization>NIST</organization>
    </author>
    <date year="2017" month="January"/>
  </front>
</reference>
<reference anchor="Bot19" target="https://eprint.iacr.org/2019/489.pdf">
  <front>
    <title>Memory-Efficient High-Speed Implementation of Kyber on Cortex-M4</title>
    <author initials="L." surname="Botros">
      <organization></organization>
    </author>
    <author initials="M. J." surname="Kannwischer">
      <organization></organization>
    </author>
    <author initials="P." surname="Schwabe">
      <organization></organization>
    </author>
    <date year="2019" month="May"/>
  </front>
</reference>


<reference anchor="Gre20">
  <front>
    <title>Compact Dilithium Implementations on Cortex-M3 and Cortex-M4</title>
    <author fullname="Denisa O. C. Greconici" initials="D." surname="Greconici">
      <organization/>
    </author>
    <author fullname="Matthias J. Kannwischer" initials="M." surname="Kannwischer">
      <organization/>
    </author>
    <author fullname="Daan Sprenkels" initials="D." surname="Sprenkels">
      <organization/>
    </author>
    <date month="December" year="2020"/>
  </front>
  <seriesInfo name="IACR Transactions on Cryptographic Hardware and Embedded Systems" value="pp. 1-24"/>
  <seriesInfo name="DOI" value="10.46586/tches.v2021.i1.1-24"/>
<refcontent>Universitatsbibliothek der Ruhr-Universitat Bochum</refcontent></reference>


<reference anchor="Smaller-SPHINCS" target="https://eprint.iacr.org/2024/018.pdf">
  <front>
    <title>Smaller Sphincs+ or, Honey, I Shrunk the Signatures</title>
    <author initials="S." surname="Fluhrer">
      <organization></organization>
    </author>
    <author initials="Q." surname="Dang">
      <organization></organization>
    </author>
    <date year="2024" month="January"/>
  </front>
</reference>


<reference anchor="RFC8554">
  <front>
    <title>Leighton-Micali Hash-Based Signatures</title>
    <author fullname="D. McGrew" initials="D." surname="McGrew"/>
    <author fullname="M. Curcio" initials="M." surname="Curcio"/>
    <author fullname="S. Fluhrer" initials="S." surname="Fluhrer"/>
    <date month="April" year="2019"/>
    <abstract>
      <t>This note describes a digital-signature system based on cryptographic hash functions, following the seminal work in this area of Lamport, Diffie, Winternitz, and Merkle, as adapted by Leighton and Micali in 1995. It specifies a one-time signature scheme and a general signature scheme. These systems provide asymmetric authentication without using large integer mathematics and can achieve a high security level. They are suitable for compact implementations, are relatively simple to implement, and are naturally resistant to side-channel attacks. Unlike many other signature systems, hash-based signatures would still be secure even if it proves feasible for an attacker to build a quantum computer.</t>
      <t>This document is a product of the Crypto Forum Research Group (CFRG) in the IRTF. This has been reviewed by many researchers, both in the research group and outside of it. The Acknowledgements section lists many of them.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8554"/>
  <seriesInfo name="DOI" value="10.17487/RFC8554"/>
</reference>

<reference anchor="RFC8391">
  <front>
    <title>XMSS: eXtended Merkle Signature Scheme</title>
    <author fullname="A. Huelsing" initials="A." surname="Huelsing"/>
    <author fullname="D. Butin" initials="D." surname="Butin"/>
    <author fullname="S. Gazdag" initials="S." surname="Gazdag"/>
    <author fullname="J. Rijneveld" initials="J." surname="Rijneveld"/>
    <author fullname="A. Mohaisen" initials="A." surname="Mohaisen"/>
    <date month="May" year="2018"/>
    <abstract>
      <t>This note describes the eXtended Merkle Signature Scheme (XMSS), a hash-based digital signature system that is based on existing descriptions in scientific literature. This note specifies Winternitz One-Time Signature Plus (WOTS+), a one-time signature scheme; XMSS, a single-tree scheme; and XMSS^MT, a multi-tree variant of XMSS. Both XMSS and XMSS^MT use WOTS+ as a main building block. XMSS provides cryptographic digital signatures without relying on the conjectured hardness of mathematical problems. Instead, it is proven that it only relies on the properties of cryptographic hash functions. XMSS provides strong security guarantees and is even secure when the collision resistance of the underlying hash function is broken. It is suitable for compact implementations, is relatively simple to implement, and naturally resists side-channel attacks. Unlike most other signature systems, hash-based signatures can so far withstand known attacks using quantum computers.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8391"/>
  <seriesInfo name="DOI" value="10.17487/RFC8391"/>
</reference>

<reference anchor="RFC9881">
  <front>
    <title>Internet X.509 Public Key Infrastructure -- Algorithm Identifiers for the Module-Lattice-Based Digital Signature Algorithm (ML-DSA)</title>
    <author fullname="J. Massimo" initials="J." surname="Massimo"/>
    <author fullname="P. Kampanakis" initials="P." surname="Kampanakis"/>
    <author fullname="S. Turner" initials="S." surname="Turner"/>
    <author fullname="B. E. Westerbaan" initials="B. E." surname="Westerbaan"/>
    <date month="October" year="2025"/>
    <abstract>
      <t>Digital signatures are used within X.509 certificates and Certificate Revocation Lists (CRLs), and to sign messages. This document specifies the conventions for using FIPS 204, the Module-Lattice-Based Digital Signature Algorithm (ML-DSA) in Internet X.509 certificates and CRLs. The conventions for the associated signatures, subject public keys, and private key are also described.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9881"/>
  <seriesInfo name="DOI" value="10.17487/RFC9881"/>
</reference>


<reference anchor="I-D.ietf-suit-mti">
   <front>
      <title>Cryptographic Algorithms for Internet of Things (IoT) Devices</title>
      <author fullname="Brendan Moran" initials="B." surname="Moran">
         <organization>Arm Limited</organization>
      </author>
      <author fullname="Øyvind Rønningstad" initials="O." surname="Rønningstad">
         <organization>Nordic Semiconductor</organization>
      </author>
      <author fullname="Akira Tsukamoto" initials="A." surname="Tsukamoto">
         <organization>Openchip &amp; Software Technologies, S.L.</organization>
      </author>
      <date day="22" month="July" year="2025"/>
      <abstract>
	 <t>   The SUIT manifest, as defined in &quot;A Manifest Information Model for
   Firmware Updates in Internet of Things (IoT) Devices&quot; (RFC 9124),
   provides a flexible and extensible format for describing how firmware
   and software updates are to be fetched, verified, decrypted, and
   installed on resource-constrained devices.  To ensure the security of
   these update processes, the manifest relies on cryptographic
   algorithms for functions such as digital signature verification,
   integrity checking, and confidentiality.

   This document defines cryptographic algorithm profiles for use with
   the Software Updates for Internet of Things (SUIT) manifest.  These
   profiles specify sets of algorithms to promote interoperability
   across implementations.

   Given the diversity of IoT deployments and the evolving cryptographic
   landscape, algorithm agility is essential.  This document groups
   algorithms into named profiles to accommodate varying levels of
   device capabilities and security requirements.  These profiles
   support the use cases laid out in the SUIT architecture, published in
   &quot;A Firmware Update Architecture for Internet of Things&quot; (RFC 9019).

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-suit-mti-23"/>
   
</reference>


<reference anchor="I-D.ietf-pquip-hbs-state">
   <front>
      <title>Hash-based Signatures: State and Backup Management</title>
      <author fullname="Thom Wiggers" initials="T." surname="Wiggers">
         <organization>PQShield</organization>
      </author>
      <author fullname="Kaveh Bashiri" initials="K." surname="Bashiri">
         <organization>BSI</organization>
      </author>
      <author fullname="Stefan Kölbl" initials="S." surname="Kölbl">
         <organization>Google</organization>
      </author>
      <author fullname="Jim Goodman" initials="J." surname="Goodman">
         <organization>Crypto4A Technologies</organization>
      </author>
      <author fullname="Stavros Kousidis" initials="S." surname="Kousidis">
         <organization>BSI</organization>
      </author>
      <date day="27" month="February" year="2026"/>
      <abstract>
	 <t>   Stateful Hash-Based Signature Schemes (Stateful HBS) such as
   Leighton-Micali Signature (LMS), Hierarchical Signature System (HSS),
   eXtended Merkle Signature Scheme (XMSS), and XMSS^MT combine Merkle
   trees with One-Time Signatures (OTS) to provide signatures that are
   resistant against attacks using large-scale quantum computers.
   Unlike conventional stateless digital signature schemes, Stateful HBS
   have a state to keep track of which OTS keys have been used, as
   double-signing with the same OTS key allows forgeries.

   This document provides guidance and catalogs security considerations
   for the operational and technical aspects of deploying systems that
   rely on Stateful HBS.  Management of the state of the Stateful HBS,
   including any handling of redundant key material, is a sensitive
   topic.  This document describes some approaches to handle the
   associated challenges.  It also describes the challenges that need to
   be resolved before certain approaches should be considered.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-pquip-hbs-state-04"/>
   
</reference>

<reference anchor="RFC9794">
  <front>
    <title>Terminology for Post-Quantum Traditional Hybrid Schemes</title>
    <author fullname="F. Driscoll" initials="F." surname="Driscoll"/>
    <author fullname="M. Parsons" initials="M." surname="Parsons"/>
    <author fullname="B. Hale" initials="B." surname="Hale"/>
    <date month="June" year="2025"/>
    <abstract>
      <t>One aspect of the transition to post-quantum algorithms in cryptographic protocols is the development of hybrid schemes that incorporate both post-quantum and traditional asymmetric algorithms. This document defines terminology for such schemes. It is intended to be used as a reference and, hopefully, to ensure consistency and clarity across different protocols, standards, and organisations.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9794"/>
  <seriesInfo name="DOI" value="10.17487/RFC9794"/>
</reference>




    </references>

</references>



  </back>

<!-- ##markdown-source:
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
+0HyvwA7jyUSL7cAAA==

-->

</rfc>

