<?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-04" 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-04"/>
    <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 95?>

<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 101?>

<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="asn1">
        <name>ASN.1</name>
        <t>CMS values are generated using ASN.1 <xref target="X680"/>, using the Basic Encoding Rules (BER) and the Distinguished Encoding Rules (DER) <xref target="X690"/>.</t>
      </section>
      <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="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="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 395?>

<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:
H4sIAAAAAAAAA829aXLjyJYl/B+rQMUz684shSTMQ9TIeZ5nVpdVOQAHCRIE
SACclC/LegP9qzfQa/mW0iv5joODKImKjHxlla/DMiNEwIfrdzj3XHeAenx8
5BIv8ek3Pheu1mHsJZRv1B/zvQzvhhG/jSnvBXwuOq6TcBaR9dyz+QaNYzKj
fO8YJOTA/5Rr9H7miGVFdHdnGNzlnNAOyAqTOBFxk0ePJu6jT1br+NFe4f9L
l8fYm8WPgsJxcUIC59+IHwbolERbyv+J78+9mPdpEkMq3gl5lwT2kSfbJHyc
0YBGJPHCgA9dPqIujWhg05jz1lHaP04kQTAFiSMRJd/4HrW3kZccuf3sG1/P
NNo9zibJNz5OHC7eWisvjjFWclxj9kqhX+QxPfHj8Bv/xQscuqb4K0i+fOW/
UMdLwsgjPvtQyWTxD9T2pdLtF79wS3rch5HzjeP5Rx4rPf17VdDKf3Riwu1o
sKWszSwKt+uLPDx/mn4URksvmPEldhNXV8TzIeiarOJ/Znp8CqMZLpPInn/j
50myjr89PzskIUlE7CWNni6Nnvez51Tnz8QKt8kzm9BL5lsLizrZAg0+muML
2vkkoTHU8+Uy/qX902mEJy+80/P5B4z9NE9W/heOgxXnYZQqCv/z8Ln4G994
4lvbIIYKk3l69eRDDW9J393A8r7xhSA1NF/3VhjeSW9cvPJ8L70WJxGlWI2k
CgLfC314WsJ3Q+Lw//d//m++t2WmEQUhbWvDSb7xrSQhe/KVb8HfIy883Qm3
GBM3cyQgDjlfcyBfTarxcklNr9CTuVYQ+Sm8iPzP9CTNE3TxdsXVJ9iZHG8W
Ww3nweu1/9fXuYC0T4CJ43eXWPPJNo4RsbfrJMG76+las1tEWuxEW+bK1ONL
K6v8ZkISPC0v3f7ZcqInh75ZfC1crbBwEiQ0wLUnXjRuliAKpmbeKCBLI98L
3q67RCOMcHy7ivwTP4TEJUrPyj6tIk8Cj/rvbqULOSFokx6SV/C5WYeTdnza
kWDG+v2znTYP0PwxPjc/q/J1af/3f/4vUfvKZ8OtT3ckcvge8YLkMZX3ugi2
Sh0OoN+ssg3jxm8XWYwAppTjuCBE78TbpYBUrLR7oiFgXa3Kkyg8aYJkPDcr
vf4Tu/OEW4/KuZkkSJ81w61rI+XzRkB9zgvc2/nHGiZPBYU/ztiaLwC03++f
vGT7hAU/R9R+7j92C7nH8RM6nNqfcto/ph94vnIZFwkiofY8CP1wdgQYZ6yY
4WRyyWXNMDm1agWU/ynTaz6JP387D9JbU9tzPfuaZywSIxsG5y5pKwAvpsWK
xcd01Tz/imwM/E/OUOkPHvsnW9LIozFb9mWW9B7fpbD2CmkmHfob/7oytOi1
niuF3DfeMCTlUfzGZkuVZf5eZZn/dcpKP/FIwqHDslcEH0XYfFBhNlVh4dKs
y5rxP2UL3Z+/ngcC7IQBevgfWuXQikds83kvTnB968Vz6nxolkez/2rbmPds
o15swz0+PgKhT8rjuA8MyaGuF0BUDGt5QTpqzJRzvr1HjuW7vcxXvpDLs3/Y
mgsOfnziUk4EdrWFPAlYQapeDJXMKYYLQC1Oo524HNPKh9mJPwOBSearOJ0J
bI91/m3G98SdFrbyHMdn0PEneE4Shc7WTq37y5+AXI8eu/Qrx/3yy99UHvNP
N2RgvXnHBX799aoJAuF9n9oXN8Ft6GUb0Rtpv554XgSTJyFP4g8r+8rvIfv8
rNbren/55QxFmC9VLcwCEoeZ4GM3yoDGe73MY7uW64mPO/FJ/Xq91OtdbVFw
JFUVzYtRFMV4bxTYPGbikZT5AedZWIUQ4wf0YR35dRTuvNSf/4vtCYn+plvM
qZoq/forM+6f/nSKYnhso8fviL9lloENzmwbij+JcIr1X35hcP3rr1/PV9ms
n4d3qi/W5LeDNx3ZFFKhIFPuRg1skD7ynXfGqJPPJa9X4Hl9TAIizjMmHvNf
GoNen3F19i/fbKU/dwudQaVbyLOfe+VMvX79gTu36JVbg3r+9afXnrlWo1Fo
5k+dcZV/c4n70shMvpy840ur3a+0mpn6Fz41yhsngVrhFBartiD+OqJMvSTm
wH7syLPwAX2yufb/939E5WwpSRRN+MjpgyHqqUPPaXCaLQz84/kj1HzkyHpN
ScRGIb7P22TtJahovjLPjOfhPuDnIFjMdylKvpOuVuSYVj38a9+3UoNl+OGe
RhgOnTDS2gfzgBFnPsx5GuUrQz7WGFJ4EX/lF/yKIhYClADc3/+Tz+Lz0fin
f+S4d9HjMVgMYjgJ+3SKVxj0xsRn0EgV9Msv/wRdmLqpnF34Y3hkLuHBV1gN
x+AyiuE417B59F6vn90nBrl77fjaj0mHCjkFoHMvaOzjnOut5SMOmBcy09xB
s1TxfGgtgHn8jQBpoH8vxJnjvFHAb6PKyT9Yx4iuU7xGX2b9dLITynisfD4J
tSYRlp+kwoCjOgyPmQnu6YMNkKLN79cAnwYkAuDkLrDef/zHf8CnAgCQ5zw2
6hhGUR4BwYBug2HwIyJUUjW+la0Wcn2+ki80+5VipdDlv337B/4XlpG9OPxJ
/Jkl9p/kn+FUzk/az6cIC2jC7lzI9U/qz3BIew6XjFcxPrHe66V3+En/mcnI
+sk6/+tdUViGUP9waYy30pwTERNDFaU/TgzznRgsLT62oYk/WiGKcCOJpjLz
yIIuXTzlj1SKIn4iytVT/lBppA/SKKh7/yqKkT8R5a+jGOWtNG999w+VRL0r
iWwof7gk2j1JrAh5fR2GPlNOJP7hQunvhPrrYJ1yC7mG/te0knlPklcrQaQ/
3kqq8E4oVg0xIWqFPzIPqOJbMf6KeUCVPojy10JeVb7ru6r0x7sJQ11wO8bO
e+CB1HnMk4Tc1nVpndeO6GOZxChgZ2z74FqavtnlIAnveDNWyrxyyjNpRs3K
OO6V4Z6qUsLa0zi5sNjVuRI+FV9xKs+1Nk0/Rv8ddU3k7VDwMv76xGWSUwni
oSiAVDwTi9+z6oeRXFbGfk1rrHubFny8Xa/DKDmx9ZQqQ86IbrYe28ggV3nO
Up7Esolvb/204qYHpnUMf2T3UgVcR79seOzDrZ8uIEjXhBl971SksAlfGbe3
WvuUVVmn7ThWLF6nSnUFNexohKKGfXrV7xPX81AepDN8Pe1EnSsvQ5CZhVjH
O7stc7Kjp4LSopgqPeMjkeO9pBo76Ty+py3eClH3Ef7LGtN/ORXTKJEf53CP
L/wqdCjTeDIPt7P5uc68HFxCu2h1qobTWS/FEvOR83hsgKc7+3LhOt3mOPdm
lfP7aZ/4Mupf6Ogrvw18di7VZeUZ2wpi8cVTAnN8Xr6x+vEiz8nSaTWZVrmE
Z/7qXz3htdPJyOh6rRNfnenzqdgBxRNXxKrpgTDDf+W/CweQJObx8yP7AA16
CQuD0+I/yATtjZj3fJj/UiCfTJFuRXxcUNrCOqbGSnddmCaSS9396aTXft9f
+RPPZ76nmJU3myepvxDnug/4fq74WtqeYA9N0rI6SDdvbvYk6dPs6evFHOm2
CIDmu5whxZKbLcjXca8mQOsn/rQzc53+o4QM7bwoouw0KEih4/2q/3t8Exfn
Lb4TBKcIfBryWtfHp82P7zQ4bwgADPytc951vt28eIexH0W+WBDrZcfmqzC6
gO7TyaHYBwY+55D43IxfT1tTwN/kpPFXKc47dmcpz1vj0FMMNad7jR8cy43C
FZDrdP0R1+PrjmjvCuql12cOWMAPGVCeTzbe5qvLFt5JP8k+hEKAVc45fzGz
XTaRrkB/g723ie01Zzxx7NDlNNA1yvYXlbFUkiSYdJuc92wRRfFpy+41szkZ
tHm3q3N1n9TsETsLOu8XBcDgmy2v78x12cEZnLz/YyMvhZLT5v1XHtfunlec
+j2yZxlS+4dod3esNKW8bpRa1A/3570sBnQJDBXHF4j6nshfPzrYjfJZOzbi
luXhEMa5SJ1uTZ71dyM0mELMv9m//eWX3vlMQ31SWI+rk5yQ8ct5sC/sHnmj
AO/kPeku/GUuGthknTt1YYbi6fkD38r1C32+1+9WmqXTLl5CTvncp8EMoRTa
CXuQhi0Jdr3EhvN9JV1a/WVqOpmCz4NYXo8Fzwvp3XjjaYVMEeSyqXltkroj
QOyD9/5eVUObVxneoNddNZ1clAR8YdyuV3IVaBbabRXT1pd4ABTM07WSk8CV
xrnt//gX4X/8a9r0FO7pXvo1lJH8AeZnhEy5JTigF3ir7errJ5GabpRe0Ixc
HPCRPS70arFTzF4GfrxA3OX2ySk+u3tRPzu0SlPv2U6f+zqjnmwH+baVlx57
vVrlkkHP5wEffex0imDBZ564Lr0y0dMRIOuZynJykHPaj1AKrL3LbAGjtOCL
DL/ihK6Zkl9Z+O4Goe/Rvfn5kA7SH1j/6OQd6xSeYDmbBFeKBqymQbxNV5zW
IG76yFnyPhBej8rY6l+bEcbJz8fg5xnjc8r77FgvvhY+zoeTmK+vir8RHT1o
cqH9dLVOjudbt6k/jSn+DBzc90T4enZY+GB8AqibAa5ZjDDw9oHA8TeOe0cY
cOUb30aU3EanfAcI3/W78IxLUo+/Syve8MITmzhnsCOki0PbSw3yeq5xPrG9
HEBcmedfSji50xLTYzlTltmiPPeTYD6lwtvUfJt40xruc3kuEl/pwwl2T+XS
DdV+A7Mpk/s0dXx9LS9sEkU3tcVnYHEt3d7NBqB/TEGWOrfrvplgDWu81qV3
T8V6lL4nYmkkoYaxbzWxQkCdDhPhYeeDbF1Vbh4pYFNsT4SEUWq2I3WqTUV2
aM3/BI4ezwkun46mL5XPnTa4/POFQ1/MrAvSp3Odtr8uhTBrdy5Mz+MtKZv1
HP1XMRgfvs53yTKn6PhwInfxg3DlJQnL4jdDpaO/HlT+QPf39jznwksrTUEI
JGwXgPvzDR1+DdZ7f/7M50+D3RQPf0b/75/s3fZ/Vcz12if93xzH/Xj/d5vK
7+V/tcVn/T+cfP0O+e+fV/34/J8eMv2u/u83J3/v/HfOcn68/8fTl983/8fK
+i/p/8lJx4/0/8/4z92dgb+k/ydnAD/S/+12/X35T2hyt/9/yn/vb47/Jfq7
2cL6zf6/fOP/dJNbTg9C/sOXj1B17ymML79y3DVn3VIc/hvfv81n72lMCqRn
hn3a+XDvM4p7T0m0Kvn4NeN+CuXnEjwV5E3nV7B/nZiN+b56uv84DNsFeRXr
zlrPYlzrh7eJ/UTdQXe2frrBnO6z3CTLH9bCzc7nDc+7p+0nLhXw81HfvDuy
vvzkvWPbr4RVeZKYqD/6mM0b2R5vS5AfnE3+sdmwzmaYnMuRW3qtvaHX7Akt
m52QbKO0XD2fPLAagm1zn8Td2mgSu1uffyvvZU8iXQt7GO/85F8jdLY+PT98
R+JAfFylV369fYbn73OtfIHPFkqVZu8fX4uvU/g+gg49ghtpHM//cjluejXy
YxjNSOC9pHLcP4LiLlH96VHU9RwKSAD5fhJe+5yu3Oh0hRKHpK+rMKF+6mfz
jVb+Zx4LyheKlWaFPcfXey3x+5lSLz0tS5fHcYVxu9Xt9/hMvf53HIdm7BNm
61VKzUx/0C08ZuqlVrfSLze+8r1GpVF4zGXSd354vthtNW6erXp9FvuRvcHE
84+P/L8wc5qi+K/nBfz1NEbuySlIP6lGqiyMTb7D777evX1L376+HeJtin3T
/QP7uu16l119vXv7lrx8HOJdgno/xEf+826IDxzn6527rwzgbu/7DOXtQG/1
dDPKPZ5x9/59HvH1TcM3hOHdKN/T991kf1/K12zOXWLjPXQgQtW/eiC8hw4m
FIONq7Bn/Pg79sw8/uMLh/WH9HCT4NjGze2x2GvIozvX+5Dsemh/B12uR/jf
jUMwofst3lRSf/5eLH64+6EY+vNvxeOnLd7UEx8bvSeNn7X43jAfa4/7DW7I
+d0Gn1UP79p+rrq7dcDdBp8R/Xdt35L6P/9WkN5p8T393gtUFshPT08M/z+4
eu+ZJTv29DmxPN9L2Fbeb7h6w1vRHFnHN3nyx7z66b/Fq0vfH3Hw77R/a7Dv
NXzv9p+1vRsBP9L41ou/3/6d3X6k8Q8O/iFafrvtqzf/Ztv7MfS9bj9knXuR
9Ztt7wfZ97q9ibfvNPxx69+Nwt9e5WtA3rS9ic1CM3/m5PgJjDx9Iou9w5Vp
ssclghg5NDq/i3Z+lYsE5FcuvY+ChVUOqJLPb1/5fminx9bnGu9a2X1B2F7f
eE3r6HatMr6UDK+vDnzBgDMvTqLjzZMWp+PGc5VxqilQdjzyfB7F0or4307S
ZuLzWdIj/7d/26VpicO/S75/+7enfqzIXZ/e23slEtd8Gl8LEYz1G1UBG697
/aaBb6evJ8ifD2Sgyr//G4Z9QXqyfk+p8blEe3z8x1TxVyW9bcdxGfYs2eWm
/XaQ85MKP/AqGTtxOkJ712k+q7dvnnVLTwHQmL1++ZTWbJjOe63Vb5vuPYhJ
A2L57OyRJw5qx5hE6WNqsOgMVyPLSyJ26fZRsnuvQ7LvV0jL0bk3mz9utsRn
AkfIIlhtsF1ZbMPj+vBEvPWSdNqbL6ywX193O57OOs9bDF5AHHguk3od060T
Pr4Z9nJgF2KCn9rdZin+mS3gcozHauP55VU4dh6YPp/CKuQg8Y88e1mdvZd0
PkO6aBpaQ6mfJrswPQBMcx25FdKzb0892FNaXsCej7PT4xV22JJ+mUP6Spbr
wam8hF8xWSiJ2Ys3kPH6Mk86OZMd5th5URisTq9fQV3XhyHZWdiN9WKQc8q+
QuLy4t7rHk28Sp9lpOm5DgwVe5fM/fXNmbcVbeFsMIFN3421n4f+yUfiNbm8
VfTuGzvemva007B1odj0bNenO+qzqxdX+MTS6fN0HusG4f8OYlD+shEiP2nA
EAxx+0Bi+pRJuHrz5Jf3WsnCOfvAtl3oObfUfGvFiZdsT0/+pIaJv14ey7kS
8nYUJuepX4/V37yoxc6NNEkUIcf5CSXrBvO8Ow9hXN64tTBlChmF05N88fml
OfZoQeB4h5vj++DytN+bh0muzz5c36f77j783ZM5rnI9ET/tEl0fsU1Pm8+z
vr73dXpZ02ZxkO4o0Q97XpmL+IUf3fK6vk7u+8fz6XR69MykOEvwjeWLxK44
3767RjQ6qPY39sIq1ZSbI8wPz6rcrOCJ50fwu9NRPJbQLjT4OQW+RKfFumGY
bs2mAMIe7GANbvun/rWkdH1jpRe4SbgPXh/+SF/9fe3EfPz2kZ3b54gvsp5C
7DLmbecfzxeXM2UmwnWCm0c7Yuq7jyenejo9KPiqe++N5314lunt862/6Xrs
6dq0y52Hv85K+JbuNLLgeHxM9+CYtOknrlGptA6dSbUWTivznd3MdOxciGvJ
IpfLR5VcplM45PuZenbmz+bLWXbaaRQys8Z+ODv14c6dsmFhWehK/rI+EBvd
YjPbXAyS7qBZGAiFZJCviE1P7PcKBbHRr8xsyQ+s1XBZH3XnnFMqzKbj+dwa
Z+NpLyuTcTeslJvrqaT601x27pS7RzKqik5p+NKYVFrdPCRbZphk+/EiW+Ia
HWGf20/yw06nls90q91ht9ToKPt8Jr1Wz2eGjc5A7AxeCn4j1yhlxEEhs9/b
ZNRJ+oNDgYOIUrMnFjtCt9/piZ3GYiDVh81KB3cbs8pgJDTCeksI1vpzbi6Y
KzdfOWRW5r4sZ9jEVW5SmVYyo0E+m6nkw0qp2sjOSrneptSrWHK+U6hmXgpQ
4HIzX3olcy9ks/vCvpx5VTqX6SyLjY4xzvcrUiNfOEJJ+8bL8tgohvv+/tY6
y0JjUCl0KouJLbiSV3v2niNZ4Aw53Ba643mn3OuNt/68bCTawqv3Bn6jphWs
kXpoFuOgW7eGFbM9cVq7+bC+qZEwHGYja7g7cN60XRkLUORsUqntJ9lsZ1DO
ekJhNhOEwrJjF+t1s5SZqw/aSzNb6OQj5dCuLvrTRWG2n7lCgVOXY69ZT17a
VaHUeInqz/ag+mLUG/NCYSWWG0k9P7LlamvfK6uxOjoWu81eZC7mVt7ev5SL
eYdzpi15lSlmPauznrvUfjgOlIKaS/L7bK0rHutCrBQXmY7U3o6Hm254yB6l
F9095ErRMp5oOZ2brml8OGrqbhMs+7WVLRWLRt7UJw/D+NijmdzkQZ6+9PNT
cVGoZNb9l82m79WO6qq+LtOqIEicpSROPxk6Y6JXp33JqvmdfdLbt4ZBu9B2
h17OymWXPikLNSMMH9xSnGjjzcPOUcThwziqr7movUcEGkvTXhov1elGnrjD
8cvk0N9b6+yi4TWOpGHPBTd+2K4OVKwks+JUdqvquqL35t7+gVtI1NZH+l50
V/H4pSj4yVLa5/eHyrRozIRNxivLvdZBL8XS3O0EljA0X+bWop1IzbLXb+gR
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
ChrDdnda7udzq7CZcyhIYLGp1oTu0cnuGzUufNm5vWW2sBzpgw2ZNwdydp6s
l9mxLk0mdrkxGTWmzYquR5NRN7+om6ZtRo2OWe9uj8GkVFS5Wl5aNFyzWV9S
n/pVY2bK1X53IiLfxuLOa+068uLZry+2NDCyiiS0LWFL69We14keHDoLudzD
oqlsGgrZ5pTRw8v+ABrT33m9Qb7dPtRKvUqhGNWjzmboHjaDaFx5rk2yYm1W
940eVdaqwJXDZ9WYTuxIXta2marRGVYzY8Hu5I4bLzQXx+pgmrfMnG2opeZa
E7PGYDbvb9xZq0u3xYxjcM5u/CIJUxDqw3g29xe1aPcMGO0thkVprM/r3rzl
kWanmpkdHtbFMaHzOYipU7SXg0b+pT7gxKqxTOraShvObac7N2kQzlr15S5S
8g0lfBaR7tzKrF3ZRslk/AApD6NuXTCMo76PB0qw5sh+sXzQbGNw1DdK04nm
232jILpZ2j2K9UOcIY1GTWoYrWa/Enk5ZJeg6haayqgueNGDt8lye0udv4zr
m3HVP7yIo8CN1WnXrMuteUecm3GFenO36DZHQVj3i8JGWjeCQmNW3z00bCTd
Q4ebFnOL1iIYdQo16rwk5qLxMHxobnwx6OScqRu4s5WU2QW5Uf1IN5W8Uu6L
+6Gw2o2O9Vqxl4Rcb7UYSutC8ZBMSm6yEaU4rxl7afiSfQnE3rHU2/d3RJgX
A7EWJN1wWBovMh54iunJfjTLDbh9ZHllo7OoO9ZY3WeIJWveNg5tK9RGOyq/
dKSjI2z3paI3r/T7S2M4lh39uZO5/OEy7/5kO3sgrLBsFAa5Sie3Tbxi2R5l
t0O6tjfWetlLWns9mDVKDt1kDkqbW4/CxraVAb+tzMbrktmuj4PnYJPRJo32
rhmAJr908hl5a29eZkV9vVw0mg+5aPIPp63BQjP/ujGYHniyv3qFzqDQzBXS
Rwr+dN5lZG/J4OPpSzH+7eZLMX7hxSfpyVCEJ1GUVcV8Ep/0J/Y9Hzz/L8K/
nr4vg38zJPtTafYLpVPvtOmpUf96/04X9gfSpM8s31y6J5H0JGonkZ5EQXyS
nxSIKF8n4q8/vU79YbI/se9HJdz3prmzcPFmktfln4dgL6H+2+klVPT+8tsb
vWx/mGPnE+ed4/u7vl++u7Df1Ok9U3za+NPL76f6zeYnHd8+jdYkK3qn0X0D
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

-->

</rfc>
