<?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.19 (Ruby 3.3.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-connolly-cfrg-hpke-mlkem-03" category="info" consensus="true" submissionType="IRTF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.2 -->
  <front>
    <title abbrev="hpke-mlkem">ML-KEM for HPKE</title>
    <seriesInfo name="Internet-Draft" value="draft-connolly-cfrg-hpke-mlkem-03"/>
    <author fullname="Deirdre Connolly">
      <organization>SandboxAQ</organization>
      <address>
        <email>durumcrustulum@gmail.com</email>
      </address>
    </author>
    <date year="2024" month="October" day="14"/>
    <area>IRTF</area>
    <workgroup>Crypto Forum</workgroup>
    <keyword>post quantum</keyword>
    <keyword>kem</keyword>
    <keyword>PQ</keyword>
    <keyword>hpke</keyword>
    <keyword>hybrid encryption</keyword>
    <abstract>
      <?line 65?>

<t>This document defines Module-Lattice-Based Key-Encapsulation Mechanism
(ML-KEM) KEM options for Hybrid Public-Key Encryption (HPKE). ML-KEM is
believed to be secure even against adversaries who possess a
cryptographically-relevant quantum computer.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://dconnolly.github.io/draft-connolly-cfrg-hpke-mlkem/draft-connolly-cfrg-hpke-mlkem.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-connolly-cfrg-hpke-mlkem/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Crypto Forum Research Group mailing list (<eref target="mailto:cfrg@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/search/?email_list=cfrg"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/cfrg/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/dconnolly/draft-connolly-cfrg-hpke-mlkem"/>.</t>
    </note>
  </front>
  <middle>
    <?line 72?>

<section anchor="intro">
      <name>Introduction</name>
      <section anchor="motivation">
        <name>Motivation</name>
        <t>ML-KEM <xref target="FIPS203"/> is a Key-Encapsulation Mechanism (KEM) which is believed
to be secure against both classical and quantum cryptographic attacks. For
parties that must move to exclusively post-quantum algorithms, this document
defines pure post-quantum algorithms for the Hybrid Public-Key Encryption
(HPKE) protocol <xref target="RFC9180"/>. ML-KEM as a post-quantum IND-CCA2-secure KEM
fits nicely into HPKE's design. Supporting multiple security levels for
ML-KEM allows a spectrum of use cases including settings where the (United
States) National Institute of Standards (NIST) security category 5 is
required.</t>
      </section>
      <section anchor="S-notauth">
        <name>Not an authenticated KEM</name>
        <t>ML-KEM is a plain KEM that does not support the static-static key exchange
that allows HPKE based on Diffie-Hellman (DH) based KEMs and their (optional)
authenticated modes.</t>
      </section>
    </section>
    <section anchor="conventions">
      <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?>

<t><tt>GenerateKeyPair</tt>, <tt>DeriveKeyPair</tt>, <tt>SerializePublicKey</tt>,
<tt>DeserializePublicKey</tt>, <tt>Encap</tt>, <tt>Decap</tt>, <tt>AuthEncap</tt>, <tt>AuthDecap</tt>,
<tt>Nsecret</tt>, <tt>Nenc</tt>, <tt>Npk</tt>, and <tt>Nsk</tt> are defined in Section 4 of <xref target="RFC9180"/>.</t>
      <t>When used in the Security Consideration section, <tt>PK</tt> refers to public key
and <tt>CT</tt> refers to ciphertext as modeled in <xref target="CDM23"/>.</t>
      <t><strong>TODO</strong>: explain or reference IND-CCA, IND-CCA2, MAL-BIND-K-PK,
MAL-BIND-K-CT, and LEAK-BIND-K-PK.</t>
    </section>
    <section anchor="usage">
      <name>Usage</name>
      <t><xref target="FIPS203"/> supports two different key formats. This document only supports
the 64-byte seed <tt>(d, z)</tt>. This format supports stronger binding properties
for ML-KEM than the expanded format. The 64-byte seed format protects against
re-encapsulation attacks. This format provides properties closer to the
generic DHKEM binding properties defined in Section 4.1 of <xref target="RFC9180"/>.</t>
      <t>The encapsulation and decapsulation keys are computed, serialized, and
deserialized as described in <xref target="FIPS203"/> where the decapsulation keys <bcp14>MUST</bcp14> be
in the 64-byte <tt>(d, z)</tt> format. The 'expanded' format where the decapsulation
key is expanded into a variable size based on the parameter set but includes
the hash of the encapsulation key is not used.</t>
      <t><strong>TODO</strong>: Describe the mapping between <tt>GenerateKeyPair</tt>, <tt>DeriveKeyPair</tt>,
<tt>SerializePublicKey</tt>, <tt>DeserializePublicKey</tt>, <tt>Encap</tt>, and <tt>Decap</tt> in HPKE
and the functions defined in <xref target="FIPS203"/>.</t>
      <section anchor="S-auth">
        <name>AuthEncap and AuthDecap</name>
        <t>HPKE-ML-KEM is not an authenticated KEM and does not support AuthEncap() or
AuthDecap(), see <xref target="S-notauth"/>.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>HPKE's IND-CCA2 security relies upon the IND-CCA and IND-CCA2 security of the
underlying KEM and AEAD schemes, respectively. ML-KEM is believed to be
IND-CCA secure via multiple analyses.</t>
      <t>The HPKE key schedule is independent of the encapsulated KEM shared secret
ciphertext and public key of the ciphersuite KEM, and dependent on the shared
secret produced by the KEM. If HPKE had committed to the encapsulated shared
secret ciphertext and public key, we wouldn't have to worry about the binding
properties of the ciphersuite KEM's X-BIND-K-CT and X-BIND-K-PK
properties. These computational binding properties for KEMs were formalized
in <xref target="CDM23"/>. <xref target="CDM23"/> describes DHKEM as MAL-BIND-K-PK and MAL-BIND-K-CT
secure as a result of the inclusion of the serialized DH public keys (the
KEM's PK and CT) in the DHKEM Key Derivation Function (KDF). MAL-BIND-K-PK
and MAL-BIND-K-CT security ensures that the shared secret K 'binds' (is
uniquely determined by) the encapsulation key and/or the ciphertext, even
when the adversary is able to create or modify the key pairs or has access to
honestly-generated leaked key material.</t>
      <t>ML-KEM as specified in <xref target="FIPS203"/> with the seed key format provides
MAL-BIND-K-CT security and LEAK-BIND-K-PK security <xref target="KEMMY24"/>.
LEAK-BIND-K-PK security is resiliant where the involved key pairs are output
by the honest key generation algorithm of the KEM and then leaked to the
adversary. MAL-BIND-K-CT security strongly binds the shared secret and the
ciphertext even when an adversary can manipulate key material like the
decapsulation key.</t>
      <t>ML-KEM using the seed key format (providing MAL-BIND-K-CT and LEAK-BIND-K-PK)
nearly matches the binding properties of DHKEM (the default HPKE KEM
construction). The ML-KEM ciphertext is strongly bound by the shared
secret. The encapsulation key is more weakly bound, and protocols integrating
HPKE using ML-KEM even with the seed key format should evaluate whether they
need to strongly bind to the PK elsewhere (outside of ML-KEM or HPKE) to be
resilient against a MAL adversary, or to achieve other tight binding to the
encapsulation key PK to achieve properties like implicit authentication or
session independence.</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>This document requests/registers two new entries to the "HPKE KEM
Identifiers" registry.</t>
      <dl>
        <dt>Value:</dt>
        <dd>
          <t>0x0040 (please)</t>
        </dd>
        <dt>KEM:</dt>
        <dd>
          <t>ML-KEM-512</t>
        </dd>
        <dt>Nsecret:</dt>
        <dd>
          <t>32</t>
        </dd>
        <dt>Nenc:</dt>
        <dd>
          <t>768</t>
        </dd>
        <dt>Npk:</dt>
        <dd>
          <t>800</t>
        </dd>
        <dt>Nsk:</dt>
        <dd>
          <t>1632</t>
        </dd>
        <dt>Auth:</dt>
        <dd>
          <t>no</t>
        </dd>
        <dt>Reference:</dt>
        <dd>
          <t>This document</t>
        </dd>
        <dt>Value:</dt>
        <dd>
          <t>0x0041 (please)</t>
        </dd>
        <dt>KEM:</dt>
        <dd>
          <t>ML-KEM-768</t>
        </dd>
        <dt>Nsecret:</dt>
        <dd>
          <t>32</t>
        </dd>
        <dt>Nenc:</dt>
        <dd>
          <t>1088</t>
        </dd>
        <dt>Npk:</dt>
        <dd>
          <t>1184</t>
        </dd>
        <dt>Nsk:</dt>
        <dd>
          <t>2400</t>
        </dd>
        <dt>Auth:</dt>
        <dd>
          <t>no</t>
        </dd>
        <dt>Reference:</dt>
        <dd>
          <t>This document</t>
        </dd>
        <dt>Value:</dt>
        <dd>
          <t>0x0042 (please)</t>
        </dd>
        <dt>KEM:</dt>
        <dd>
          <t>ML-KEM-1024</t>
        </dd>
        <dt>Nsecret:</dt>
        <dd>
          <t>32</t>
        </dd>
        <dt>Nenc:</dt>
        <dd>
          <t>1568</t>
        </dd>
        <dt>Npk:</dt>
        <dd>
          <t>1568</t>
        </dd>
        <dt>Nsk:</dt>
        <dd>
          <t>3168</t>
        </dd>
        <dt>Auth:</dt>
        <dd>
          <t>no</t>
        </dd>
        <dt>Reference:</dt>
        <dd>
          <t>This document</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="RFC9180">
          <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="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</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="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="KEMMY24" target="https://eprint.iacr.org/2024/523.pdf">
          <front>
            <title>Unbindable Kemmy Schmidt: ML-KEM is neither MAL-BIND-K-CT nor MAL-BIND-K-PK</title>
            <author initials="S." surname="Schmieg" fullname="Sophie Schmieg">
              <organization/>
            </author>
            <date year="2024"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 268?>

<section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank Cas Cremers for their input.</t>
    </section>
    <section anchor="change-log">
      <name>Change log</name>
      <ul empty="true">
        <li>
          <t><strong>RFC Editor's Note:</strong> Please remove this section prior to publication of a
final version of this document.</t>
        </li>
      </ul>
      <t>TODO</t>
      <section anchor="since-draft-connolly-cfrg-hpke-mlkem-00">
        <name>Since draft-connolly-cfrg-hpke-mlkem-00</name>
        <t>TODO</t>
      </section>
    </section>
    <section anchor="test-vectors">
      <name>Test Vectors</name>
      <t>This section contains test vectors formatted similary to that which are found
in <xref target="RFC9180"/>, with two changes.  First, we only provide vectors for the
non-authenticated modes of operation.  Secondly, as ML-KEM encapsulation does
not involve an ephemeral keypair, we omit the ikmE, skEm, pkEm entries and
provide an ier entry instead.  The value of ier is the randomness used to
encapsulate, so <tt>ier[0:32]</tt> is the seed that is fed to H in the first step of
ML-KEM encapsulation in <xref target="FIPS203"/>.</t>
      <section anchor="ml-kem-512">
        <name>ML-KEM-512</name>
        <t>TODO</t>
      </section>
      <section anchor="ml-kem-768">
        <name>ML-KEM-768</name>
        <t>TODO</t>
      </section>
      <section anchor="ml-kem-1024">
        <name>ML-KEM-1024</name>
        <t>TODO</t>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
