<?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.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-turner-lamps-cms-fn-dsa-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.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-turner-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="2025" month="November" day="04"/>
    <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 86?>

<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://seanturner.github.io/cms-fn-dsa/draft-turner-lamps-cms-fn-dsa.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-turner-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/seanturner/cms-fn-dsa"/>.</t>
    </note>
  </front>
  <middle>
    <?line 97?>

<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 I-D.turner-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. I-D.turner-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 I-D.turner-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="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 438?>

<section anchor="asn1">
      <name>ASN.1 Module</name>
      <aside>
        <t>RFC EDITOR: Please replace the reference to I-D.turner-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 I-D.turner-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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
vD6dQ78Co93BCDsjaMr/AOpOHl8YTwAA

-->

</rfc>
