<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-tls-mlkem-03" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.0 -->
  <front>
    <title abbrev="ietf-tls-mlkem">ML-KEM Post-Quantum Key Agreement for TLS 1.3</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-tls-mlkem-03"/>
    <author fullname="Deirdre Connolly">
      <organization>SandboxAQ</organization>
      <address>
        <email>durumcrustulum@gmail.com</email>
      </address>
    </author>
    <date year="2025" month="July" day="22"/>
    <area>Security</area>
    <workgroup>Transport Layer Security</workgroup>
    <keyword>kems</keyword>
    <keyword>tls</keyword>
    <abstract>
      <?line 102?>

<t>This memo defines ML-KEM-512, ML-KEM-768, and ML-KEM-1024 as a standalone
<tt>NamedGroup</tt>s for use in TLS 1.3 to achieve post-quantum key agreement.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-tls-mlkem/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Transport Layer Security Working Group mailing list (<eref target="mailto:tls@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/tls/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/tls/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/tlswg/draft-ietf-tls-mlkem"/>.</t>
    </note>
  </front>
  <middle>
    <?line 107?>

<section anchor="introduction">
      <name>Introduction</name>
      <section anchor="motivation">
        <name>Motivation</name>
        <t>FIPS 203 (ML-KEM) is a new FIPS standard for post-quantum key agreement via
lattice-based key establishment mechanism (KEM). Having a purely post-quantum
(not hybrid) key agreement option for TLS 1.3 is necessary for migrating
beyond hybrids and for users that need to be fully post-quantum.</t>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="kems">
      <name>Key encapsulation mechanisms</name>
      <t>This document models key agreement as key encapsulation mechanisms
(KEMs), which consist of three algorithms:</t>
      <ul spacing="normal">
        <li>
          <t><tt>KeyGen() -&gt; (pk, sk)</tt>: A probabilistic key generation algorithm,
which generates a public encapsulation key <tt>pk</tt> and a secret
decapsulation key <tt>sk</tt>.</t>
        </li>
        <li>
          <t><tt>Encaps(pk) -&gt; (ct, shared_secret)</tt>: A probabilistic encapsulation
algorithm, which takes as input a public encapsulation key <tt>pk</tt> and
outputs a ciphertext <tt>ct</tt> and shared secret <tt>shared_secret</tt>.</t>
        </li>
        <li>
          <t><tt>Decaps(sk, ct) -&gt; shared_secret</tt>: A decapsulation algorithm, which takes as
input a secret decapsulation key <tt>sk</tt> and ciphertext <tt>ct</tt> and outputs
a shared secret <tt>shared_secret</tt>.</t>
        </li>
      </ul>
      <t>ML-KEM-512, ML-KEM-768 and ML-KEM-1024 conform to this API:</t>
      <ul spacing="normal">
        <li>
          <t>ML-KEM-512 has encapsulation keys of size 800 bytes, expanded decapsulation
keys of 1632 bytes, decapsulation key seeds of size 64 bytes, ciphertext
size of 768 bytes, and shared secrets of size 32 bytes</t>
        </li>
        <li>
          <t>ML-KEM-768 has encapsulation keys of size 1184 bytes, expanded
decapsulation keys of 2400 bytes, decapsulation key seeds of size 64 bytes,
ciphertext size of 1088 bytes, and shared secrets of size 32 bytes</t>
        </li>
        <li>
          <t>ML-KEM-1024 has encapsulation keys of size 1568 bytes, expanded
decapsulation keys of 3168 bytes, decapsulation key seeds of size 64 bytes,
ciphertext size of 1568 bytes, and shared secrets of size 32 bytes</t>
        </li>
      </ul>
    </section>
    <section anchor="construction">
      <name>Construction</name>
      <t>We define the KEMs as <tt>NamedGroup</tt>s, sent in the <tt>supported_groups</tt>
extension.</t>
      <section anchor="negotiation">
        <name>Negotiation</name>
        <t>Each method is its own solely post-quantum key agreement method, which
are assigned their own identifiers, registered by IANA in the TLS
Supported Groups registry:</t>
        <artwork><![CDATA[
    enum {

         ...,

          /* ML-KEM Key Agreement Methods */
          mlkem512(0x0200),
          mlkem768(0x0201),
          mlkem1024(0x0202)

         ...,

    } NamedGroup;
]]></artwork>
      </section>
      <section anchor="construction-transmitting">
        <name>Transmitting encapsulation keys and ciphertexts</name>
        <t>The encapsulation key and ciphertext values are directly encoded with fixed
lengths as in <xref target="FIPS203"/>.</t>
        <t>In TLS 1.3 a KEM encapsulation key or KEM ciphertext is
represented as a <tt>KeyShareEntry</tt>:</t>
        <artwork><![CDATA[
    struct {
        NamedGroup group;
        opaque key_exchange<1..2^16-1>;
    } KeyShareEntry;
]]></artwork>
        <t>These are transmitted in the <tt>extension_data</tt> fields of
<tt>KeyShareClientHello</tt> and <tt>KeyShareServerHello</tt> extensions:</t>
        <artwork><![CDATA[
    struct {
        KeyShareEntry client_shares<0..2^16-1>;
    } KeyShareClientHello;

    struct {
        KeyShareEntry server_share;
    } KeyShareServerHello;
]]></artwork>
        <t>The client's shares are listed in descending order of client preference;
the server selects one algorithm and sends its corresponding share.</t>
        <t>For the client's share, the <tt>key_exchange</tt> value contains the <tt>pk</tt>
output of the corresponding KEM <tt>NamedGroup</tt>'s <tt>KeyGen</tt> algorithm.</t>
        <t>For the server's share, the <tt>key_exchange</tt> value contains the <tt>ct</tt>
output of the corresponding KEM <tt>NamedGroup</tt>'s <tt>Encaps</tt> algorithm.</t>
        <t>For all parameter sets, the server <bcp14>MUST</bcp14> perform the encapsulation key check
described in Section 7.2 of <xref target="FIPS203"/> on the client's encapsulation key,
and abort with an <tt>illegal_parameter</tt> alert if it fails.</t>
        <t>For all parameter sets, the client <bcp14>MUST</bcp14> check if the ciphertext length
matches the selected parameter set, and abort with an <tt>illegal_parameter</tt>
alert if it fails.</t>
        <t>If ML-KEM decapsulation fails for any other reason, the connection <bcp14>MUST</bcp14> be
aborted with an <tt>internal_error</tt> alert.</t>
      </section>
      <section anchor="construction-shared-secret">
        <name>Shared secret calculation</name>
        <t>The shared secret output from the ML-KEM <tt>Encaps</tt> and <tt>Decaps</tt>
algorithms over the appropriate keypair and ciphertext results in the
same shared secret <tt>shared_secret</tt>, which is inserted into the TLS 1.3
key schedule in place of the (EC)DHE shared secret, as shown in
<xref target="fig-key-schedule"/>.</t>
        <figure anchor="fig-key-schedule">
          <name>Key schedule for key agreement</name>
          <artwork><![CDATA[
                                    0
                                    |
                                    v
                      PSK ->  HKDF-Extract = Early Secret
                                    |
                                    +-----> Derive-Secret(...)
                                    +-----> Derive-Secret(...)
                                    +-----> Derive-Secret(...)
                                    |
                                    v
                              Derive-Secret(., "derived", "")
                                    |
                                    v
             shared_secret -> HKDF-Extract = Handshake Secret
             ^^^^^^^^^^^^^          |
                                    +-----> Derive-Secret(...)
                                    +-----> Derive-Secret(...)
                                    |
                                    v
                              Derive-Secret(., "derived", "")
                                    |
                                    v
                         0 -> HKDF-Extract = Master Secret
                                    |
                                    +-----> Derive-Secret(...)
                                    +-----> Derive-Secret(...)
                                    +-----> Derive-Secret(...)
                                    +-----> Derive-Secret(...)
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="discussion">
      <name>Discussion</name>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="ind-cca">
        <name>IND-CCA</name>
        <t>The main security property for KEMs is indistinguishability under adaptive
chosen ciphertext attack (IND-CCA2), which means that shared secret values
should be indistinguishable from random strings even given the ability to
have other arbitrary ciphertexts decapsulated.  IND-CCA2 corresponds to
security against an active attacker, and the public key / secret key pair can
be treated as a long-term key or reused.</t>
        <t>TLS 1.3 does not require that ephemeral public keys be used only in a single
key exchange session; some implementations may reuse them, at the cost of
limited forward secrecy. As a result, any KEM used in the manner described in
this document <bcp14>MUST</bcp14> explicitly be designed to be secure in the event that the
public key is reused. Finite-field and elliptic-curve Diffie-Hellman key
exchange methods used in TLS 1.3 satisfy this criteria. For generic KEMs,
this means satisfying IND-CCA2 security or having a transform like the
Fujisaki-Okamoto transform <xref target="FO"/> <xref target="HHK"/> applied. ML-KEM satisfies this
requirement <xref target="FIPS203"/>.</t>
        <t>Along with other TLS 1.3 key agreement methods, it is recommended that
implementations avoid reuse of ML-KEM keys. Implementations <bcp14>MUST NOT</bcp14> reuse
randomness in the generation of ML-KEM ciphertexts.</t>
      </section>
      <section anchor="binding-properties">
        <name>Binding properties</name>
        <t>TLS 1.3's key schedule commits to the the ML-KEM encapsulation key and the
ciphertext as the <tt>key_exchange</tt> field as part of the <tt>key_share</tt> extension
are populated with those values are included as part of the handshake
messages, providing resilience against re-encapsulation attacks against KEMs
used for key agreement.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests/registers three new entries to the TLS Named Group (or
Supported Group) registry, according to the procedures in <xref section="6" sectionFormat="of" target="tlsiana"/>.</t>
      <dl>
        <dt>Value:</dt>
        <dd>
          <t>0x0200</t>
        </dd>
        <dt>Description:</dt>
        <dd>
          <t>MLKEM512</t>
        </dd>
        <dt>DTLS-OK:</dt>
        <dd>
          <t>Y</t>
        </dd>
        <dt>Recommended:</dt>
        <dd>
          <t>N</t>
        </dd>
        <dt>Reference:</dt>
        <dd>
          <t>This document</t>
        </dd>
        <dt>Comment:</dt>
        <dd>
          <t>FIPS 203 version of ML-KEM-512</t>
        </dd>
        <dt>Value:</dt>
        <dd>
          <t>0x0201</t>
        </dd>
        <dt>Description:</dt>
        <dd>
          <t>MLKEM768</t>
        </dd>
        <dt>DTLS-OK:</dt>
        <dd>
          <t>Y</t>
        </dd>
        <dt>Recommended:</dt>
        <dd>
          <t>N</t>
        </dd>
        <dt>Reference:</dt>
        <dd>
          <t>This document</t>
        </dd>
        <dt>Comment:</dt>
        <dd>
          <t>FIPS 203 version of ML-KEM-768</t>
        </dd>
        <dt>Value:</dt>
        <dd>
          <t>0x0202</t>
        </dd>
        <dt>Description:</dt>
        <dd>
          <t>MLKEM1024</t>
        </dd>
        <dt>DTLS-OK:</dt>
        <dd>
          <t>Y</t>
        </dd>
        <dt>Recommended:</dt>
        <dd>
          <t>N</t>
        </dd>
        <dt>Reference:</dt>
        <dd>
          <t>This document</t>
        </dd>
        <dt>Comment:</dt>
        <dd>
          <t>FIPS 203 version of ML-KEM-1024</t>
        </dd>
      </dl>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="FIPS203">
          <front>
            <title>Module-lattice-based key-encapsulation mechanism standard</title>
            <author>
              <organization/>
            </author>
            <date month="August" year="2024"/>
          </front>
          <seriesInfo name="DOI" value="10.6028/nist.fips.203"/>
          <refcontent>National Institute of Standards and Technology (U.S.)</refcontent>
        </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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="AVIRAM" target="https://mailarchive.ietf.org/arch/msg/tls/F4SVeL2xbGPaPB2GW_GkBbD_a5M/">
          <front>
            <title>[TLS] Combining Secrets in Hybrid Key Exchange in TLS 1.3</title>
            <author initials="" surname="Nimrod Aviram">
              <organization/>
            </author>
            <author initials="" surname="Benjamin Dowling">
              <organization/>
            </author>
            <author initials="" surname="Ilan Komargodski">
              <organization/>
            </author>
            <author initials="" surname="Kenny Paterson">
              <organization/>
            </author>
            <author initials="" surname="Eyal Ronen">
              <organization/>
            </author>
            <author initials="" surname="Eylon Yogev">
              <organization/>
            </author>
            <date year="2021" month="September" day="01"/>
          </front>
        </reference>
        <reference anchor="CDM23" target="https://eprint.iacr.org/2023/1933.pdf">
          <front>
            <title>Keeping Up with the KEMs: Stronger Security Notions for KEMs and automated analysis of KEM-based protocols</title>
            <author initials="C." surname="Cremers" fullname="Cas Cremers">
              <organization>CISPA Helmholtz Center for Information Security</organization>
            </author>
            <author initials="A." surname="Dax" fullname="Alexander Dax">
              <organization>CISPA Helmholtz Center for Information Security</organization>
            </author>
            <author initials="N." surname="Medinger" fullname="Niklas Medinger">
              <organization>CISPA Helmholtz Center for Information Security</organization>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="DOWLING">
          <front>
            <title>A Cryptographic Analysis of the TLS 1.3 Handshake Protocol</title>
            <author fullname="Benjamin Dowling" initials="B." surname="Dowling">
              <organization/>
            </author>
            <author fullname="Marc Fischlin" initials="M." surname="Fischlin">
              <organization/>
            </author>
            <author fullname="Felix Günther" initials="F." surname="Günther">
              <organization/>
            </author>
            <author fullname="Douglas Stebila" initials="D." surname="Stebila">
              <organization/>
            </author>
            <date month="July" year="2021"/>
          </front>
          <seriesInfo name="Journal of Cryptology" value="vol. 34, no. 4"/>
          <seriesInfo name="DOI" value="10.1007/s00145-021-09384-1"/>
          <refcontent>Springer Science and Business Media LLC</refcontent>
        </reference>
        <reference anchor="FO">
          <front>
            <title>Secure Integration of Asymmetric and Symmetric Encryption Schemes</title>
            <author fullname="Eiichiro Fujisaki" initials="E." surname="Fujisaki">
              <organization/>
            </author>
            <author fullname="Tatsuaki Okamoto" initials="T." surname="Okamoto">
              <organization/>
            </author>
            <date month="December" year="2011"/>
          </front>
          <seriesInfo name="Journal of Cryptology" value="vol. 26, no. 1, pp. 80-101"/>
          <seriesInfo name="DOI" value="10.1007/s00145-011-9114-1"/>
          <refcontent>Springer Science and Business Media LLC</refcontent>
        </reference>
        <reference anchor="HHK">
          <front>
            <title>A Modular Analysis of the Fujisaki-Okamoto Transformation</title>
            <author fullname="Dennis Hofheinz" initials="D." surname="Hofheinz">
              <organization/>
            </author>
            <author fullname="Kathrin Hövelmanns" initials="K." surname="Hövelmanns">
              <organization/>
            </author>
            <author fullname="Eike Kiltz" initials="E." surname="Kiltz">
              <organization/>
            </author>
            <date year="2017"/>
          </front>
          <seriesInfo name="Lecture Notes in Computer Science" value="pp. 341-371"/>
          <seriesInfo name="DOI" value="10.1007/978-3-319-70500-2_12"/>
          <seriesInfo name="ISBN" value="[&quot;9783319704999&quot;, &quot;9783319705002&quot;]"/>
          <refcontent>Springer International Publishing</refcontent>
        </reference>
        <reference anchor="HPKE">
          <front>
            <title>Hybrid Public Key Encryption</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="K. Bhargavan" initials="K." surname="Bhargavan"/>
            <author fullname="B. Lipp" initials="B." surname="Lipp"/>
            <author fullname="C. Wood" initials="C." surname="Wood"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>This document describes a scheme for hybrid public key encryption (HPKE). This scheme provides a variant of public key encryption of arbitrary-sized plaintexts for a recipient public key. It also includes three authenticated variants, including one that authenticates possession of a pre-shared key and two optional ones that authenticate possession of a key encapsulation mechanism (KEM) private key. HPKE works for any combination of an asymmetric KEM, key derivation function (KDF), and authenticated encryption with additional data (AEAD) encryption function. Some authenticated variants may not be supported by all KEMs. We provide instantiations of the scheme using widely used and efficient primitives, such as Elliptic Curve Diffie-Hellman (ECDH) key agreement, HMAC-based key derivation function (HKDF), and SHA2.</t>
              <t>This document is a product of the Crypto Forum Research Group (CFRG) in the IRTF.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9180"/>
          <seriesInfo name="DOI" value="10.17487/RFC9180"/>
        </reference>
        <reference anchor="hybrid">
          <front>
            <title>Hybrid key exchange in TLS 1.3</title>
            <author fullname="Douglas Stebila" initials="D." surname="Stebila">
              <organization>University of Waterloo</organization>
            </author>
            <author fullname="Scott Fluhrer" initials="S." surname="Fluhrer">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Shay Gueron" initials="S." surname="Gueron">
              <organization>University of Haifa and Meta</organization>
            </author>
            <date day="21" month="July" year="2025"/>
            <abstract>
              <t>   Hybrid key exchange refers to using multiple key exchange algorithms
   simultaneously and combining the result with the goal of providing
   security even if a way is found to defeat the encryption for all but
   one of the component algorithms.  It is motivated by transition to
   post-quantum cryptography.  This document provides a construction for
   hybrid key exchange in the Transport Layer Security (TLS) protocol
   version 1.3.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-hybrid-design-14"/>
        </reference>
        <reference anchor="LUCKY13" target="https://ieeexplore.ieee.org/iel7/6547086/6547088/06547131.pdf">
          <front>
            <title>Lucky Thirteen: Breaking the TLS and DTLS record protocols</title>
            <author initials="N. J." surname="Al Fardan">
              <organization/>
            </author>
            <author initials="K. G." surname="Paterson">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RACCOON" target="https://raccoon-attack.com/">
          <front>
            <title>Raccoon Attack: Finding and Exploiting Most-Significant-Bit-Oracles in TLS-DH(E)</title>
            <author initials="R." surname="Merget">
              <organization/>
            </author>
            <author initials="M." surname="Brinkmann">
              <organization/>
            </author>
            <author initials="N." surname="Aviram">
              <organization/>
            </author>
            <author initials="J." surname="Somorovsky">
              <organization/>
            </author>
            <author initials="J." surname="Mittmann">
              <organization/>
            </author>
            <author initials="J." surname="Schwenk">
              <organization/>
            </author>
            <date year="2020" month="September"/>
          </front>
        </reference>
        <reference anchor="tlsiana">
          <front>
            <title>IANA Registry Updates for TLS and DTLS</title>
            <author fullname="Joseph A. Salowey" initials="J. A." surname="Salowey">
              <organization>Venafi</organization>
            </author>
            <author fullname="Sean Turner" initials="S." surname="Turner">
              <organization>sn3rd</organization>
            </author>
            <date day="21" month="July" year="2025"/>
            <abstract>
              <t>   This document updates the changes to TLS and DTLS IANA registries
   made in RFC 8447.  It adds a new value "D" for discouraged to the
   Recommended column of the selected TLS registries and adds a
   "Comment" column to all active registries that do not already have a
   "Comment" column.  Finally, it updates the registration request
   instructions.

   This document updates RFC 8447.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-rfc8447bis-15"/>
        </reference>
      </references>
    </references>
    <?line 386?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to Douglas Stebila for consultation on the
draft-ietf-tls-hybrid-design design, and to Scott Fluhrer and Eric Rescorla
for reviews.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
D+6gMaUTHgxckJ9K8QB/9X/AlhshJSwAAA==

-->

</rfc>
