<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.4.4) -->
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-jose-hpke-encrypt-14" category="std" consensus="true" submissionType="IETF" updates="7516" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="Use of HPKE in JOSE">Use of Hybrid Public Key Encryption (HPKE) with JSON Object Signing and Encryption (JOSE)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-jose-hpke-encrypt-14"/>
    <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 abbrev="H-BRS">University of Applied Sciences Bonn-Rhein-Sieg</organization>
      <address>
        <postal>
          <country>Germany</country>
        </postal>
        <email>hannes.tschofenig@gmx.net</email>
      </address>
    </author>
    <author fullname="Aritra Banerjee">
      <organization>Nokia</organization>
      <address>
        <postal>
          <city>London</city>
          <country>United Kingdom</country>
        </postal>
        <email>aritra.banerjee@nokia.com</email>
      </address>
    </author>
    <author initials="O." surname="Steele" fullname="Orie Steele">
      <organization>Tradeverifyd</organization>
      <address>
        <postal>
          <country>United States</country>
        </postal>
        <email>orie@or13.io</email>
      </address>
    </author>
    <author initials="M." surname="Jones" fullname="Michael B. Jones">
      <organization>Self-Issued Consulting</organization>
      <address>
        <postal>
          <country>United States</country>
        </postal>
        <email>michael_b_jones@hotmail.com</email>
        <uri>https://self-issued.info/</uri>
      </address>
    </author>
    <date year="2025" month="November" day="02"/>
    <area>Security</area>
    <workgroup>JOSE</workgroup>
    <keyword>HPKE</keyword>
    <keyword>JOSE</keyword>
    <keyword>JWE</keyword>
    <keyword>Hybrid</keyword>
    <abstract>
      <?line 107?>

<t>This specification defines Hybrid Public Key Encryption (HPKE) for use with
JSON Object Signing and Encryption (JOSE). HPKE offers a variant of public key encryption
of arbitrary-sized plaintexts for a recipient public key, and provides security
against adaptive chosen ciphertext attacks (IND-CCA2-secure).</t>
      <t>HPKE also includes a variant that authenticates possession of a pre-shared key.
HPKE works for any combination of an asymmetric KEM, key derivation
function (KDF), and authenticated encryption with additional data
(AEAD) encryption function.</t>
      <t>This document defines the use of HPKE with JOSE.
The specification chooses a specific subset of the HPKE features to use with JOSE.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ietf-wg-jose.github.io/draft-ietf-jose-hpke-encrypt/draft-ietf-jose-hpke-encrypt.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-jose-hpke-encrypt/"/>.
      </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>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-wg-jose/draft-ietf-jose-hpke-encrypt"/>.</t>
    </note>
  </front>
  <middle>
    <?line 124?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Hybrid Public Key Encryption (HPKE) <xref target="I-D.ietf-hpke-hpke"/> is a public key encryption
(PKE) scheme that provides encryption of arbitrary-sized plaintexts given a
recipient's public key.</t>
      <t>This specification enables JSON Web Encryption (JWE) to leverage HPKE,
bringing support for KEMs and the possibility of Hybrid KEMs to JWE.</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), is defined in <xref target="RFC7517"/>.</t>
        </li>
        <li>
          <t>Hybrid Public Key Encryption (HPKE) is defined in <xref target="I-D.ietf-hpke-hpke"/>.</t>
        </li>
        <li>
          <t>pkR is the public key of the recipient, as defined in <xref target="I-D.ietf-hpke-hpke"/>.</t>
        </li>
        <li>
          <t>skR is the private key of the recipient, as defined in <xref target="I-D.ietf-hpke-hpke"/>.</t>
        </li>
        <li>
          <t>Key Encapsulation Mechanism (KEM), see <xref target="I-D.ietf-hpke-hpke"/>.</t>
        </li>
        <li>
          <t>Key Derivation Function (KDF), see <xref target="I-D.ietf-hpke-hpke"/>.</t>
        </li>
        <li>
          <t>Authenticated Encryption with Associated Data (AEAD), see <xref target="I-D.ietf-hpke-hpke"/> and <xref target="RFC7516"/>.</t>
        </li>
        <li>
          <t>Additional Authenticated Data (AAD), see <xref target="I-D.ietf-hpke-hpke"/> and <xref target="RFC7516"/>.</t>
        </li>
      </ul>
    </section>
    <section anchor="overview">
      <name>Overview</name>
      <t>This specification defines two modes of use for HPKE in JWE:</t>
      <ul spacing="normal">
        <li>
          <t>HPKE JWE Integrated Encryption, where HPKE is used to encrypt the plaintext.</t>
        </li>
        <li>
          <t>HPKE JWE Key Encryption, where HPKE is used to encrypt a content encryption key (CEK) and the CEK is subsequently used to encrypt the plaintext.</t>
        </li>
      </ul>
      <t>When "alg" is a JOSE-HPKE algorithm:</t>
      <ul spacing="normal">
        <li>
          <t>If "enc" is "int", HPKE JWE Integrated Encryption is used.</t>
        </li>
        <li>
          <t>If "enc" is an AEAD algorithm, the recipient Key Management mode is Key Encryption.</t>
        </li>
      </ul>
      <t>The HPKE KEM, KDF, and AEAD used depend on the JOSE-HPKE algorithm used. This HPKE AEAD is used internally by HPKE and is distinct from the AEAD algorithm specified in "enc".</t>
      <t>HPKE supports two modes, which are described in Table 1 of <xref target="I-D.ietf-hpke-hpke"/>.</t>
      <t>In JOSE-HPKE, both "mode_base" and "mode_psk" are supported.
When "psk_id" JOSE Header parameter is present the mode is "mode_psk", otherwise the mode is "mode_base".</t>
      <t>JWE supports different serializations, including Compact JWE Serialization as described in <xref section="3.1" sectionFormat="of" target="RFC7516"/>, General JWE JSON Serialization as described in <xref section="3.2" sectionFormat="of" target="RFC7516"/>.</t>
      <t>Certain JWE features are only supported in specific serializations.</t>
      <t>For example Compact JWE Serialization does not support the following:</t>
      <ul spacing="normal">
        <li>
          <t>additional authenticated data</t>
        </li>
        <li>
          <t>multiple recipients</t>
        </li>
        <li>
          <t>unprotected headers</t>
        </li>
      </ul>
      <t>HPKE JWE Key Encryption can be used with "aad" but only when not expressed with Compact JWE Serialization.</t>
      <t>Single recipient HPKE JWE Key Encryption with no "aad" can be expressed in Compact JWE Serialization, so long as the recipient and sender use the same HPKE Setup process as described in <xref section="5" sectionFormat="of" target="I-D.ietf-hpke-hpke"/>.</t>
      <t>This specification updates the "enc" definition in <xref section="4.1.2" sectionFormat="of" target="RFC7516"/>
by allowing the "enc" value "int" when the "alg" value is a JOSE-HPKE algorithm.
When "alg" is not a JOSE-HPKE algorithm and the "enc" value is "int",
the input <bcp14>MUST NOT</bcp14> be used and <bcp14>MUST</bcp14> be rejected.</t>
      <section anchor="auxiliary-authenticated-application-information">
        <name>Auxiliary Authenticated Application Information</name>
        <t>The HPKE "aad parameter" for Open() and Seal()
specified in <xref section="8.1" sectionFormat="of" target="I-D.ietf-hpke-hpke"/>
is used with both HPKE JWE Integrated Encryption and HPKE JWE Key Encryption.
Its value is the Additional Authenticated Data encryption parameter value
computed in Step 14 of <xref section="5.1" sectionFormat="of" target="RFC7516"/> (Message Encryption).</t>
      </section>
      <section anchor="encapsulated-keys">
        <name>Encapsulated Keys</name>
        <t>HPKE encapsulated key is defined in <xref section="5" sectionFormat="of" target="I-D.ietf-hpke-hpke"/>.</t>
        <t>In HPKE JWE Integrated Encryption, the JWE Encrypted Key of the sole recipient is the HPKE encapsulated key.</t>
        <t>In HPKE JWE Key Encryption, each recipient JWE Encrypted Key is the encrypted content encryption key, and the value of JOSE Header parameter "ek"
is base64url-encoded HPKE encapsulated key.</t>
      </section>
    </section>
    <section anchor="integrated-encryption">
      <name>Integrated Encryption</name>
      <t>In HPKE JWE Integrated Encryption:</t>
      <ul spacing="normal">
        <li>
          <t>The protected header <bcp14>MUST</bcp14> contain an "alg" that is JOSE-HPKE algorithm.</t>
        </li>
        <li>
          <t>The protected header <bcp14>MUST</bcp14> contain an "enc" with value "int". This is an explicit exception to requirement in <xref section="4.1.2" sectionFormat="of" target="RFC7516"/> that
"enc" must be an AEAD algorithm. This is appropriate, as HPKE will perform plaintext encryption.</t>
        </li>
        <li>
          <t>The protected header parameters "psk_id" <bcp14>MAY</bcp14> be present.</t>
        </li>
        <li>
          <t>The protected header parameter "ek" <bcp14>MUST NOT</bcp14> be present.</t>
        </li>
        <li>
          <t>There <bcp14>MUST</bcp14> be exactly one recipient.</t>
        </li>
        <li>
          <t>The JWE Encrypted Key <bcp14>MUST</bcp14> be encapsulated key, as defined in <xref section="5" sectionFormat="of" target="I-D.ietf-hpke-hpke"/>.</t>
        </li>
        <li>
          <t>The JWE Initialization Vector and JWE Authentication Tag <bcp14>MUST</bcp14> be the empty octet sequence.</t>
        </li>
        <li>
          <t>The JWE AAD <bcp14>MAY</bcp14> be present when using the JWE JSON Serialization.</t>
        </li>
        <li>
          <t>The JWE Ciphertext is the ciphertext defined in <xref section="5.2" sectionFormat="of" target="I-D.ietf-hpke-hpke"/>.</t>
        </li>
        <li>
          <t>The HPKE info parameter contains the encoding of the Recipient_structure, which is described in
<xref target="recipient_structure"/>.</t>
        </li>
        <li>
          <t>The HPKE aad parameter <bcp14>MUST</bcp14> be set to the "Additional Authenticated Data encryption parameter", as specified in Step 14 of <xref section="5.1" sectionFormat="of" target="RFC7516"/>.</t>
        </li>
        <li>
          <t>Then follow Steps 11-19 of <xref section="5.1" sectionFormat="of" target="RFC7516"/> (Message Encryption).</t>
        </li>
      </ul>
      <t>When decrypting, the checks in <xref section="5.2" sectionFormat="of" target="RFC7516"/>,
Steps 1 through 5 <bcp14>MUST</bcp14> be performed. The JWE Encrypted Key in Step 2 is the
base64url-encoded encapsulated key.</t>
      <section anchor="compact-example">
        <name>Compact Example</name>
        <t>Below is an example of a Compact JWE using HPKE integrated encryption:</t>
        <artwork><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

eyJhbGciOiAiSFBLRS0wIiwgImVuYyI6ICJpbnQiLCAia2lkIjogIkc1Tl9fQ3FNdl9r\
SkdpZUdTRnVBdWd2bDBqclFKQ1ozeUt3Vks2c1VNNG8ifQ.BIh6I40uiBbK8-\
UK7nHdo3ISEfgwJ_MF3zWjQzLt00GhFF2-\
1VgWKHSYLXdeVeRV7AinyocYiCYmISvW0yqiDmc..Ov-\
                                    llz6VUyiw8nZL0OPGLGZckLTm5UcTZFg.
]]></artwork>
        <t>The keys used for this example are in <xref target="keys-used"/>.</t>
      </section>
    </section>
    <section anchor="key-encryption">
      <name>Key Encryption</name>
      <t>When using the JWE JSON Serialization,
recipients using JOSE-HPKE can be added alongside other recipients
(e.g., those using <tt>ECDH-ES+A128KW</tt> or <tt>RSA-OAEP-256</tt>),
since HPKE is used to encrypt the Content Encryption Key,
which is then processed as specified in JWE.</t>
      <t>The encoding of the protected header remains consistent with existing JWE rules.</t>
      <t>In HPKE JWE Key Encryption:</t>
      <ul spacing="normal">
        <li>
          <t>The Key Management Mode is Key Encryption.</t>
        </li>
        <li>
          <t>When all recipients use the same HPKE algorithm to secure the Content Encryption Key, the JWE Protected Header <bcp14>SHOULD</bcp14> contain "alg".
Otherwise, the JWE Protected Header (and JWE Shared Unprotected Header) <bcp14>MUST NOT</bcp14> contain "alg".</t>
        </li>
        <li>
          <t>JOSE Header parameter "alg" <bcp14>MUST</bcp14> be a JOSE-HPKE algorithm.</t>
        </li>
        <li>
          <t>JOSE Header parameter "psk_id" <bcp14>MAY</bcp14> be present.</t>
        </li>
        <li>
          <t>JOSE Header parameter "ek" <bcp14>MUST</bcp14> be present and contain the base64url-encoded HPKE encapsulated key.</t>
        </li>
        <li>
          <t>Recipient JWE Encrypted Key <bcp14>MUST</bcp14> be the ciphertext from HPKE Encryption.</t>
        </li>
        <li>
          <t>The HPKE info parameter contains the encoding of the Recipient_structure, which is described in <xref target="recipient_structure"/>.</t>
        </li>
        <li>
          <t>The HPKE AAD parameter defaults to the empty string; externally provided information <bcp14>MAY</bcp14> be used instead.</t>
        </li>
        <li>
          <t>THE HPKE plaintext <bcp14>MUST</bcp14> be set to the CEK.</t>
        </li>
      </ul>
      <t>The processing of "enc", "iv", "tag", "aad", and "ciphertext" is as already defined in <xref target="RFC7516"/>.
Implementations process these parameters as defined in <xref target="RFC7516"/>;
no additional processing requirements are introduced by HPKE-based key encryption.</t>
      <section anchor="recipient_structure">
        <name>Recipient_structure</name>
        <t>The <tt>Recipient_structure</tt> is an input to the HPKE info parameter and provides context information used in key derivation. To ensure compactness and interoperability, this structure is encoded in a binary format. The encoding is as follows:</t>
        <artwork><![CDATA[
Recipient_structure = ASCII("JOSE-HPKE rcpt") ||
                      BYTE(255) ||
                      ASCII(content_encryption_alg) ||
                      BYTE(255) ||
                      recipient_extra_info
]]></artwork>
        <t>Where:</t>
        <ul spacing="normal">
          <li>
            <t>ASCII("JOSE-HPKE rcpt"): A fixed ASCII string identifying the context of the structure.</t>
          </li>
          <li>
            <t>BYTE(255): A separator byte (0xFF) used to delimit fields.</t>
          </li>
          <li>
            <t>ASCII(content_encryption_alg): Identifies the algorithm with which the HPKE-encrypted key <bcp14>MUST</bcp14> be used. Its
value <bcp14>MUST</bcp14> match the "enc" (encryption algorithm) header parameter in the JOSE Header. This field provides JWE context information to the key derivation process and serves two purposes:  </t>
            <ol spacing="normal" type="1"><li>
                <t>Ensures that derived key material is cryptographically domain-separated between the JWE HPKE integrated encryption and Key Encryption modes.</t>
              </li>
              <li>
                <t>Ensures that the derived key is bound to the selected content encryption algorithm.</t>
              </li>
            </ol>
          </li>
          <li>
            <t>BYTE(255): A separator byte (0xFF) used to delimit fields.</t>
          </li>
          <li>
            <t>recipient_extra_info: An octet string containing additional context information that the application
includes in the key derivation via the HPKE <tt>info</tt> parameter. Mutually known private information (a concept also utilized in <xref target="NIST.SP.800-56Ar3"/>) <bcp14>MAY</bcp14> be used in this input parameter. If no additional context information is provided, this field <bcp14>MUST</bcp14> be empty.</t>
          </li>
        </ul>
        <section anchor="example">
          <name>Example</name>
          <t>The Recipient_structure encoded in binary as specified in <xref target="recipient_structure"/>, and using the field values
(next_layer_alg = "A128GCM", recipient_extra_info = ""), results in the following byte sequence:</t>
          <artwork><![CDATA[
"JOSE-HPKE rcpt\xffA128GCM\xff"
]]></artwork>
          <t>The corresponding hexadecimal representation is:</t>
          <artwork><![CDATA[
4a4f53452d48504b452072637074ffa131323847434dff
]]></artwork>
          <t>This value is directly used as the HPKE <tt>info</tt> parameter.</t>
        </section>
      </section>
      <section anchor="json-example">
        <name>JSON Example</name>
        <t>Below is an example of a JWE using the JSON Serialization and HPKE key encryption:</t>
        <artwork><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

{
  "protected": "eyJlbmMiOiAiQTEyOEdDTSJ9",
  "ciphertext": "9AxOd65ROJY1cQ",
  "iv": "2u3NRi3CSr-x7Wuj",
  "tag": "1NKYSWVV4pw5thsq7t6m6Q",
  "recipients": [
    {
      "encrypted_key": "l9VRW1K5CA037fY2ZqVF4bDej413TaAtfjoe3k89-eI",
      "header": {
        "alg": "HPKE-0",
        "kid": "G5N__CqMv_kJGieGSFuAugvl0jrQJCZ3yKwVK6sUM4o",
        "ek": "BJl0V6KLl3HOAZbzFwiAL9eaYbFQPg7-\
             ROmIJpluIQjNS5zultZsC4rGhGzmW1GUWG8bzJUWLQtxFF9oze0AKhU"
      }
    }
  ]
}
]]></artwork>
        <t>The keys used for this example are in <xref target="keys-used"/>.</t>
      </section>
    </section>
    <section anchor="alg-mapping">
      <name>Mapping HPKE Keys to JWK for JOSE</name>
      <t>JWKs can be used to represent JOSE-HPKE private or public keys. For the algorithms defined in this document, the valid combinations of the
JWE Algorithm, "kty", and "crv" are shown in <xref target="ciphersuite-kty-crv"/>.</t>
      <figure anchor="ciphersuite-kty-crv">
        <name>JWK Types and Curves for JOSE-HPKE Ciphersuites</name>
        <artwork><![CDATA[
+---------------------+-----------------+
| JWE Algorithm       | JWK |           |
|                     | kty | crv       |
+---------------------+-----+-----------+
| HPKE-0, HPKE-7      | EC  | P-256     |
| HPKE-1              | EC  | P-384     |
| HPKE-2              | EC  | P-521     |
| HPKE-3, HPKE-4      | OKP | X25519    |
| HPKE-5, HPKE-6      | OKP | X448      |
+---------------------+-----+-----------+
]]></artwork>
      </figure>
      <section anchor="jwk-representation-of-a-jose-hpke-key-with-hpke-ciphersuite">
        <name>JWK Representation of a JOSE-HPKE Key with HPKE Ciphersuite</name>
        <t>The example below is a JWK representation of a JOSE-HPKE public and private key:</t>
        <artwork><![CDATA[
{
  "kty": "OKP",
  "crv": "X25519",
  "x": "3pPHgcHYVYpOpB6ISwHdoPRB6jNgd8mM4nRyyj4H3aE",
  "d": "nWGxne0tAiV8Hk6kcy4rN0wMskjl9yND0N3Xeho9n6g",
  "kid": "recipient-key-1",
  "alg": "HPKE-3",
  "key_ops": "encrypt"
}
]]></artwork>
        <t>It uses the "key_ops" value of "encrypt",
which is appropriate when using integrated encryption.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This specification is based on HPKE and the security considerations of
<xref target="I-D.ietf-hpke-hpke"/> 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.</t>
      <t>HPKE relies on a source of randomness being available on the device.
In Key Agreement with Key Wrapping mode, the CEK has to be randomly generated.
The guidance on randomness in <xref target="RFC4086"/> applies.</t>
      <section anchor="key-management">
        <name>Key Management</name>
        <t>A single KEM key <bcp14>MUST NOT</bcp14> be used with multiple KEM algorithms.
Each key and its associated algorithm suite, comprising the KEM, KDF, and AEAD,
should be managed independently.
This separation prevents unintended interactions or vulnerabilities between algorithms,
ensuring the integrity and security guarantees of each algorithm are preserved.
Additionally, the same key should not be used for both key encryption and integrated encryption, as it may introduce security risks.
It creates algorithm confusion, increases the potential for key leakage, cross-suite attacks, and improper handling of the key.</t>
      </section>
      <section anchor="review-jwt-best-current-practices">
        <name>Review JWT Best Current Practices</name>
        <t>The guidance in <xref target="RFC8725"/> about encryption is also pertinent to this specification.</t>
      </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 a group of algorithms, often sharing component algorithms such as hash functions, targeting a security level.
A JOSE-HPKE algorithm makes choices for the following HPKE parameters:</t>
      <ul spacing="normal">
        <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 chosen from the IANA HPKE registry <xref target="IANA.HPKE"/>.</t>
      <t>All JOSE-HPKE algorithm identifiers registered by this specification begin with the string "HPKE-".
Future JOSE-HPKE ciphersuite names registered <bcp14>MUST</bcp14> also follow this convention.</t>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <section anchor="json-web-signature-and-encryption-algorithms">
        <name>JSON Web Signature and Encryption Algorithms</name>
        <t>The following entries are added to the IANA "JSON Web Signature and Encryption Algorithms" registry <xref target="IANA.JOSE"/>:</t>
        <section anchor="hpke-0">
          <name>HPKE-0</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-0</t>
            </li>
            <li>
              <t>Algorithm Description: Cipher suite for JOSE-HPKE using 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: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="alg-mapping"/> of this specification</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-hpke"/></t>
            </li>
          </ul>
        </section>
        <section anchor="hpke-1">
          <name>HPKE-1</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-1</t>
            </li>
            <li>
              <t>Algorithm Description: Cipher suite for JOSE-HPKE using 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: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="alg-mapping"/> of this specification</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-hpke"/></t>
            </li>
          </ul>
        </section>
        <section anchor="hpke-2">
          <name>HPKE-2</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-2</t>
            </li>
            <li>
              <t>Algorithm Description: Cipher suite for JOSE-HPKE using 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: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="alg-mapping"/> of this specification</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-hpke"/></t>
            </li>
          </ul>
        </section>
        <section anchor="hpke-3">
          <name>HPKE-3</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-3</t>
            </li>
            <li>
              <t>Algorithm Description: Cipher suite for JOSE-HPKE using 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: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="alg-mapping"/> of this specification</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-hpke"/></t>
            </li>
          </ul>
        </section>
        <section anchor="hpke-4">
          <name>HPKE-4</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-4</t>
            </li>
            <li>
              <t>Algorithm Description: Cipher suite for JOSE-HPKE using 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: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="alg-mapping"/> of this specification</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-hpke"/></t>
            </li>
          </ul>
        </section>
        <section anchor="hpke-5">
          <name>HPKE-5</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-5</t>
            </li>
            <li>
              <t>Algorithm Description: Cipher suite for JOSE-HPKE using 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: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="alg-mapping"/> of this specification</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-hpke"/></t>
            </li>
          </ul>
        </section>
        <section anchor="hpke-6">
          <name>HPKE-6</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-6</t>
            </li>
            <li>
              <t>Algorithm Description: Cipher suite for JOSE-HPKE using 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: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="alg-mapping"/> of this specification</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-hpke"/></t>
            </li>
          </ul>
        </section>
        <section anchor="hpke-7">
          <name>HPKE-7</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-7</t>
            </li>
            <li>
              <t>Algorithm Description: Cipher suite for JOSE-HPKE using the DHKEM(P-256, HKDF-SHA256) KEM, the HKDF-SHA256 KDF and the A256GCM AEAD</t>
            </li>
            <li>
              <t>Algorithm Usage Location(s): "alg"</t>
            </li>
            <li>
              <t>JOSE Implementation Requirements: Optional</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="alg-mapping"/> of this specification</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-hpke"/></t>
            </li>
          </ul>
        </section>
        <section anchor="int">
          <name>int</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: int</t>
            </li>
            <li>
              <t>Algorithm Description: Indicates that HPKE Integrated Encryption is being used</t>
            </li>
            <li>
              <t>Algorithm Usage Location(s): "enc"</t>
            </li>
            <li>
              <t>JOSE Implementation Requirements: Required</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="overview"/> of this specification</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-hpke"/></t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="json-web-signature-and-encryption-header-parameters">
        <name>JSON Web Signature and Encryption Header Parameters</name>
        <t>The following entries are added to the IANA "JSON Web Key Parameters" registry <xref target="IANA.JOSE"/>:</t>
        <section anchor="ek">
          <name>ek</name>
          <ul spacing="normal">
            <li>
              <t>Header Parameter Name: "ek"</t>
            </li>
            <li>
              <t>Header Parameter Description: A base64url-encoded encapsulated key, as defined in <xref section="5" sectionFormat="of" target="I-D.ietf-hpke-hpke"/></t>
            </li>
            <li>
              <t>Header Parameter Usage Location(s): JWE</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="encapsulated-keys"/> of this specification</t>
            </li>
          </ul>
        </section>
        <section anchor="pskid">
          <name>psk_id</name>
          <ul spacing="normal">
            <li>
              <t>Header Parameter Name: "psk_id"</t>
            </li>
            <li>
              <t>Header Parameter Description: A base64url-encoded key identifier (kid) for the pre-shared key, as defined in <xref section="5.1.2" sectionFormat="of" target="I-D.ietf-hpke-hpke"/></t>
            </li>
            <li>
              <t>Header Parameter Usage Location(s): JWE</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="overview"/> of this specification</t>
            </li>
          </ul>
        </section>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-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="I-D.ietf-hpke-hpke">
          <front>
            <title>Hybrid Public Key Encryption</title>
            <author fullname="Richard Barnes" initials="R." surname="Barnes">
              <organization>Cisco</organization>
            </author>
            <author fullname="Karthikeyan Bhargavan" initials="K." surname="Bhargavan">
              <organization>Inria</organization>
            </author>
            <author fullname="Benjamin Lipp" initials="B." surname="Lipp">
              <organization>Inria</organization>
            </author>
            <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
              <organization>Apple</organization>
            </author>
            <date day="24" month="June" year="2025"/>
            <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 a variant that authenticates possession of a pre-shared key.
   HPKE works for any combination of an asymmetric KEM, key derivation
   function (KDF), and authenticated encryption with additional data
   (AEAD) encryption function.  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>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-hpke-hpke-01"/>
        </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="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>
        <reference anchor="RFC7156">
          <front>
            <title>Diameter Support for Proxy Mobile IPv6 Localized Routing</title>
            <author fullname="G. Zorn" initials="G." surname="Zorn"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <author fullname="J. Korhonen" initials="J." surname="Korhonen"/>
            <date month="April" year="2014"/>
            <abstract>
              <t>In Proxy Mobile IPv6, packets received from a Mobile Node (MN) by the Mobile Access Gateway (MAG) to which it is attached are typically tunneled to a Local Mobility Anchor (LMA) for routing. The term "localized routing" refers to a method by which packets are routed directly between an MN's MAG and the MAG of its Correspondent Node (CN) without involving any LMA. In a Proxy Mobile IPv6 deployment, it may be desirable to control the establishment of localized routing sessions between two MAGs in a Proxy Mobile IPv6 domain by requiring that the session be authorized. This document specifies how to accomplish this using the Diameter protocol.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7156"/>
          <seriesInfo name="DOI" value="10.17487/RFC7156"/>
        </reference>
        <reference anchor="RFC8725">
          <front>
            <title>JSON Web Token Best Current Practices</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="D. Hardt" initials="D." surname="Hardt"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>JSON Web Tokens, also known as JWTs, are URL-safe JSON-based security tokens that contain a set of claims that can be signed and/or encrypted. JWTs are being widely used and deployed as a simple security token format in numerous protocols and applications, both in the area of digital identity and in other application areas. This Best Current Practices document updates RFC 7519 to provide actionable guidance leading to secure implementation and deployment of JWTs.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="225"/>
          <seriesInfo name="RFC" value="8725"/>
          <seriesInfo name="DOI" value="10.17487/RFC8725"/>
        </reference>
        <reference anchor="RFC7638">
          <front>
            <title>JSON Web Key (JWK) Thumbprint</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="September" year="2015"/>
            <abstract>
              <t>This specification defines a method for computing a hash value over a JSON Web Key (JWK). It defines which fields in a JWK are used in the hash computation, the method of creating a canonical form for those fields, and how to convert the resulting Unicode string into a byte sequence to be hashed. The resulting hash value can be used for identifying or selecting the key represented by the JWK that is the subject of the thumbprint.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7638"/>
          <seriesInfo name="DOI" value="10.17487/RFC7638"/>
        </reference>
        <reference anchor="IANA.JOSE" target="https://www.iana.org/assignments/jose">
          <front>
            <title>JSON Web Signature and Encryption Algorithms</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC4086">
          <front>
            <title>Randomness Requirements for Security</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="J. Schiller" initials="J." surname="Schiller"/>
            <author fullname="S. Crocker" initials="S." surname="Crocker"/>
            <date month="June" year="2005"/>
            <abstract>
              <t>Security systems are built on strong cryptographic algorithms that foil pattern analysis attempts. However, the security of these systems is dependent on generating secret quantities for passwords, cryptographic keys, and similar quantities. The use of pseudo-random processes to generate secret quantities can result in pseudo-security. A sophisticated attacker may find it easier to reproduce the environment that produced the secret quantities and to search the resulting small set of possibilities than to locate the quantities in the whole of the potential number space.</t>
              <t>Choosing random quantities to foil a resourceful and motivated adversary is surprisingly difficult. This document points out many pitfalls in using poor entropy sources or traditional pseudo-random number generation techniques for generating such quantities. It recommends the use of truly random hardware techniques and shows that the existing hardware on many systems can be used for this purpose. It provides suggestions to ameliorate the problem when a hardware solution is not available, and it gives examples of how large such quantities need to be for some applications. 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="106"/>
          <seriesInfo name="RFC" value="4086"/>
          <seriesInfo name="DOI" value="10.17487/RFC4086"/>
        </reference>
        <reference anchor="I-D.ietf-cose-dilithium">
          <front>
            <title>ML-DSA for JOSE and COSE</title>
            <author fullname="Michael Prorock" initials="M." surname="Prorock">
              <organization>Tradeverifyd</organization>
            </author>
            <author fullname="Orie Steele" initials="O." surname="Steele">
              <organization>Tradeverifyd</organization>
            </author>
            <date day="14" month="October" year="2025"/>
            <abstract>
              <t>   This document specifies JSON Object Signing and Encryption (JOSE) and
   CBOR Object Signing and Encryption (COSE) serializations for Module-
   Lattice-Based Digital Signature Standard (ML-DSA), a Post-Quantum
   Cryptography (PQC) digital signature scheme defined in US NIST FIPS
   204.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-dilithium-10"/>
        </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">
              <organization>University of Applied Sciences Bonn-Rhein-Sieg</organization>
            </author>
            <author fullname="Orie Steele" initials="O." surname="Steele">
              <organization>Transmute</organization>
            </author>
            <author fullname="Ajitomi, Daisuke" initials="A." surname="Daisuke">
              <organization>bibital</organization>
            </author>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <date day="19" month="October" year="2025"/>
            <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 is a general encryption framework utilizing an asymmetric key
   encapsulation mechanism (KEM), a key derivation function (KDF), and
   an Authenticated Encryption with Associated Data (AEAD) algorithm.

   This document defines the use of HPKE with COSE.  Authentication for
   HPKE in COSE is provided by COSE-native security mechanisms or by the
   pre-shared key authenticated variant of HPKE.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-hpke-18"/>
        </reference>
        <reference anchor="IANA.HPKE" target="https://www.iana.org/assignments/hpke">
          <front>
            <title>Hybrid Public Key Encryption (HPKE)</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="NIST.SP.800-56Ar3" target="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Ar3.pdf">
          <front>
            <title>Recommendation for Pair-Wise Key-Establishment Schemes Using Discrete Logarithm Cryptography, NIST Special Publication 800-56A Revision 3</title>
            <author>
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date year="2018" month="April"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 564?>

<section anchor="keys-used">
      <name>Keys Used in Examples</name>
      <t>This private key and its implied public key are used the examples:</t>
      <sourcecode type="text"><![CDATA[
{
  "kty": "EC",
  "use": "enc",
  "alg": "HPKE-0",
  "kid": "G5N__CqMv_kJGieGSFuAugvl0jrQJCZ3yKwVK6sUM4o",
  "crv": "P-256",
  "x": "gixQJ0qg4Ag-6HSMaIEDL_zbDhoXavMyKlmdn__AQVE",
  "y": "ZxTgRLWaKONCL_GbZKLNPsW9EW6nBsN4AwQGEFAFFbM",
  "d": "g2DXtKapi2oN2zL_RCWX8D4bWURHCKN2-ZNGC05ZaR8"
}
]]></sourcecode>
    </section>
    <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,
Neil Madden,
Aaron Parecki,
Filip Skokan,
and
Sebastian Stenzel
for their contributions to the specification.</t>
    </section>
    <section numbered="false" anchor="document-history">
      <name>Document History</name>
      <t>-14</t>
      <ul spacing="normal">
        <li>
          <t>Add HPKE-7</t>
        </li>
        <li>
          <t>Update to Recipient_structure</t>
        </li>
        <li>
          <t>Removed text related to apu and apv.</t>
        </li>
        <li>
          <t>Updated description of mutually known private information.</t>
        </li>
      </ul>
      <t>-13</t>
      <ul spacing="normal">
        <li>
          <t>Removed orphan text about AKP kty field</t>
        </li>
        <li>
          <t>Fixed bug in "include-fold" syntax</t>
        </li>
        <li>
          <t>Switched reference from RFC 9180 to
draft-ietf-hpke-hpke</t>
        </li>
        <li>
          <t>Editorial improvements to abstract and
introduction.</t>
        </li>
        <li>
          <t>Removed Section 8.2 "Static Asymmetric
Authentication in HPKE"</t>
        </li>
      </ul>
      <t>-12</t>
      <ul spacing="normal">
        <li>
          <t>Added the recipient_structure</t>
        </li>
      </ul>
      <t>-11</t>
      <ul spacing="normal">
        <li>
          <t>Fix too long lines</t>
        </li>
      </ul>
      <t>-10</t>
      <ul spacing="normal">
        <li>
          <t>Addressed WGLC review comments by Neil Madden and Sebastian Stenzel.</t>
        </li>
      </ul>
      <t>-09</t>
      <ul spacing="normal">
        <li>
          <t>Corrected examples.</t>
        </li>
      </ul>
      <t>-08</t>
      <ul spacing="normal">
        <li>
          <t>Use "enc":"int" for integrated encryption.</t>
        </li>
        <li>
          <t>Described reasons for excluding authenticated HPKE.</t>
        </li>
        <li>
          <t>Stated that mutually known private information <bcp14>MAY</bcp14> be used as the HPKE info value.</t>
        </li>
      </ul>
      <t>-07</t>
      <ul spacing="normal">
        <li>
          <t>Clarifications</t>
        </li>
      </ul>
      <t>-06</t>
      <ul spacing="normal">
        <li>
          <t>Remove auth mode and auth_kid from the specification.</t>
        </li>
        <li>
          <t>HPKE AAD for JOSE HPKE Key Encryption is now empty.</t>
        </li>
      </ul>
      <t>-05</t>
      <ul spacing="normal">
        <li>
          <t>Removed incorrect text about HPKE algorithm names.</t>
        </li>
        <li>
          <t>Fixed #21: Comply with NIST SP 800-227 Recommendations for Key-Encapsulation Mechanisms.</t>
        </li>
        <li>
          <t>Fixed #19: Binding the Application Context.</t>
        </li>
        <li>
          <t>Fixed #18: Use of apu and apv in Recipient context.</t>
        </li>
        <li>
          <t>Added new Section 7.1 (Authentication using an Asymmetric Key).</t>
        </li>
        <li>
          <t>Updated Section 7.2 (Key Management) to prevent cross-protocol attacks.</t>
        </li>
        <li>
          <t>Updated HPKE Setup info parameter to be empty.</t>
        </li>
        <li>
          <t>Added details on HPKE AEAD AAD, compression and decryption for HPKE Integrated Encryption.</t>
        </li>
      </ul>
      <t>-04</t>
      <ul spacing="normal">
        <li>
          <t>Fixed #8: Use short algorithm identifiers, per the JOSE naming conventions.</t>
        </li>
      </ul>
      <t>-03</t>
      <ul spacing="normal">
        <li>
          <t>Added new section 7.1 to discuss Key Management.</t>
        </li>
        <li>
          <t>HPKE Setup info parameter is updated to carry JOSE context-specific data for both modes.</t>
        </li>
      </ul>
      <t>-02</t>
      <ul spacing="normal">
        <li>
          <t>Fixed #4: HPKE Integrated Encryption "enc: dir".</t>
        </li>
        <li>
          <t>Updated text on the use of HPKE Setup info parameter.</t>
        </li>
        <li>
          <t>Added Examples in Sections 5.1, 5.2 and 6.1.</t>
        </li>
        <li>
          <t>Use of registered HPKE  "alg" value in the recipient unprotected header for Key Encryption.</t>
        </li>
      </ul>
      <t>-01</t>
      <ul spacing="normal">
        <li>
          <t>Apply feedback from call for adoption.</t>
        </li>
        <li>
          <t>Provide examples of auth and psk modes for JSON and Compact Serializations</t>
        </li>
        <li>
          <t>Simplify description of HPKE modes</t>
        </li>
        <li>
          <t>Adjust IANA registration requests</t>
        </li>
        <li>
          <t>Remove HPKE Mode from named algorithms</t>
        </li>
        <li>
          <t>Fix AEAD named algorithms</t>
        </li>
      </ul>
      <t>-00</t>
      <ul spacing="normal">
        <li>
          <t>Created initial working group version from draft-rha-jose-hpke-encrypt-07</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+082VbjSLLv+oq8roeBbtvljXWmZ9oYA2YvzNJV03MoWUrb
iWVJpZQAQzHfcr/lftmNiExttkzRy5x+mOZwwJYyIyMjImPLyKxUKkYoQodv
s9KV5MwbsoPZIBA2O48GjrDYEZ+xrmsFMz8UnstWDs6PuqvsQYRjdtg/O2Vn
gztuhawvRq5wR8x07Vzzw7N+d7VkmINBwO8zYwAUJlyGr0uGZYZ85AWzbSZD
24h8G77LbbaxVl83DNuzXHMK+NmBOQwrgofDyp0neWXsT3iFq7Eq9ZYho8FU
SAnDhjMf2ve6l3uGG00HPNg2EOS2YXmu5K6MAHgYRNwAjJqGGXATMOtzKwpE
OCsZD14wGQVe5MNTheCEz+ChvW2wCqGO//EN/b+hf4pqhnHP3QhGYiyGgLiW
4LtCqnQDwJFQ+/gan09N4ehmP+Lkql4wwudmYI3h+TgMfbn9/j02w0finlfj
Zu/xwftB4D1I/h4BvMeOI+BNNICuRKqHEVHr/WvUw14O0jzMDJjtXVUwq8J7
Fc6rL6vjcOqUDEOGICO3puO5QI4Zl4Yvttk/Q88qM+kFYcCHEj7NpvpDGAgr
LDPLm065G8ITkIep6ftAw38ZhhmFYy9AvsAUGBtGjqOE5VIE0dR0uHwwA3bB
bXtGDYBopiueTBTObXbqTYRJzy1g/DbbMd0RIBZwehbwEbU6MgPXDM2JbulF
boii2nNt3ZlrFk481w5F8OMIv1cBY5jtAmIHputyyS6lNfaG3BWjAryuXOBy
IAEnXCtt33cEt1nfEkBK6LvjuW7lYsyFW+kLrgDEC+ygsnPRzyO6z4Op6c5y
qI4Ji2qYYAFIP1ZdHhah3IZlEZhIHR7ccf4GQh4DJTw3jwZMKoRZHAHjbG+a
w8akAaoDPcCPLoLLE1C4sGbPqqwfcu4oFBRyZ4Hg2ad5xC4D0+ZASzGc2dkh
Pej1oxfUmyDShWj2Q1wP+eFPquwQpFZmRj8R1tjkDtvJvsqj0OfOsNKTMgKo
HdA/kRMCCbLITBWQ28HtHcL4ceyFsQRRM1BL2yxelhLBCQJXFe7Qe/8q+q4H
vA9BmlAjXex1GvX6lv64Wd9o4cdeZZcUilqs+Ec3QPWbftxMP27EH+trcYPN
jcZa/HS9SW177dN2FZXkNmHIkqWqf4BK29RIPdFGiGzKDR+QQTHDKODzJqXt
gKkAdTSVuqMZjHiYEujh4aEqTNdUChLswcglzUEK0jCQZnmatGqb6zlCWKi6
bOHAICKaLr5SNIqniPbgF03xDfb1F84MEUJ8Tnv9y2r/vLpZq1XW1ttB8zW8
Tkk+TQcUmQTMopAMcx+1sxnYksh+ya2x6zneaJabwQVX6tgmEAwIys5NEVRu
BFh3mFClC0oeZifHiB8orjGfgt66kmj4doW0Ag6jHXsjkxjJOjh7bxSY/nhW
plmwvs8tAcgpKqlx9LRg+HuBZh5sdyGd3HvHjway6goZVkfe/Xv8gE/ea6gZ
oPL9AtGqvj1UgMlpAP0bCIc1avVNw6iAu0R/QeGCaTKtEL5ejoVkEkEPY1Rt
PhSo5t/iSyH5IiAc+lTGm32qqvKhvOEQLAUz2T3Q0gRiAw99NRo4LYwn3Qx4
YQYDVLTBrCLFE2gJ3zGFG/LHUBISJpg8S/gCeZbCKNP4fuDdCxtmJLWbZJgj
6CxDZtqmj6uJgSkB5wosgD/mAUJlZhia1kSyld7pbqXTaTcq1JuvVg2DsDcd
6YFutZwIQaeTCMdmSFILqCBJ4aXvScnJu8MpmoAQr8gx+G42IllV8NBz03Nx
Z+gzDISrGIJ9XGaCXzHl6FKwo+5JmUhkg3W4p0bGMHItReKj3b1VNfEsFnaG
nsoFNm1b6GUEwmIaK+1ue3c12yyGWdVyAu5LRKsiFhEAT+yPvWLlWgOLq9CB
z8kV0BiIjKSKnzNweyUnviMkAjHkpDkBtpdIlgaphHcqbBvspfEOFn8YeHZE
KAJT3iCuz8+LFuPlhQlEqljyVqifJC2gWJtIU4ZQr8vnCCQM+GckEvoXmRmt
WrgIuQtKCAZJbEpuEd0ATkAfB90Dc6QoVzZg/u4IF52MfB/cURImkBWlD5HC
KIhigNZhlomWqAmAA7BVpCtY+nsUG9Aw1HMXuU2iIg3iK9IIYwrJSidX/ctS
Wf1np2f0+aL74ap30d3Fz/2D9vFx8sHQLfoHZ1fHu+mntGfn7OSke7qrOsNT
lntklE7aH0tKuEtn55e9s9P2cQmDsTAnn7C0cEIDzpAHgY86G5aDNIBvViAG
8AX67HTO/+9/6y2Qiv/R7gXIgvqCDgZ8eYDlo0bzXGemvwIhQYP4PgfvHKCY
jsMs0xchKARoC4wcew8uAz3CgZrf/RMp869t9reB5ddbf9cPcMK5hzHNcg+J
ZotPFjorIhY8KhgmoWbu+Ryl8/i2P+a+x3TPPPzbPxzQB6xS3/zH340iEboE
P15oa1wk7pHU2mToOY73QJaDogJhpkCAk1MJzksFwYfI58yiwAW/0ukegepD
SSAFRVx+ftae38tL1ai8yarNAyhSGgjLn1xgW1pZqfbQ2ixZ7SQUb4InM/BI
sfPfCFBPz/TBc1eEPgGvCBx8OQU70T0BYknOvwFgNzEybG/OyLzeuZ0zP905
89OW0gOHBl/tgvlhyvy8BpOEIGbnuh4jNWL54TTMXwwShPcMtOq94A/s+Z2n
P7686imFDx6bemgTgFVotFDxJmmimy453N8x9Qi+o+Xi4DLmyVJG/RJoMwhj
ASAbtZi2M0osYqtSnYOYF+RvgTLBv1ArKGPEJvEKSswFfMHeZKW/RNAcdOA3
sDJugAcQFTujkjKraLor2mHSwY8mR2/ISgCF2pWgP+j11wkUz6S60B3cI5Se
dIhyfsUQeU4g/Bhxsg/ILOyXp1pVWTdCglwsEHKl/Qk4zdzmPidzQAMUTE5h
yEha6A31jXlA5giEFQg5mKn3CB8VDvj54E2C0Q68KQHPzygWPbXkaeaxJ6rN
fUYOkf8QmJMdzJm8S/QqWB3ldNm6NXpuOq8yG3iwVksI9XZgSl5Stpe++3JS
oiE0AsgZxX54cyvsEsFhB9wEP5X5ZmCC/wqfYLZgkSV3lfTEzEiBlhkMyoMH
DMkWWxAagCfKSTJ1W2AwgSAlqCvT0SkMoIRy0dGidLypD1EPCVg/20rp0wyZ
np/7XCm6ZpWIlSiIMtvnLjhdDkEh7+ztoBo5UDCFDgQbptIRqeOLFCV3IyEr
wkl95tz8AMgeKBv+aE594OzyKdoegHa9MHEOc9aWrGomIMhHDhQegOeN6R8c
JVlXEp5GLnjEIcwRGo6J1VLL5aJeAkfJRa+M1gJZgZJpgpwMojD1sAhL/ogi
kjRbOi+Yfx/wzyK1TCkqSK6nx9SopAMBkZcOg/ld5njolsg51YLrAWQZRTzS
8ipB0BUWfR5GPoYMFozximysoWQsWY9F7pLaZqDBlBK0Ex89D7hVrc+JnQGK
x4ydrBTAvelEXOlhxQV6RXpcvVqmzatzKh+5V9gwMSvZARPdb+Ab4fogCbGD
nEgKdqSHAyT8HckaWup3YPMfIZqBqGvO+lPeWROrF2fNMEpMFDwKQaqTSmSy
z0C3ryjz1+ems7Jq5JRuStVNpRWKGGbEqp6kjbTnN6waDrdEZKtGD3RbQimy
Cq86PBlznupb6m9YINuRVib9kPsMIh8yA4kMzqk6tnICQovhZYrQqiJ76lNi
VpzPJLhKPPOsAr6EfNFqIPuCnIx59/otiwCM0re8JzLI8Fo/U5jFzrP0cipC
E7MQv7nR5j0rboJhTSEtjqhh8+Rhsa9VTtaD4i8gWmwuS3xSQqlCu7feigIH
d6XAENpL0X9XTKI3UJHswCXFH3mdrtYfzgTtlRmvd8qIAG6FeuGtkEgd0HLJ
KCHtQinnDpQ0LGeBZsHiioLgggbglIpAeXTfUHqEqKFGmkYyRE2y4DRmhvQB
awjBgDoUbOnkFkT6Pg9Qm6Qub4arS2ec8FKmrhFE1YiEdoS+3ZXEIKca813B
aYhVJDgDFrrqnpsR+XiERXlNus0J0mKY+YaFmg7SQ3OU+h/X0Jdymza9zegu
fHtpjhI8aPFMfUxRASXQocPYw+JZ4BDXzVFQGa1Ixlat2D3LwuikyV69ZDPp
3+J5K6l6beY66ht6Gc5pWU/UgkfeqFZMFzGDbmUYRBa6gLH3LvLuAkQ9z8/B
YvO5wXN2LSEqpllhyZD5/eUmpKQSW1lj+CYTohFztaNJnSSr1yv1rV9ne8jV
sLl65I6U0rfGHDP1RaxK/XZDjw09Ai8ajUGIY9roNa3CtqIVEk+3oQXFWFTF
RVr4XeJPdpV7bhg7HMkQKzXls9OWQNbzVEKsJSlR0jyrpP/9738bP+R/UC10
t9lffv4Lo2TcQ6AqDXB6SAe2ubHVYHOdfjAMPjscD/YtcSbaor+3c3zRrz30
xMOoN72OPs56673OoT9wP4jjTluYDWfSu/NGvYlVv3S2hh+ae6e2sxX8bPQn
tv/pyr68cK937Bu7Mdjd+WI5e0cf6t4Tvwqb1xPZsOrXp6f7m2L4obrTG6/3
WrVI7AyONis/G1dHG+6B7TV7/e5w9HB4e7LXfLq5+/B0HNZq++O9vQa0qV+P
bo4O+h+Pf7L5Nb+43mgLd+ZZH0Xn47TXv7+pzb6I3alVrZ7dQ2v2hh/HeVq/
vpqJh03303Ht7Hz/eP+TNTm+nK5dWZef9kZVonOc8tZ+HTqKlG2O+YfxGske
tqlgG51HynsOWni/paHK6TaB1I1T46pjFgjU0CvGeEQKCI0pWs5GZSu8Oqri
4vAk10A+dzu7B5Vu//t2vbF5dPOZwTQ+X/TblbN297zSWFv/vFo2oKX1egKq
OPNaNhKNhfokDngo555XG2qP4bJAES6YvgBLDEBrYuGTkDQqOQn8kVIlIyJg
EDlcvuqxJS7NXA7oZEkOqMKIT5jWz3FiPrRL4xogkdobfI1CCcvPk3lqT0+n
6mOPiByrqnEWZ0Be6bkSW9O+2ky8yoTiqslq6jHMwa8s8zbJr4tV45KIb2nn
5d7Nct821cPakuOsYmxx7m92fCupNX3Fz5mz9JRvI4DdBU/uP2jN32TL0c1J
RwafxIycUMaGXDlJWGXmjv4KyyJJLeotSpuJNPSNWaLTkLCeTJvGOuiqsVKP
tsBn6HSP9LLVS1vPmTzqMnjs9/g3NEf4D9Mreo8upbPK08KvE8DIs6IdGnIY
eqhTcYHqjZ84dwJYwBLMeNLzzmkC46+G62VzWRmMMxGD1HpbbSEDEJ2PraC0
2XPbwMqaFzAX4t4iLipSfS7o8Fkbf5Xp0NQtErNc4QJFkOinZvipGTlXBwAu
DCpsibhZyqdwKfXk6uSzB+6AqbaAy8qOpZMRksUrDEMzhhUIwYypMZVzlAi8
4qby66T2SIoI9ANr9zu93kopVSSB5YelVfb16xIjvfPxsrvSWFt7pYmCqQPr
25RRt6CkfhvklJ1A8MC8RZIrN+AGgyyY6XfLZrTN2mwoHjH9hA30ymTAQfCw
h7PY7sfMjDMTMalwtzjFEIFJjvKAYdNgFnK2Unvc21tNzLLNHTGFmBhMq2PL
aorYErJss57CROjMYWrByK4qNRXLY1z6qtdCrBPU7kYvxAI2Fa3TG5AP3VfF
2CuZKCIZZnUxqBXpPoo2DjoIp0mlCwC1edEi0AsovwbSfCulZoN7vUXnR4GP
FSi0/1Svgr6XqtIEkxjUXU8WgJNLhkJupfVdECWhdrU99EsqmjmoOXj4wHXG
FBFd7rkTRnNZadqwwS2txhxGCC6LFaaAvMi140lL7ihTX5Bfytjq3yxURSsC
ALlxeK6kXJtF2rlPdW8hz+LJmWmS1mBpKZWWiTme3gsz1ZWfEd7nVI6q7CQK
I+LOxMXqi3j7PDvuCu16Yv5I1W5FIWjBp9h8LJTSvbysztlMpS6V5s4M3Ruy
vMEpmjTteSmrrNWukvAk+YK2nMwMplfjcPGy2KXIammto+f97CXehTLLaQyi
kKCFDFGDC1jfOuaMB6gwQHWXMFjY75yAOS+SAmxRWsV3kvwSzbm0hoMkLM7f
aCMxpzZ/fhwO9Sj4sZSGXJYXAGDfc8nejCHcgsBfTE30y7WrGNNWg26ZreFa
s7XWsFuba7XWAD7VNhrrzY3aRms4NOvNerPR3GxttJoteziMRxKZDLsN3oGV
bHOb8hWRM8gnoABO8wucgTvpuRUdGL68Eu6nYT4pjYJtxHhTIO+I/L6h/zMs
u1ISMpS2QXnPDp3B9ISSAR8uu7Ozrr172T/cKpWxacabg7Zb7ccze33t4uzw
Y936oFqAHwhvGlHz9EI0O/2g8rhxE92pd+gdwsv66dHH/s31dct/WAvH8stG
uD5d193TgAta/pMs9LO206XEHt0CSRCQs3V9cVM/Wuu0a82N4cfGpy/Xe63B
Lr9r1ZuXZjsc3nm8OdncqvAeQScoygJB9+fE/lPEA/DI6tWSpvBiIogo+2un
t7edLyf3t5PDfcH3+3tROxrdO7W74MNh51NzdvRwfbQur05aXrY3hDbQeefQ
qV2vHx07zYOz9qfB096DaB9vcfPjYO/D+WhjPlNxcTbtHfpO1Ptwd9pfe4Jl
9Ul2WsH+eP9pelPfv7rZ3xw8HV7dHH8IQW9veU+81j4aX5U0lBcj/vsv4+W3
ZS9OtAypcggEQCWCRwSCDPbzO6BcRR9oecEN+SOZ2+GlHH0c1aXLPlbOACct
m5JVtke4ZfySnIefq/Arxxsnws6WykrtVFFtQDstBilNwlkSkgT3umqB6vRo
7kqwZSRCXoGmFWhDVEACfl8p+ll8+r3xleWG1Rz9SkT7muHxV+MrK/r5ymBs
+AujJy1fG/37udGVAKsqmspGDLPbwb+U4klGpxb1+dHjlqAi8y0by1quNer5
lk09eitueXZ0Dn9/AuejvpVruaZbrs+1bLU2f/nckU/P2+xdAR9V3f8PJWTC
5cznyivsROQVxqKs5LKT9palF6XeoddF3too/Z10Qm+O3Od5EDrLpZfZILEE
BDN4FaZeFSoETOoAte4npY3yDMoFaKY1c0CKV9FZPXrEB03//GBkHXy8/uif
+Tvrvf7Dge2dX+ys352O7M3pScu9mM3uWgdNs6t6kcJzb/YfXV4L2+J682Cy
PrFmreC09nAiJ3fO1ux0t3ba/ImPvS13faR6aUWZqG/c/63U1busdm3q5nx2
6/mSDE58ik9rq16Y1oIm7dId0qR9JuOY2azLbgIVOuCk2eLTknSkCTyywExq
mxcqLfS+K1V8JeVayvvWQKwcEEDSWFZqqBKEAQepS5xfLMcib5Sc+vnhk7MG
UkZTTRVda0Ke6NzJgm8UoiLuujIH1ffUnMQgMalJY/iqqAhiMXDYsOhlSsWM
07mjGVisFohBRK77NCkppZwAYqrSxpinVaU9UUh5ahrL8nyuUMvo83iiWJUN
5FYVX0nJEh0UydYk6UIrcMbyhweOuicxpAACGSzIxDyG9KLAokEDIIE3pYzI
gFOsco9nU5ELuqTP5vcC9xp7qqS4PQq4yhfTIsdHN7F3hUiWk0LJsSl1zbka
BJzIEZWKUbEK6oJRJGwTE+wwVAaROHuFZ7lQTOjIpFQpp3zO2jAgfFPVTjDT
NC7P1soQmkmlFjZLzWnV6GLxAvajfFBI/IqrcDOlhqi/6NwqLKvES10siSwb
YEMjByNgkCbEEi21KpGkatGqXlIq5FShOb9XCXUXF6hrx0WRpqXXT8DuI8eN
k1TIwzi+TidSNijFFWOmljouRhXx65U5imBUeKXqcqluI1OMFOiEMxgC4E+6
J+roXD0tCiSVniMKYkxktBtU2pP3zpMs24Leof1TCKun5izNOaaYApUnEot9
wPZzquxKEQX9MowkwYAQGV7H6tH3MOrHNAWig5g43JwAE4BzAeiFCrExPsik
uCamPmUAQVpd28kkrpMtSzygxh/ASF2yHQ7rFywllVWeE4csro+AJLIcSy+e
okTpHcBiz5IEdQLqNxg0BFfODZdqundZ6wl4jFDJJGVbC5o5oAbqAJk6KY9z
yXgAMnc6jRQE8DnbQtljOuxOJjiVL/gKxGV4SEslN6YQh5IKTX1TGaFASVz4
4+SoFHRVR/pIuaQcxqM6Dg5fVBinNLE19pC+2kXPhtHKKUhS37SjhSs7cTXx
++5e7juVtqQPiGkl6IQJemgbe8PYTNtXlRHXJ+GSKmQ8Asq0RiWOzLByOD48
Sl5y23EKpyXidCPwKOaWSrQv8h+W1kjoEk2dFcWZK7ehVDX2Ikp8ZLZCM2zE
88y5IUgrktjpwgMa0EoOpZC0qanlfQCIafDpSxrbv/U8LxE4ZRmMEwhNUrVd
q7N2NGjpl4AuLVAeqfDysk3ZIu31o0ikkcepOq6v3mRf7NIOlEol6OWmtP2c
K5zmJnYPQGhWKHwAjx0kp9I/aMOXVWUPyPSmT0kMYxep3e1X6o3Nyn7nhMQx
h8kVVXcce4r9K3J1W7mK8VZhfh8I1EG6c7PNznylq/EoEGiykdp1DYD6PNCX
Z1TUMdxEvna1p0EjPT9nI9eXxB3JiWQO3TaMNpPQJIYjNaDCGtCUMfWljKn/
ToyBaC1lDHwpYAwGdInhjjkD3Pqv5kxjKWcavxNnIDpOObNWbxRwBp7+yZl5
zjSXcqb5u3BGRclv1GblP9VZhjWtpaxp/ZGsAarBb6N27jmzerO29l/Ln7Wl
/Fn7ffjTam3+qdN+BWPWlzJm/Y9jzJ/LRnNnYyl3Nv5A9xke/JcuGYG5rkWO
4OOl7MA7zSx9Ks7UhwCXHiNWyT/M5XyTsljP8ibK6m/2r6dsctr8P0LWN8Sz
uj7zPEk1/NqwFvOWKZRvRLB8gsyeH1vznE4/FbzN8b5dUCP6OxxnKRq3QETw
FsVfzfPFY3PLmE+0UgW2r9FLl+D+KppRmVGStWErE2GvJvmo/K1Fr5AzPn31
R5H0m8uI7hEamNZEV+nj9V5qFrqSA/NA6X64Tj9mr+SI0+diqu43zOyN4NJQ
u9/p9p8uUGFYOpHbwOt21I4YdNC7YYubZrXcHtsvLUaItwbJBGV2Bkfi8cNh
7cuo1R5V1g/6J2avu3t8+zTYHXs/mfcnsyNnaru3t+0P13pnkPD99Hg5uji+
MY/OTjvHt/uDT0fHp+fyZqt7s+7uyNNW++HDfnevvbc3OMnsJ44auz+FR6Yv
Gt5p4+n49qJz89Pmbmtwc3Vx0Dk6bVQ+ne53amufzIvNZCPwHWtbWMvlcHtE
2g03eFWel9s/lIamAyQrvpYjvhZJsrTA+/n5H4sX4WH28oazB8rvO2LClTYz
3YlxYoYhyZ9tlo2eYwaCHYtI3psgtWXjlAuHnaACdMtG2wxgUBBnbk1E2dgT
jvBZf+JNTHiJW259DistFCadInKfuGPoJSVUNXm8k5YUdi9mxmMJZwegRr1g
toQYeJUsloHaduy9fMeu6Kw4gi6oJIP3F3zqYYkh0SrgSl9Ca9OP1CVi/n01
AWPrGvbk2qvpN+vuqohW08iM5AU+EFYNqPYL2kfnVPtA5WjQco+qaAfRiO66
0JWBFTBDdonJGZjfR2jUfxChNYZ2AaerHyyuWI0FT1v1zRpMAiQwc61rooag
c9cWQEeq8cQtkXtdE47z1pfj0W4pS3Zr1FTSSaRHwRushFdWwvJvJ1e0Qce5
E45C7R+XkBoNzSStJAoq9bBV3VCUAKT03QNY3CXxVU0D0DcX3Owfd1igNm7i
y2YxzZ4RU32ofU4QkTe1LQTWwWI7qiaNVRa928R3eO8xqaZtdT0ASu+S3fXv
tI0ZEFtMiUI9pPsp4ks48jdLqE2Z79Sdn7by3L4tUrm6zGyRHhUl0mYGYb9B
M8PFGy8mpF5tPRVGQkftNscX5t2Cok23P+aW4nfpuYykDCopA8m7mIB8UtVZ
qa1lFwAItCJ3dg3MbZ7QnkY1WQvvGvVtOiTo6HITddPkOV0s2WhszN1rqahO
11kWX/+UBV3f2mY7QpVZUuCRuTyh4+mLfdLWm9tM34SdUREo3+nhGyvtpcTc
BcmMV8xGtc5W5laHCpjwRHbmlkM+W81qnrR/g63kN8bpNjy9taw3P7Gs0bM8
J97/zELKXM0xd+pCbeBrtsXI2zw0hSOTEhC1tdbe1Tvkuv4CCRGfTNUXiy6P
QUgmWkZKVU1UOcarWQq30MpUzZlUy4N86LLr+KI1gtk0cjSXGZpjdbeQViTl
XFlBItaFJMGDgJpuAMEyA/DiCQPN5EpyMw1eE5Nujeu6dsCpkZlna/u1yAy1
zDYW4Zay7FKnJVR5Rva2ySJ0U64lrhye3uW6ugB80zKdDUZurYOjqtUbloak
24cEPX/5iTtXSrN460284ua5TGoclxSYN85tdDuVesHTBOq+T9tL1Oe5KhJP
tDAtM9RRVAwmJ/qeMVI+GGxRMZs+O5yrIJaoVck9Hc7mjTbNjwARte7wQgQK
4ILMpjsdluIylKmypH50bpImgCoqUzYitbmi5bHwDihBVqtDBQ6oA+l6ALr2
FAVZ7cLT1eGe3n5WpjsYmwV35oNu/39T/Q6R/18AAA==

-->

</rfc>
