<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-cms-fn-dsa-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="FN-DSA in the CMS">Use of the FN-DSA Signature Algorithm in the Cryptographic Message Syntax (CMS)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-cms-fn-dsa-00"/>
    <author initials="D." surname="Van Geest" fullname="Daniel Van Geest">
      <organization>CryptoNext Security</organization>
      <address>
        <email>daniel.vangeest@cryptonext-security.com</email>
      </address>
    </author>
    <author initials="S." surname="Turner" fullname="Sean">
      <organization>sn3rd</organization>
      <address>
        <email>sean@sn3rd.com</email>
      </address>
    </author>
    <date year="2026" month="May" day="20"/>
    <area>Security</area>
    <workgroup>Limited Additional Mechanisms for PKIX and SMIME</workgroup>
    <keyword>CMS</keyword>
    <keyword>FN-DSA</keyword>
    <keyword>Falcon</keyword>
    <keyword>PKIX</keyword>
    <keyword>S/MIME</keyword>
    <abstract>
      <?line 87?>

<t>The Fast-Fourier Transform over NTRU-Lattice-Based Digital Signature
Algorithm (FN-DSA), as defined by NIST in FIPS 206, is a post-quantum
digital signature scheme that aims to be secure against an adversary in
possession of a Cryptographically Relevant Quantum Computer (CRQC). This
document specifies the conventions for using the FN-DSA signature
algorithm with the Cryptographic Message Syntax (CMS). In addition, the
algorithm identifier is provided.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://lamps.github.io/cms-fn-dsa/draft-ietf-lamps-cms-fn-dsa.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-lamps-cms-fn-dsa/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Limited Additional Mechanisms for PKIX and SMIME Working Group mailing list (<eref target="mailto:spasm@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/spasm/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/spasm/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/lamps-wg/cms-fn-dsa"/>.</t>
    </note>
  </front>
  <middle>
    <?line 98?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Fast-Fourier Transform over NTRU-Lattice-Based Digital Signature
Algorithm (FN-DSA) is a digital signature algorithm standardised by the
US National Institute of Standards and Technology (NIST) as part of
their post-quantum cryptography standardisation process. It is intended
to be secure against both "traditional" cryptographic attacks, as well
as attacks utilising a quantum computer. It offers smaller signatures
and significantly faster runtimes than SLH-DSA <xref target="FIPS205"/>, an
alternative post-quantum signature algorithm also standardised by NIST.
This document specifies the use of the FN-DSA in the CMS at two security
levels: FN-DSA-512 and FN-DSA-1024.  See Appendix B of <xref target="I-D.ietf-lamps-fn-dsa-certificates"/>
for more information on the security levels and key sizes of FN-DSA.</t>
      <t>Prior to standardisation, FN-DSA was known as Falcon.  FN-DSA and Falcon
are not compatible.</t>
      <t>For each of the FN-DSA parameter sets, an algorithm identifier Object Identifier
(OID) has been specified.</t>
      <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>
    <section anchor="fn-dsa-algorithm-identifiers">
      <name>FN-DSA Algorithm Identifiers</name>
      <t>Many ASN.1 data structure types use the <tt>AlgorithmIdentifier</tt> type to
identify cryptographic algorithms. In the CMS, the <tt>AlgorithmIdentifier</tt>
field is used to identify FN-DSA signatures in the <tt>signed-data</tt> content
type. They may also appear in X.509 certificates used to verify those
signatures. The same <tt>AlgorithmIdentifier</tt> values are used to identify
FN-DSA public keys and signature algorithms. <xref target="I-D.ietf-lamps-fn-dsa-certificates"/>
describes the use of FN-DSA in X.509 certificates.
The <tt>AlgorithmIdentifier</tt> type is defined as follows:</t>
      <sourcecode type="asn.1"><![CDATA[
AlgorithmIdentifier{ALGORITHM-TYPE, ALGORITHM-TYPE:AlgorithmSet} ::=
        SEQUENCE {
            algorithm   ALGORITHM-TYPE.&id({AlgorithmSet}),
            parameters  ALGORITHM-TYPE.
                   &Params({AlgorithmSet}{@algorithm}) OPTIONAL
        }
]]></sourcecode>
      <aside>
        <t>NOTE: The above syntax is from <xref target="RFC5911"/> and is compatible with the
  2021 ASN.1 syntax <xref target="X680"/>. See <xref target="RFC5280"/> for the 1988 ASN.1 syntax.</t>
      </aside>
      <t>The fields in the <tt>AlgorithmIdentifier</tt> type have the following meanings:</t>
      <dl>
        <dt><tt>algorithm</tt>:</dt>
        <dd>
          <t>The <tt>algorithm</tt> field contains an OID that identifies the cryptographic
algorithm in use. The OIDs for FN-DSA are described below.</t>
        </dd>
        <dt><tt>parameters</tt>:</dt>
        <dd>
          <t>The <tt>parameters</tt> field contains parameter information for the algorithm
identified by the OID in the <tt>algorithm</tt> field. Each FN-DSA parameter set
is identified by its own algorithm OID, so there is no relevant
information to include in this field. As such, <tt>parameters</tt> <bcp14>MUST</bcp14> be omitted
when encoding an FN-DSA <tt>AlgorithmIdentifier</tt>.</t>
        </dd>
      </dl>
      <t>The OIDs for FN-DSA are defined in the NIST Computer Security Objects
Register <xref target="CSOR"/>, and are reproduced here for convenience.</t>
      <aside>
        <t>TODO: NIST WILL ASSIGN THESE.</t>
      </aside>
      <sourcecode type="asn.1"><![CDATA[
sigAlgs OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) country(16)
    us(840) organization(1) gov(101) csor(3) nistAlgorithms(4) 3 }

id-fn-dsa-512 OBJECT IDENTIFIER ::= { sigAlgs TBD }

id-fn-dsa-1024 OBJECT IDENTIFIER ::= { sigAlgs TBD }

]]></sourcecode>
    </section>
    <section anchor="signed-data-conventions">
      <name>Signed-Data Conventions</name>
      <section anchor="pure-vs-pre-hash">
        <name>Pure Mode vs Pre-hash Mode</name>
        <t><xref target="RFC5652"/> specifies that digital signatures for CMS are produced using
a digest of the message to be signed and the signer's private key. At
the time of publication of that RFC, all signature algorithms supported
in the CMS required a message digest to be calculated externally to that
algorithm, which would then be supplied to the algorithm implementation
when calculating and verifying signatures. Since then, EdDSA <xref target="RFC8032"/>,
ML-DSA <xref target="FIPS20"/>, and SLH-DSA <xref target="FIPS205"/>,
have also been standardised, and these algorithms support both a "pure"
and "pre-hash" mode. In the pre-hash mode, a message digest (the "pre-hash")
is calculated separately and supplied to the signature algorithm as
described above. In the pure mode, the message to be signed or verified
is instead supplied directly to the signature algorithm. When EdDSA <xref target="RFC8419"/>,
SLH-DSA <xref target="RFC9814"/>, and ML-DSA <xref target="RFC9882"/> are used with CMS, only the
pure mode of those algorithms is specified. This is because in most
situations, CMS signatures are computed over a set of signed attributes
that contain a hash of the content, rather than being computed over the
message content itself. Since signed attributes are typically small, use
of pre-hash modes in the CMS would not significantly reduce the size of
the data to be signed, and hence offers no benefit. This document follows
that convention and does not specify the use of FN-DSA's pre-hash mode
("HashFN-DSA") in the CMS.</t>
      </section>
      <section anchor="signature-generation-and-verification">
        <name>Signature Generation and Verification</name>
        <t><xref target="RFC5652"/> describes the two methods that are used to calculate and
verify signatures in the CMS. One method is used when signed attributes
are present in the <tt>signedAttrs</tt> field of the relevant <tt>SignerInfo</tt>, and
another is used when signed attributes are absent. Each method produces
a different "message digest" to be supplied to the signature algorithm
in question, but because the pure mode of FN-DSA is used, the "message
digest" is in fact the entire message. Use of signed attributes is
preferred, but the conventions for <tt>signed-data</tt> without signed
attributes is also described below for completeness.</t>
        <t>When signed attributes are absent, FN-DSA (pure mode) signatures are
computed over the content of the <tt>signed-data</tt>. As described in <xref section="5.4" sectionFormat="of" target="RFC5652"/>,
the "content" of a <tt>signed-data</tt> is the value of the
<tt>encapContentInfo eContent OCTET STRING</tt>. The tag and length octets are
not included.</t>
        <t>When signed attributes are included, FN-DSA (pure mode) signatures are
computed over the complete DER <xref target="X690"/> encoding of the <tt>SignedAttrs</tt> value
contained in the <tt>SignerInfo</tt>'s <tt>signedAttrs</tt> field. As described in
<xref section="5.4" sectionFormat="of" target="RFC5652"/>, this encoding includes the tag and length
octets, but an <tt>EXPLICIT SET OF</tt> tag is used rather than the <tt>IMPLICIT \[0\]</tt>
tag that appears in the final message. At a minimum, the <tt>signedAttrs</tt>
field <bcp14>MUST</bcp14> at minimum include a <tt>content-type</tt> attribute and a
<tt>message-digest</tt> attribute. The <tt>message-digest</tt> attribute contains a
hash of the content of the <tt>signed-data</tt>, where the content is as
described for the absent signed attributes case above. Recalculation
of the hash value by the recipient is an important step in signature
verification.</t>
        <t><xref section="4" sectionFormat="of" target="RFC9814"/> describes how, when the content of a <tt>signed-data</tt>
is large, performance may be improved by including signed attributes.
This is as true for FN-DSA as it is for SLH-DSA, although FN-DSA
signature generation and verification is significantly faster than
SLH-DSA.</t>
        <t>FN-DSA has a context string input that can be used to ensure that
different signatures are generated for different application contexts.
When using FN-DSA as specified in this document, the context string
is set to the empty string.</t>
      </section>
      <section anchor="signerinfo-content">
        <name>SignerInfo Content</name>
        <t>When using FN-DSA, the fields of a <tt>SignerInfo</tt> are used as follows:</t>
        <aside>
          <t>TODO: Include text on security strength.</t>
        </aside>
        <dl>
          <dt><tt>digestAlgorithm</tt>:</dt>
          <dd>
            <t>Per <xref section="5.3" sectionFormat="of" target="RFC5652"/>, the <tt>digestAlgorithm</tt> field identifies
the message digest algorithm used by the signer, and any associated
parameters. Each FN-DSA parameter set ...</t>
          </dd>
        </dl>
        <!-- Need something similar for FN-DSA. Not sure they use lamda.

 has a collision strength parameter, represented by the &lambda;
 (lambda) symbol in {{FIPS206}}. When signers utilise signed attributes,
 their choice of digest algorithm may impact the overall security
 level of their signature. Selecting a digest algorithm that offers
 &lambda; bits of security strength against second preimage attacks and
 collision attacks is sufficient to meet the security level offered by
 a given parameter set, so long as the digest algorithm produces at
 least 2 * &lambda; bits of output. The overall security strength
 offered by an ML-DSA signature calculated over signed attributes is
 the floor of the digest algorithm's strength and the strength of the
 FN-DSA parameter set. Verifiers MAY reject a signature if the signer's
 choice of digest algorithm does not meet the security requirements of
 their choice of ML-DSA parameter set.
-->

<dl>
          <dt>: <xref target="fn-dsa-digest-algs"/> shows appropriate SHA-2 and SHA-3 digest</dt>
          <dd>
            <t/>
          </dd>
          <dt>algorithms for each parameter set.</dt>
          <dd>
            <t>SHA-512 <xref target="FIPS180"/> <bcp14>MUST</bcp14> be supported for use with the variants of
FN-DSA in this document. SHA-512 is suitable for all FN-DSA parameter
sets and provides an interoperable option for legacy CMS
implementations that wish to migrate to use post-quantum cryptography,
but that may not support use of SHA-3 derivatives at the CMS layer.
However, other hash functions <bcp14>MAY</bcp14> also be supported; in particular,
SHAKE256 <bcp14>SHOULD</bcp14> be supported, as this is the digest algorithm used
internally in FN-DSA. When SHA-512 is used, the id-sha512 <xref target="RFC5754"/>
digest algorithm identifier is used and the parameters field <bcp14>MUST</bcp14> be
omitted. When SHAKE256 is used, the id-shake256 <xref target="RFC8702"/> digest
algorithm identifier is used and the parameters field <bcp14>MUST</bcp14> be omitted.
SHAKE256 produces 512 bits of output when used as a message digest
algorithm in the CMS.</t>
          </dd>
          <dt/>
          <dd>
            <t>When signing using FN-DSA without including signed attributes,
the algorithm specified in the <tt>digestAlgorithm</tt> field has no
meaning, as FN-DSA computes signatures over entire messages
rather than externally computed digests. As such, the
considerations above and in <xref target="fn-dsa-digest-algs"/> do not apply.
Nonetheless, in this case implementations <bcp14>MUST</bcp14> specify SHA-512 as
the <tt>digestAlgorithm</tt> in order to minimise the likelihood of an
interoperability failure. When processing a <tt>SignerInfo</tt> signed using
FN-DSA, if no signed attributes are present, implementations <bcp14>MUST</bcp14>
ignore the content of the <tt>digestAlgorithm</tt> field.</t>
          </dd>
        </dl>
        <aside>
          <t>TODO: Verify table entries.</t>
        </aside>
        <table anchor="fn-dsa-digest-algs">
          <name>Suitable Digest Algorithms for FN-DSA</name>
          <thead>
            <tr>
              <th align="left">Signature Algorithm</th>
              <th align="left">Digest Algorithms</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">FN-DSA-512</td>
              <td align="left">SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-384, SHA3-512, SHAKE128, SHAKE256</td>
            </tr>
            <tr>
              <td align="left">FN-DSA-1024</td>
              <td align="left">SHA-512, SHA3-512, SHAKE256</td>
            </tr>
          </tbody>
        </table>
        <dl>
          <dt><tt>signatureAlgorithm</tt>:</dt>
          <dd>
            <t>The <tt>signatureAlgorithm</tt> field <bcp14>MUST</bcp14> contain one of the FN-DSA
 signature algorithm OIDs, and the parameters field <bcp14>MUST</bcp14> be absent.
 The algorithm OID <bcp14>MUST</bcp14> be one of the following OIDs described in
 <xref target="fn-dsa-algorithm-identifiers"/>:</t>
          </dd>
        </dl>
        <table anchor="tab-oids">
          <name>Signature algorithm identifier OIDs for FN-DSA</name>
          <thead>
            <tr>
              <th align="left">Signature Algorithm</th>
              <th align="left">Algorithm Identifier OID</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">FN-DSA-512</td>
              <td align="left">id-fn-dsa-512</td>
            </tr>
            <tr>
              <td align="left">FN-DSA-10124</td>
              <td align="left">id-fn-dsa-1024</td>
            </tr>
          </tbody>
        </table>
        <aside>
          <t>TODO: Verify paragraph references.</t>
        </aside>
        <dl>
          <dt><tt>signature</tt>:</dt>
          <dd>
            <t>The <tt>signature</tt> field contains the signature value resulting from the
 use of the FN-DSA signature algorithm identified by the
 <tt>signatureAlgorithm</tt> field. The FN-DSA (pure mode) signature-generation
 operation is specified in Section X.X of <xref target="FIPS206"/>, and the
 signature-verification operation is specified in Section X.X of <xref target="FIPS206"/>.
 Note that <xref section="5.6" sectionFormat="of" target="RFC5652"/> places further requirements on the
 successful verification of a signature.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations in <xref target="RFC5652"/> and <xref target="I-D.ietf-lamps-fn-dsa-certificates"/>
apply to this specification.</t>
      <t>Security of the FN-DSA private key is critical. Compromise of the private
key will enable an adversary to forge arbitrary signatures.</t>
      <aside>
        <t>TODO: Verify paragraph reference.</t>
      </aside>
      <t>FN-DSA depends on high quality random numbers that are suitable for use
in cryptography. The use of inadequate pseudo-random number generators
(PRNGs) to generate such values can significantly undermine the security
properties offered by a cryptographic algorithm. For instance, an
attacker may find it much easier to reproduce the PRNG environment that
produced any private keys, searching the resulting small set of
possibilities, rather than brute-force searching the whole key space.
The generation of random numbers of a sufficient level of quality for
use in cryptography is difficult; see Section X.X.X of <xref target="FIPS206"/> for
some additional information.</t>
      <aside>
        <t>TODO: Insert references for active research.</t>
      </aside>
      <t>FN-DSA signature generation uses randomness from two
sources: fresh random data generated during signature generation, and
precomputed random data included in the signer's private key. Inclusion of both
sources of random data can help mitigate against faulty random number
generators, side-channel attacks, and fault attacks. Lack of fresh random
data during FN-DSA signature generation leads to a differential fault
attack <xref target="BD23"/>. Side channel attacks and fault
attacks against FN-DSA are an active area of research XX XX.
Future protection against these styles of attack may involve
interoperable changes to the implementation of FN-DSA's internal
functions. Implementers <bcp14>SHOULD</bcp14> consider implementing such protection
measures if it would be beneficial for their particular use cases.</t>
      <t>To avoid algorithm substitution attacks, the <tt>CMSAlgorithmProtection</tt>
attribute defined in <xref target="RFC6211"/> <bcp14>SHOULD</bcp14> be included in signed
attributes.</t>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <t>If FN-DSA signing is implemented in a hardware device such as a
hardware security module (HSM) or a portable cryptographic token,
implementers might want to avoid sending the full content to the
device for performance reasons. By including signed attributes,
which necessarily includes the <tt>message-digest</tt> attribute and the
<tt>content-type</tt> attribute as described in <xref section="5.3" sectionFormat="of" target="RFC5652"/>,
the much smaller set of signed attributes are sent to the device for
signing.</t>
      <!-- Assume we can delete the following:

Additionally, the pure variant of FN-DSA does support a form of pre-hash
via external calculation of the &mu; (mu) "message representative" value
described in Section X.X of {{FIPS206}}. This value may "optionally
be computed in a different cryptographic module" and supplied to the
hardware device, rather than requiring the entire message to be # transmitted.
Appendix D of {{I-D.ietf-lamps-dilithium-certificates}} describes use of
external &mu; calculations in further detail.

-->

</section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>For the ASN.1 module in <xref target="asn1"/>, IANA [ is requested/has assigned ]
the following object identifier (OID) in the "SMI Security for S/MIME
Module Identifier" registry (1.2.840.113549.1.9.16.0):</t>
      <table anchor="iana-reg">
        <name>Object Identifier Assignments</name>
        <thead>
          <tr>
            <th align="left">Decimal</th>
            <th align="left">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD</td>
            <td align="left">id-mod-fn-dsa-2026</td>
            <td align="left">This RFC</td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="FIPS206" target="https://www.nist.gov/news-events/news/2024/08/nist-releases-first-3-finalized-post-quantum-encryption-standards">
          <front>
            <title>Fast Fourier Transform over NTRU-Lattice-Based Digital Signature Algorithm</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="CSOR" target="https://csrc.nist.gov/projects/computer-security-objects-register/algorithm-registration">
          <front>
            <title>Computer Security Objects Register</title>
            <author initials="" surname="NIST" fullname="National Institute of Standards and Technology">
              <organization/>
            </author>
            <date year="2024" month="August" day="20"/>
          </front>
        </reference>
        <reference anchor="X690" target="https://www.itu.int/rec/T-REC-X.690">
          <front>
            <title>Information Technology -- Abstract Syntax Notation One (ASN.1): ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="2021" month="February"/>
          </front>
          <seriesInfo name="ITU-T Recommendation" value="X.690"/>
          <seriesInfo name="ISO/IEC" value="8825-1:2021"/>
        </reference>
        <reference anchor="I-D.ietf-lamps-fn-dsa-certificates">
          <front>
            <title>Internet X.509 Public Key Infrastructure -- Algorithm Identifiers for the Fast-Fourier Transform over NTRU-Lattice-Based Digital Signature Algorithm (FN-DSA)</title>
            <author fullname="Jake Massimo" initials="J." surname="Massimo">
              <organization>AWS</organization>
            </author>
            <author fullname="Panos Kampanakis" initials="P." surname="Kampanakis">
              <organization>AWS</organization>
            </author>
            <author fullname="Sean Turner" initials="S." surname="Turner">
              <organization>sn3rd</organization>
            </author>
            <author fullname="Bas Westerbaan" initials="B." surname="Westerbaan">
              <organization>Cloudflare</organization>
            </author>
            <date day="20" month="May" year="2026"/>
            <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, the forthcoming, FIPS 206, the
   Fast-Fourier Transform over NTRU-Lattice-Based Digital Signature
   Algorithm (FN-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="Internet-Draft" value="draft-ietf-lamps-fn-dsa-certificates-00"/>
        </reference>
        <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="RFC5652">
          <front>
            <title>Cryptographic Message Syntax (CMS)</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="September" year="2009"/>
            <abstract>
              <t>This document describes the Cryptographic Message Syntax (CMS). This syntax is used to digitally sign, digest, authenticate, or encrypt arbitrary message content. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="70"/>
          <seriesInfo name="RFC" value="5652"/>
          <seriesInfo name="DOI" value="10.17487/RFC5652"/>
        </reference>
        <reference anchor="RFC5754">
          <front>
            <title>Using SHA2 Algorithms with Cryptographic Message Syntax</title>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="January" year="2010"/>
            <abstract>
              <t>This document describes the conventions for using the Secure Hash Algorithm (SHA) message digest algorithms (SHA-224, SHA-256, SHA-384, SHA-512) with the Cryptographic Message Syntax (CMS). It also describes the conventions for using these algorithms with the CMS and the Digital Signature Algorithm (DSA), Rivest Shamir Adleman (RSA), and Elliptic Curve DSA (ECDSA) signature algorithms. Further, it provides SMIMECapabilities attribute values for each algorithm. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5754"/>
          <seriesInfo name="DOI" value="10.17487/RFC5754"/>
        </reference>
        <reference anchor="RFC8702">
          <front>
            <title>Use of the SHAKE One-Way Hash Functions in the Cryptographic Message Syntax (CMS)</title>
            <author fullname="P. Kampanakis" initials="P." surname="Kampanakis"/>
            <author fullname="Q. Dang" initials="Q." surname="Dang"/>
            <date month="January" year="2020"/>
            <abstract>
              <t>This document updates the "Cryptographic Message Syntax (CMS) Algorithms" (RFC 3370) and describes the conventions for using the SHAKE family of hash functions in the Cryptographic Message Syntax as one-way hash functions with the RSA Probabilistic Signature Scheme (RSASSA-PSS) and Elliptic Curve Digital Signature Algorithm (ECDSA). The conventions for the associated signer public keys in CMS are also described.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8702"/>
          <seriesInfo name="DOI" value="10.17487/RFC8702"/>
        </reference>
        <reference anchor="RFC6211">
          <front>
            <title>Cryptographic Message Syntax (CMS) Algorithm Identifier Protection Attribute</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="April" year="2011"/>
            <abstract>
              <t>The Cryptographic Message Syntax (CMS), unlike X.509/PKIX certificates, is vulnerable to algorithm substitution attacks. In an algorithm substitution attack, the attacker changes either the algorithm being used or the parameters of the algorithm in order to change the result of a signature verification process. In X.509 certificates, the signature algorithm is protected because it is duplicated in the TBSCertificate.signature field with the proviso that the validator is to compare both fields as part of the signature validation process. This document defines a new attribute that contains a copy of the relevant algorithm identifiers so that they are protected by the signature or authentication process. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6211"/>
          <seriesInfo name="DOI" value="10.17487/RFC6211"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="X680" target="https://www.itu.int/rec/T-REC-X.680">
          <front>
            <title>Information Technology - Abstract Syntax Notation One (ASN.1): Specification of basic notation. ITU-T Recommendation X.680 (2021) | ISO/IEC 8824-1:2021.</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="2021" month="February"/>
          </front>
          <seriesInfo name="ITU-T Recommendation" value="X.680"/>
          <seriesInfo name="ISO/IEC" value="8824-1:2021"/>
        </reference>
        <reference anchor="BD23" target="https://eprint.iacr.org/2023/422">
          <front>
            <title>A Differential Fault Attack against Deterministic Falcon Signatures</title>
            <author initials="S." surname="Bauer" fullname="Sven Bauer">
              <organization/>
            </author>
            <author initials="F. D." surname="Santis" fullname="Fabrizio De Santis">
              <organization/>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="RFC5911">
          <front>
            <title>New ASN.1 Modules for Cryptographic Message Syntax (CMS) and S/MIME</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>The Cryptographic Message Syntax (CMS) format, and many associated formats, are expressed using ASN.1. The current ASN.1 modules conform to the 1988 version of ASN.1. This document updates those ASN.1 modules to conform to the 2002 version of ASN.1. There are no bits-on-the-wire changes to any of the formats; this is simply a change to the syntax. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5911"/>
          <seriesInfo name="DOI" value="10.17487/RFC5911"/>
        </reference>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC8032">
          <front>
            <title>Edwards-Curve Digital Signature Algorithm (EdDSA)</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes elliptic curve signature scheme Edwards-curve Digital Signature Algorithm (EdDSA). The algorithm is instantiated with recommended parameters for the edwards25519 and edwards448 curves. An example implementation and test vectors are provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8032"/>
          <seriesInfo name="DOI" value="10.17487/RFC8032"/>
        </reference>
        <reference anchor="FIPS20">
          <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="RFC8419">
          <front>
            <title>Use of Edwards-Curve Digital Signature Algorithm (EdDSA) Signatures in the Cryptographic Message Syntax (CMS)</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies the conventions for using the Edwards-curve Digital Signature Algorithm (EdDSA) for curve25519 and curve448 in the Cryptographic Message Syntax (CMS). For each curve, EdDSA defines the PureEdDSA and HashEdDSA modes. However, the HashEdDSA mode is not used with the CMS. In addition, no context string is used with the CMS.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8419"/>
          <seriesInfo name="DOI" value="10.17487/RFC8419"/>
        </reference>
        <reference anchor="RFC9814">
          <front>
            <title>Use of the SLH-DSA Signature Algorithm in the Cryptographic Message Syntax (CMS)</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="S. Fluhrer" initials="S." surname="Fluhrer"/>
            <author fullname="P. Kampanakis" initials="P." surname="Kampanakis"/>
            <author fullname="B. Westerbaan" initials="B." surname="Westerbaan"/>
            <date month="July" year="2025"/>
            <abstract>
              <t>SLH-DSA is a stateless hash-based signature algorithm. This document specifies the conventions for using the SLH-DSA signature algorithm with the Cryptographic Message Syntax (CMS). In addition, the algorithm identifier and public key syntax are provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9814"/>
          <seriesInfo name="DOI" value="10.17487/RFC9814"/>
        </reference>
        <reference anchor="RFC9882">
          <front>
            <title>Use of the ML-DSA Signature Algorithm in the Cryptographic Message Syntax (CMS)</title>
            <author fullname="B. Salter" initials="B." surname="Salter"/>
            <author fullname="A. Raine" initials="A." surname="Raine"/>
            <author fullname="D. Van Geest" initials="D." surname="Van Geest"/>
            <date month="October" year="2025"/>
            <abstract>
              <t>The Module-Lattice-Based Digital Signature Algorithm (ML-DSA), as defined by NIST in FIPS 204, is a post-quantum digital signature scheme that aims to be secure against an adversary in possession of a Cryptographically Relevant Quantum Computer (CRQC). This document specifies the conventions for using the ML-DSA signature algorithm with the Cryptographic Message Syntax (CMS). In addition, the algorithm identifier syntax is provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9882"/>
          <seriesInfo name="DOI" value="10.17487/RFC9882"/>
        </reference>
        <reference anchor="FIPS180">
          <front>
            <title>Secure hash standard</title>
            <author>
              <organization/>
            </author>
            <date year="2015"/>
          </front>
          <seriesInfo name="DOI" value="10.6028/nist.fips.180-4"/>
          <refcontent>National Institute of Standards and Technology (U.S.)</refcontent>
        </reference>
        <reference anchor="I-D.ietf-lamps-dilithium-certificates">
          <front>
            <title>Internet X.509 Public Key Infrastructure - Algorithm Identifiers for the Module-Lattice-Based Digital Signature Algorithm (ML-DSA)</title>
            <author fullname="Jake Massimo" initials="J." surname="Massimo">
              <organization>AWS</organization>
            </author>
            <author fullname="Panos Kampanakis" initials="P." surname="Kampanakis">
              <organization>AWS</organization>
            </author>
            <author fullname="Sean Turner" initials="S." surname="Turner">
              <organization>sn3rd</organization>
            </author>
            <author fullname="Bas Westerbaan" initials="B." surname="Westerbaan">
              <organization>Cloudflare</organization>
            </author>
            <date day="30" month="September" year="2025"/>
            <abstract>
              <t>   Digital signatures are used within X.509 certificates, 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 certificate revocation lists.  The conventions for
   the associated signatures, subject public keys, and private key are
   also described.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-dilithium-certificates-13"/>
        </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>
      </references>
    </references>
    <?line 439?>

<section anchor="asn1">
      <name>ASN.1 Module</name>
      <aside>
        <t>RFC EDITOR: Please replace the reference to <xref target="I-D.ietf-lamps-fn-dsa-certificates"/>
in the ASN.1 module below with a reference the corresponding published RFC.</t>
      </aside>
      <sourcecode type="asn.1"><![CDATA[
<CODE BEGINS>
FN-DSA-Module-2026
  { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
    id-smime(16) id-mod(0) id-mod-fn-dsa-2026(TBD1) }

DEFINITIONS IMPLICIT TAGS ::= BEGIN

EXPORTS ALL;

IMPORTS SIGNATURE-ALGORITHM, SMIME-CAPS
  FROM AlgorithmInformation-2009 -- in [RFC5911]
  { iso(1) identified-organization(3) dod(6) internet(1)
    security(5) mechanisms(5) pkix(7) id-mod(0)
    id-mod-algorithmInformation-02(58) }

sa-fn-dsa-512, sa-fn-dsa-10124
  FROM X509-FN-DSA-2026 -- From [I-D.turner-lamps-fn-dsa-certificates]
  { iso(1) identified-organization(3) dod(6) internet(1)
    security(5) mechanisms(5) pkix(7) id-mod(0)
    id-mod-x509-fn-dsa-2024(TBD2) } ;

--
-- Expand the signature algorithm set used by CMS [RFC5911]
--

SignatureAlgorithmSet SIGNATURE-ALGORITHM ::= {
  sa-fn-dsa-512 |
  sa-fn-dsa-1024,
  ... }

SMimeCaps SMIME-CAPS ::= {
  sa-fn-dsa-512.&smimeCaps |
  sa-fn-dsa-1024.&smimeCaps,
  ... }

END
<CODE ENDS>
]]></sourcecode>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <t>This appendix contains example <tt>signed-data</tt> encodings. They can be
verified using the example public keys and certificates specified in
Appendix C of <xref target="I-D.ietf-lamps-fn-dsa-certificates"/>.</t>
      <t>The following is an example of a <tt>signed-data</tt> with a single
FN-DSA-512 signer, with signed attributes included:</t>
      <aside>
        <t>TODO:  Get Example.</t>
      </aside>
      <t>The following is an example of a signed-data with a single
FN-DSA-1024 signer, with signed attributes included:</t>
      <aside>
        <t>TODO:  Get Example.</t>
      </aside>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <aside>
        <t>TODO:</t>
      </aside>
      <t>This document was heavily influenced by <xref target="RFC8419"/>, <xref target="RFC9814"/>, and
<xref target="RFC9881"/>. Thanks go to the authors of those documents.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
