<?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.30 (Ruby 3.4.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-cms-composite-sigs-02" category="std" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="Composite ML-DSA CMS">Composite ML-DSA for use in Cryptographic Message Syntax (CMS)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-cms-composite-sigs-02"/>
    <author initials="M." surname="Ounsworth" fullname="Mike Ounsworth">
      <organization abbrev="Entrust">Entrust Limited</organization>
      <address>
        <postal>
          <street>2500 Solandt Road – Suite 100</street>
          <city>Ottawa, Ontario</city>
          <code>K2K 3G5</code>
          <country>Canada</country>
        </postal>
        <email>mike.ounsworth@entrust.com</email>
      </address>
    </author>
    <author initials="J." surname="Gray" fullname="John Gray">
      <organization abbrev="Entrust">Entrust Limited</organization>
      <address>
        <postal>
          <street>2500 Solandt Road – Suite 100</street>
          <city>Ottawa, Ontario</city>
          <code>K2K 3G5</code>
          <country>Canada</country>
        </postal>
        <email>john.gray@entrust.com</email>
      </address>
    </author>
    <author initials="J." surname="Klaussner" fullname="Jan Klaussner">
      <organization>Bundesdruckerei GmbH</organization>
      <address>
        <postal>
          <street>Kommandantenstr. 18</street>
          <city>Berlin</city>
          <code>10969</code>
          <country>Germany</country>
        </postal>
        <email>jan.klaussner@bdr.de</email>
      </address>
    </author>
    <author initials="D." surname="Van Geest" fullname="Daniel Van Geest">
      <organization>CryptoNext Security</organization>
      <address>
        <postal>
          <street>‍16, Boulevard Saint-Germain</street>
          <city>Paris</city>
          <code>75007</code>
          <country>France</country>
        </postal>
        <email>daniel.vangeest@cryptonext-security.com</email>
      </address>
    </author>
    <date year="2026" month="February" day="05"/>
    <area>Security</area>
    <workgroup>LAMPS</workgroup>
    <keyword>cms</keyword>
    <keyword>composite ml-dsa</keyword>
    <abstract>
      <?line 83?>

<t>Composite ML-DSA defines combinations of ML-DSA with RSA, ECDSA, and EdDSA.
This document specifies the conventions for using Composite ML-DSA algorithms within the Cryptographic Message Syntax (CMS).</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-wg.github.io/cms-composite-sigs/draft-ietf-lamps-cms-composite-sigs.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-lamps-cms-composite-sigs/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        LAMPS Working Group mailing list (<eref target="mailto:spams@ietf.org"/>),
        which is archived at <eref target="https://datatracker.ietf.org/wg/lamps/about/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/spams/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/lamps-wg/cms-composite-sigs"/>.</t>
    </note>
  </front>
  <middle>
    <?line 89?>

<section anchor="sec-intro">
      <name>Introduction</name>
      <t><xref target="I-D.ietf-lamps-pq-composite-sigs"/> defines a collection of signature algorithms, referred to as Composite ML-DSA, which combine ML-DSA <xref target="FIPS204"/> with traditional algorithms RSASSA-PKCS1-v1.5, RSASSA-PSS, ECDSA, Ed25519, and Ed448.
This document acts as a companion to <xref target="I-D.ietf-lamps-pq-composite-sigs"/> by providing conventions for using Composite ML-DSA algorithms within the Cryptographic Message Syntax (CMS) <xref target="RFC5652"/>.</t>
      <section anchor="sec-terminology">
        <name>Conventions and Terminology</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" 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.
These words may also appear in this document in
lower case as plain English words, absent their normative meanings.
<?line -8?>
        </t>
        <t>This document is consistent with the terminology defined in <xref target="RFC9794"/>.</t>
      </section>
    </section>
    <section anchor="algorithm-identifiers">
      <name>Composite ML-DSA Algorithm Identifiers</name>
      <t>The same AlgorithmIdentifier is used to identify a Composite ML-DSA public key and signature algorithm.
The object identifiers for Composite ML-DSA algorithms are defined in <xref target="I-D.ietf-lamps-pq-composite-sigs"/>, and are reproduced here for convenience.
The parameters field of the AlgorithmIdentifier for the Composite ML-DSA public key and signature algorithm MUST be absent.</t>
      <sourcecode type="asn.1"><![CDATA[
id-MLDSA44-RSA2048-PSS-SHA256 OBJECT IDENTIFIER ::= {
   iso(1) org(3) dod(6) internet(1) security(5) mechanisms(5)
   pkix(7) alg(6) 37 }
id-MLDSA44-RSA2048-PKCS15-SHA256 OBJECT IDENTIFIER ::= {
   iso(1) org(3) dod(6) internet(1) security(5) mechanisms(5)
   pkix(7) alg(6) 38 }
id-MLDSA44-Ed25519-SHA512 OBJECT IDENTIFIER ::= {
   iso(1) org(3) dod(6) internet(1) security(5) mechanisms(5)
   pkix(7) alg(6) 39 }
id-MLDSA44-ECDSA-P256-SHA256 OBJECT IDENTIFIER ::= {
   iso(1) org(3) dod(6) internet(1) security(5) mechanisms(5)
   pkix(7) alg(6) 40 }
id-MLDSA65-RSA3072-PSS-SHA512 OBJECT IDENTIFIER ::= {
   iso(1) org(3) dod(6) internet(1) security(5) mechanisms(5)
   pkix(7) alg(6) 41 }
id-MLDSA65-RSA3072-PKCS15-SHA512 OBJECT IDENTIFIER ::= {
   iso(1) org(3) dod(6) internet(1) security(5) mechanisms(5)
   pkix(7) alg(6) 42 }
id-MLDSA65-RSA4096-PSS-SHA512 OBJECT IDENTIFIER ::= {
   iso(1) org(3) dod(6) internet(1) security(5) mechanisms(5)
   pkix(7) alg(6) 43 }
id-MLDSA65-RSA4096-PKCS15-SHA512 OBJECT IDENTIFIER ::= {
   iso(1) org(3) dod(6) internet(1) security(5) mechanisms(5)
   pkix(7) alg(6) 44 }
id-MLDSA65-ECDSA-P256-SHA512 OBJECT IDENTIFIER ::= {
   iso(1) org(3) dod(6) internet(1) security(5) mechanisms(5)
   pkix(7) alg(6) 45 }
id-MLDSA65-ECDSA-P384-SHA512 OBJECT IDENTIFIER ::= {
   iso(1) org(3) dod(6) internet(1) security(5) mechanisms(5)
   pkix(7) alg(6) 46 }
id-MLDSA65-ECDSA-brainpoolP256r1-SHA512 OBJECT IDENTIFIER ::= {
   iso(1) org(3) dod(6) internet(1) security(5) mechanisms(5)
   pkix(7) alg(6) 47 }
id-MLDSA65-Ed25519-SHA512 OBJECT IDENTIFIER ::= {
   iso(1) org(3) dod(6) internet(1) security(5) mechanisms(5)
   pkix(7) alg(6) 48 }
id-MLDSA87-ECDSA-P384-SHA512 OBJECT IDENTIFIER ::= {
   iso(1) org(3) dod(6) internet(1) security(5) mechanisms(5)
   pkix(7) alg(6) 49 }
id-MLDSA87-ECDSA-brainpoolP384r1-SHA512 OBJECT IDENTIFIER ::= {
   iso(1) org(3) dod(6) internet(1) security(5) mechanisms(5)
   pkix(7) alg(6) 50 }
id-MLDSA87-Ed448-SHAKE256 OBJECT IDENTIFIER ::= {
   iso(1) org(3) dod(6) internet(1) security(5) mechanisms(5)
   pkix(7) alg(6) 51 }
id-MLDSA87-RSA3072-PSS-SHA512 OBJECT IDENTIFIER ::= {
   iso(1) org(3) dod(6) internet(1) security(5) mechanisms(5)
   pkix(7) alg(6) 52 }
id-MLDSA87-RSA4096-PSS-SHA512 OBJECT IDENTIFIER ::= {
   iso(1) org(3) dod(6) internet(1) security(5) mechanisms(5)
   pkix(7) alg(6) 53 }
id-MLDSA87-ECDSA-P521-SHA512 OBJECT IDENTIFIER ::= {
   iso(1) org(3) dod(6) internet(1) security(5) mechanisms(5)
   pkix(7) alg(6) 54 }
]]></sourcecode>
    </section>
    <section anchor="signed-data-conventions">
      <name>Signed-Data Conventions</name>
      <section anchor="pre-hashing">
        <name>Pre-Hashing</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 RFC 5652 was published, 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"/> and ML-DSA <xref target="FIPS204"/> have also been standardized, and these algorithms support both a "pure" and "pre-hash" mode, although their use in CMS has only been defined for "pure" mode.</t>
        <t>Composite ML-DSA operates only in a "pre-hash" mode. However, unlike RSA and ECDSA each Composite ML-DSA algorithm is defined to be used with a single digest algorithm which is identified in the Composite ML-DSA algorithm name.
For example, id-MLDSA87-ECDSA-P521-SHA512 uses SHA-512 as its pre-hash digest algorithm.</t>
        <t>When Composite ML-DSA is used in CMS, the digest algorithm used by CMS SHALL be the same pre-hash digest algorithm used by the Composite ML-DSA algorithm.  A Composite ML-DSA algorithm might use additional digest algorithms for the internal component algorithms, e.g., in the case of id-MLDSA87-ECDSA-P384-SHA512 the traditional component uses SHA-384. These internal digest algorithms are irrelevant to Composite ML-DSA's use in CMS.</t>
      </section>
      <section anchor="signeddata-digestalgorithms">
        <name>SignedData digestAlgorithms</name>
        <t>The SignedData digestAlgorithms field includes the identifiers of the message digest algorithms used by one or more signer.
When signing with a Composite ML-DSA algorithm, this list of identifiers SHOULD include the corresponding digest algorithm from <xref target="digest-algs"/>.</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 signedAttrs field of the relevant SignerInfo, and another is used when signed attributes are absent.
Use of signed attributes is preferred, but the conventions for signed-data without signed attributes is also described below for completeness.</t>
        <t>When signed attributes are absent, Composite ML-DSA signatures are computed over the content of the signed-data.
As described in <xref section="5.4" sectionFormat="of" target="RFC5652"/>, the "content" of a signed-data is the value of the encapContentInfo eContent OCTET STRING.
The tag and length octets are not included.</t>
        <t>When signed attributes are included, Composite ML-DSA signatures are computed over the complete DER encoding of the SignedAttrs value contained in the SignerInfo's signedAttrs field.
As described in <xref section="5.4" sectionFormat="of" target="RFC5652"/>, this encoding includes the tag and length octets, but an EXPLICIT SET OF tag is used rather than the IMPLICIT [0] tag that appears in the final message.
At a minimum, the signedAttrs field MUST include a content-type attribute and a message-digest attribute.
The message-digest attribute contains a hash of the content of the signed-data, 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>Composite ML-DSA has a context string input that can be used to ensure that different signatures are generated for different application contexts.
When using Composite ML-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 Composite ML-DSA, the fields of a SignerInfo are used as follows:</t>
        <dl>
          <dt>digestAlgorithm:</dt>
          <dd>
            <t>Per <xref section="5.3" sectionFormat="of" target="RFC5652"/>, the digestAlgorithm field identifies the message digest algorithm used by the signer and any associated parameters.
This MUST be the same digest algorithm used by the Composite ML-DSA algorithm.
Per <xref target="RFC8933"/>, if the signedAttrs field is present in the SignerInfo, then the same digest algorithm MUST be used to compute both the digest of the SignedData encapContentInfo eContent, which is carried in the message-digest attribute, and the digest of the DER-encoded signedAttrs, which is passed to the signature algorithm.
See <xref target="digest-algs"/> for exact algorithm mappings.</t>
          </dd>
          <dt/>
          <dd>
            <t><xref target="RFC5754"/> defines the use of SHA-256 <xref target="FIPS180"/> (id-sha256) and SHA-512 <xref target="FIPS180"/> (id-sha512) in CMS. <xref target="RFC8702"/> defines the use of SHAKE256 <xref target="FIPS202"/> in CMS (id-shake256).
When id-sha256 or id-sha512 is used, the parameters field MUST be omitted.
When id-shake256 is used the parameters field MUST be omitted and the digest length MUST be 64 bytes.</t>
          </dd>
        </dl>
        <table anchor="digest-algs">
          <name>Digest Algorithms for Composite ML-DSA</name>
          <thead>
            <tr>
              <th align="left">Signature Algorithm</th>
              <th align="left">Digest Algorithms</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">id-MLDSA44-RSA2048-PSS-SHA256</td>
              <td align="left">id-sha256</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA44-RSA2048-PKCS15-SHA256</td>
              <td align="left">id-sha256</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA44-Ed25519-SHA512</td>
              <td align="left">id-sha512</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA44-ECDSA-P256-SHA256</td>
              <td align="left">id-sha256</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA65-RSA3072-PSS-SHA512</td>
              <td align="left">id-sha512</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA65-RSA3072-PKCS15-SHA512</td>
              <td align="left">id-sha512</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA65-RSA4096-PSS-SHA512</td>
              <td align="left">id-sha512</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA65-RSA4096-PKCS15-SHA512</td>
              <td align="left">id-sha512</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA65-ECDSA-P256-SHA512</td>
              <td align="left">id-sha512</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA65-ECDSA-P384-SHA512</td>
              <td align="left">id-sha512</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA65-ECDSA-brainpoolP256r1-SHA512</td>
              <td align="left">id-sha512</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA65-Ed25519-SHA512</td>
              <td align="left">id-sha512</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA87-ECDSA-P384-SHA512</td>
              <td align="left">id-sha512</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA87-ECDSA-brainpoolP384r1-SHA512</td>
              <td align="left">id-sha512</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA87-Ed448-SHAKE256</td>
              <td align="left">id-shake256</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA87-RSA3072-PSS-SHA512</td>
              <td align="left">id-sha512</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA87-RSA4096-PSS-SHA512</td>
              <td align="left">id-sha512</td>
            </tr>
            <tr>
              <td align="left">id-MLDSA87-ECDSA-P521-SHA512</td>
              <td align="left">id-sha512</td>
            </tr>
          </tbody>
        </table>
        <dl>
          <dt>signatureAlgorithm:</dt>
          <dd>
            <t>The signatureAlgorithm field MUST contain one of the Composite ML-DSA signature algorithm OIDs, and the parameters field MUST be absent. The algorithm OID MUST be one of the OIDs described in <xref target="algorithm-identifiers"/>.</t>
          </dd>
          <dt>signature:</dt>
          <dd>
            <t>The signature field contains the signature value resulting from the use of the Composite ML-DSA signature algorithm identified by the signatureAlgorithm field.
 The Composite ML-DSA signature-generation operation is specified in <xref section="4.2" sectionFormat="of" target="I-D.ietf-lamps-pq-composite-sigs"/>, and the signature-verification operation is specified in <xref section="4.3" sectionFormat="of" target="I-D.ietf-lamps-pq-composite-sigs"/>.
 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="sec-asn1-module">
      <name>ASN.1 Module</name>
      <sourcecode type="asn.1"><![CDATA[
<CODE BEGINS>
Composite-MLDSA-CMS-2026
  { iso(1) identified-organization(3) dod(6) internet(1)
        security(5) mechanisms(5) pkix(7) id-mod(0)
        id-mod-composite-mldsa-cms-2026(TBDMOD) }

DEFINITIONS IMPLICIT TAGS ::= BEGIN

EXPORTS ALL;

IMPORTS
  SIGNATURE-ALGORITHM, SMIME-CAPS
    FROM AlgorithmInformation-2009  -- [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-MLDSA44-RSA2048-PSS-SHA256, sa-MLDSA44-RSA2048-PKCS15-SHA256,
  sa-MLDSA44-Ed25519-SHA512, sa-MLDSA44-ECDSA-P256-SHA256,
  sa-MLDSA65-RSA3072-PSS-SHA512, sa-MLDSA65-RSA3072-PKCS15-SHA512,
  sa-MLDSA65-RSA4096-PSS-SHA512, sa-MLDSA65-RSA4096-PKCS15-SHA512,
  sa-MLDSA65-ECDSA-P256-SHA512, sa-MLDSA65-ECDSA-P384-SHA512,
  sa-MLDSA65-ECDSA-brainpoolP256r1-SHA512, sa-MLDSA65-Ed25519-SHA512,
  sa-MLDSA87-ECDSA-P384-SHA512, sa-MLDSA87-ECDSA-brainpoolP384r1-SHA512,
  sa-MLDSA87-Ed448-SHAKE256, sa-MLDSA87-RSA3072-PSS-SHA512,
  sa-MLDSA87-RSA4096-PSS-SHA512, sa-MLDSA87-ECDSA-P521-SHA512
   FROM Composite-MLDSA-2025
      { iso(1) identified-organization(3) dod(6) internet(1)
        security(5) mechanisms(5) pkix(7) id-mod(0)
        id-mod-composite-mldsa-2025(TBDCompositeMOD) }
;

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

SignatureAlgorithmSet SIGNATURE-ALGORITHM ::= {
  sa-MLDSA44-RSA2048-PSS-SHA256 |
  sa-MLDSA44-RSA2048-PKCS15-SHA256 |
  sa-MLDSA44-Ed25519-SHA512 |
  sa-MLDSA44-ECDSA-P256-SHA256 |
  sa-MLDSA65-RSA3072-PSS-SHA512 |
  sa-MLDSA65-RSA3072-PKCS15-SHA512 |
  sa-MLDSA65-RSA4096-PSS-SHA512 |
  sa-MLDSA65-RSA4096-PKCS15-SHA512 |
  sa-MLDSA65-ECDSA-P256-SHA512 |
  sa-MLDSA65-ECDSA-P384-SHA512 |
  sa-MLDSA65-ECDSA-brainpoolP256r1-SHA512 |
  sa-MLDSA65-Ed25519-SHA512 |
  sa-MLDSA87-ECDSA-P384-SHA512 |
  sa-MLDSA87-ECDSA-brainpoolP384r1-SHA512 |
  sa-MLDSA87-Ed448-SHAKE256 |
  sa-MLDSA87-RSA3072-PSS-SHA512 |
  sa-MLDSA87-RSA4096-PSS-SHA512 |
  sa-MLDSA87-ECDSA-P521-SHA512,
  ... }

--
-- Expand the S/MIME capabilities set used by CMS [RFC5911]
--

SMimeCaps SMIME-CAPS ::= {
  sa-MLDSA44-RSA2048-PSS-SHA256.&smimeCaps |
  sa-MLDSA44-RSA2048-PKCS15-SHA256.&smimeCaps |
  sa-MLDSA44-Ed25519-SHA512.&smimeCaps |
  sa-MLDSA44-ECDSA-P256-SHA256.&smimeCaps |
  sa-MLDSA65-RSA3072-PSS-SHA512.&smimeCaps |
  sa-MLDSA65-RSA3072-PKCS15-SHA512.&smimeCaps |
  sa-MLDSA65-RSA4096-PSS-SHA512.&smimeCaps |
  sa-MLDSA65-RSA4096-PKCS15-SHA512.&smimeCaps |
  sa-MLDSA65-ECDSA-P256-SHA512.&smimeCaps |
  sa-MLDSA65-ECDSA-P384-SHA512.&smimeCaps |
  sa-MLDSA65-ECDSA-brainpoolP256r1-SHA512.&smimeCaps |
  sa-MLDSA65-Ed25519-SHA512.&smimeCaps |
  sa-MLDSA87-ECDSA-P384-SHA512.&smimeCaps |
  sa-MLDSA87-ECDSA-brainpoolP384r1-SHA512.&smimeCaps |
  sa-MLDSA87-Ed448-SHAKE256.&smimeCaps |
  sa-MLDSA87-RSA3072-PSS-SHA512.&smimeCaps |
  sa-MLDSA87-RSA4096-PSS-SHA512.&smimeCaps |
  sa-MLDSA87-ECDSA-P521-SHA512.&smimeCaps,
  ... }

END
<CODE ENDS>
]]></sourcecode>
    </section>
    <section anchor="sec-iana">
      <name>IANA Considerations</name>
      <t>IANA is requested to allocate a value from the "SMI Security for PKIX Module Identifier" registry for the included ASN.1 module.</t>
      <ul spacing="normal">
        <li>
          <t>Decimal: IANA Assigned - <strong>Replace TBDCompositeMOD</strong></t>
        </li>
        <li>
          <t>Description: Composite-Signatures-CMS-2026 - id-mod-composite-mldsa-cms-2026</t>
        </li>
        <li>
          <t>References: This Document</t>
        </li>
      </ul>
      <!-- End of IANA Considerations section -->

</section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>All security considerations from <xref target="I-D.ietf-lamps-pq-composite-sigs"/> apply.</t>
      <t>Security of the Composite ML-DSA private key is critical.
Compromise of the private key will enable an adversary to forge arbitrary signatures.</t>
      <t>Composite ML-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 3.6.1 of <xref target="FIPS204"/> for some additional information.</t>
      <t>To avoid algorithm substitution attacks, the CMSAlgorithmProtection attribute defined in <xref target="RFC6211"/> SHOULD be included in signed attributes.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="FIPS202">
          <front>
            <title>SHA-3 standard :: permutation-based hash and extendable-output functions</title>
            <author>
              <organization/>
            </author>
            <date year="2015"/>
          </front>
          <seriesInfo name="DOI" value="10.6028/nist.fips.202"/>
          <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="I-D.ietf-lamps-pq-composite-sigs">
          <front>
            <title>Composite ML-DSA for use in X.509 Public Key Infrastructure</title>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Entrust</organization>
            </author>
            <author fullname="John Gray" initials="J." surname="Gray">
              <organization>Entrust</organization>
            </author>
            <author fullname="Massimiliano Pala" initials="M." surname="Pala">
              <organization>OpenCA Labs</organization>
            </author>
            <author fullname="Jan Klaußner" initials="J." surname="Klaußner">
              <organization>Bundesdruckerei GmbH</organization>
            </author>
            <author fullname="Scott Fluhrer" initials="S." surname="Fluhrer">
              <organization>Cisco Systems</organization>
            </author>
            <date day="7" month="January" year="2026"/>
            <abstract>
              <t>   This document defines combinations of US NIST ML-DSA in hybrid with
   traditional algorithms RSASSA-PKCS1-v1.5, RSASSA-PSS, ECDSA, Ed25519,
   and Ed448.  These combinations are tailored to meet regulatory
   guidelines.  Composite ML-DSA is applicable in applications that uses
   X.509 or PKIX data structures that accept ML-DSA, but where the
   operator wants extra protection against breaks or catastrophic bugs
   in ML-DSA, and where EUF-CMA-level security is acceptable.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-pq-composite-sigs-14"/>
        </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="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="RFC8933">
          <front>
            <title>Update to the Cryptographic Message Syntax (CMS) for Algorithm Identifier Protection</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="October" year="2020"/>
            <abstract>
              <t>This document updates the Cryptographic Message Syntax (CMS) specified in RFC 5652 to ensure that algorithm identifiers in signed-data and authenticated-data content types are adequately protected.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8933"/>
          <seriesInfo name="DOI" value="10.17487/RFC8933"/>
        </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</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="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>
        <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="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="RFC8411">
          <front>
            <title>IANA Registration for the Cryptographic Algorithm Object Identifier Range</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="R. Andrews" initials="R." surname="Andrews"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>When the Curdle Security Working Group was chartered, a range of object identifiers was donated by DigiCert, Inc. for the purpose of registering the Edwards Elliptic Curve key agreement and signature algorithms. This donated set of OIDs allowed for shorter values than would be possible using the existing S/MIME or PKIX arcs. This document describes the donated range and the identifiers that were assigned from that range, transfers control of that range to IANA, and establishes IANA allocation policies for any future assignments within that range.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8411"/>
          <seriesInfo name="DOI" value="10.17487/RFC8411"/>
        </reference>
      </references>
    </references>
    <?line 378?>

<section anchor="examples">
      <name>Examples</name>
      <t>This appendix contains an example signed-data encoding with the id-MLDSA65-ECDSA-P256-SHA512 signature algorithm.</t>
      <t>It can be verified using the example public keys and certificates specified in <xref section="E" sectionFormat="of" target="I-D.ietf-lamps-pq-composite-sigs"/>.
Specifically, the following example:</t>
      <ul spacing="normal">
        <li>
          <t>tcId: id-MLDSA65-ECDSA-P256-SHA512</t>
        </li>
        <li>
          <t>x5c: Base64 of the DER encoding of the certificate.  Wrap this in PEM headers and footers to get a PEM certificate.</t>
        </li>
      </ul>
      <t>To keep example size down, the signing certificate is not included in the CMS encoding.
The example certificate from <xref target="I-D.ietf-lamps-pq-composite-sigs"/> used to sign the CMS content is self-signed.</t>
      <t>The following is an example of a signed-data with a single id-MLDSA65-ECDSA-P256-SHA512 signer, with signed attributes included:</t>
      <artwork><![CDATA[
-----BEGIN CMS-----
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
-----END CMS-----
]]></artwork>
      <artwork><![CDATA[
SEQUENCE {
  # signedData
  OBJECT_IDENTIFIER { 1.2.840.113549.1.7.2 }
  [0] {
    SEQUENCE {
      INTEGER { 1 }
      SET {
        SEQUENCE {
          # sha512
          OBJECT_IDENTIFIER { 2.16.840.1.101.3.4.2.3 }
        }
      }
      SEQUENCE {
        # data
        OBJECT_IDENTIFIER { 1.2.840.113549.1.7.1 }
        [0] {
          OCTET_STRING { "id-MLDSA65-ECDSA-P256-SHA512 signed-da
ta example with signed attributes" }
        }
      }
      SET {
        SEQUENCE {
          INTEGER { 1 }
          SEQUENCE {
            SEQUENCE {
              SET {
                SEQUENCE {
                  # organizationName
                  OBJECT_IDENTIFIER { 2.5.4.10 }
                  UTF8String { "IETF" }
                }
              }
              SET {
                SEQUENCE {
                  # organizationUnitName
                  OBJECT_IDENTIFIER { 2.5.4.11 }
                  UTF8String { "LAMPS" }
                }
              }
              SET {
                SEQUENCE {
                  # commonName
                  OBJECT_IDENTIFIER { 2.5.4.3 }
                  UTF8String { "id-MLDSA65-ECDSA-P256-SHA512" }
                }
              }
            }
            INTEGER { `5b43282ced27a7bfc2874f667c3231026f701f70`
 }
          }
          SEQUENCE {
            # sha512
            OBJECT_IDENTIFIER { 2.16.840.1.101.3.4.2.3 }
          }
          [0] {
            SEQUENCE {
              # contentType
              OBJECT_IDENTIFIER { 1.2.840.113549.1.9.3 }
              SET {
                # data
                OBJECT_IDENTIFIER { 1.2.840.113549.1.7.1 }
              }
            }
            SEQUENCE {
              # signingTime
              OBJECT_IDENTIFIER { 1.2.840.113549.1.9.5 }
              SET {
                UTCTime { "260121203920Z" }
              }
            }
            SEQUENCE {
              # messageDigest
              OBJECT_IDENTIFIER { 1.2.840.113549.1.9.4 }
              SET {
                OCTET_STRING { `88d87347f688afe2febdf4f37a2e1115
e14074925ee9611fcb7a8e22d252530ae846d6e71345b2744b6d523d3d874ebe
154ba8a6a8a1506b6d5bf18993c85f4d` }
              }
            }
          }
          SEQUENCE {
            OBJECT_IDENTIFIER { 1.3.6.1.5.5.7.6.45 }
          }
          OCTET_STRING { `12441c14b2fd180879fbaccd044403af8c4f26
34d98c483081fd04e645e234bb733c9d06333acbfdc509cfc2cc844126d4732d
2c359cdc93b0487e6ce56c8544d4abf6385b0dcc331c50dd7593b798014189b4
2985f79cfb25381390ad0f004a475c8bd2ce058c04363ee5d5a91a31072db3ed
fc421ab92c63a0bb6697acc72eb9bea9e44ca99cd8517c0fded8f95b3249e002
63edd9cd30d9d631080294f3aaa4e22b2e662e91de274d366f8b5d4ed55d5dae
c9653d9b2a5430b52c0e5673c43df56209b081925687d0af28a3e7c6b2de97ab
ebdde3557e5eb2e9acfc2779df24f5c93ccc966add87d55f36314f06e9063322
33268c721d1fb3eba6c5ed48b60159ddf279a48ed2862c3e8f679ced6ef0d5f9
ac5f317496d936c03c3121917c834a80887dd23b1ec6b3685f4276f457dce16e
33edd8d1e24cceeb4134f0bdd3e1c4341697cb8171ab0fc4e2031e78eb95cbde
821a575a0b52240566e300932b9e4f5c1b211368c5b5b702c705de9c2da976ce
1e1fc27eccdc1478bf554d983e97c5a45c7bda8bb68532569605264ad1f71e04
cfeb23000e3f580ba416aeac2afc9d1c5c8d5ece2950e8453fa61053c08e093a
120cb3f8dd4f9fcae3b18f3d6958b303bc886663d4f2a6c606404256825ba966
1a1c5635c12faa141f5d21d3972baaefab1d4f3b7c9a027f18cb54a0dd6a2089
ee66db786acac07e8fe1bf545c130557380d94c13da1c8eec3cb1200891955f8
b1a1a15a363bb946cae955d36715ab0665d44b79e46bb3956444606885e52013
580c43c0102963ea5e3f59785939c0351e59f1130bebfbfe17c935ae3aff6315
92f95bba9beec130ba0d7bc7bc4555de58647bd0b56922cc68002a3423ee8323
745d7bbdb9eb4e0a3008e5294a79428c9ad6cf9aacb77afc3278ebd26170bf56
2ff52d3a11c098eb606692cd1e1257f0c1902ff097b6215b5389d3dfb7b02d74
2835a39163cf84ec9f815b27faae71c6397b48371478d244c5dea56da74a8bf5
c90b80f4cf8a362d1f96524b403320db263783b8f941178d4b5b9eebf0368b4c
2c14b6912ce5ac2f217495955fd5574bc48d946b1c1040e4441dbf445c8e2681
5297efabf2aefb75b563bac9896c34f790e7e7f8422176292628eff1b2b1be9f
8ceb8b7d3d6cda6cac79f34d5522d7b1f18ce591a84a1d65daf7a242c2c4186a
90db66f5d480b3af39336c288cd522c50b8d7fe03afc77447f71208404090e1b
49b5ea51db92dd7a275ebd9b2b79981963cb7b39427458109a801729a29967ab
4ac8304bf37c3217a6ef541b33fd0264b1c85f1d47f7574e756f59a8b51f92ec
cdd51227a2e18d28f1bbb16f387925aaaf0735243e00292b3795943ea54805d8
30e5d382dce1937eaa3339953b2e6b1e46df2c217d3bd955a2892fbf6eedfff6
5adf6165136a73c35bb31908a59e070eb91c95227a8ff7f80bc7db84be667952
c7678765d99a15c5cbd018d140d8d40cc25737765684c11583af8333f2f4de04
436dd0fcdde5a5bab0b52e1b72967fde4e349163d2668ee7444c3c245ef209d2
fc0da0477b55a74f8156e25e0f40d5f2a1ad69949caed5eb795467bdb7927c4e
65c663b18e2d5467aacac7142ecd78ccf1b638d9f36a3a4b444573c23dec06fa
60587e8d0bf8cd6f766791a3860a7f27ba1ea795068541eee2330784e51a0152
308f9a2c4614f7e96f5f16e7f57c642aa8ff37192ea38aa2aaa9aa3bde45a708
5bf3a3a67c9434c69475774a37d1e1b2b1a8f4222eeee554f99e2da0242bdb96
02f6e904fc29f6cba6f11865babb45bb01fdc6ddf6576403056e4cd9115a6cb1
78bafc496b8eed4937a2402424a4c59f8cd753052b8072ce947d3191fb164ef6
411aa4cd38c91ce612de667b627237780209fad1d320c9b59667434e979d3183
04dbb59961e5d57dc6bebe09566662101c075b2b212fb81c5dfb2879b43be73b
6d40d7bf318f372b760cecf551c9eb24170884353588bbcb62ef0530074a9677
2a31170ed82dca829aa944c290ace9f04ae3ea3c77e214022e07681d5039f5a1
bffe5ea6785003519d91e65df9fe9f66c7f9e4fc11c119d578de2f215ec891d1
0d1d1a67213474a272540f5ae7af58c074184e92953043e9f51b6896434194c6
58a50c2fc21960d5172bcb8bfa59a99729a6a06ce737410e3c9cd7592325054e
21408463d178005ebb0553521145366d21ab3732ec02a8860e993e160b771ae4
7d1dd0d1b8cc66fb3aaea6b5ed5bf2cf142dd070e064224ef47fd7d41b0e0676
25a63727a14f162cf3ca80e13f35fbed8a9c7ca42d95e48ab9bfaba2ee31d9e8
6d53a1b235c7b6ab3889b9fa7474812e51ee05b1d541f87ac11a5460f190b3a4
4d5d64c70ab70734679762d4aee968775b0b56ed72fe654ffa0fee06af86de54
d68f8f3aad3542bea5a3f8fee265782c112a1bc7b90c365bc24de0da50f7407f
8c3450701ad2d047784907d0f8b3d3cfe26961c3d2e67ab644353a96371b1996
72faa8979e355f7117279a5d400ec3533fb6f8ac2abf370dc14efdf613a31e7c
4e5d6735f8158d556e0ce13fcbd98d3bf825bb29a2af1fa4eae37e1a59e0f456
17ee602562a16ec55cedb24bd6a6b02b8271ac3f9f149b326753105b7ae5c78b
a36daae7b4edba06d0092e6010264aa80daf73210ab3e81d0f1d47192ffd3b75
dff55a58bc468d5b935989bd38e00de05d165bab79dd376719c94a37145fd7c2
c7cf5eb6ab059ba0c70eef9db76674a90b6fd220e674f465765057d70ae5eea2
51f6d6477b3af8bbc63ea49b880d4340b339034b5dc9b083c8e06fbaf4d1b012
6a51ed770fdca9167a77aeeb752d675ff194b15d50b04155468f24f54bffc0b0
756f18d18543c583534edf977ed073d083fc72b5da674146ffd0430de23000f9
8711e6cfbe1b1882a6b8d9ac3cfb5cb3f22d7e6c68becba370f8301ec6a1f0a8
1d490bf6b2898af6dc7f05ae620bd9cbb66f0357704fa54c79e6cbf6de5bd53b
94fee4f1e5f9700a4d879d09506c11fb102b846531bb91c779051cef45286ba7
fef03312ac664c6afa6a55a602da322c9ed90c45eb4d92be10b76ea82bf02076
791e887a1f358b3f30e66be24c2b95ff0415692a806ed13bd097cc79f449f5f8
d61f1c515c9753228e44031c6941e7a2c1317b70c890e7ea21b9dac9094f374d
b058775780a02520bc1d7ae679f3f0b35506b74b9754d04210c5264994c60480
34530f2d2c15bdac16e495b044deafa753a7ca01213862adadfbd794e6b2e731
3e75c5fb975d5c4328f054d8cd173d824a545c1422a6b9297e1c26230d9dfba9
2151d9035257af3e6d5cd16652141c6ed325f6c58174f13ebcac009d3a010f72
5823af025112866fc9e4c492d3d3c3ec9a3cfd82a616252271954c8bb1a09bad
8cfcbd68af485067706c3684e629c2b9afc0dacaf897a195c7e544edc43dc509
608ecd447b7cb28495e09e8b86b0165978d024abbb0f5d8fe0a012b48ba5047b
320db566fd69ba9586d89c63925a287bcf132174d0d4d2dbe5b35c21a598377e
877a989e9cacd70fb4a5239a549ffcc1ab7ecb2dc16ecb88cc2f91eac0e47761
4cb03db59a7e5a6a89f4b4918533a45c5950c2764594ddd1515508cac61d1fca
a2fce8cd76f0e1d31a7b29a9dfd5b22ab8c4cf6e0e6c74934a09552360b676d5
a3f70f6bc70c35bd0ab37729c16077eb9051a12f59daf456025a2bc54d16d1fe
e6364e74fc908c91b2d86a78b79dc5b442de690b4d6666c298bd3bb844883bbf
00a035dd54df86deae7a3a8698be10243a35179ea4f1948c91a51ad9c9cc60df
2a98c0a46b3245ac128a96766aa1f33b089cd4c662c01da3e0e897ba58f529a4
da73153d16474c30a6a0d09d7b3af314de4ad11c9d07030aa33bdf4a4044916e
d4a9a84d537061b699015fbd9861c1cc616319348efbad85910e32fdf5cf6b31
0f4b46eca7606179283da331ff4d2e47a57a527c83ddc94d163501d2acd6f88e
bd0de3fe52e3b9e9fc078db43dbd2e78b252890afe75e8280be8cde2a3386ae0
b85becf0c716e74ef8925033cfc4a19220416b2eb42a55fc6a52b5c8fca601d4
a80b97c49ee29e741e8ff9f1961caf790ab8027c4152405f47100b2aa2a3d8f2
2546436fd09cf3918da7ad41f148214ea7e03917ae14077c76f5f3db464b7d3c
578219632abbff6d64528d51765fb84b8a13a268d409020c7ea455da7a187995
374572450c0f32d4d49f24b4bea6e9585c75187d7a7a2038b92faf80cce28ff5
8f8f1f2203c8babb585fe90abb15912f4f3ccbbc2c5389e96b08e4fba73c532e
eae0d76b86ec0c1357c1791cb52f1b0068c30ad8cf0e35322b88281b42725f10
de162f48abfa2a81c1be61cd72ea5c9971cf55a77ece5947d2f73a143587db08
7a285f15f3569e82e5174ab6a4c9c43202eff8c71bc7bc506450a33a39d64042
9e773b7d8ccf95f8daa5d674027597e77e09b602f9c258bc9ea880f81d3d7057
49af5b22ca152b684a68d5da9105c6d6067edab5dac0faf30d95cc1ce7d52c86
4b04ef6b48459f52a7b51a151978c08b5ed5f62de5ae0094c2b6e21fc4232dd6
d7e7001a6f7ea2baca1c6e8e96bdedf3436c9dd2ec061628484d393c557dddef
f400000000000000000000000000000000000000050c13181d243045022100ae
b6214771606e55ea5ca9ba644ad3b0ee780c19d7aa031e0fa56a0cb8e01d9002
205e91bd3cb5e7fe7a80e9830fbcd9c88bbcd00c0dee72ace017ba648cc37e0a
b6` }
        }
      }
    }
  }
}
]]></artwork>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The authors wish to thank Piotr Popis (Enigma) for his valuable feedback on this document.</t>
      <t>Thanks to the co-authors of <xref target="RFC9882"/>, Ben Salter and Adam Raine, this document borrows heavily
from that one. "Copying always makes things easier and less error prone" - <xref target="RFC8411"/>.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
/FQNx5Xp1m1k2m4uxLVklsvlo0ou0y7s871MLTtZTKbzSXbcrhcyk/puMDn2
EU6dsmFhXugoi3mtL9c7xUa2MesnnX6j0JcKST9fkRu+3OsWCnK9V5m4yiJw
loN5bdiZCrRUmIxH06kzysbjblYlo05YKTdWY0VfjHPZKS13DmT4JNPS4KX+
XGl28pBsnuGS7UazbEmot6VdbvecH7Tb1Xym89QZdEr1trbLZ9JrtXxmUG/3
5Xb/pbCo5+qljNwvZHY7lwzbSa+/LwgQUWl05WJb6vTaXbldn/WV2qBRaeNu
fVLpD6V6WGtKwcp8zE0le+nlK/vM0t6V1Qyf+El4rowrmWE/n81U8mGl9FTP
Tkq57rrUrThqvl14yrwUoMD5ejr3S/ZOymZ3hV0586p0IdOeF+tta5TvVZR6
vnCAknb1l/mhXgx3vd21deaFer9SaFdmz67kKX710X+MVEmw1HBT6Iym7XK3
O9ospmUrMWZ+rdtf1KtGwRnq+0YxDjo1Z1CxW8+0uZ0OausqCcNBNnIG273g
j1uVkQRFTp4r1d1zNtvul7O+VJhMJKkwb7vFWs0uZab6nfHSyBba+Ujbt55m
vfGsMNlNPKkg6POR36glL60nqVR/iWqPbv/pxarVp4XCUi7Xk1p+6KpPzV23
rMf68FDsNLqRPZs6eXf3Ui7mqUDHTXWZKWZ9p72aesy9O/S1gp5L8rtstSMf
alKsFWeZttLajAbrTrjPHpQX09vnStE8fjZypjBesXh/MPTtOpj3qktXKRat
vG0+3w3iQ5dlcs936villx/Ls0Ils+q9rNc9v3rQl7VVmT1JkiI4WkJ7yYCO
iPk07ilOddHeJd1dcxC0Ci1v4OecXHa+IGWpaoXhnVeKE2O0vttSTR7cjaLa
SohaO0SgNbfdufXyNF6rz95g9PK87+2cVXZW9+sHUnenkhffbZZ7JleSSXGs
ek/6qmJ2p/7uTpgpzDWH5k72lvHopSgtkrmyy+/2lXHRmkjrjF9Wu829WYqV
qdcOHGlgv0ydWStRGmW/Vzcjod3r7ba0Nd3n28OFtcm6JG7tm5V8OZhFC3fL
JtPVaDhJuk+ZwVLb5XpVXW8h7qYFZVZMHDcn7HcjFuSUFY01Vrae7l4auz6r
2YPeeHK3sIbzUXlLfJMU6wsyzHbHVclzWbb+GFV2mWZLntSEVZZsolxkBZ29
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
aUgqaBGAAAA=

-->

</rfc>
