<?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-01" 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-01"/>
    <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="January" day="21"/>
    <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, as defined by NIST in FIPS 204, 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>Many ASN.1 data structure types use the AlgorithmIdentifier type to identify cryptographic algorithms.
In the CMS, AlgorithmIdentifiers are used to identify Composite ML-DSA signatures in the signed-data content type.
They may also appear in X.509 certificates used to verify those signatures.
The same AlgorithmIdentifiers are used to identify Composite ML-DSA public keys and signature algorithms.
<xref target="I-D.ietf-lamps-pq-composite-sigs"/> describes the use of Composite ML-DSA in X.509 certificates.
The AlgorithmIdentifier type is defined as follows:</t>
      <sourcecode type="asn.1"><![CDATA[
AlgorithmIdentifier{ALGORITHM-TYPE, ALGORITHM-TYPE:AlgorithmSet} ::=
        SEQUENCE {
            algorithm   ALGORITHM-TYPE.&id({AlgorithmSet}),
            parameters  ALGORITHM-TYPE.
                   &Params({AlgorithmSet}{@algorithm}) OPTIONAL
        }
]]></sourcecode>
      <aside>
        <t>NOTE: The above syntax is from <xref target="RFC5911"/> and is compatible with the
  2021 ASN.1 syntax <xref target="X680"/>. See <xref target="RFC5280"/> for the 1988 ASN.1 syntax.</t>
      </aside>
      <t>The fields in the AlgorithmIdentifier type have the following meanings:</t>
      <dl>
        <dt>algorithm:</dt>
        <dd>
          <t>The algorithm field contains an OID that identifies the cryptographic algorithm in use.
The OIDs for Composite ML-DSA algorithms are described below.</t>
        </dd>
        <dt>parameters:</dt>
        <dd>
          <t>The parameters field contains parameter information for the algorithm identified by the OID in the algorithm field.
Each Composite ML-DSA parameter set is identified by its own algorithm OID, so there is no relevant information to include in this field.
As such, parameters MUST be omitted when encoding a Composite ML-DSA AlgorithmIdentifier.</t>
        </dd>
      </dl>
      <t>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.</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, these 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.
There MAY be any number of elements in the collection, including zero.
When signing with a Composite ML-DSA algorithm, the list of identifiers MAY include a digest algorithm from <xref target="digest-algs"/>.
The digest algorithm(s) included will depend on the Composite ML-DSA algorithm(s) used for signing.
If such a digest algorithm is present, the algorithm parameters field MUST be absent.</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 used 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="RFC5911">
          <front>
            <title>New ASN.1 Modules for Cryptographic Message Syntax (CMS) and S/MIME</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>The Cryptographic Message Syntax (CMS) format, and many associated formats, are expressed using ASN.1. The current ASN.1 modules conform to the 1988 version of ASN.1. This document updates those ASN.1 modules to conform to the 2002 version of ASN.1. There are no bits-on-the-wire changes to any of the formats; this is simply a change to the syntax. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5911"/>
          <seriesInfo name="DOI" value="10.17487/RFC5911"/>
        </reference>
        <reference anchor="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="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC8032">
          <front>
            <title>Edwards-Curve Digital Signature Algorithm (EdDSA)</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes elliptic curve signature scheme Edwards-curve Digital Signature Algorithm (EdDSA). The algorithm is instantiated with recommended parameters for the edwards25519 and edwards448 curves. An example implementation and test vectors are provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8032"/>
          <seriesInfo name="DOI" value="10.17487/RFC8032"/>
        </reference>
        <reference anchor="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 413?>

<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 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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
HD9cLJbG7HngxzMOnj9OneJbn16dQvAJCTjZ6du+zkgwy03XrbwovTRytsrl
UCA9/f3oY+mZMTv8eeI69MKJ08sVrGciS+ogJwISoihZe+fZfEauwVwZfkUx
XTMlv9UDuyuEvkc8Z6frD5D+wPqHqXesE3iC5WziX8gisJr6UXLmm1ZDbnKj
NH4fCKd7p6fVvzUjrDo4XRc6zRidEvO3LkxElxLM+XDu/vlN8VeiR8k5yakA
oat1fDx9dM1zkpjiT8DBfU+EzyeHTc7BEoC6GuCSxW7OQN+xo+Q8qYUouY5O
+Q4Qvut3JlW3x2Df4lA3DDWlTqcMdoR0UWB7iUHe8v3pLsw531848N9Kfbl0
icklDFOW2aI89xvB/MZHPiLd57Sa/LY8Z4kv9CGF3bRwuyL9NzCb0NZvpo7P
b4WOTcLwqsr5Flhcish3swHoHxOQpc71uq8mWMMabxXyncIdJW9yXntDIZNI
QjVlX2tihYBKr47Aw05HxbqqXF3Wujr2Z/UV2xtLq2QxOQf+GWVZNCN4/Euy
nnMNdqcNHv9yLhjOZtYF6eNczmmydCfuXJOzhqca+TTggrJpT+F/kYOx/8uE
5zSThsc3qerpRPJmqGT0S5r6ke7vDXpKhudWmoIYSO5FcH+94sNv0Xrvn7/y
+XSwq1Lpr+j//UPG6/5virk8+0b/m5PBH+//bn/7vfxvtvhW/w+HcL9D/vtH
Zz8+/zfPu35X//f7pL93/jvHSj/e/+NB0O+b/+PBwN/S/xuHLj/S/7/jP3cP
Nv6W/t84jviR/rcnB/flT9Hkbv//lv/e36f/W/R3tZv2m/2/fuF/ukou6a3w
P336CFX3LmV8+pXjLknrmuPw6aWZj59dw+2JYqf7PO59SnEnJSYXe95S7m9t
Wry7Y8Tu3FzA/m3i5LLQu/Lp/u1HdofyTaw7a31/P+g2s6fcHXxnu0z2upMt
oqvM/MNa+Hid6FvafuISAb896s27YevzT947uv3GWJUniYn6o7dubmR7vK5B
fnA2+cdmwzobQXyqR675tXbDr9mFXJsd1mzDpF49HYKke4en7bZoa6NJ5G6X
/K28502JZC1P7CgpvTFXD5ztkp7uWpPIFx9XyZNfr68T/UuumS/w2UKp0uj+
+a36SsP3EXToEdxI43j+6/nk683Ij0E4Jb73mshx/zTsctPwm6dilyMxIAHk
+1l465M+udLpCjUOSV5HY0L93Mvm6838LzwWlC8UK40Ku93Yfavxe5lSNzm4
S5bHcYVRq9npdflMrfbPHIdm7DfM1q2UGplev1N4vNyz/Mx365V64TGXSd7p
4/lip1m/ujH2dkvtkb2hyPOPj/y/nW5C/vtpAX8/jZF7cgrSz6qRKAtjk+/w
u893P76mb59vh7hNsTfdP7Cv66532dXnux9fk5ePQ7xLUO+H+Mh/3g3xgeN8
vvPpGwO42/s+Q7kd6FZPV6Pc4xmfP356n0W8H+iGMNyMckfbt32/p8t7uZw7
R8Z74EB8qn/3MHgPHEwoBhoXYU/o8c/sZST8jy8c1h+Sw1V6Y/s21+dzbwGP
7lz3Q6rrov0dbLncJfhuFIIH3W9xU0f99XuR+OHTD6XQX38rGr/Z4qaa+Njo
PWX8VovvDfOx8rjf4Iqa323wrdrhXdtvq+5uFXC3wbdo/vci9P2nv2GE+5T8
vrhvgcri/OnpiaH/B1fvPrNUx141Ipa39GK2k/cbrl73VjRH1tFVlvwxr376
x2h17vsjDv6d9rcG+17D927/rbZ3I+BHGl978ffbv7PbjzT+wcE/RMtvt33z
5t9sez+Gvtfth6xzL7J+s+39IPtet5t4+07DH7f+3Sj87VW+BeRV26vYLDTy
J0aOn8DHk6th7OXYTIPd2/DZmy/h6S3g0zuyxCe/csnnKFdY3YAa+fRa63IZ
2Mmp9anCu9R1nxC2l/fZkyq6Va2MzgXD2+sQnzDg1Ivi8Hh15eN0ISCtMdKK
AkXHI8/nUSqtyPJLKm0mOh0lPfL/9E8dmhQ4/Lvk+0//lPZjJe46fWX6jUhc
8ml0KUMw1m/UBGy8zuV7RL6kXz6SP53HQJX/8g8M+/xkD/ieUqNTgfb4+OdE
8Rcl3bbjuAy71Hb+0L4d5HTF4gfef2MHTkdo7zLNt6rtq0t3ySEAGqP+Wz4l
FRum894q9eumya0N6hP2LhbxeeKgcozYq+xwD1h0iqeh5cUhe3R9p+3ei+js
6kdSjM686exxsyVLJnCILILVplderu5ORFsvTqa9+jqaqzekjulR52mDwfOJ
A89lUq8junWCx5thz+d1ASb4udVplKJf2ALOp3jprZLExaPkODC5ccLqYz9e
Hnn2VRTsJdTTEdJZ09Damr1OyK60Jed/Sa4j33qNK70u5vnsop6dnK6ws5bk
q1qSdzNdj738FvMrJgslUfLqWfD2Zk8yOZMd5th5YeCv0ndtoa7LrUx2FHZl
vQjcm7IviGF7Mumx6nmHJlollyppcqwDQ0XeOXN/vjnytsItnA0msOm7sfaz
YJn6SLQm9unk+d338dyaNt1n2LpQbHK0u6Q7umRPz67wDUsnF/s81g3C/zPE
oPx5G0R+0oAhGOL6ZmRyySRY3VxBu3orjL2iBWzbBZ5zTc23VhR78Ta9+JMY
Jr2AxtjLhZC3wiA+Tf12qn7z1hY7NtKk5G3G0wvk1hXmeXfuYJy/ysDClAlk
FNIrhdHpDWl2s8B3vMPNO4Sna4c3d0kuVx8uL09/dxf+7sEcV7kciKd7RJe7
vslh82nW9y/w3rxC/G7HK3MWv/CjG16Xb91YLo+f3710eZLgC8sXsV1xvnx3
jWh0UO0vfJZEVFOuTjA/XFW5WsETzw/hd+lJPJbQKtT5GQW+hOli3SBINmYT
AGH3OliD6/6Jfy0oXV9Z6RVuEuz9t7sfyXcqvHVK32KMbzzlfKH5LGsaYucx
rzv/eL44HykzES4TXN3siOjSfUyd6vQq45vuvRvP+3CV6fai7W+6Hrvmm3S5
c/frpIT0bWsWHI+PyQ4ckzb5jatXKs1De/xSDSaV2c5uZNp2LsCzeJ7L5cNK
LtMuHPK9TC07XU5ni2l20q4XMtP6fjBN+3CnTtmgsCh0pOWi1hfrnWIj25j3
406/UegLhbifr4gNT+x1CwWx3qtMbWnpW6vBojbszDinVJhORrOZNcpGk25W
JqNOUCk31hNJXU5y2ZlT7hzJ8EV0SoPX+rjS7OQh2SLDJNuP5tkSV28L+9x+
nB+029V8pvPSGXRK9bayz2eSZ7V8ZlBv98V2/7WwrOfqpYzYL2T2e5sM23Gv
fyhwEFFqdMViW+j02l2xXZ/3pdqgUWnj0/q00h8K9aDWFPy1/pybCebKzVcO
mZW5L8sZNvELN65MKplhP5/NVPJBpfRSz05Lue6m1K1Ycr5deMm8FqDAxWa2
8ErmXshm94V9OfOmdC7TXhTrbWOU71Wker5whJL29dfFsV4M9r39tXUWhXq/
UmhX5mNbcCWv+uw9h7LAGXKwLXRGs3a52x1tl7OyEWtzr9btL+tVrWAN1UOj
GPmdmjWomK2x09zNBrVNlQTBIBtag92B8yatykiAIqfjSnU/zmbb/XLWEwrT
qSAUFm27WKuZpcxMfdBeG9lCOx8qh9bLvDeZF6b7qSsUOHUx8hq1+LX1IpTq
r2Ht2e6/vBq1+qxQWInlelzLD235pbnvltVIHR6LnUY3NOczK2/vX8vFvMM5
k6a8yhSzntVez1xqPxz7SkHNxfl9ttoRjzUhUorzTFtqbUeDTSc4ZI/Sq+4e
cqVwEY21nM5N1jQ6HDV1t/EXverKlopFI2/q44dBdOzSTG78IE9ee/mJOC9U
Muve62bT86pHdVVbl+mLIEicpcROLx44I6K/THqSVV2293F33xz4rULLHXg5
K5ddLElZqBpB8OCWolgbbR52jiIOHkZhbc2FrT0i0FiY9sJ4fZls5LE7GL2O
D729tc7O6179SOr2THCjh+3qQMVKPC1OZPdFXVf07szbP3Bzidr6UN+L7ioa
vRaFZbyQ9vn9oTIpGlNhk/HKcrd50EuRNHPbviUMzNeZNW/FUqPs9ep6yLV7
vf3Oac0O+fZwaWyzNolah2YlX/bn4dLe0elsPRpO4+5LZrBS9rleVVVbiLtZ
QZoXY8vOcYf9iPo5ae1ECi0bLw+vjX2f1sxBbzJ9WBrDxai8I55OivUlGWa7
k6rg2jRbfw4r+0yzJU5r3DpLtmEuNPzOwZ4P9GZ1kA86vYdVodjKzKcLrTA9
vj40xJZvhPNobJhk4L1m9GNlsmr1jY1V4rKLbG4QvFib4ZiUi2Nx333YFLOm
U3Gao6oW7jYHsdWUjyTjG+Oj2J3Kw2DqUXUlybPNMcpCiQ+l50Fx38sObCU/
6WVbpFzRo1atMM29lAYjJSKl2XA+1rd9q6oNRr3JYRhmV6N+V/YXRG8OuEmh
MyWV0bKSbYzzhVamkFvOtaXyPBzNJk07I5aX/qGw34UPz8ro2BtumztzXpzU
1KG+sfSosOe2U1E/6IfiwFHHk/KuHQ8X3mtpmqnO23M9qM+doqjvLD/sTYN9
rtlfd/1lbv4SDl/VTRTLocHVYS5hVdzvxPHO7Apawc6NNSm7WkQCLSzd/X6S
2RkvVKoM4p7ntNxYz8RObioGanH+qvQizleK1svzZmvbY5UKU7lYnnc79RFd
DyW/G+zEY3ubMesP1YYnuMvlS62dr0+l41ie6nO13aENrituqfackTxhHxVr
pFNrDqPaER45GbjiwKkdKlKfHPbtdrNTKFtmYVRRVtNBdaRru2O4i0UuHja1
43gZNVq0rT64StsrStXuONCfS8fI0tx5c1tze2IkrY4RdRuNQbc2itxSXZ2U
gu5MXHLSjnrtqFYolTZtSbJEsZJ7DV8Xr1bOq4vdWjGniM9KPjQcofNsd3OF
bGbRLAkrUVuWrUUsatyLqJmrY6yussv5UY7Utt8ZF142meIR9f6Qht1ouu8+
N4z6jK50sW3Vn4XcpFaujA5i2RSdJucMzcmm1ncX29eG2Kn4wbbUqLZKejQ0
FNodbsK9Lb7klUy1G8nLSfth3Z8WpXx+KSg1W5k0HrjNvK4ue9GWHNSSfNzP
3N5uMiDVl5pubnX3WRrG5mzSaWxso2FFh0VlPVHK+XBhL7sv2vzZVbic4Vqz
mrqig1p5ojhLaRIMDvauXWoUM1KjXd8vbdlZksK+MwQi11+NXY9mC41YaL06
KhlqXFTrb0tydeiaarPxUpwLK9JUhU69letQY+p3YeFpR44Ha+EhO9i+0LyQ
HxibUkwmXTuMRyFHBx1/Z9GuW1CXh1XzMPfE/kQLq4dDe/s6mtcNa6xIbmPT
XMTIP61ci+5LD6vs2A2E2kNd3HHOinYCZVx1j1Qrb+ggi5SjbyuvWaW3LE2L
3XrlgdQK4775sNyNDpZvjg6L6mb+3DgstoGy8bjNZrVpmmpxvZ9ZhtZcuS9t
4bDuiI4QyAKFM5G5UPH0rTroqb4nTV9yO2s5rUlau2dUXQuItCuMJ9ZG71hR
9tm2HHPpLDL7wbbXWHSGq+OB1kKjiyjW+ws5WGQWL9Ve0VdeR/19P5yWa01u
WRYOCzcawnrZ0qbXaNYXtjqr0YmP0n/uKJmprwlOfXq0hsOJ0GguVeEw3fes
eLKcqc7A5A6h9pAbTFbjWcbOilFY6T4o5aKsV8sroflg61Y/P9q9llqNYyzl
m69i3/bDl6xdmeX7olfb1bjx1ijWM0516dubesduSjm5Ol1v1p16tR02/X13
29q0yq5XzFS2WWnq9PO+GFjPD6PNROlnGh3On5RXI9d/8CWr/EB7RsEuTMTR
nCKk6fGl3Ml3BDI5FgSn+nIcZEyiauZ4X26Pe+vqoF5orTmzEwfLRSO7rE/G
6/Z+t58tp2IH1aWy04ZkNaoSMrWattxuK4bfcCaVY7/YgzyzUqtDM1nKbfeD
Xn9WLDZWwmzzah/1TDWYTbVJazauOYdw4XbktmDN65NdpIUbIuqD3fH10I6F
cn46yb00ObP8PBKzUTPrj5frue0HfWNYa7Wq02bhueHuYm99MNY5aaBWNupO
23r6vDzRSmIvsCriQSch16ys1Ae/I0y7akefDg9iv6zQqEAGpfxhUWsuegNx
cdhv5Oxrx19KtX64XQaOGNUGW/H4vBq0uIfp8za7eSjJy95wrhha2Bvkdpvh
/KGle5PRNCp0A+ugL+qN5S7Xo3nSbzkZV9kL/XKGCHG2zNHCoiy0vFfBePbI
sJwXthMtXrTF5noslw6rob3bBEtVEUdyYQRW4LQzer7/+iA9VPeb3St44r6v
m+asOS/7h+ZoaIsP2WFjMFTqSu+5Jo0F/SE31KukuitrvY0iK2SIgB7M3O04
N/CCoV7kRk3p2DXJKsptczbZP/uHrlVfOb1CMdZUm9YCSdqoei/eTq12rqtO
C7lJdZORdvaxUI0epg6XBziWus9mUx655mA93hVIY6g2Jp4lKEpGno46CDXZ
dxqSPTn2A7lYfB7tI7c1CkmYnWynIBj6zreclVNd1CyzMlX9njAZTdoD066q
VPP6rjXsyJH2UNuVWpuu5WXEfLtWVzNC7BytXJ47NrO77a7XibIvmz4V5bx5
XBf9tRxuY7E2dFxj0j2MBrl9ezAozY89sfv8nInKg12pUSq2jWEedF93l7Le
ts1c/rlcFaWVk+3sntvtvezVM3l1diivXnXFKlWqq21jFbVasR09V2J3dQh2
0XbO2a3pvhyRmVGdOt32ToqCVdWMD89Zono506/FKyM/kLOtdf+gqtFOkpe7
QVPtPait8vJhlKlyvTF1coNsVHCjdlXpLOvWtnOQF8Vy0yxWS1v/eYeKYXNY
9UqhRpbDVSYOjrUXfZIvjMLepPrAFWrOdpPb7SvliVoOZlr5FaHwml+Rh5d6
VR09Z7ODdTXIboXerr00DqpZ8MWHxtgtF4v2Uqx73HzRzpdLy6yq1bL1Ubw/
vuR9zSupUrR46b06jag4kwdKbvrSzRnlUbiibmsfif1SLIB9N7I5DmXIqjvp
lbKVjNDfG3EtOzTDrLVYWtmCvHnw+5pbzXQLyngjxQ8m7athza/3VPHgbkej
wSHPVVvZvlQXRi1UN2Br/cqGqNWRYr949YbvbteVQXmSEV9G4asajxrFVX/W
tq24vjSjYdZpFR64XXWf8XtBNi+/jCuaket3qiXL8BeHl1pPMFrRav5qTjfj
4Uv35bDsH2sRyVnhGCly6O26xazP2aW9NGuO1/twtds3wurDC50tbXfZacqF
FqqXcUVvdMqxEQXdgfKi1WZhZjgczdsv1a2eF6UWp2CFcWW7zJajY94arJ6H
K205tsZ+qdkdejP99VCfOY18X4h3y0jcz9aTqewGjrZ60eywYbe4uNqfr5Zd
97leCt0oivdDvebV97sFDTNq2Zn1ahkznqwfhqvNi1nrdma95mJURFXiT4rL
htzh+oN+5RiNnbKx8Z6b84azy8+QHIEBvitalc223mtZUzVyXhrV3KA/H9cm
kkhacl7alfP5ocnlwoZctYtT52Hb7pPCbuiEwmD6QqrGoFGMyw/qfNJ0Wsf2
/KV0lEprJVblYlyoUdKOG5OVleNWNUHfFrqVpm5kgvzIGTSAjxtVawZkvJuB
ks37I3/TOywrx866E06O9mEqHzfjfbUT1hfDiCsEm6Gz2syM16jiN3qlcZRx
god8sNTXY7O7Wkh+fdDqTMq9fG4VNHIOBQksNtSq0Dk62X29ygWvO7e7yBYW
Q72/IbNGX87O4vUiO9Kl8dgu18fD+qRR0fVwPOzk5zXTtM2w3jZrne3RH5eK
KlfNS/O6azZqC7qkyxdjasovvc5YRL6NxJ3X3LXl+fOyNt9S38gqktCyhC2t
vXS9dvjg0GnA5R7mDWVTV8g2pwwfXvcH0Jjezuv2863WoVrqVgrFsBa2NwP3
sOmHo8pzdZwVq9Pa0uhSZa0KXDl4Vo3J2A7lRXWbeTHag5fMSLDbuePGC8z5
8aU/yVtmzjbUUmOtiVmjP531Nu602aHbYsYxOGc3epWECQj1YTSdLefVcPcM
GO3OB0VppM9q3qzpkUb7JTM9PKyLI0JnMxBTp2gv+vX8a63PiS/GIq5pK20w
s53OzKR+MG3WFrtQydeV4FlEunMr01ZlG8bj0QOkPAw7NcEwjvo+6iv+miP7
+eJBs43+Ud8oDSecbff1guhmaeco1g5RhtTrValuNBu9SujlkF38F7fQUIY1
wQsfvE2W21vq7HVU24xelodXcei7kTrpmDW5OWuLMzOqUG/mFt3G0A9qy6Kw
kdZ1v1Cf1nYPdRtJ99DmJsXcvDn3h+1ClTqvsTmvPwweGpul6LdzzsT13elK
yuz83LB2pJtKXin3xP1AWO2Gx1q12I0DrruaD6R1oXiIxyU33ohSlNeMvTR4
zb76YvdY6u57OyLMir5Y9eNOMCiN5hkPPMX05GU4zfW5fWh5ZaM9rznWSN1n
iCVr3jYKbCvQhjsqv7aloyNs96WiN6v0egtjMJId/bmdOf/DZd79k23vgbDC
ol7o5yrt3Db2imV7mN0O6NreWOtFN27udX9aLzl0kzkoLW49DOrbZgb8tjId
rUtmqzbyn/1NRhvXW7uGD5r82s5n5K29eZ0W9fViXm885MLxn9KtwUIj/7Yx
mBx4sv/cfKHiT6ddRvaSDH5Nv53jP66+neMrLz5JT4YiPImirCrmk/ikP7Ev
HOH5fxP+/fSljB++o7HS6BVKae+kadqod/Udjne/1hHSJDeWrx7dk0h6ErVU
pCdREJ/kJwUiypeJ+MtPb1N/mOyn5LtMue9Nc2fh4tUkb8s/DcHeQf2P9B1U
9P702xu9bH+YY+cTp53j+7u+n767sN/U6T1TfLPxNx+/n+o3m6c6vr6N1iAr
eqfRfQOrsKko3Ah8/qffKxrd9I0/aJn9MYpPd9q9f/L+9//2cvq+F//+JYk/
sKTkz138YWti36v+NxhH/oGFfC8Cfv/6bn97c+v/VC1FlgzJpo6kE91ybcnQ
FVfTdFuWZFGQNFcXRPz7n9zNGD8QDHfw6G9EpNvp3kPHd4z00/kQqndcv7fQ
D4GWecdU9x3lHST+rlluofHjit//9p31ng4Be94Hj/zB9ao/uN5+L8cmYZ4q
aYIoiZIgm2BdH13zb1zJ6Q3S9O2av20tyg+u5V3y+U/DcAxdVnRXMwziUsml
luMqrqwTiYqiqHJUVARdMSWVUlMTRde2dGJQSXIkVVJlgVBD0RyN6qKsqJak
K4qlOaokOzLGVahFOVFVLGIQDf+KqqCxjy1XNExTBq11Fec/f4cWfyAU7+sr
ueYAPFLhgNqTon5z1Pf6ESVFEW1RsSTXEQ3B0E3XIrbtCIqiCDJxDVtxJY2T
FcfEj4YsGKKLD6mmqFSSFcvSZdk2HUGTZZnYluvYqmDagB7bNjCypDmKLksO
J9myatqObcqWoBg61WyqglWriuIoxHI12VAtwbFtWRYxguPoKlrqpiGICnRp
KZxkQps6hrZgFkOUTYE4gisIClF01TYsB7gnqIYtKLImU6o6KjFFAtjTJceS
qcO5toIS0TIlW5OJYFmaZupYqS5Ry7QoMami2ARFlGOoom4LrkMdwzVVS5YU
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

-->

</rfc>
