<?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.1 (Ruby 3.0.2) -->
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-rha-jose-hpke-encrypt-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.1 -->
  <front>
    <title abbrev="Use of HPKE in JOSE">Use of Hybrid Public-Key Encryption (HPKE) with Javascript Object Signing and Encryption (JOSE)</title>
    <seriesInfo name="Internet-Draft" value="draft-rha-jose-hpke-encrypt-01"/>
    <author fullname="Tirumaleswar Reddy">
      <organization>Nokia</organization>
      <address>
        <postal>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <country>India</country>
        </postal>
        <email>kondtir@gmail.com</email>
      </address>
    </author>
    <author fullname="Hannes Tschofenig">
      <organization/>
      <address>
        <postal>
          <country>Austria</country>
        </postal>
        <email>hannes.tschofenig@gmx.net</email>
      </address>
    </author>
    <author fullname="Aritra Banerjee">
      <organization>Nokia</organization>
      <address>
        <postal>
          <city>Munich</city>
          <country>Germany</country>
        </postal>
        <email>aritra.banerjee@nokia.com</email>
      </address>
    </author>
    <author initials="O." surname="Steele" fullname="Orie Steele">
      <organization>Transmute</organization>
      <address>
        <postal>
          <country>United States</country>
        </postal>
        <email>orie@transmute.industries</email>
      </address>
    </author>
    <author initials="M." surname="Jones" fullname="Michael B. Jones">
      <organization>independent</organization>
      <address>
        <postal>
          <country>United States</country>
        </postal>
        <email>michael_b_jones@hotmail.com</email>
      </address>
    </author>
    <date year="2023" month="October" day="20"/>
    <area>Security</area>
    <workgroup>JOSE</workgroup>
    <keyword>HPKE</keyword>
    <keyword>JOSE</keyword>
    <keyword>PQC</keyword>
    <keyword>Hybrid</keyword>
    <abstract>
      <?line 87?>

<t>This specification defines Hybrid public-key encryption (HPKE) for use with 
Javascript Object Signing and Encryption (JOSE). HPKE offers a variant of
public-key encryption of arbitrary-sized plaintexts for a recipient public key.</t>
      <t>HPKE works for any combination of an asymmetric key encapsulation mechanism (KEM),
key derivation function (KDF), and authenticated encryption with additional data 
(AEAD) function. Authentication for HPKE in JOSE is provided by 
JOSE-native security mechanisms or by one of the authenticated variants of HPKE.</t>
      <t>This document defines the use of the HPKE with JOSE.</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-rha-jose-hpke/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        jose Working Group mailing list (<eref target="mailto:jose@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/jose/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/jose/"/>.
      </t>
    </note>
  </front>
  <middle>
    <?line 102?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Hybrid public-key encryption (HPKE) <xref target="RFC9180"/> is a scheme that 
provides public key encryption of arbitrary-sized plaintexts given a 
recipient's public key. HPKE utilizes a non-interactive ephemeral-static 
Diffie-Hellman exchange to establish a shared secret. The motivation for
standardizing a public key encryption scheme is explained in the introduction
of <xref target="RFC9180"/>.</t>
      <t>The HPKE specification 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, one that authenticates possession of
a key encapsulation mechanism (KEM) private key, and one that
authenticates possession of both a pre-shared key and a KEM private key.</t>
      <t>This specification utilizes HPKE as a foundational building block and
carries the output to JOSE (<xref target="RFC7516"/>, <xref target="RFC7518"/>).</t>
    </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="conventions-and-terminology">
      <name>Conventions and Terminology</name>
      <t>This specification uses the following abbreviations and terms:</t>
      <ul spacing="normal">
        <li>
          <t>Content-encryption key (CEK), a term defined in CMS <xref target="RFC2630"/>.</t>
        </li>
        <li>
          <t>Hybrid Public Key Encryption (HPKE) is defined in <xref target="RFC9180"/>.</t>
        </li>
        <li>
          <t>pkR is the public key of the recipient, as defined in <xref target="RFC9180"/>.</t>
        </li>
        <li>
          <t>skR is the private key of the recipient, as defined in <xref target="RFC9180"/>.</t>
        </li>
        <li>
          <t>Key Encapsulation Mechanism (KEM), see <xref target="RFC9180"/>.</t>
        </li>
        <li>
          <t>Key Derivation Function (KDF), see <xref target="RFC9180"/>.</t>
        </li>
        <li>
          <t>Authenticated Encryption with Associated Data (AEAD), see <xref target="RFC9180"/>.</t>
        </li>
        <li>
          <t>Additional Authenticated Data (AAD), see <xref target="RFC9180"/>.</t>
        </li>
        <li>
          <t>Key Type (kty), see <xref target="RFC7517"/>.</t>
        </li>
      </ul>
    </section>
    <section anchor="hpke-for-jose">
      <name>HPKE for JOSE</name>
      <section anchor="overview">
        <name>Overview</name>
        <t>The JSON Web Algorithms (JWA) <xref target="RFC7518"/> in Section 4.6 defines two ways using the key agreement result. When Direct Key Agreement is employed, the shared secret established through the HPKE will be the content encryption key (CEK). When Key Agreement with Key Wrapping is employed, the shared secret established through the HPKE will wrap the CEK. If multiple recipients are needed, then Key Agreement with Key Wrapping mode is used.</t>
        <t>In both cases a new JOSE header parameter, called 'encapsulated_key', is used to convey the content of the "enc" structure defined in the HPKE specification. "enc" represents the serialized public key.</t>
        <t>When the alg value is set to any of algorithms registered by this
specification then the 'encapsulated_key' header parameter <bcp14>MUST</bcp14>
be present in the unprotected header parameter.</t>
        <t>The 'encapsulated_key' parameter contains the encapsulated key, which is output of the HPKE KEM, and is represented as a base64url encoded string. The parameter "kty" <bcp14>MUST</bcp14> be present and set to "OKP" defined in Section 2 of <xref target="RFC8037"/>.</t>
        <section anchor="hpke-usage-in-direct-and-key-agreement-with-key-wrapping">
          <name>HPKE Usage in Direct and Key Agreement with Key Wrapping</name>
          <t>In Direct Key Agreement mode, HPKE is employed to directly encrypt the plaintext, and the resulting ciphertext is included in the JWE ciphertext. In Key Agreement with Key Wrapping mode, HPKE is used to encrypt the Content Encryption Key (CEK), and the resulting ciphertext is included in the JWE ciphertext.</t>
          <t>In both modes, the sender <bcp14>MUST</bcp14> specify the 'alg' parameter in the protected header to indicate the use of HPKE.</t>
          <section anchor="hpke-usage-in-direct-key-agreement-mode">
            <name>HPKE Usage in Direct Key Agreement mode</name>
            <t>The sender <bcp14>MUST</bcp14> place the 'encapsulated_key' parameter in the protected header. Optionally, the protected header <bcp14>MAY</bcp14> contain the 'kid' parameter used to identify the static recipient public key used by the sender.</t>
          </section>
          <section anchor="hpke-usage-in-key-agreement-with-key-wrapping-mode">
            <name>HPKE Usage in Key Agreement with Key Wrapping mode</name>
            <t>In the JWE JSON Serialization, the sender <bcp14>MUST</bcp14> place the 'encapsulated_key' parameter in the per-recipient unprotected header. Optionally, the per-recipient unprotected header <bcp14>MAY</bcp14> contain the 'kid' parameter used to identify the static recipient public key used by the sender.</t>
          </section>
        </section>
      </section>
    </section>
    <section anchor="ciphersuite-registration">
      <name>Ciphersuite Registration</name>
      <t>This specification registers a number of ciphersuites for use with HPKE.
A ciphersuite is thereby a combination of several algorithm configurations:</t>
      <ul spacing="normal">
        <li>
          <t>HPKE Mode</t>
        </li>
        <li>
          <t>KEM algorithm</t>
        </li>
        <li>
          <t>KDF algorithm</t>
        </li>
        <li>
          <t>AEAD algorithm</t>
        </li>
      </ul>
      <t>The "KEM", "KDF", and "AEAD" values are conceptually taken from the HPKE IANA
registry <xref target="HPKE-IANA"/>. Hence, JOSE-HPKE cannot use an algorithm combination
that is not already available with HPKE.</t>
      <t>For better readability of the algorithm combination ciphersuites labels are
build according to the following scheme:</t>
      <artwork><![CDATA[
HPKE-<Mode>-<KEM>-<KDF>-<AEAD>
]]></artwork>
      <t>The "Mode" indicator may be populated with the following values from
Table 1 of <xref target="RFC9180"/>:</t>
      <ul spacing="normal">
        <li>
          <t>"Base" refers to "mode_base" described in Section 5.1.1 of <xref target="RFC9180"/>,
which only enables encryption to the holder of a given KEM private key.</t>
        </li>
        <li>
          <t>"PSK" refers to "mode_psk", described in Section 5.1.2 of <xref target="RFC9180"/>,
which authenticates using a pre-shared key.</t>
        </li>
        <li>
          <t>"Auth" refers to "mode_auth", described in Section 5.1.3 of <xref target="RFC9180"/>,
which authenticates using an asymmetric key.</t>
        </li>
        <li>
          <t>"Auth_Psk" refers to "mode_auth_psk", described in Section 5.1.4 of <xref target="RFC9180"/>,
which authenticates using both a PSK and an asymmetric key.</t>
        </li>
      </ul>
      <t>For a list of ciphersuite registrations, please see <xref target="IANA"/>.</t>
    </section>
    <section anchor="hpke-encryption-and-decryption">
      <name>HPKE Encryption and Decryption</name>
      <section anchor="hpke-encryption-with-sealbase">
        <name>HPKE Encryption with SealBase</name>
        <t>The SealBase(pkR, info, aad, pt) function is used to encrypt a plaintext pt to a recipient's public key (pkR).</t>
        <t>Two cases of plaintext need to be distinguished:</t>
        <ul spacing="normal">
          <li>
            <t>In Direct Key Agreement mode, the plaintext "pt" passed into SealBase
is the content to be encrypted.  Hence, there is no intermediate
layer utilizing a CEK.</t>
          </li>
          <li>
            <t>In Key Agreement with Key Wrapping mode, the plaintext "pt" passed into
SealBase is the CEK.  The CEK is a random byte sequence of length
appropriate for the encryption algorithm. For example, AES-128-GCM 
requires a 16 byte key and the CEK would therefore be 16 bytes long.</t>
          </li>
        </ul>
        <t>The "aad" parameter in SealBase function will take the JWE AAD value as input when the JWE AAD value is non-empty; otherwise, it will take an empty aad.</t>
        <t>The HPKE specification defines the "info" parameter as a context information structure that is used to ensure that the derived keying material is bound to the context of the transaction. The "info" parameter in SealBase function will take the JOSE context specific data defined in Section 4.6.2 of <xref target="RFC7518"/> as input.</t>
        <t>The SealBase function internally creates the sending HPKE context by invoking SetupBaseS() (Section 5.1.1 of <xref target="RFC9180"/>) with "pkR" and "info". This yields the context "sctxt" and an encapsulation key "enc". The SealBase function then invokes the Seal() method on "sctxt" (Section 5.2 of <xref target="RFC9180"/>) with "aad", yielding ciphertext "ct". Note that Section 6 of {RFC9180} discusses Single-Shot APIs for encryption and decryption; SetupBaseS internally invokes Seal() method to return both "ct" and "enc".</t>
        <t>In summary, if SealBase() is successful, it will output a ciphertext "ct" and an encapsulated key "enc". In both JWE Compact Serialization and the JWE JSON Serialization, "ct" and "enc" will be base64url encoded, since JSON lacks a way to directly represent arbitrary octet sequences.</t>
        <t>In both modes, "encapsulated_key" will contain the value of BASE64URL(enc). In Direct Key Agreement mode, JWE Ciphertext will contain the value of BASE64URL(ct). In Key Agreement with Key Wrapping mode, JWE Encrypted Key will contain the value of BASE64URL(ct). In Direct Key Agreement mode, JWE Encrypted Key will use the value of empty octet sequence.</t>
      </section>
      <section anchor="hpke-decryption-with-openbase">
        <name>HPKE Decryption with OpenBase</name>
        <t>The recipient will use the OpenBase(enc, skR, info, aad, ct) function
   with the base64url decoded "encapsulated_key" and the "ciphertext" parameters 
   received from the sender.  The "aad" and the "info" parameters are constructed 
   from JWE AAD and JOSE context, respectively.</t>
        <t>The OpenBase internally creates the receiving HPKE context by invoking SetupBaseR() (Section 5.1.1 of <xref target="RFC9180"/>) with "skR", "enc", and "info". This yields the context "rctxt". The OpenBase function then decrypts "ct" by invoking the Open() method on "rctxt" (Section 5.2 of <xref target="RFC9180"/>) with "aad", 
   yielding "pt" or an error on failure.</t>
        <t>The OpenBase function will, if successful, decrypts "ct".  When
   decrypted, the result will be either the CEK (when Key Agreement with Key Wrapping mode is
   used), or the content (if Direct Key Agreement mode is used).  The CEK is the
   symmetric key used to decrypt the ciphertext.</t>
      </section>
    </section>
    <section anchor="post-quantum-considerations">
      <name>Post-Quantum Considerations</name>
      <t>The migration to Post-Quantum Cryptography (PQC) is unique in the history of modern digital cryptography in that neither the traditional algorithms nor the post-quantum algorithms are fully trusted to protect data for the required data lifetimes. The traditional algorithms, such as RSA and elliptic curve, will fall to quantum cryptalanysis, while the post-quantum algorithms face uncertainty about the underlying mathematics, compliance issues, unknown vulnerabilities, hardware and software implementations that have not had sufficient maturing time to rule out classical cryptanalytic attacks and implementation bugs.</t>
      <t>Hybrid key exchange refers to using multiple key exchange algorithms simultaneously and combining the result with the goal of providing security even if all but one of the component algorithms is broken. It is motivated by transition to post-quantum cryptography. HPKE can be extended to support hybrid post-quantum Key Encapsulation Mechanisms (KEMs) as defined in <xref target="I-D.westerbaan-cfrg-hpke-xyber768d00-02"/>. Kyber, which is a KEM does not support the static-ephemeral key exchange that allows HPKE based on DH based KEMs and its optional authenticated modes as discussed in Section 1.2 of <xref target="I-D.westerbaan-cfrg-hpke-xyber768d00-02"/>.</t>
      <t>The JOSE HPKE PQ/T hybrid ciphersuites are defined in <xref target="IANA"/>.</t>
      <section anchor="example-hybrid-key-agreement-computation">
        <name>Example Hybrid Key Agreement Computation</name>
        <t>This example uses HPKE-Base-P256-SHA256-AES128GCM which corresponds
to the following HPKE algorithm combination:</t>
        <ul spacing="normal">
          <li>
            <t>KEM: DHKEM(P-256, HKDF-SHA256)</t>
          </li>
          <li>
            <t>KDF: HKDF-SHA256</t>
          </li>
          <li>
            <t>AEAD: AES-128-GCM</t>
          </li>
          <li>
            <t>Mode: Base</t>
          </li>
          <li>
            <t>payload: "This is the content"</t>
          </li>
          <li>
            <t>aad: ""</t>
          </li>
        </ul>
        <artwork><![CDATA[
{
   "alg": "HPKE-Base-P256-SHA256-AES128GCM",
   "kid": "7"
   "encapsulated_key": "BIxvdeRjp3MILzyw06cBNIpXjGeAq6ZYZGaCqa9ykd/
    Cd+yTw9WHB4GChsEJeCVFczjcPcr/Nn4pUTQunbMNwOc=",
}
              
              JWE Protected Header JSON
]]></artwork>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This specification is based on HPKE and the security considerations of
<xref target="RFC9180"/> are therefore applicable also to this specification.</t>
      <t>HPKE assumes the sender is in possession of the public key of the recipient and
HPKE JOSE makes the same assumptions. Hence, some form of public key distribution
mechanism is assumed to exist but outside the scope of this document.</t>
      <t>HPKE in Base mode does not offer authentication as part of the HPKE KEM. In this case 
JOSE constructs like JWS and JSON Web Tokens (JWTs) can be used to add authentication. 
HPKE also offers modes that offer authentication.</t>
      <t>HPKE relies on a source of randomness to be available on the device. In Key Agreement 
with Key Wrapping mode, CEK has to be randomly generated and it <bcp14>MUST</bcp14> be
ensured that the guidelines in <xref target="RFC8937"/> for random number generations are followed.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <t>This document requests IANA to add new values to the 'JOSE Algorithms' and to 
the 'JOSE Header Parameters' registries in the 'Standards Action 
With Expert Review category'.</t>
      <section anchor="jose-algorithms-registry-direct-key-agreement">
        <name>JOSE Algorithms Registry (Direct Key Agreement)</name>
        <ul spacing="normal">
          <li>
            <t>Algorithm Name: HPKE-Base-P256-SHA256-AES128GCM</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the DHKEM(P-256, HKDF-SHA256) KEM, the HKDF-SHA256 KDF and the AES-128-GCM AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-P256-SHA256-ChaCha20Poly1305</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the DHKEM(P-256, HKDF-SHA256) KEM, the HKDF-SHA256 KDF and the ChaCha20Poly1305 AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-P384-SHA384-AES256GCM</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the DHKEM(P-384, HKDF-SHA384) KEM, the HKDF-SHA384 KDF, and the AES-256-GCM AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-P384-SHA384-ChaCha20Poly1305</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the DHKEM(P-384, HKDF-SHA384) KEM, the HKDF-SHA384 KDF, and the ChaCha20Poly1305 AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-P521-SHA512-AES256GCM</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the DHKEM(P-521, HKDF-SHA512) KEM, the HKDF-SHA512 KDF, and the AES-256-GCM AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-P521-SHA512-ChaCha20Poly1305</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the DHKEM(P-521, HKDF-SHA512) KEM, the HKDF-SHA512 KDF, and the ChaCha20Poly1305 AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-X25519-SHA256-AES128GCM</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the DHKEM(X25519, HKDF-SHA256) KEM, the HKDF-SHA256 KDF, and the AES-128-GCM AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-X25519-SHA256-ChaCha20Poly1305</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the DHKEM(X25519, HKDF-SHA256) KEM, the HKDF-SHA256 KDF, and the ChaCha20Poly1305 AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-X448-SHA512-AES256GCM</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the DHKEM(X448, HKDF-SHA512) KEM, the HKDF-SHA512 KDF, and the AES-256-GCM AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-X448-SHA512-ChaCha20Poly1305</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the DHKEM(X448, HKDF-SHA512) KEM, the HKDF-SHA512 KDF, and the ChaCha20Poly1305 AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-X25519Kyber768-SHA256-AES256GCM</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the X25519Kyber768Draft00 Hybrid KEM, the HKDF-SHA256 KDF, and the AES-256-GCM AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-X25519Kyber768-SHA256-ChaCha20Poly1305</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the X25519Kyber768Draft00 Hybrid KEM, the HKDF-SHA256 KDF, and the ChaCha20Poly1305 AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-CP256-SHA256-ChaCha20Poly1305</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the DHKEM(CP-256, HKDF-SHA256) KEM, the HKDF-SHA256 KDF, and the ChaCha20Poly1305 AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name:HPKE-Base-CP384-SHA512-ChaCha20Poly1305</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE in Base Mode that uses the DHKEM(CP384, HKDF-SHA512) KEM, the HKDF-SHA512 KDF, and the AES256GCM AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-CP521-SHA512-ChaCha20Poly1305</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the DHKEM(CP-521, HKDF-SHA512) KEM, the HKDF-SHA512 KDF, and the ChaCha20Poly1305 AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-CP256-SHA256-AES128GCM</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE in Base Mode that uses the DHKEM(CP-256, HKDF-SHA256) KEM, the HKDF-SHA256 KDF and the AES128GCM AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-CP384-SHA512-AES256GCM</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE in Base Mode that uses the DHKEM(CP384, HKDF-SHA512) KEM, the HKDF-SHA512 KDF, and the AES256GCM AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-CP521-SHA512-AES256GCM</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE in Base Mode that uses the DHKEM(CP-521, HKDF-SHA512) KEM, the HKDF-SHA512 KDF, and the AES256GCM AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
        </ul>
      </section>
      <section anchor="jose-algorithms-registry-key-agreement-with-key-wrapping">
        <name>JOSE Algorithms Registry (Key Agreement with Key Wrapping)</name>
        <ul spacing="normal">
          <li>
            <t>Algorithm Name: HPKE-Base-P256-SHA256-AES128GCMKW</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the DHKEM(P-256, HKDF-SHA256) KEM, the HKDF-SHA256 KDF and Key wrapping with the AES-128-GCM AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-P256-SHA256-ChaCha20Poly1305KW</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the DHKEM(P-256, HKDF-SHA256) KEM, the HKDF-SHA256 KDF and Key wrapping with the ChaCha20Poly1305 AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-P384-SHA384-AES256GCMKW</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the DHKEM(P-384, HKDF-SHA384) KEM, the HKDF-SHA384 KDF, and Key wrapping with the AES-256-GCM AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-P384-SHA384-ChaCha20Poly1305KW</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the DHKEM(P-384, HKDF-SHA384) KEM, the HKDF-SHA384 KDF, and Key wrapping with the ChaCha20Poly1305 AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-P521-SHA512-AES256GCMKW</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the DHKEM(P-521, HKDF-SHA512) KEM, the HKDF-SHA512 KDF, and Key wrapping with the AES-256-GCM AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-P521-SHA512-ChaCha20Poly1305KW</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the DHKEM(P-521, HKDF-SHA512) KEM, the HKDF-SHA512 KDF, and Key wrapping with the ChaCha20Poly1305 AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-X25519-SHA256-AES128GCMKW</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the DHKEM(X25519, HKDF-SHA256) KEM, the HKDF-SHA256 KDF, and Key wrapping with the AES-128-GCM AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-X25519-SHA256-ChaCha20Poly1305KW</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the DHKEM(X25519, HKDF-SHA256) KEM, the HKDF-SHA256 KDF, and Key wrapping with the ChaCha20Poly1305 AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-X448-SHA512-AES256GCMKW</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the DHKEM(X448, HKDF-SHA512) KEM, the HKDF-SHA512 KDF, and Key wrapping with the AES-256-GCM AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-X448-SHA512-ChaCha20Poly1305KW</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the DHKEM(X448, HKDF-SHA512) KEM, the HKDF-SHA512 KDF, and Key wrapping with the ChaCha20Poly1305 AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-X25519Kyber768-SHA256-AES256GCMKW</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the X25519Kyber768Draft00 Hybrid KEM, the HKDF-SHA256 KDF, and Key wrapping with the AES-256-GCM AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-X25519Kyber768-SHA256-ChaCha20Poly1305KW</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the X25519Kyber768Draft00 Hybrid KEM, the HKDF-SHA256 KDF, and Key wrapping with the ChaCha20Poly1305 AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-CP256-SHA256-ChaCha20Poly1305KW</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the DHKEM(CP-256, HKDF-SHA256) KEM, the HKDF-SHA256 KDF, and Key wrapping with the ChaCha20Poly1305 AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-CP521-SHA512-ChaCha20Poly1305KW</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE version 1 in Base Mode that uses the DHKEM(CP-521, HKDF-SHA512) KEM, the HKDF-SHA512 KDF, and Key wrapping with the ChaCha20Poly1305 AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-CP256-SHA256-AES128GCMKW</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE in Base Mode that uses the DHKEM(CP-256, HKDF-SHA256) KEM, the HKDF-SHA256 KDF and Key wrapping with the AES128GCM AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-CP384-SHA512-AES256GCMKW</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE in Base Mode that uses the DHKEM(CP384, HKDF-SHA512) KEM, the HKDF-SHA512 KDF, and Key wrapping with the AES256GCM AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: HPKE-Base-CP521-SHA512-AES256GCMKW</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for JOSE-HPKE in Base Mode that uses the DHKEM(CP-521, HKDF-SHA512) KEM, the HKDF-SHA512 KDF, and Key wrapping with the AES256GCM AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
        </ul>
      </section>
      <section anchor="jose-header-parameters">
        <name>JOSE Header Parameters</name>
        <ul spacing="normal">
          <li>
            <t>Parameter Name: "encapsulated_key"</t>
          </li>
          <li>
            <t>Parameter Description: HPKE encapsulated key</t>
          </li>
          <li>
            <t>Parameter Information Class: Public</t>
          </li>
          <li>
            <t>Used with "kty" Value(s): "OKP"</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[This specification]]</t>
          </li>
        </ul>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="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="RFC7516">
          <front>
            <title>JSON Web Encryption (JWE)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Hildebrand" initials="J." surname="Hildebrand"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Encryption (JWE) represents encrypted content using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and IANA registries defined by that specification. Related digital signature and Message Authentication Code (MAC) capabilities are described in the separate JSON Web Signature (JWS) specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7516"/>
          <seriesInfo name="DOI" value="10.17487/RFC7516"/>
        </reference>
        <reference anchor="RFC7518">
          <front>
            <title>JSON Web Algorithms (JWA)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This specification registers cryptographic algorithms and identifiers to be used with the JSON Web Signature (JWS), JSON Web Encryption (JWE), and JSON Web Key (JWK) specifications. It defines several IANA registries for these identifiers.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7518"/>
          <seriesInfo name="DOI" value="10.17487/RFC7518"/>
        </reference>
        <reference anchor="RFC8037">
          <front>
            <title>CFRG Elliptic Curve Diffie-Hellman (ECDH) and Signatures in JSON Object Signing and Encryption (JOSE)</title>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document defines how to use the Diffie-Hellman algorithms "X25519" and "X448" as well as the signature algorithms "Ed25519" and "Ed448" from the IRTF CFRG elliptic curves work in JSON Object Signing and Encryption (JOSE).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8037"/>
          <seriesInfo name="DOI" value="10.17487/RFC8037"/>
        </reference>
        <reference anchor="RFC7517">
          <front>
            <title>JSON Web Key (JWK)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key. This specification also defines a JWK Set JSON data structure that represents a set of JWKs. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and IANA registries established by that specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7517"/>
          <seriesInfo name="DOI" value="10.17487/RFC7517"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8937">
          <front>
            <title>Randomness Improvements for Security Protocols</title>
            <author fullname="C. Cremers" initials="C." surname="Cremers"/>
            <author fullname="L. Garratt" initials="L." surname="Garratt"/>
            <author fullname="S. Smyshlyaev" initials="S." surname="Smyshlyaev"/>
            <author fullname="N. Sullivan" initials="N." surname="Sullivan"/>
            <author fullname="C. Wood" initials="C." surname="Wood"/>
            <date month="October" year="2020"/>
            <abstract>
              <t>Randomness is a crucial ingredient for Transport Layer Security (TLS) and related security protocols. Weak or predictable "cryptographically secure" pseudorandom number generators (CSPRNGs) can be abused or exploited for malicious purposes. An initial entropy source that seeds a CSPRNG might be weak or broken as well, which can also lead to critical and systemic security problems. This document describes a way for security protocol implementations to augment their CSPRNGs using long-term private keys. This improves randomness from broken or otherwise subverted CSPRNGs.</t>
              <t>This document is a product of the Crypto Forum Research Group (CFRG) in the IRTF.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8937"/>
          <seriesInfo name="DOI" value="10.17487/RFC8937"/>
        </reference>
        <reference anchor="RFC2630">
          <front>
            <title>Cryptographic Message Syntax</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="June" year="1999"/>
            <abstract>
              <t>This document describes the Cryptographic Message Syntax. This syntax is used to digitally sign, digest, authenticate, or encrypt arbitrary messages. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2630"/>
          <seriesInfo name="DOI" value="10.17487/RFC2630"/>
        </reference>
        <reference anchor="HPKE-IANA" target="https://www.iana.org/assignments/hpke/hpke.xhtml">
          <front>
            <title>Hybrid Public Key Encryption (HPKE) IANA Registry</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date year="2023" month="October"/>
          </front>
        </reference>
        <reference anchor="I-D.westerbaan-cfrg-hpke-xyber768d00-02">
          <front>
            <title>X25519Kyber768Draft00 hybrid post-quantum KEM for HPKE</title>
            <author fullname="Bas Westerbaan" initials="B." surname="Westerbaan">
              <organization>Cloudflare</organization>
            </author>
            <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
              <organization>Cloudflare</organization>
            </author>
            <date day="4" month="May" year="2023"/>
            <abstract>
              <t>   This memo defines X25519Kyber768Draft00, a hybrid post-quantum KEM,
   for HPKE (RFC9180).  This KEM does not support the authenticated
   modes of HPKE.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-westerbaan-cfrg-hpke-xyber768d00-02"/>
        </reference>
        <reference anchor="I-D.ietf-cose-hpke">
          <front>
            <title>Use of Hybrid Public-Key Encryption (HPKE) with CBOR Object Signing and Encryption (COSE)</title>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
         </author>
            <author fullname="Orie Steele" initials="O." surname="Steele">
              <organization>Transmute</organization>
            </author>
            <author fullname="Ajitomi, Daisuke" initials="A." surname="Daisuke">
         </author>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <date day="6" month="October" year="2023"/>
            <abstract>
              <t>   This specification defines hybrid public-key encryption (HPKE) for
   use with CBOR Object Signing and Encryption (COSE).  HPKE offers a
   variant of public-key encryption of arbitrary-sized plaintexts for a
   recipient public key.

   HPKE works for any combination of an asymmetric key encapsulation
   mechanism (KEM), key derivation function (KDF), and authenticated
   encryption with additional data (AEAD) function.  Authentication for
   HPKE in COSE is provided by COSE-native security mechanisms or by one
   of the authenticated variants of HPKE.

   This document defines the use of the HPKE with COSE.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-hpke-06"/>
        </reference>
      </references>
    </references>
    <?line 614?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This specification leverages text from <xref target="I-D.ietf-cose-hpke"/>. We would like to thank Matt Chanda, Ilari Liusvaara and Aaron Parecki for their feedback.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
e/Jk9emdR3Rm2xvGC817HNPV+XPXqvSJbLqvurS+vnnnHgk3/eaQbsWbO9ei
T2HRfdUhsjj7tuTu+aUvrU31jbfx+3pWVsra/I080z3TqIWcujvd+kyG3VP9
2vpPFom2blMlup+s8jllKxF/msu6AX9q9YebBxPGOP+V+VJTof9gcrv1Lbv9
VGv3ecntn2vcfOWxLfv7whHPqn1eWPfNnP355uyLc+RT66d/OZZc2Zi95mLo
p/Ro999+add0a/tHF8nd9YDylt39q/FdFZJ/NWy7pxHGwl7uXTDttp3Cy5Xt
fpUtrurvfj18u6/atihUuQuu3TZq+aZt1/eBvx6+3VNtu6Q3/OX59gltx2+x
5E36xV8R6+6rzi3qId8B227bovzm4K7vK381bLuvunZ1r/lLsu8zmpffNO82
/eevion3VA+v7El/eSP6CV3pb+y7aT/0Ttj3Lcv703ukn8i3L9AlvdTffeub
fkEu3bZzeimX/nKNu9v3Ur+gLv1pdcm/HJtcf3Xuc7XIwfKd5eD89wTUJtU4
RryZ/Rq02vQ978sHt/A7Tjr2b3DArDfKfZ2t+VL3f+IHhQ1V8TvcP4NQc5/T
B2qZP3/W5+EZfrK5G+K3vMQiGhKxgt879oPSIvpHY8BjJRofF37JQEzftDxE
4cNveKIvr7LfmIF/0bEVur9piV+O8VbYb6GkD7XTJ6B5csYOuNZ0tog32V7M
c8leyUKdcyAbiWaX57AVUFGEZ9J99Y7M2UCICE+Af2br/wATuzQp6nMAAA==

-->

</rfc>
