<?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-01" 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-01"/>
    <author fullname="Deirdre Connolly">
      <organization>SandboxAQ</organization>
      <address>
        <email>durumcrustulum@gmail.com</email>
      </address>
    </author>
    <date year="2024" month="October" day="09"/>
    <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 memo defines ML-KEM-based ciphersuites for HPKE (<xref target="RFC9180"/>). 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 71?>

<section anchor="intro">
      <name>Introduction</name>
      <section anchor="motiv">
        <name>Motivation</name>
        <t>The final draft for ML-KEM is expected in 2024. For parties that must move to
exclusively post-quantum algorithms, having a pure PQ choice for public-key
hybrid encryption is desireable. HPKE is the leading modern protocol for
public-key encryption, and 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 NIST PQ 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 based KEMs its (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?>

</section>
    <section anchor="usage">
      <name>Usage</name>
      <t><xref target="FIPS203"/> supports two different key formats, but 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 that protect against
re-encapsulation attacks and bring the usage of ML-KEM in practice closer to
the generic DHKEM binding properties as defined in <xref target="RFC9180"/>.</t>
      <t>We construct 'wrapper' KEMs based on ML-KEM to bind the KEM shared secret to
the KEM ciphertext, such that the final KEM has similar binding security
properties as the original DHKEM which HPKE was designed around.</t>
      <t>The encapsulation and decapsulation keys are computed, serialized, and
deserialized the same as 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 <bcp14>MUST NOT</bcp14> be used.</t>
      <t>We use HKDF-SHA256 and HKDF-SHA512 as the HPKE KDFs and AES-128-GCM and
AES-256-GCM as the AEADs for ML-KEM-512, ML-KEM-768, and ML-KEM-1024.</t>
      <section anchor="authencap-and-authdecap">
        <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 of the ciphersuite KEM, and dependent on the shared secret
produced by the KEM. If HPKE had committed to the encapsulated shared secret
ciphertext, we wouldn't have to worry about the binding properties of the
ciphersuite KEM's X-BIND-K-CT properties. These computational binding
properties for KEMs were formalized in <xref target="CDM23"/>. <xref target="CDM23"/> describes DHKEM
as LEAK-BIND-K-PK and LEAK-BIND-K-CT secure as result of the inclusion of the
serialized DH public keys in the DHKEM KDF; however it expects pre-validated
keys and never explicitly rejects, making it implicitly-rejecting KEM.</t>
      <t>ML-KEM, unlike DHKEM, is also an implicitly-rejecting instantiation of the
Fujisaki-Okamoto transform, meaning the ML-KEM output shared secret may be
computed differently in case of decryption failure, that reults in different
binding properties, such as the lack of X-BIND-CT-PK and X-BIND-CT-K
completely.</t>
      <t>The DHKEM construction in HPKE can provide MAL-BIND-K-PK and MAL-BIND-K-CT
security (the shared secret 'binds' or uniquely determines the encapsulation
key and the encapsualted shared secret ciphertext), where the adversary is
able to create the key pairs any way they like in addition to the key
generation. ML-KEM as specified 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 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 nearly matches the binding properties of HPKE's default KEM generic
construction DHKEM in being MAL-BIND-K-CT and LEAK-BIND-K-PK, and in fact
exceeds the bar set by DHKEM in being MAL-BIND-K-CT secure when using the
seed key format.</t>
    </section>
    <section anchor="iana-considerations">
      <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>0x0512 (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>0x0768 (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>0x1024 (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 258?>

<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-hkdf-sha256-aes-128-gcm">
        <name>ML-KEM-512, HKDF-SHA256, AES-128-GCM</name>
        <t>TODO</t>
      </section>
      <section anchor="ml-kem-768-hkdf-sha256-aes-128-gcm">
        <name>ML-KEM-768, HKDF-SHA256, AES-128-GCM</name>
        <t>TODO</t>
      </section>
      <section anchor="ml-kem-1024-hkdf-sha512-aes-256-gcm">
        <name>ML-KEM-1024, HKDF-SHA512, AES-256-GCM</name>
        <t>TODO</t>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA61Z23IbxxF9n6+YUA+UVFiQICmZZhw5MECZLIoXiZQTl8sV
DXYHwBh7884uSIilf8m35Mtyumf2AoKSHFf0IOzce/py+vQwCAJRmjLWR3Lr
/E1wdnwup1khT67OjreEmkwKvTyS83yhgyRe6ESEqtSzrFgdSZNOMyGiLExV
gtVRoaZlEGZpmsXxKginxSxo1wW7A2GrSWKsNVlarnKsOH1381qkVTLRxZGI
sO+RwHKrU1vZI1kWlRY4e1+oQitIR9O3xG1WLGZFVuXoGRWrvMzk66yoki2x
0CsMRkdCBjLPbCl/r1RaVgm1SXL8XL2l/0kq/l1NChNJnYa0D8QSS51WkELK
x0+Q0gm+9U5brYpwLn+keTSQKBNjgG79d6PLaT8rZtRPs9A/L8vcHu3s0DTq
Mkvdr6ftUMeO23Dne01T/hUbW/6NNqM9ZqacVxPsEtXa3fmysmlRDH3asnN0
s7jv9uub7CvbfGW4Py+TeEsIVZXzrCC141gpp1UcO48Ya1NEhZYjvwEP48Iq
NR8V6ftIXqs0mmR3w7c8pp0WowraDovKllVcJX+fUW8/zBIh0qxIsHLJNnr3
evTt4HCXPl+fXl3v7e7jyMvT/mC3/3J373Dn4vT6pk8jfQwJQe7aWT0an+/t
H/GxtfufaZ2bdCbf5/IWKpLlXEvEA3zxuiyydKYLea3DqjDlSl5kdAHLsUJz
JC4ioYkMJ2h8pSpeWWNlNqXhYKIsevMiK7Mwi+2WO1cVMw0T1RbSeWHSsm9U
WLBf7O3u7e8Mvt3f7+fRlFdwkEjq52ajef4X+F+JyITMo74cFTrRhW36nVlG
ym6M4DgMnF5fDeWJjpN5Fpcf5UinJe5MVzytlZeljQ4eP3bYl2N19+DIYazv
oCBs1h37/x160ZfnOjJkogcnX5hFjPtujP7Js2HL85/3Dtb95n06MWmkJjHc
RSfJSl6H88REsKwHVPhBquFR2Pt8+Cb44fRiHJwFoxsJf+72XJ39Ycc42Hmx
94hfHHzdL677Tj49e6Cq6yyfG90MiiAIpJrYslBhKcTNHLdIdJLJSE9Nqq2/
nHft0OS4nq0MUKdJIPLp/b2P0k+fnvVbdYiJjo1eYh3AdaKlJQ1riZ5UqpmC
nKVU0RIbqsJgw9t5RpButUWgCYbrbFYoyBsqQqZCx3oJsK8hXwIt8gq27Ltr
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
t0MfAAA=

-->

</rfc>
