<?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.43 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lake-edhoc-psk-10" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <?v3xml2rfc silence="Found SVG with width or height specified"?>
  <front>
    <title abbrev="LAKE-PSK">LAKE Authenticated with Pre‑Shared Keys (PSKs)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lake-edhoc-psk-10"/>
    <author initials="E." surname="Lopez-Perez" fullname="Elsa Lopez-Perez">
      <organization>Inria</organization>
      <address>
        <email>elsa.lopez-perez@inria.fr</email>
      </address>
    </author>
    <author initials="G." surname="Selander" fullname="Göran Selander">
      <organization>Ericsson</organization>
      <address>
        <email>goran.selander@ericsson.com</email>
      </address>
    </author>
    <author initials="J." surname="Preuß Mattsson" fullname="John Preuß Mattsson">
      <organization>Ericsson</organization>
      <address>
        <email>john.mattsson@ericsson.com</email>
      </address>
    </author>
    <author initials="R." surname="Marin-Lopez" fullname="Rafael Marin-Lopez">
      <organization>University of Murcia</organization>
      <address>
        <email>rafa@um.es</email>
      </address>
    </author>
    <author initials="F." surname="Lopez-Gomez" fullname="Francisco Lopez-Gomez">
      <organization>University of Murcia</organization>
      <address>
        <email>francisco.lopezg@um.es</email>
      </address>
    </author>
    <date year="2026" month="October" day="05"/>
    <area>Security</area>
    <workgroup>LAKE Working Group</workgroup>
    <abstract>
      <?line 91?>

<t>This document specifies a Pre-Shared Key (PSK) authentication method for the Lightweight Authenticated Key Exchange (LAKE) protocol. The PSK method provides mutual authentication, ephemeral key exchange, identity protection, and quantum resistance while incurring lower computational costs than the public-key authentication methods specified for LAKE. It is suited for systems where nodes share a PSK provided out-of-band (external PSK) and enables efficient session resumption with less computational overhead when the PSK is provided from a previous LAKE session (resumption PSK). This document details the PSK message flow, key derivation changes, message formatting, processing, and security considerations.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://lake-wg.github.io/psk/#go.draft-ietf-lake-edhoc-psk.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-lake-edhoc-psk/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        LAKE Working Group mailing list (<eref target="mailto:lake@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/lake/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/lake/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/lake-wg/psk"/>.</t>
    </note>
  </front>
  <middle>
    <?line 95?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document defines LAKE-PSK, a Pre-Shared Key (PSK) authentication method for the Lightweight Authenticated Key Exchange (LAKE) protocol <xref target="RFC9528"/>. The PSK method trades the complexity of symmetric-key distribution for improved computational efficiency. Although symmetric-key distribution is more complex than public-key credential distribution, PSK authentication requires less computation than the authentication methods defined in <xref target="RFC9528"/>. The PSK method provides mutual authentication, ephemeral asymmetric key exchange, and identity protection.</t>
      <t>LAKE with PSK authentication benefits use cases where two nodes share a Pre-Shared Key (PSK) provided out-of-band (external PSK). Examples include the Authenticated Key Management Architecture (AKMA) in mobile systems or the Peer and Authenticator in Extensible Authentication Protocol (EAP) systems. The PSK method enables the nodes to perform ephemeral key exchange, achieving Perfect Forward Secrecy (PFS). This ensures that even if the PSK is compromised, past communications remain secure against active attackers, while future communications are protected against passive attackers. Additionally, by leveraging the PSK for both authentication and key derivation, the method provides quantum-resistant key exchange and authentication even when used with Elliptic Curve Diffie–Hellman Ephemeral (ECDHE).</t>
      <t>Another important use case of PSK authentication in the LAKE protocol is session resumption. This allows previously connected parties to quickly reestablish secure communication using pre-shared keys from a prior session, reducing the overhead associated with key exchange and asymmetric authentication. By using PSK authentication, LAKE allows session keys to be refreshed with significantly lower computational overhead compared to public-key authentication. In this case, the resumption PSK is provisioned after the establishment of a previous LAKE session by using EDHOC_Exporter (see <xref section="4.2.1" sectionFormat="of" target="RFC9528"/>). Thus, the external PSK may serve as a long-term credential, while the resumption PSK is a short-lived credential derived from a previous LAKE session.</t>
      <t><xref target="protocol"/> provides an overview of the PSK method, including its message flow and associated credentials. <xref target="key-der"/> outlines the changes to key derivation compared to <xref target="RFC9528"/>. <xref target="mes-for-pro"/> details message formatting and processing, and <xref target="psk-resumption"/> describes the usage of PSK for resumption. <xref target="EAP"/> discusses the use of LAKE-PSK with EAP-EDHOC and <xref target="OSCORE"/> defines the use of LAKE-PSK with Object Security for Constrained RESTful Environments (OSCORE, <xref target="RFC8613"/>). Security considerations are compiled in <xref target="sec-con"/> and <xref target="IANA-con"/> outlines the IANA considerations.</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?>

<t>Readers are expected to be familiar with the terms and concepts related to LAKE <xref target="RFC9528"/>, Concise Binary Object Representation (CBOR) <xref target="RFC8949"/>, CBOR Sequences <xref target="RFC8742"/>, CBOR Object Signing and Encryption (COSE) Structures and Processing <xref target="RFC9052"/>, COSE Algorithms <xref target="RFC9053"/>, CBOR Web Token (CWT) and CWT Claims Set (CCS) <xref target="RFC8392"/>, and the Concise Data Definition Language (CDDL) <xref target="RFC8610"/>, which is used to express CBOR data structures.</t>
      <t>This document uses the acronym LAKE, expanded to Lightweight Authenticated Key Exchange, to denote the protocol specified as EDHOC in <xref target="RFC9528"/>. LAKE is also used in place of EDHOC in descriptive terms such as LAKE message_1 or LAKE EAD item. Identifiers defined literally in <xref target="RFC9528"/> or in IANA registries (e.g., EDHOC_Exporter, the EDHOC registries, media types, and URIs) are unchanged.</t>
    </section>
    <section anchor="protocol">
      <name>Protocol</name>
      <t>This document specifies a new LAKE authentication method (see <xref section="3.2" sectionFormat="of" target="RFC9528"/>) referred to as the Pre-Shared Key method (LAKE-PSK). This method shares some features with, and differs in other respects from, the authentication methods previously defined in LAKE.</t>
      <t>Authentication is based on a PSK shared by the Initiator and the Responder. As in the methods defined in <xref target="RFC9528"/>, CRED_I and CRED_R are authentication credentials containing identifying information for the Initiator and Responder, respectively. However, unlike those methods, LAKE-PSK uses a single authentication credential identifier, ID_CRED_PSK, which the Responder uses to retrieve the PSK and the associated authentication credentials.</t>
      <t>The PSK method uses a “by reference” approach for credential representation. ID_CRED_PSK can be kept minimal, enabling a very compact on-the-wire encoding. In contrast, <xref target="RFC9528"/> defines that ID_CRED_I and ID_CRED_R may convey arbitrary identity and application-specific context. This separation allows LAKE-PSK to minimize overhead for PSK identification while preserving flexibility in both identity and contextual information, as well as the security properties associated with their use.</t>
      <t>Like the Internet Key Exchange Protocol Version 2 (IKEv2) <xref target="RFC7296"/>, LAKE-PSK encrypts the PSK identifier ID_CRED_PSK, providing identity protection against passive attackers. In contrast, (D)TLS 1.3 <xref target="RFC9846"/> <xref target="RFC9147"/> transmits the PSK identifier in cleartext and therefore does not provide identity protection for PSK-based authentication.</t>
      <section anchor="credentials">
        <name>Credentials</name>
        <t>The Initiator and Responder are assumed to share a PSK (an external PSK or a resumption PSK) with high entropy that meets the following requirements:</t>
        <ul spacing="normal">
          <li>
            <t>Only the Initiator and the Responder have access to the PSK.</t>
          </li>
          <li>
            <t>The Responder can retrieve the PSK, CRED_I, and CRED_R, using ID_CRED_PSK.</t>
          </li>
        </ul>
        <section anchor="idcredpsk">
          <name>ID_CRED_PSK</name>
          <t>ID_CRED_PSK is a key identifier <xref section="3.1" sectionFormat="of" target="RFC9052"/> formatted as a COSE header map containing header parameters that can be used to retrieve one or more pre-shared keys and associated information required for LAKE processing. Following the compact encoding rules defined in <xref section="3.5.3.2" sectionFormat="of" target="RFC9528"/>, an ID_CRED_PSK containing only a single 'kid' parameter is encoded directly as the value of that parameter. For example, the identifier</t>
          <artwork><![CDATA[
ID_CRED_PSK = { 4 : h'ff' }; 4 = 'kid'
]]></artwork>
          <t>is not encoded as the CBOR map 0xa10441ff but the CBOR byte string h'ff', i.e., 0x41ff. Another example, the identifier</t>
          <artwork><![CDATA[
ID_CRED_PSK = { 4 : h'10' }; 4 = 'kid'
]]></artwork>
          <t>is neither the CBOR map 0xA1044110 nor the CBOR byte string h'10', i.e., 0x4110, but the CBOR integer 0x10, reducing message size.</t>
          <t>The purpose of ID_CRED_PSK is to facilitate retrieval of the PSK and associated information required for LAKE processing. While ID_CRED_PSK uses encoding and representation patterns from <xref section="3.5.3.2" sectionFormat="of" target="RFC9528"/>, it differs fundamentally in that it identifies a symmetric key rather than a public authentication key. A given ID_CRED_PSK value <bcp14>MAY</bcp14> correspond to more than one candidate PSK and associated information. In that case, all candidates associated with the value may need to be checked.</t>
          <t>It is <bcp14>RECOMMENDED</bcp14> that ID_CRED_PSK uniquely or stochastically identifies the corresponding PSK context. Uniqueness avoids ambiguity that could require the recipient to try multiple candidate PSKs and associated information, while stochasticity reduces the risk of identifier collisions and supports stateless processing. These properties align with the requirements for rKID in session resumption (see <xref target="psk-resumption"/>).</t>
        </section>
        <section anchor="credi-and-credr">
          <name>CRED_I and CRED_R</name>
          <t>CRED_I and CRED_R are authentication credentials associated with the PSK. The notation CRED_x refers to either CRED_I or CRED_R. Authentication is achieved implicitly through successful possession and use of the PSK in the derivation and verification of protected cryptographic material.</t>
          <t>When using an external PSK, a common representation of CRED_I and CRED_R is a CWT or CCS <xref target="RFC8392"/>, where the 'cnf' claim includes the confirmation method COSE_Key. An example of CRED_I and CRED_R is shown below:</t>
          <artwork><![CDATA[
{                                               /CCS/
  2 : "42-50-31-FF-EF-37-32-39",                /sub/
  8 : {                                         /cnf/
    1 : {                                       /COSE_Key/
       1 : 4,                                   /kty/
       2 : h'10',                               /kid/
    }
  }
}
]]></artwork>
          <artwork><![CDATA[
{                                               /CCS/
  2 : "23-11-58-AA-B3-7F-10",                   /sub/
  8 : {                                         /cnf/
    1 : {                                       /COSE_Key/
       1 : 4,                                   /kty/
       2 : h'10',                               /kid/
    }
  }
}
]]></artwork>
          <t>Alternative formats for CRED_I and CRED_R <bcp14>MAY</bcp14> be used. When a resumption PSK is employed, CRED_I and CRED_R <bcp14>MUST</bcp14> be the same credentials used in the initial LAKE exchange, for example, public-key credentials such as X.509 certificates <xref target="RFC5280"/>.</t>
          <t>Implementations <bcp14>MUST</bcp14> ensure that CRED_I and CRED_R are distinct, for example by including different identities in their 'sub' claims (e.g., "42-50-31-FF-EF-37-32-39" and "23-11-58-AA-B3-7F-10"). Ensuring distinct credentials simplifies correct party identification and prevents reflection and misbinding attacks, as described in <xref section="D.2" sectionFormat="of" target="RFC9528"/>.</t>
        </section>
        <section anchor="encoding-and-processing-guidelines">
          <name>Encoding and Processing Guidelines</name>
          <t>The following guidelines apply to the encoding and handling of CRED_x and ID_CRED_PSK. Requirements on CRED_x apply both to CRED_I and to CRED_R.</t>
          <ul spacing="normal">
            <li>
              <t>If CRED_x is CBOR-encoded, it <bcp14>SHOULD</bcp14> use deterministic encoding as specified in Sections <xref target="RFC8949" section="4.2.1" sectionFormat="bare"/> and <xref target="RFC8949" section="4.2.2." sectionFormat="bare"/> of <xref target="RFC8949"/>. Deterministic encoding ensures consistent identification and avoids interoperability issues caused by non-deterministic CBOR variants.</t>
            </li>
            <li>
              <t>If CRED_x is provisioned out-of-band and transported by value, it <bcp14>SHOULD</bcp14> be used as received without re-encoding. Re-encoding can cause mismatches when comparing identifiers such as hash values or 'kid' references.</t>
            </li>
            <li>
              <t>When ID_CRED_PSK consists solely of a 'kid' parameter (i.e., { 4 : kid }), the compact encoding optimization defined in <xref section="3.5.3.2" sectionFormat="of" target="RFC9528"/> <bcp14>MUST</bcp14> be applied in plaintext fields (such as PLAINTEXT_3A). These optimizations <bcp14>MUST NOT</bcp14> be applied in COSE header parameters or in other contexts where the full map structure is required. For example, in such cases where these optimizations are not applied:
              </t>
              <ul spacing="normal">
                <li>
                  <t>{ 4 : h'ff' } is encoded as 0xa10441ff, instead of 0x41ff (CBOR encoding of the CBOR byte string h'ff')</t>
                </li>
                <li>
                  <t>{ 4 : h'15' } is encoded as 0xa1044115, instead of 0x15 (CBOR encoding of the CBOR integer 21)</t>
                </li>
              </ul>
            </li>
            <li>
              <t>To prevent misbinding attacks, identity information such as a 'sub' (subject) claim <bcp14>MUST</bcp14> be included in both CRED_I and CRED_R.</t>
            </li>
            <li>
              <t>Claims such as 'iss' (issuer), 'aud' (audience), 'scope', 'exp' (expiration time), 'nbf' (not before), and 'cti' (CWT ID) <bcp14>MAY</bcp14> be used to convey context information for a pre-shared key (PSK), including aspects of its provenance, intended use, and validity period. This aligns with the notion of “context” in <xref target="RFC9258"/>.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="message-flow-of-lake-psk">
        <name>Message Flow of LAKE-PSK</name>
        <t>The message flow of LAKE-PSK follows the structure defined in <xref target="RFC9528"/>, with authentication based on symmetric keys rather than public keys. For identity protection, credential-related message fields appear first in message_3.</t>
        <t>ID_CRED_PSK is encrypted using a key derived from a shared secret obtained through the first two messages. If Diffie-Hellman key exchange is used, G_X and G_Y are the ephemeral public keys, and the shared secret G_XY is the DH shared secret, as in <xref target="RFC9528"/>. If the Diffie-Hellman procedure is replaced by a KEM (e.g., <xref target="I-D.ietf-lake-pqsuites"/>), then G_X and G_Y are encapsulation key and ciphertext, respectively, and the shared secret G_XY is derived by the KEM.</t>
        <t>The Responder authenticates the Initiator first. <xref target="fig-variant2"/> illustrates the message flow of the LAKE-PSK authentication method.</t>
        <figure anchor="fig-variant2">
          <name>Overview of Message Flow of LAKE-PSK.</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="288" width="560" viewBox="0 0 560 288" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,48 L 8,272" fill="none" stroke="black"/>
                <path d="M 552,48 L 552,272" fill="none" stroke="black"/>
                <path d="M 8,64 L 544,64" fill="none" stroke="black"/>
                <path d="M 16,128 L 552,128" fill="none" stroke="black"/>
                <path d="M 8,192 L 544,192" fill="none" stroke="black"/>
                <path d="M 16,256 L 552,256" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="552,192 540,186.4 540,197.6" fill="black" transform="rotate(0,544,192)"/>
                <polygon class="arrowhead" points="552,64 540,58.4 540,69.6" fill="black" transform="rotate(0,544,64)"/>
                <polygon class="arrowhead" points="24,256 12,250.4 12,261.6" fill="black" transform="rotate(180,16,256)"/>
                <polygon class="arrowhead" points="24,128 12,122.4 12,133.6" fill="black" transform="rotate(180,16,128)"/>
                <g class="text">
                  <text x="40" y="36">Initiator</text>
                  <text x="520" y="36">Responder</text>
                  <text x="184" y="52">METHOD,</text>
                  <text x="256" y="52">SUITES_I,</text>
                  <text x="316" y="52">G_X,</text>
                  <text x="356" y="52">C_I,</text>
                  <text x="400" y="52">EAD_1</text>
                  <text x="280" y="84">message_1</text>
                  <text x="204" y="116">G_Y,</text>
                  <text x="244" y="116">Enc(</text>
                  <text x="284" y="116">C_R,</text>
                  <text x="328" y="116">EAD_2</text>
                  <text x="360" y="116">)</text>
                  <text x="280" y="148">message_2</text>
                  <text x="180" y="180">Enc(</text>
                  <text x="252" y="180">ID_CRED_PSK,</text>
                  <text x="328" y="180">AEAD(</text>
                  <text x="376" y="180">EAD_3</text>
                  <text x="408" y="180">)</text>
                  <text x="424" y="180">)</text>
                  <text x="280" y="212">message_3</text>
                  <text x="248" y="244">AEAD(</text>
                  <text x="296" y="244">EAD_4</text>
                  <text x="328" y="244">)</text>
                  <text x="280" y="276">message_4</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
Initiator                                                   Responder
|                  METHOD, SUITES_I, G_X, C_I, EAD_1                |
+------------------------------------------------------------------>|
|                             message_1                             |
|                                                                   |
|                      G_Y, Enc( C_R, EAD_2 )                       |
|<------------------------------------------------------------------+
|                             message_2                             |
|                                                                   |
|                   Enc( ID_CRED_PSK, AEAD( EAD_3 ) )               |
+------------------------------------------------------------------>|
|                             message_3                             |
|                                                                   |
|                           AEAD( EAD_4 )                           |
|<------------------------------------------------------------------+
|                             message_4                             |
]]></artwork>
          </artset>
        </figure>
        <t>This approach provides identity protection against passive attackers for both Initiator and Responder. LAKE message_4 remains <bcp14>OPTIONAL</bcp14>, but is needed to authenticate the Responder and achieve mutual authentication in LAKE when external applications using secure communication (e.g., with OSCORE) are not relied upon. In either case, the inclusion of a fourth message provides mutual authentication and explicit key confirmation (see <xref target="message-4"/>).</t>
      </section>
    </section>
    <section anchor="key-der">
      <name>Key Derivation</name>
      <t>The pseudorandom keys (PRKs) used in the LAKE-PSK authentication method are derived with EDHOC_Extract, as in <xref target="RFC9528"/>.</t>
      <artwork><![CDATA[
PRK  = EDHOC_Extract( salt, IKM )
]]></artwork>
      <t>where <tt>salt</tt> and input keying material (<tt>IKM</tt>) are defined for each key. The definition of EDHOC_Extract depends on the LAKE hash algorithm of the selected cipher suite, see <xref section="4.1.1" sectionFormat="of" target="RFC9528"/>.</t>
      <t>To maintain a uniform key schedule across all LAKE authentication methods, the same pseudorandom key notation (PRK_2e, PRK_3e2m, and PRK_4e3m) is retained. The index notation is preserved for consistency with other LAKE authentication variants, even though it does not fully reflect the functional role of the keys in this method; for example, no MACs are used in LAKE-PSK.</t>
      <t>PRK_2e is extracted as in <xref target="RFC9528"/> with</t>
      <ul spacing="normal">
        <li>
          <t><tt>salt</tt> = TH_2, and</t>
        </li>
        <li>
          <t><tt>IKM</tt> = G_XY,</t>
        </li>
      </ul>
      <t>where the transcript hash TH_2 = H( G_Y, H(message_1) ) is defined in <xref section="5.3.2" sectionFormat="of" target="RFC9528"/>.</t>
      <t>SALT_4e3m is derived from PRK_3e2m and TH_3, as shown in Figure 6 of <xref target="RFC9528"/>.</t>
      <t>The other PRKs and transcript hashes are modified as specified below. <xref target="fig-variant2key"/> lists the key derivations that differ from what is defined in Sections <xref target="RFC9528" section="4.1.1" sectionFormat="bare"/> and <xref target="RFC9528" section="4.1.2" sectionFormat="bare"/> of <xref target="RFC9528"/>.</t>
      <figure anchor="fig-variant2key">
        <name>Key Derivation of LAKE-PSK.</name>
        <artwork align="center"><![CDATA[
PRK_3e2m     = PRK_2e
KEYSTREAM_2A = EDHOC_KDF( PRK_2e,   0, TH_2,  plaintext_length_2a )
PRK_4e3m     = EDHOC_Extract( SALT_4e3m, PSK )
KEYSTREAM_3A = EDHOC_KDF( PRK_3e2m, 12, TH_3, plaintext_length_3a )
K_3          = EDHOC_KDF( PRK_4e3m, 3, TH_3, key_length )
IV_3         = EDHOC_KDF( PRK_4e3m, 4, TH_3, iv_length )
]]></artwork>
      </figure>
      <t>where:</t>
      <ul spacing="normal">
        <li>
          <t>KEYSTREAM_2A is used to encrypt PLAINTEXT_2A in message_2.
          </t>
          <ul spacing="normal">
            <li>
              <t>plaintext_length_2a is the length of PLAINTEXT_2A in message_2.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>KEYSTREAM_3A is used to encrypt PLAINTEXT_3A (the concatenation of ID_CRED_PSK and CIPHERTEXT_3B) in message_3.
          </t>
          <ul spacing="normal">
            <li>
              <t>plaintext_length_3a is the length of PLAINTEXT_3A in message_3.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>TH_3 = H( TH_2, PLAINTEXT_2A ).</t>
        </li>
      </ul>
      <t>The definition of the transcript hash TH_4 is modified as follows:</t>
      <ul spacing="normal">
        <li>
          <t>TH_4 = H( TH_3, ID_CRED_PSK, PLAINTEXT_3B, CRED_I, CRED_R )</t>
        </li>
      </ul>
    </section>
    <section anchor="mes-for-pro">
      <name>Message Formatting and Processing</name>
      <t>This section specifies the differences in message formatting and processing compared to <xref section="5" sectionFormat="of" target="RFC9528"/>. Note that, if any processing step fails, then the message recipient <bcp14>MUST</bcp14> send an LAKE error message back as defined in <xref section="6" sectionFormat="of" target="RFC9528"/> and the LAKE session <bcp14>MUST</bcp14> be aborted.</t>
      <section anchor="message-1">
        <name>Message 1</name>
        <t>Message 1 is formatted and processed as specified in <xref section="5.2" sectionFormat="of" target="RFC9528"/>, with the METHOD field set to the LAKE-PSK method (i.e., the value registered in <xref target="iana-method"/>).</t>
      </section>
      <section anchor="message-2">
        <name>Message 2</name>
        <section anchor="formatting-of-message-2">
          <name>Formatting of Message 2</name>
          <t>Message 2 is formatted as specified in <xref section="5.3.1" sectionFormat="of" target="RFC9528"/>, except that CIPHERTEXT_2 is replaced by CIPHERTEXT_2A.</t>
        </section>
        <section anchor="msg2-com">
          <name>Responder Composition of Message 2</name>
          <t>CIPHERTEXT_2A is calculated with a binary additive stream cipher, using a keystream generated with EDHOC_Expand and the following plaintext:</t>
          <ul spacing="normal">
            <li>
              <t>PLAINTEXT_2A = ( C_R, ? EAD_2 )</t>
            </li>
            <li>
              <t>CIPHERTEXT_2A = PLAINTEXT_2A XOR KEYSTREAM_2A</t>
            </li>
          </ul>
          <t>C_R and EAD_2 are defined in <xref section="5.3.2" sectionFormat="of" target="RFC9528"/>. In contrast to <xref target="RFC9528"/>, ID_CRED_R, MAC_2, and Signature_or_MAC_2 are not included in message_2. This omission is the primary difference from the signature and MAC-based authentication methods defined in <xref target="RFC9528"/>, as authentication in LAKE-PSK relies solely on the shared PSK and the successful decryption of protected messages. KEYSTREAM_2A is defined in <xref target="key-der"/>.</t>
        </section>
        <section anchor="initiator-processing-of-message-2">
          <name>Initiator Processing of Message 2</name>
          <t>Upon receiving message_2, the Initiator processes it as follows:</t>
          <ul spacing="normal">
            <li>
              <t>Compute KEYSTREAM_2A as defined in <xref target="key-der"/>.</t>
            </li>
            <li>
              <t>Decrypt CIPHERTEXT_2A using binary XOR, i.e., PLAINTEXT_2A = CIPHERTEXT_2A XOR KEYSTREAM_2A</t>
            </li>
          </ul>
          <t>In contrast to <xref section="5.3.3" sectionFormat="of" target="RFC9528"/>, ID_CRED_R is not made available to the application in step 4, and steps 5 and 6 are skipped.</t>
        </section>
      </section>
      <section anchor="message-3">
        <name>Message 3</name>
        <section anchor="for-mes3">
          <name>Formatting of Message 3</name>
          <t>Message 3 is formatted as specified in <xref section="5.4.1" sectionFormat="of" target="RFC9528"/>, except that CIPHERTEXT_3 is replaced by CIPHERTEXT_3A.</t>
        </section>
        <section anchor="icom-mes3">
          <name>Initiator Composition of Message 3</name>
          <ul spacing="normal">
            <li>
              <t>CIPHERTEXT_3A is computed using a binary additive stream cipher with a keystream generated by EDHOC_Expand, applied to the following plaintext:  </t>
              <ul spacing="normal">
                <li>
                  <t>PLAINTEXT_3A = ( ID_CRED_PSK / bstr / -24..23, CIPHERTEXT_3B )      </t>
                  <ul spacing="normal">
                    <li>
                      <t>If ID_CRED_PSK contains a single 'kid' parameter, i.e., ID_CRED_PSK = { 4 : kid_PSK }, then the compact encoding is applied, see <xref section="3.5.3.2" sectionFormat="of" target="RFC9528"/>.</t>
                    </li>
                    <li>
                      <t>For the case of plaintext_length_2a or plaintext_length_3a exceeding the EDHOC_KDF output size, see <xref section="G" sectionFormat="of" target="RFC9528"/>.</t>
                    </li>
                  </ul>
                </li>
                <li>
                  <t>Compute KEYSTREAM_3A as in <xref target="key-der"/>.</t>
                </li>
                <li>
                  <t>CIPHERTEXT_3A = PLAINTEXT_3A XOR KEYSTREAM_3A</t>
                </li>
              </ul>
            </li>
            <li>
              <t>CIPHERTEXT_3B is the 'ciphertext' of the COSE_Encrypt0 object as defined in Sections <xref target="RFC9052" section="5.2" sectionFormat="bare"/> and <xref target="RFC9052" section="5.3" sectionFormat="bare"/> of <xref target="RFC9052"/>, computed with the LAKE AEAD algorithm of the selected cipher suite, using the encryption key K_3, the initialization vector IV_3 (if used by the AEAD algorithm), the parameters described in <xref section="5.2" sectionFormat="of" target="RFC9052"/>, plaintext PLAINTEXT_3B and the following parameters as input:  </t>
              <ul spacing="normal">
                <li>
                  <t>protected = h''</t>
                </li>
                <li>
                  <t>external_aad = &lt;&lt; ID_CRED_PSK, TH_3, CRED_I, CRED_R &gt;&gt;</t>
                </li>
                <li>
                  <t>K_3 and IV_3 as defined in <xref target="key-der"/></t>
                </li>
                <li>
                  <t>PLAINTEXT_3B = ( ? EAD_3 )</t>
                </li>
              </ul>
            </li>
          </ul>
          <t>The Initiator computes TH_4 as defined in <xref target="key-der"/>.</t>
          <t>There is no need for MAC_3 or signature, since AEAD's built-in integrity and the use of PSK-based key derivation provide implicit authentication of the Initiator.</t>
        </section>
        <section anchor="responder-processing-of-message-3">
          <name>Responder Processing of Message 3</name>
          <t>Upon receiving message_3, the Responder proceeds as follows:</t>
          <ul spacing="normal">
            <li>
              <t>Generate KEYSTREAM_3A with the same method the Initiator used.</t>
            </li>
            <li>
              <t>Decrypt CIPHERTEXT_3A using binary XOR with KEYSTREAM_3A to recover PLAINTEXT_3A.</t>
            </li>
            <li>
              <t>Parse the structure of PLAINTEXT_3A = ( ID_CRED_PSK, CIPHERTEXT_3B ), where CIPHERTEXT_3B is the inner AEAD-encrypted object.</t>
            </li>
            <li>
              <t>Use ID_CRED_PSK to identify the authentication credentials and retrieve PSK, CRED_I, and CRED_R.</t>
            </li>
            <li>
              <t>Select a candidate tuple (PSK, CRED_I, CRED_R).</t>
            </li>
            <li>
              <t>Derive K_3 and IV_3 as defined in <xref target="key-der"/>.</t>
            </li>
            <li>
              <t>AEAD-decrypt CIPHERTEXT_3B using:  </t>
              <ul spacing="normal">
                <li>
                  <t>K_3, IV_3</t>
                </li>
                <li>
                  <t>external_aad = &lt;&lt; ID_CRED_PSK, TH_3, CRED_I, CRED_R &gt;&gt;</t>
                </li>
                <li>
                  <t>protected = h''</t>
                </li>
                <li>
                  <t>LAKE AEAD algorithm of the selected cipher suite.</t>
                </li>
              </ul>
            </li>
          </ul>
          <t>If AEAD verification fails, retry with a new candidate tuple. If all candidate authentication credential sets fail, this indicates a processing problem or that the message was tampered with. If it succeeds, the Responder concludes that the Initiator possesses the PSK, correctly derived TH_3, and is actively participating in the protocol.</t>
          <t>Finally, the Responder computes TH_4 as defined in <xref target="key-der"/>.</t>
          <t>No MAC_3 or signature is needed, as the AEAD ciphertext guarantees both integrity and authenticity in this symmetric setting.</t>
        </section>
      </section>
      <section anchor="message-4">
        <name>Message 4</name>
        <t>Message 4 is formatted and processed as specified in <xref section="5.5" sectionFormat="of" target="RFC9528"/>.</t>
        <t>After successfully verifying message_4, or another fourth message from the Responder protected with an exported application key such as an OSCORE-protected message, the Initiator is assured that the Responder has derived PRK_out (key confirmation) and that no other party can derive this key.</t>
        <t>The Initiator <bcp14>MUST NOT</bcp14> persistently store PRK_out or application keys until it has successfully verified such a fourth message and the application has authenticated the Responder.</t>
        <t>Compared to <xref target="RFC9528"/>, the fourth message not only provides key confirmation but also authenticates the Responder. For mutual authentication a fourth message is therefore mandatory.</t>
      </section>
    </section>
    <section anchor="psk-resumption">
      <name>PSK Usage for Session Resumption</name>
      <t>This section specifies how LAKE-PSK is used for session resumption in LAKE. The EDHOC_Exporter, as defined in <xref section="4.2" sectionFormat="of" target="RFC9528"/>, is used to derive the resumption parameters rPSK and rKID:</t>
      <figure anchor="fig-resumption">
        <name>Resumption Parameters.</name>
        <artwork align="center"><![CDATA[
rPSK         = EDHOC_Exporter( TBD2, h'', hash_length )
rKID         = EDHOC_Exporter( TBD3, h'', kid_length )
rID_CRED_PSK = { 4 : rKID }
]]></artwork>
      </figure>
      <t>where:</t>
      <ul spacing="normal">
        <li>
          <t>hash_length is the output size of the LAKE hash algorithm associated with the PSK, i.e., the LAKE hash algorithm of the selected cipher suite used in the LAKE session in which the resumption PSK is established.</t>
        </li>
        <li>
          <t>kid_length defaults to 2 bytes.</t>
        </li>
      </ul>
      <t>A peer that has successfully completed an LAKE session, regardless of the authentication method used or whether the session was a PSK resumption, <bcp14>MAY</bcp14> generate a resumption key. Whether resumption keys are generated is determined by the application profile, see <xref section="3.9" sectionFormat="of" target="RFC9528"/>. Support for resumption can be indicated, for example, by using means defined in <xref target="I-D.ietf-lake-app-profiles"/>.</t>
      <t>To ensure both peers share the same resumption key, when a resumption session is run using rPSK_i as the resumption key:</t>
      <ul spacing="normal">
        <li>
          <t>The Responder <bcp14>MAY</bcp14> delete the previous resumption key rPSK_(i-1), if present, after successfully verifying message_3. At that point the Responder can be certain that the Initiator has access to the current resumption key rPSK_i.</t>
        </li>
        <li>
          <t>The Initiator <bcp14>MAY</bcp14> delete rPSK_i after successfully verifying the fourth message. At that point, the Initiator can be certain that the Responder is able to derive the next resumption key, rPSK_(i+1), if the Responder wants to.</t>
        </li>
        <li>
          <t>The Responder <bcp14>MAY</bcp14> delete rPSK_i after successfully verifying a fifth message from the Initiator protected with an exported application key such as an OSCORE-protected message, if present. At that point, the Responder can be certain that the Initiator is able to derive the next resumption key, rPSK_(i+1), if the Initiator wants to.</t>
        </li>
      </ul>
      <t>When resumption PSKs are used and public keys were used in the original session for non-resumption authentication, implementations <bcp14>MUST</bcp14> retain ID_CRED_I, ID_CRED_R, and LAKE hash algorithm used in that original session and associate them with the current resumption PSK. Implementations <bcp14>MAY</bcp14> retain an external ID_CRED_PSK and associated PSK to allow fallback if resumption fails. If fallback authentication uses an external PSK, the Initiator selects which PSK to use and indicates it via ID_CRED_PSK. If a credential associated with a resumption key expires, implementations <bcp14>SHOULD</bcp14> retry either with an external PSK or a different authentication method. How long the original authentication credentials are retained is determined by the application profile or by the expiration time of the credential (e.g., the 'exp' claim in a CWT).  Key lifetime, retention, and retry policy are determined by the application profile.</t>
    </section>
    <section anchor="EAP">
      <name>LAKE-PSK and Extensible Authentication Protocol (EAP)</name>
      <t>LAKE with PSK authentication has several important use cases within the Extensible Authentication Protocol (EAP).</t>
      <t>One use case is the resumption of a session established with the EAP method EAP-EDHOC <xref target="I-D.ietf-emu-eap-edhoc"/>, regardless of the LAKE-based authentication method originally used in that session. This is similar to the resumption mechanism in EAP-TLS 1.3 <xref target="RFC9190"/>. Resumption reduces the number of round trips and allows the EAP-EDHOC server to avoid database lookups that might be required during an initial handshake. If the server accepts resumption, the resumed session is considered authenticated and securely bound to the prior authentication or resumption.</t>
      <t>The use of resumption with EAP-EDHOC is optional for the peer, but it is <bcp14>RECOMMENDED</bcp14> whenever a valid rPSK is available. On the server side, resumption acceptance is also optional, but it is <bcp14>RECOMMENDED</bcp14> if the rPSK remains valid. The server <bcp14>MAY</bcp14>, however, require a new initial handshake by refusing resumption. It is further <bcp14>RECOMMENDED</bcp14> to use Network Access Identifiers (NAIs) with the same realm in the EAP identity response during both the full handshake and resumption. For example, the NAI @realm can safely be reused since it does not expose information that links a user’s resumption attempt with the original full handshake.</t>
      <t>EAP-EDHOC using PSK authentication also provides a significant improvement over EAP-PSK <xref target="RFC4764"/>, which lacks support for identity protection, cryptographic agility, and ephemeral key exchange, now considered essential for meeting current security requirements. Without perfect forward secrecy, compromise of the PSK enables a passive attacker to decrypt both past and future sessions. Note that PSK authentication is not allowed in EAP-TLS <xref target="RFC9190"/>.</t>
    </section>
    <section anchor="OSCORE">
      <name>LAKE-PSK and OSCORE</name>
      <t><xref target="RFC9668"/> describes an optimized use of LAKE with OSCORE by combining LAKE message_3 with the first OSCORE-protected request. This procedure omits message_4, but key confirmation of the Responder is provided by a subsequent OSCORE-protected response to the Initiator.</t>
      <t>In LAKE-PSK, authentication of the Responder is provided by message_4 or another fourth message. Hence, the combined delivery described in <xref section="3" sectionFormat="of" target="RFC9668"/> can be applied to LAKE-PSK. Note that, in this case, the Responder is not authenticated until the Initiator has verified a matching OSCORE-protected response. However, only the party with the correct PSK can decrypt the OSCORE-protected request.</t>
    </section>
    <section anchor="sec-con">
      <name>Security Considerations</name>
      <t>The LAKE-PSK authentication method introduces deviations from the initial specification of LAKE <xref target="RFC9528"/>. This section analyzes the security implications of these changes and discusses the security properties of LAKE authenticated with a PSK.</t>
      <section anchor="identity-protection">
        <name>Identity Protection</name>
        <t>In LAKE-PSK, the identifier ID_CRED_PSK in message_3 is encrypted with a keystream derived from the ephemeral shared secret G_XY. This provides identity protection of both the Initiator and Responder against passive attackers. This contrasts with the asymmetric authentication methods discussed in <xref section="9.1" sectionFormat="of" target="RFC9528"/>, which protect the Initiator’s identity against active attackers and the Responder’s identity against passive ones. LAKE-PSK does not protect the PSK identifier against active attackers as an attacker impersonating the Responder can decrypt ID_CRED_PSK. The time to lookup or process an authentication credential based on ID_CRED_PSK may leak information about the identity.</t>
      </section>
      <section anchor="subsec-protpsk">
        <name>Protection of Pre-Shared Keys</name>
        <t>The security of LAKE-PSK depends on the confidentiality of the PSK. Unlike an asymmetric private key, which can be generated and remain within a Hardware Security Module (HSM), secure element, or other protected cryptographic boundary, a PSK must be provisioned to and stored by multiple parties. This generally increases the attack surface and the risk of key compromise.</t>
      </section>
      <section anchor="mutual-authentication">
        <name>Mutual Authentication</name>
        <t>LAKE-PSK provides mutual authentication and explicit key confirmation through an additional message that demonstrates possession of the PSK. This may be message_4 or an application message (e.g., an OSCORE-protected message) protected with a key derived from LAKE.</t>
        <t>To mitigate reflection or Selfie attacks, the identities in CRED_I and CRED_R <bcp14>MUST</bcp14> be distinct. If identical credentials are used by both parties, an endpoint may incorrectly accept messages that originate from itself.</t>
        <t>LAKE-PSK is not resistant to Key Compromise Impersonation (KCI) attacks. Compromise of the PSK enables an attacker to impersonate either the Initiator or the Responder to the other party. While compromise of the ephemeral shared secret G_XY only affects the specific session in which it is used, compromise of the PSK allows full active impersonation in all future sessions that rely on the compromised key.</t>
      </section>
      <section anchor="protection-of-external-authorization-data-ead">
        <name>Protection of External Authorization Data (EAD)</name>
        <t>As in <xref target="RFC9528"/>, LAKE-PSK ensures the confidentiality and integrity of External Authorization Data (EAD). The security guarantees for EAD fields remain unchanged from the original EDHOC specification.</t>
      </section>
      <section anchor="cryptographic-strength">
        <name>Cryptographic Strength</name>
        <t>Each external PSK <bcp14>MUST</bcp14> be derived from at least 128 bits of entropy and <bcp14>MUST</bcp14> be at least 128 bits long. Deriving a shared secret from a password or other low-entropy sources is not secure. The cryptographic strength of LAKE-PSK depends on the selected cipher suite.</t>
        <t>For the currently defined cipher suites (0–6 and 24–25), LAKE-PSK provides at least 128-bit security against offline brute-force attacks and at least 64-bit security against online forgery attacks. In practical terms, mounting a successful online forgery attack at this security level would require an adversary, on average, to transmit 4.3 billion messages per second for 68 years, which is infeasible in constrained IoT radio environments. A successful forgery in LAKE-PSK breaks the security of all future application data derived from the session, while a forgery in the subsequent application protocol (e.g., OSCORE <xref target="RFC8613"/>) typically only breaks the security of the forged packet.</t>
        <t>Similar to TLS 1.3 <xref target="RFC9846"/>, LAKE-PSK takes a conservative approach to PSK usage by binding each PSK to a specific KDF through an associated hash algorithm. A PSK <bcp14>MUST</bcp14> only be used with cipher suites that employ the same hash algorithm. For externally provisioned PSKs, the hash algorithm <bcp14>MUST</bcp14> be provisioned together with the PSK. For resumption PSKs, the hash algorithm is the LAKE hash algorithm of the selected cipher suite in the LAKE session in which the resumption PSK was established, see <xref section="3.6" sectionFormat="of" target="RFC9528"/>. The Responder <bcp14>MUST</bcp14> abort the ongoing LAKE session, if the PSK retrieved through ID_CRED_PSK is combined with a hash algorithm different from the one in the selected cipher suite used in the session.</t>
      </section>
      <section anchor="downgrade-protection">
        <name>Downgrade Protection</name>
        <t>Following <xref target="RFC9528"/>, LAKE-PSK must support cryptographic agility, including modularity and negotiation of preferred cryptographic primitives. In message_1, the Initiator sends an ordered list of supported cipher suites (SUITES_I). The Responder verifies that the suite selected by the Initiator is the most preferred option in SUITES_I that is mutually supported. If this condition is not met, the Responder <bcp14>MUST</bcp14> abort the session.</t>
      </section>
      <section anchor="post-quantum-considerations">
        <name>Post Quantum Considerations</name>
        <t>Advances in quantum computing suggest that a Cryptographically Relevant Quantum Computer (CRQC) may eventually be realized. Such a machine would render many asymmetric algorithms, including Elliptic Curve Diffie-Hellman (ECDH), insecure.</t>
        <t>Quantum resistance of LAKE-PSK partly depends on the selected LAKE cipher suite. LAKE-PSK derives authentication and session keys primarily from a symmetric PSK, which provides quantum resistance even when combined with ECDHE. However, if a CRQC is realized, the ECDHE contribution degenerates to providing only randomness. In that case, LAKE-PSK with ECDHE offers neither identity protection nor Perfect Forward Secrecy (PFS) against quantum adversaries. Moreover, if the PSK is compromised, a passive quantum attacker could decrypt both past and future sessions.</t>
        <t>By contrast, combining LAKE-PSK with a quantum-resistant Key Encapsulation Mechanism (KEM), such as ML-KEM <xref target="FIPS-203"/>, ensures both identity protection and PFS even against quantum-capable attackers. Future LAKE cipher suites incorporating ML-KEM are expected to be registered; see <xref target="I-D.ietf-lake-pqsuites"/>.</t>
      </section>
      <section anchor="confidentiality">
        <name>Confidentiality</name>
        <t>The primary security goal of LAKE-PSK is to establish a shared secret known only to the authenticated Initiator and Responder. The protocol ensures key indistinguishability by relying on the security of the PSK and the ephemeral key shares, making it computationally infeasible for an adversary to distinguish the true session secret from a random value.</t>
      </section>
      <section anchor="independence-of-session-keys">
        <name>Independence of Session Keys</name>
        <t>NIST requires that an ephemeral private key be used in only one key-establishment transaction (<xref target="SP-800-56A"/>, Section 5.6.3.3). This requirement preserves session key independence and forward secrecy, and LAKE-PSK complies with it. By deriving the final shared secret from a fresh, session-specific ephemeral secret (G_XY), the protocol ensures that even if the PSK is compromised, an attacker is unable to decrypt the past sessions. Similarly, if a session secret were to be compromised, future session secrets remain protected by fresh ephemeral keys.</t>
        <t>In other protocols, reuse of ephemeral keys, especially when combined with missing public key validation, has led to severe vulnerabilities, enabling attackers to recover “ephemeral” private keys and compromise both past and future sessions between two legitimate parties. Acknowledging the possibility of a breach and minimizing the impact of compromise are fundamental principles of zero-trust security.</t>
      </section>
      <section anchor="message-4-and-mutual-authentication-requirements">
        <name>Message 4 and Mutual Authentication Requirements</name>
        <t>For use cases where application data is transmitted, it can be sent together with message_3, maintaining efficiency. In applications such as EAP-EDHOC <xref target="I-D.ietf-emu-eap-edhoc"/>, where no application data is exchanged between Initiator and Responder, message_4 is mandatory. In such cases, LAKE-PSK does not increase the total number of messages compared to the methods defined in <xref target="RFC9528"/>. Other implementations may replace message_4 with a protected application message. In general, the following requirement applies: The Initiator <bcp14>SHALL NOT</bcp14> persistently store PRK_out or derived application keys until it has successfully verified message_4 or a message protected with an exported application key (e.g., an OSCORE-protected message). This ensures that key material is stored only after its authenticity is confirmed. Finally, the order of authentication (i.e., whether the Initiator or the Responder authenticates first) is not relevant in LAKE-PSK. While this ordering affects privacy properties in the asymmetric methods of <xref target="RFC9528"/>, it has no significant impact in LAKE-PSK.</t>
      </section>
      <section anchor="post-compromise-security">
        <name>Post-Compromise Security</name>
        <t>When LAKE-PSK is used for session resumption, the protocol provides Post-Compromise Security (PCS) for the resumption key chain. PCS means that even if a resumption PSK rPSK_i is compromised, security is restored in subsequent sessions provided the attacker cannot compromise the ephemeral keys of every such session.</t>
        <t>Specifically, rPSK_(i+1) is derived via EDHOC_Exporter from PRK_out, which incorporates fresh ephemeral keying material (G_XY). An attacker who has obtained rPSK_i cannot derive rPSK_(i+1) without also compromising the ephemeral keys. A passive attacker therefore loses any advantage once the next session completes with uncompromised ephemerals.</t>
        <t>This property applies only when resumption is used and new resumption keys are derived for each session. It does not apply when a long-lived external PSK is reused directly across sessions without key rotation. In that case, as noted in <xref target="subsec-protpsk"/>, compromise of the PSK enables an attacker to compromise the confidentiality and authentication of future sessions until the PSK is replaced.</t>
      </section>
      <section anchor="privacy-considerations-for-resumption">
        <name>Privacy Considerations for Resumption</name>
        <t>When using resumption PSKs:</t>
        <ul spacing="normal">
          <li>
            <t>ID_CRED_PSK is not exposed to passive attackers, and it is not reused under normal operation. Reuse of the same ID_CRED_PSK can occur due to transmission errors or when a peer loses its stored resumption key. An active attacker can obtain the value of ID_CRED_PSK and force its reuse. This aligns with the security goals of LAKE-PSK, which are to provide identity protection against passive attackers, but not against active attackers.</t>
          </li>
        </ul>
      </section>
      <section anchor="security-considerations-for-resumption">
        <name>Security Considerations for Resumption</name>
        <ul spacing="normal">
          <li>
            <t>Resumption PSKs <bcp14>MUST NOT</bcp14> be used for purposes other than LAKE session resumption.</t>
          </li>
          <li>
            <t>Resumption PSKs <bcp14>MUST</bcp14> be securely stored with the same level of protection as the session keys.</t>
          </li>
          <li>
            <t>Parties <bcp14>SHOULD</bcp14> avoid excessive reuse of the same resumption PSK.</t>
          </li>
          <li>
            <t>The optional external PSK and the resumption PSKs form a key ratchet. If previous PSKs have been securely erased, compromise of the current resumption PSK does not enable recovery of earlier PSKs. This property holds regardless of whether ECDHE or a post-quantum key exchange is used. Handling of external and resumption PSKs can be specified in the application profile.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="IANA-con">
      <name>IANA Considerations</name>
      <t>This document requires the following IANA actions.</t>
      <section anchor="iana-method">
        <name>EDHOC Method Types Registry</name>
        <t>IANA is requested to register the following entry in the "EDHOC Method Types" registry within the registry group "Ephemeral Diffie-Hellman Over COSE (EDHOC)".</t>
        <table anchor="tab-method-psk">
          <name>Addition to the EDHOC Method Types Registry.</name>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Initiator Authentication Key</th>
              <th align="left">Responder Authentication Key</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD4</td>
              <td align="left">PSK</td>
              <td align="left">PSK</td>
              <td align="left">this document</td>
            </tr>
          </tbody>
        </table>
        <t>NOTE: Suggested value: TBD4 = 4.
RFC Editor: Remove this note.</t>
      </section>
      <section anchor="edhoc-exporter-labels-registry">
        <name>EDHOC Exporter Labels Registry</name>
        <t>IANA is requested to register the following entry in the "EDHOC Exporter Labels" registry within the registry group "Ephemeral Diffie-Hellman Over COSE (EDHOC)".</t>
        <table anchor="tab-exporter-psk">
          <name>Additions to the EDHOC Exporter Labels Registry.</name>
          <thead>
            <tr>
              <th align="left">Label</th>
              <th align="left">Description</th>
              <th align="left">Change Controller</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD2</td>
              <td align="left">Resumption PSK</td>
              <td align="left">IETF</td>
              <td align="left">this document</td>
            </tr>
            <tr>
              <td align="left">TBD3</td>
              <td align="left">Resumption kid</td>
              <td align="left">IETF</td>
              <td align="left">this document</td>
            </tr>
          </tbody>
        </table>
        <t>NOTE: Suggested values: TBD2 = 2, TBD3 = 3.
RFC Editor: Remove this note.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC8392">
          <front>
            <title>CBOR Web Token (CWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="May" year="2018"/>
            <abstract>
              <t>CBOR Web Token (CWT) is a compact means of representing claims to be transferred between two parties. The claims in a CWT are encoded in the Concise Binary Object Representation (CBOR), and CBOR Object Signing and Encryption (COSE) is used for added application-layer security protection. A claim is a piece of information asserted about a subject and is represented as a name/value pair consisting of a claim name and a claim value. CWT is derived from JSON Web Token (JWT) but uses CBOR rather than JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8392"/>
          <seriesInfo name="DOI" value="10.17487/RFC8392"/>
        </reference>
        <reference anchor="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC8613">
          <front>
            <title>Object Security for Constrained RESTful Environments (OSCORE)</title>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="J. Mattsson" initials="J." surname="Mattsson"/>
            <author fullname="F. Palombini" initials="F." surname="Palombini"/>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <date month="July" year="2019"/>
            <abstract>
              <t>This document defines Object Security for Constrained RESTful Environments (OSCORE), a method for application-layer protection of the Constrained Application Protocol (CoAP), using CBOR Object Signing and Encryption (COSE). OSCORE provides end-to-end protection between endpoints communicating using CoAP or CoAP-mappable HTTP. OSCORE is designed for constrained nodes and networks supporting a range of proxy operations, including translation between different transport protocols.</t>
              <t>Although an optional functionality of CoAP, OSCORE alters CoAP options processing and IANA registration. Therefore, this document updates RFC 7252.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8613"/>
          <seriesInfo name="DOI" value="10.17487/RFC8613"/>
        </reference>
        <reference anchor="RFC8742">
          <front>
            <title>Concise Binary Object Representation (CBOR) Sequences</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document describes the Concise Binary Object Representation (CBOR) Sequence format and associated media type "application/cbor-seq". A CBOR Sequence consists of any number of encoded CBOR data items, simply concatenated in sequence.</t>
              <t>Structured syntax suffixes for media types allow other media types to build on them and make it explicit that they are built on an existing media type as their foundation. This specification defines and registers "+cbor-seq" as a structured syntax suffix for CBOR Sequences.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8742"/>
          <seriesInfo name="DOI" value="10.17487/RFC8742"/>
        </reference>
        <reference anchor="RFC8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="RFC9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="RFC9053">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
              <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9053"/>
          <seriesInfo name="DOI" value="10.17487/RFC9053"/>
        </reference>
        <reference anchor="RFC9528">
          <front>
            <title>Ephemeral Diffie-Hellman Over COSE (EDHOC)</title>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="J. Preuß Mattsson" initials="J." surname="Preuß Mattsson"/>
            <author fullname="F. Palombini" initials="F." surname="Palombini"/>
            <date month="March" year="2024"/>
            <abstract>
              <t>This document specifies Ephemeral Diffie-Hellman Over COSE (EDHOC), a very compact and lightweight authenticated Diffie-Hellman key exchange with ephemeral keys. EDHOC provides mutual authentication, forward secrecy, and identity protection. EDHOC is intended for usage in constrained scenarios, and a main use case is to establish an Object Security for Constrained RESTful Environments (OSCORE) security context. By reusing CBOR Object Signing and Encryption (COSE) for cryptography, Concise Binary Object Representation (CBOR) for encoding, and Constrained Application Protocol (CoAP) for transport, the additional code size can be kept very low.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9528"/>
          <seriesInfo name="DOI" value="10.17487/RFC9528"/>
        </reference>
        <reference anchor="RFC9668">
          <front>
            <title>Using Ephemeral Diffie-Hellman Over COSE (EDHOC) with the Constrained Application Protocol (CoAP) and Object Security for Constrained RESTful Environments (OSCORE)</title>
            <author fullname="F. Palombini" initials="F." surname="Palombini"/>
            <author fullname="M. Tiloca" initials="M." surname="Tiloca"/>
            <author fullname="R. Höglund" initials="R." surname="Höglund"/>
            <author fullname="S. Hristozov" initials="S." surname="Hristozov"/>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <date month="November" year="2024"/>
            <abstract>
              <t>The lightweight authenticated key exchange protocol Ephemeral Diffie-Hellman Over COSE (EDHOC) can be run over the Constrained Application Protocol (CoAP) and used by two peers to establish a Security Context for the security protocol Object Security for Constrained RESTful Environments (OSCORE). This document details this use of the EDHOC protocol by specifying a number of additional and optional mechanisms, including an optimization approach for combining the execution of EDHOC with the first OSCORE transaction. This combination reduces the number of round trips required to set up an OSCORE Security Context and to complete an OSCORE transaction using that Security Context.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9668"/>
          <seriesInfo name="DOI" value="10.17487/RFC9668"/>
        </reference>
        <reference anchor="I-D.ietf-emu-eap-edhoc">
          <front>
            <title>Using the Extensible Authentication Protocol (EAP) with Ephemeral Diffie-Hellman over COSE (EDHOC)</title>
            <author fullname="Dan Garcia-Carrillo" initials="D." surname="Garcia-Carrillo">
              <organization>University of Oviedo</organization>
            </author>
            <author fullname="Rafael Marin-Lopez" initials="R." surname="Marin-Lopez">
              <organization>University of Murcia</organization>
            </author>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson</organization>
            </author>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Francisco Lopez-Gomez" initials="F." surname="Lopez-Gomez">
              <organization>University of Murcia</organization>
            </author>
            <date day="29" month="July" year="2026"/>
            <abstract>
              <t>   The Extensible Authentication Protocol (EAP), defined in RFC 3748,
   provides a standard mechanism for support of multiple authentication
   methods.  This document specifies the EAP authentication method EAP-
   EDHOC, based on Ephemeral Diffie-Hellman Over COSE (EDHOC).  EDHOC is
   a lightweight security handshake protocol, enabling authentication
   and establishment of shared secret keys suitable in constrained
   settings.  This document also provides guidance on authentication and
   authorization for EAP-EDHOC.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-emu-eap-edhoc-12"/>
        </reference>
        <reference anchor="SP-800-56A" target="https://doi.org/10.6028/NIST.SP.800-56Ar3">
          <front>
            <title>Recommendation for Pair-Wise Key-Establishment Schemes Using Discrete Logarithm Cryptography</title>
            <author initials="E." surname="Barker">
              <organization/>
            </author>
            <author initials="L." surname="Chen">
              <organization/>
            </author>
            <author initials="A." surname="Roginsky">
              <organization/>
            </author>
            <author initials="A." surname="Vassilev">
              <organization/>
            </author>
            <author initials="R." surname="Davis">
              <organization/>
            </author>
            <date year="2018" month="April"/>
          </front>
          <seriesInfo name="NIST" value="Special Publication 800-56A Revision 3"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC4764">
          <front>
            <title>The EAP-PSK Protocol: A Pre-Shared Key Extensible Authentication Protocol (EAP) Method</title>
            <author fullname="F. Bersani" initials="F." surname="Bersani"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="January" year="2007"/>
            <abstract>
              <t>This document specifies EAP-PSK, an Extensible Authentication Protocol (EAP) method for mutual authentication and session key derivation using a Pre-Shared Key (PSK). EAP-PSK provides a protected communication channel when mutual authentication is successful for both parties to communicate over. This document describes the use of this channel only for protected exchange of result indications, but future EAP-PSK extensions may use the channel for other purposes. EAP-PSK is designed for authentication over insecure networks such as IEEE 802.11. This memo defines an Experimental Protocol for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4764"/>
          <seriesInfo name="DOI" value="10.17487/RFC4764"/>
        </reference>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC9190">
          <front>
            <title>EAP-TLS 1.3: Using the Extensible Authentication Protocol with TLS 1.3</title>
            <author fullname="J. Preuß Mattsson" initials="J." surname="Preuß Mattsson"/>
            <author fullname="M. Sethi" initials="M." surname="Sethi"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>The Extensible Authentication Protocol (EAP), defined in RFC 3748, provides a standard mechanism for support of multiple authentication methods. This document specifies the use of EAP-TLS with TLS 1.3 while remaining backwards compatible with existing implementations of EAP-TLS. TLS 1.3 provides significantly improved security and privacy, and reduced latency when compared to earlier versions of TLS. EAP-TLS with TLS 1.3 (EAP-TLS 1.3) further improves security and privacy by always providing forward secrecy, never disclosing the peer identity, and by mandating use of revocation checking when compared to EAP-TLS with earlier versions of TLS. This document also provides guidance on authentication, authorization, and resumption for EAP-TLS in general (regardless of the underlying TLS version used). This document updates RFC 5216.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9190"/>
          <seriesInfo name="DOI" value="10.17487/RFC9190"/>
        </reference>
        <reference anchor="I-D.ietf-lake-app-profiles">
          <front>
            <title>Coordinating the Use of Application Profiles for Ephemeral Diffie-Hellman Over COSE (EDHOC)</title>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Rikard Höglund" initials="R." surname="Höglund">
              <organization>RISE AB</organization>
            </author>
            <date day="6" month="July" year="2026"/>
            <abstract>
              <t>   The lightweight authenticated key exchange protocol Ephemeral Diffie-
   Hellman Over COSE (EDHOC) requires certain parameters to be agreed
   out-of-band, in order to ensure its successful completion.  To this
   end, application profiles specify the intended use of EDHOC to allow
   for the relevant processing and verifications to be made.  In order
   to ensure the applicability of such parameters and information beyond
   transport- or setup-specific scenarios, this document defines a
   canonical, CBOR-based representation that can be used to describe,
   distribute, and store EDHOC application profiles.  Furthermore, in
   order to facilitate interoperability between EDHOC implementations
   and support EDHOC extensibility for additional integrations, this
   document defines a number of means to coordinate the use of EDHOC
   application profiles.  Finally, this document defines a set of well-
   known EDHOC application profiles.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lake-app-profiles-05"/>
        </reference>
        <reference anchor="I-D.ietf-lake-pqsuites">
          <front>
            <title>Quantum-Resistant Cipher Suites for LAKE</title>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson</organization>
            </author>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson</organization>
            </author>
            <author fullname="PAPON Clément" initials="C." surname="Papon">
              <organization>Limoges University</organization>
            </author>
            <date day="19" month="September" year="2026"/>
            <abstract>
              <t>   The Lightweight Authenticated Key Exchange (LAKE) protocol, formerly
   known as Ephemeral Diffie-Hellman over COSE (EDHOC), as originally
   specified in RFC 9528, relies on Elliptic Curve Cryptography (ECC)
   for key exchange and authentication.  This document specifies how the
   LAKE protocol operates in a post-quantum setting by defining new
   cipher suites using quantum-resistant algorithms, such as ML-DSA for
   digital signatures and ML-KEM for key exchange.  This document also
   updates RFC 9528 by changing the name of the protocol from EDHOC to
   LAKE and updating the EDHOC Method Types and Cipher Suites registries
   to add columns indicating, respectively, whether a method requires
   and whether a cipher suite supports Diffie-Hellman or Non-Interactive
   Key Exchange (NIKE) primitives.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lake-pqsuites-01"/>
        </reference>
        <reference anchor="FIPS-203" target="https://doi.org/10.6028/NIST.FIPS.203">
          <front>
            <title>Module-Lattice-Based Key-Encapsulation Mechanism Standard</title>
            <author>
              <organization/>
            </author>
            <date year="2024" month="August"/>
          </front>
          <seriesInfo name="NIST" value="Federal Information Processing Standards Publication 203"/>
        </reference>
        <reference anchor="RFC7296">
          <front>
            <title>Internet Key Exchange Protocol Version 2 (IKEv2)</title>
            <author fullname="C. Kaufman" initials="C." surname="Kaufman"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="Y. Nir" initials="Y." surname="Nir"/>
            <author fullname="P. Eronen" initials="P." surname="Eronen"/>
            <author fullname="T. Kivinen" initials="T." surname="Kivinen"/>
            <date month="October" year="2014"/>
            <abstract>
              <t>This document describes version 2 of the Internet Key Exchange (IKE) protocol. IKE is a component of IPsec used for performing mutual authentication and establishing and maintaining Security Associations (SAs). This document obsoletes RFC 5996, and includes all of the errata for it. It advances IKEv2 to be an Internet Standard.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="79"/>
          <seriesInfo name="RFC" value="7296"/>
          <seriesInfo name="DOI" value="10.17487/RFC7296"/>
        </reference>
        <reference anchor="RFC9846">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="July" year="2026"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document obsoletes RFC 8446, which specified TLS 1.3. This document obsoletes RFC 5246 (specifying TLS 1.2) and RFCs 5077, 6961, 7627, and 8422, all of which pertain to TLS 1.2 or earlier, and updates RFCs 5705 and 6066. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9846"/>
          <seriesInfo name="DOI" value="10.17487/RFC9846"/>
        </reference>
        <reference anchor="RFC9147">
          <front>
            <title>The Datagram Transport Layer Security (DTLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="N. Modadugu" initials="N." surname="Modadugu"/>
            <date month="April" year="2022"/>
            <abstract>
              <t>This document specifies version 1.3 of the Datagram Transport Layer Security (DTLS) protocol. DTLS 1.3 allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>The DTLS 1.3 protocol is based on the Transport Layer Security (TLS) 1.3 protocol and provides equivalent security guarantees with the exception of order protection / non-replayability. Datagram semantics of the underlying transport are preserved by the DTLS protocol.</t>
              <t>This document obsoletes RFC 6347.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9147"/>
          <seriesInfo name="DOI" value="10.17487/RFC9147"/>
        </reference>
        <reference anchor="RFC9258">
          <front>
            <title>Importing External Pre-Shared Keys (PSKs) for TLS 1.3</title>
            <author fullname="D. Benjamin" initials="D." surname="Benjamin"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <date month="July" year="2022"/>
            <abstract>
              <t>This document describes an interface for importing external Pre-Shared Keys (PSKs) into TLS 1.3.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9258"/>
          <seriesInfo name="DOI" value="10.17487/RFC9258"/>
        </reference>
      </references>
    </references>
    <?line 547?>

<section anchor="CDDL">
      <name>CDDL Definitions</name>
      <t>This section compiles the CDDL definitions for convenience, incorporating errata filed against <xref target="RFC9528"/>.</t>
      <sourcecode type="CDDL"><![CDATA[
suites = [ 2* int ] / int

ead = (
  ead_label : int,
  ? ead_value : bstr,
)

EAD_1 = (1* ead)
EAD_2 = (1* ead)
EAD_3 = (1* ead)
EAD_4 = (1* ead)

message_1 = (
  METHOD : int,
  SUITES_I : suites,
  G_X : bstr,
  C_I : bstr / -24..23,
  ? EAD_1,
)

message_2 = (
  G_Y_CIPHERTEXT_2 : bstr,
)

PLAINTEXT_2A = (
  C_R : bstr / -24..23,
  ? EAD_2,
)

message_3 = (
  CIPHERTEXT_3 : bstr,
)

PLAINTEXT_3A = (
  ID_CRED_PSK : header_map / bstr / -24..23,
  CIPHERTEXT_3B : bstr,
)

PLAINTEXT_3B = (
  ? EAD_3,
)

message_4 = (
  CIPHERTEXT_4 : bstr,
)

PLAINTEXT_4 = (
  ? EAD_4,
)

error = (
  ERR_CODE : int,
  ERR_INFO : any,
)

info = (
  info_label : int,
  context : bstr,
  length : uint,
)
]]></sourcecode>
    </section>
    <section anchor="test-vectors">
      <name>Test Vectors</name>
      <section anchor="message1">
        <name>message_1</name>
        <t>Both endpoints are authenticated with Pre-Shared Keys (METHOD = 4)</t>
        <t>NOTE: Assuming TBD4 = 4, to be confirmed by IANA.
RFC Editor: Remove this note.</t>
        <artwork><![CDATA[
METHOD (CBOR Data Item) (1 byte)
04
]]></artwork>
        <t>The initiator selects cipher suite 02. A single cipher suite is encoded as an int:</t>
        <artwork><![CDATA[
SUITES_I (CBOR Data Item) (1 byte)
02
]]></artwork>
        <t>The Initiator creates an ephemeral key pair for use with the LAKE key exchange algorithm:</t>
        <artwork><![CDATA[
Initiator's ephemeral private key
X (Raw Value) (32 bytes)
09 97 2D FE F1 EA AB 92 6E C9 6E 80 05 FE D2 9F
70 FF BF 4E 36 1C 3A 06 1A 7A CD B5 17 0C 10 E5
]]></artwork>
        <artwork><![CDATA[
Initiator's ephemeral public key
G_X (Raw Value) (32 bytes)
7E C6 81 02 94 06 02 AA B5 48 53 9B F4 2A 35 99
2D 95 72 49 EB 7F 18 88 40 6D 17 8A 04 C9 12 DB
]]></artwork>
        <t>The Initiator selects its connection identifier C_I to be the byte string 0xA, which is encoded as 0xA since it is represented by the 1-byte CBOR int 10:</t>
        <artwork><![CDATA[
Connection identifier chosen by the Initiator
C_I (CBOR Data Item) (1 byte)
0A
]]></artwork>
        <t>No external authorization data</t>
        <artwork><![CDATA[
EAD_1 (CBOR Sequence) (0 bytes)
]]></artwork>
        <t>The Initiator constructs message_1:</t>
        <artwork><![CDATA[
message_1 (CBOR Sequence) (37 bytes)
04 02 58 20 7E C6 81 02 94 06 02 AA B5 48 53 9B
F4 2A 35 99 2D 95 72 49 EB 7F 18 88 40 6D 17 8A
04 C9 12 DB 0A
]]></artwork>
      </section>
      <section anchor="message2">
        <name>message_2</name>
        <t>The Responder supports the most preferred and selected cipher suite 02, so SUITES_I is acceptable.</t>
        <t>The Responder creates an ephemeral key pair for use with the LAKE key exchange algorithm:</t>
        <artwork><![CDATA[
Responder's ephemeral private key
Y (Raw Value) (32 bytes)
1E 1C 8F 2D F1 AA 71 10 B3 9F 33 BA 5E A8 DC CF
31 41 1E B3 3D 4F 9A 09 4C F6 51 92 D3 35 A7 A3
]]></artwork>
        <artwork><![CDATA[
Responder's ephemeral public key
G_Y (Raw Value) (32 bytes)
ED 15 6A 62 43 E0 AF EC 9E FB AA BC E8 42 9D 5A
D5 E4 E1 C4 32 F7 6A 6E DE 8F 79 24 7B B9 7D 83
]]></artwork>
        <t>The Responder selects its connection identifier C_R to be the byte string 0x05, which is encoded as 0x05 since it is represented by the 1-byte CBOR int 05:</t>
        <artwork><![CDATA[
Connection identifier chosen by the Responder
C_R (CBOR Data Item) (1 byte)
05
]]></artwork>
        <t>The transcript hash TH_2 is calculated using the LAKE hash algorithm:
TH_2 = H( G_Y, H(message_1) ), where H(message_1) is:</t>
        <artwork><![CDATA[
H(message_1) (Raw Value) (32 bytes)
19 CC 2D 2A 95 7E DD 80 10 90 42 FD E6 CC 20 C2
4B 6A 34 BC 21 C6 D4 9F EA 89 5D 4C 75 92 34 0E
]]></artwork>
        <artwork><![CDATA[
H(message_1) (CBOR Data Item) (34 bytes)
58 20 19 CC 2D 2A 95 7E DD 80 10 90 42 FD E6 CC 20
C2 4B 6A 34 BC 21 C6 D4 9F EA 89 5D 4C 75 92 34 0E
]]></artwork>
        <artwork><![CDATA[
TH_2 (Raw Value) (32 bytes)
5B 48 34 AE 63 0A 8A 0E D0 B0 C6 F3 66 42 60 4D
01 64 78 C4 BC 81 87 BB 76 4D D4 0F 2B EE 3D DE
]]></artwork>
        <artwork><![CDATA[
TH_2 (CBOR Data Item) (34 bytes)
58 20 5B 48 34 AE 63 0A 8A 0E D0 B0 C6 F3 66 42 60
4D 01 64 78 C4 BC 81 87 BB 76 4D D4 0F 2B EE 3D DE
]]></artwork>
        <t>PRK_2e is specified in <xref target="key-der"/>.
To compute it, the Elliptic Curve Diffie-Hellman (ECDH) shared secret G_XY is needed.
It is computed from G_X and Y or G_Y and X:</t>
        <artwork><![CDATA[
G_XY (Raw Value) (ECDH shared secret) (32 bytes)
2F 4A 79 9A 5A B0 C5 67 22 0C B6 72 08 E6 CF 8F
4C A5 FE 38 5D 1B 11 FD 9A 57 3D 41 60 F3 B0 B2
]]></artwork>
        <t>Then, PRK_2e is calculated as defined in <xref target="key-der"/></t>
        <artwork><![CDATA[
PRK_2e (Raw Value) (32 bytes)
D0 39 D6 C3 CF 35 EC A0 CD F8 19 E3 25 79 C7 7E
1F 30 3E FC C4 36 20 50 99 48 A9 FD 47 FB D9 29
]]></artwork>
        <t>Since the Responder authenticates using PSK, PRK_3e2m = PRK_2e.</t>
        <artwork><![CDATA[
PRK_3e2m (Raw Value) (32 bytes)
D0 39 D6 C3 CF 35 EC A0 CD F8 19 E3 25 79 C7 7E
1F 30 3E FC C4 36 20 50 99 48 A9 FD 47 FB D9 29
]]></artwork>
        <t>No external authorization data:</t>
        <artwork><![CDATA[
EAD_2 (CBOR Sequence) (0 bytes)
]]></artwork>
        <t>The Responder constructs PLAINTEXT_2A:</t>
        <artwork><![CDATA[
PLAINTEXT_2A (CBOR Sequence) (1 byte)
05
]]></artwork>
        <t>The Responder computes KEYSTREAM_2A as defined in <xref target="key-der"/></t>
        <artwork><![CDATA[
KEYSTREAM_2A (Raw Value) (1 byte)
EC
]]></artwork>
        <t>The Responder calculates CIPHERTEXT_2A as XOR between PLAINTEXT_2A and KEYSTREAM_2A:</t>
        <artwork><![CDATA[
CIPHERTEXT_2A (CBOR Sequence) (1 byte)
E9
]]></artwork>
        <t>The Responder constructs message_2 as defined in <xref target="msg2-com"/>:</t>
        <artwork><![CDATA[
message_2 (CBOR Sequence) (35 bytes)
58 21 ED 15 6A 62 43 E0 AF EC 9E FB AA BC E8 42
9D 5A D5 E4 E1 C4 32 F7 6A 6E DE 8F 79 24 7B B9
7D 83 E9
]]></artwork>
      </section>
      <section anchor="message3">
        <name>message_3</name>
        <t>The Initiator computes PRK_4e3m, as described in <xref target="key-der"/>, using SALT_4e3m and PSK:</t>
        <artwork><![CDATA[
SALT_4e3m (Raw Value) (32 bytes)
ED E0 76 12 14 83 19 EB 72 59 52 71 2A 54 2C 20
97 61 0A 13 9C 4A 14 1C 8E C5 7A 5F 62 E5 E9 DD
]]></artwork>
        <artwork><![CDATA[
PSK (Raw Value) (16 bytes)
50 93 0F F4 62 A7 7A 35 40 CF 54 63 25 DE A2 14
]]></artwork>
        <artwork><![CDATA[
PRK_4e3m (Raw Value) (32 bytes)
C6 2C C0 4F 55 D0 08 CF EB 8A 68 1E 84 63 FD DD
A2 FF 6C A8 4B 9E D6 11 6C 86 5C D8 1E 06 24 60
]]></artwork>
        <t>The transcript hash TH_3 is calculated using the LAKE hash algorithm:</t>
        <t>TH_3 = H( TH_2, PLAINTEXT_2A )</t>
        <artwork><![CDATA[
TH_3 (Raw Value) (32 bytes)
38 6A 9D 05 2B 25 59 92 EE E5 FF B5 94 34 7D 32
74 18 A2 EA 51 83 48 6C 0C 9E 20 42 6E 0B CA 2F
]]></artwork>
        <artwork><![CDATA[
TH_3 (CBOR Data Item) (34 bytes)
58 20 38 6A 9D 05 2B 25 59 92 EE E5 FF B5 94 34 7D
32 74 18 A2 EA 51 83 48 6C 0C 9E 20 42 6E 0B CA 2F
]]></artwork>
        <t>No external authorization data:</t>
        <artwork><![CDATA[
EAD_3 (CBOR Sequence) (0 bytes)
]]></artwork>
        <t>The Initiator constructs firstly PLAINTEXT_3B as defined in <xref target="icom-mes3"/>:</t>
        <artwork><![CDATA[
PLAINTEXT_3B (CBOR Sequence) (0 bytes)
]]></artwork>
        <t>It then computes CIPHERTEXT_3B as defined in <xref target="icom-mes3"/>. It uses ID_CRED_PSK, CRED_I, CRED_R and TH_3 as external_aad:</t>
        <artwork><![CDATA[
ID_CRED_PSK (CBOR Data Item) (1 byte)
10
]]></artwork>
        <artwork><![CDATA[
CRED_I (Raw Value) (38 bytes)
A2 02 69 69 6E 69 74 69 61 74 6F 72 08 A1 01 A3
01 04 02 41 10 20 50 50 93 0F F4 62 A7 7A 35 40
CF 54 63 25 DE A2 14
]]></artwork>
        <artwork><![CDATA[
CRED_R (Raw Value) (38 bytes)
A2 02 69 72 65 73 70 6F 6E 64 65 72 08 A1 01 A3
01 04 02 41 10 20 50 50 93 0F F4 62 A7 7A 35 40
CF 54 63 25 DE A2 14
]]></artwork>
        <artwork><![CDATA[
TH_3 (Raw Value) (32 bytes)
38 6A 9D 05 2B 25 59 92 EE E5 FF B5 94 34 7D 32
74 18 A2 EA 51 83 48 6C 0C 9E 20 42 6E 0B CA 2F
]]></artwork>
        <t>The Initiator computes K_3 and IV_3</t>
        <artwork><![CDATA[
K_3 (Raw Value) (16 bytes)
96 6A 57 9C EA 26 CA 3C EB 44 2A C7 27 EA B2 32
]]></artwork>
        <artwork><![CDATA[
IV_3 (Raw Value) (13 bytes)
5B F1 AD 0E 4F FB 96 76 D7 8D F2 3F 6E
]]></artwork>
        <t>It then computes CIPHERTEXT_3B:</t>
        <artwork><![CDATA[
CIPHERTEXT_3B (CBOR Sequence) (9 bytes)
48 7F 34 49 6F 3F 69 C2 88
]]></artwork>
        <t>The Initiator computes KEYSTREAM_3A as defined in <xref target="key-der"/>:</t>
        <artwork><![CDATA[
KEYSTREAM_3A (Raw Value) (12 bytes)
51 FC 8A 4B 90 9F 37 03 C2 DB 83 B7
]]></artwork>
        <t>It then calculates PLAINTEXT_3A as stated in <xref target="icom-mes3"/>:</t>
        <artwork><![CDATA[
PLAINTEXT_3A (CBOR Sequence) (10 bytes)
10 48 7F 34 49 6F 3F 69 C2 88
]]></artwork>
        <t>It then uses KEYSTREAM_3A to derive CIPHERTEXT_3A:</t>
        <artwork><![CDATA[
CIPHERTEXT_3A (CBOR Sequence) (10 bytes)
13 AD AE 63 52 D3 AC 5B 85 93
]]></artwork>
        <t>The Initiator computes message_3 as defined in <xref target="icom-mes3"/>:</t>
        <artwork><![CDATA[
message_3 (CBOR Sequence) (11 bytes)
4A 13 AD AE 63 52 D3 AC 5B 85 93
]]></artwork>
        <t>The transcript hash TH_4 is calculated using the LAKE hash algorithm:
TH_4 = H( TH_3, ID_CRED_PSK, ? EAD_3, CRED_I, CRED_R )</t>
        <artwork><![CDATA[
TH_4 (Raw Value) (32 bytes)
11 48 1B 9A FE F9 5C 67 9A 52 03 82 17 EE DD 0E
0C E0 8F AA 86 5B DC 82 55 11 CA 6D C3 91 94 13
]]></artwork>
        <artwork><![CDATA[
TH_4 (CBOR Data Item) (34 bytes)
58 20 11 48 1B 9A FE F9 5C 67 9A 52 03 82 17 EE DD
0E 0C E0 8F AA 86 5B DC 82 55 11 CA 6D C3 91 94 13
]]></artwork>
      </section>
      <section anchor="message4">
        <name>message_4</name>
        <t>No external authorization data:</t>
        <artwork><![CDATA[
EAD_4 (CBOR Sequence) (0 bytes)
]]></artwork>
        <t>The Responder constructs PLAINTEXT_4:</t>
        <artwork><![CDATA[
PLAINTEXT_4 (CBOR Sequence) (0 bytes)
]]></artwork>
        <t>The Responder computes K_4 and IV_4:</t>
        <artwork><![CDATA[
K_4 (Raw Value) (16 bytes)
BC AB 1D F0 13 8D C0 5C 88 5F D3 71 E9 50 C6 7F
]]></artwork>
        <artwork><![CDATA[
IV_4 (Raw Value) (13 bytes)
41 11 34 D0 E0 C5 08 D9 5D A7 C3 AC DC
]]></artwork>
        <t>The Responder computes message_4:</t>
        <artwork><![CDATA[
message_4 (CBOR Sequence) (9 bytes)
48 8A DD 93 DB 40 48 59 F9
]]></artwork>
      </section>
      <section anchor="prkout-and-prkexporter">
        <name>PRK_out and PRK_exporter</name>
        <t>After the exchange, the following PRK_out and PRK_exporter are derived by both entities:</t>
        <artwork><![CDATA[
PRK_out (Raw Value) (32 bytes)
BB A6 DE D3 B0 38 D2 32 37 74 D8 92 14 A5 13 A2
49 16 F0 42 29 6C 7C 72 9C D1 A6 7B 43 6F B4 14
]]></artwork>
        <artwork><![CDATA[
PRK_exporter (Raw Value) (32 bytes)
2F CD 08 C0 C0 10 77 C6 D6 48 6B 9F 9B 67 70 20
E8 D6 8F 04 BC DC CE 71 5D D2 77 ED 25 93 1B EF
]]></artwork>
      </section>
      <section anchor="rpsk-and-rkid">
        <name>rPSK and rKID</name>
        <t>Both peers generate a resumption key for use in the next resumption attempt, as explained in <xref target="psk-resumption"/>:</t>
        <t>NOTE: Assuming TBD2 = 2 and TBD3 = 3, to be confirmed by IANA.
RFC Editor: Remove this note.</t>
        <artwork><![CDATA[
rPSK (Raw Value) (32 bytes)
E8 7F 51 F5 3E 3D D5 71 95 FE 5C E5 F3 ED 03 8A
BC C5 CA 6B F0 0F 3A 1C 4A 9B FC 61 4A E8 7A 0A
]]></artwork>
        <artwork><![CDATA[
rKID (Raw Value) (2 bytes)
F3 8C
]]></artwork>
      </section>
    </section>
    <section anchor="change-log">
      <name>Change Log</name>
      <t>RFC Editor: Please remove this appendix.</t>
      <ul spacing="normal">
        <li>
          <t>From -09 to -10  </t>
          <ul spacing="normal">
            <li>
              <t>Addressed shepherd review comments</t>
            </li>
            <li>
              <t>Renamed EDHOC-PSK to LAKE-PSK and added terminology note on the use of LAKE vs. EDHOC</t>
            </li>
            <li>
              <t>Clarified METHOD value in message_1 and the processing of message_3 (candidate tuples)</t>
            </li>
            <li>
              <t>Clarified ID_CRED_PSK compact encoding with examples</t>
            </li>
            <li>
              <t>Updated IANA considerations to match registry names</t>
            </li>
            <li>
              <t>Updated references (RFC 8152 -&gt; RFC 9052, RFC 8446 -&gt; RFC 9846, I-D.ietf-lake-pqsuites, added FIPS 203 and RFC 5280)</t>
            </li>
            <li>
              <t>Editorial changes</t>
            </li>
          </ul>
        </li>
        <li>
          <t>From -08 to -09  </t>
          <ul spacing="normal">
            <li>
              <t>Clarified that ID_CRED_PSK may identify more than one candidate PSK and updated message_3 processing accordingly</t>
            </li>
            <li>
              <t>Fixed compact encoding examples of ID_CRED_PSK</t>
            </li>
            <li>
              <t>Resumption: original credentials and hash algorithm <bcp14>MUST</bcp14> be retained; clarified hash_length</t>
            </li>
            <li>
              <t>Fixed conditions for deleting rPSK_i</t>
            </li>
            <li>
              <t>Clarified combined delivery with OSCORE (RFC 9668)</t>
            </li>
            <li>
              <t>Fixed test vectors</t>
            </li>
            <li>
              <t>Editorial changes</t>
            </li>
          </ul>
        </li>
        <li>
          <t>From -07 to -08  </t>
          <ul spacing="normal">
            <li>
              <t>Added clarification after formal analysis.</t>
            </li>
            <li>
              <t>Added comparisons of identity protection with other protocols</t>
            </li>
            <li>
              <t>Added requirements (single KDF) and considerations (context) based on TLS 1.3</t>
            </li>
            <li>
              <t>Updated considerations regarding OSCORE and RFC 9668</t>
            </li>
            <li>
              <t>Added considerations for protection of pre-shared keys</t>
            </li>
            <li>
              <t>Added considerations for key chains / key ratchets</t>
            </li>
            <li>
              <t>Added text on explaining the "by reference" benefits of ID_CRED_PSK</t>
            </li>
            <li>
              <t>Editorial changes</t>
            </li>
          </ul>
        </li>
        <li>
          <t>From -06 to -07  </t>
          <ul spacing="normal">
            <li>
              <t>Fixed test vectors</t>
            </li>
            <li>
              <t>Updated security considerations after formal analysis</t>
            </li>
            <li>
              <t>Editorial changes</t>
            </li>
          </ul>
        </li>
        <li>
          <t>From -05 to -06  </t>
          <ul spacing="normal">
            <li>
              <t>Editorial changes</t>
            </li>
          </ul>
        </li>
        <li>
          <t>From -04 to -05  </t>
          <ul spacing="normal">
            <li>
              <t>Fixed misbinding attacks and resumption</t>
            </li>
            <li>
              <t>Updated privacy considerations</t>
            </li>
            <li>
              <t>Added EDHOC-PSK and EAP section</t>
            </li>
            <li>
              <t>Editorial changes</t>
            </li>
            <li>
              <t>Fixed test vectors</t>
            </li>
          </ul>
        </li>
        <li>
          <t>From -03 to -04  </t>
          <ul spacing="normal">
            <li>
              <t>Test Vectors</t>
            </li>
            <li>
              <t>Editorial changes</t>
            </li>
          </ul>
        </li>
        <li>
          <t>From -02 to -03  </t>
          <ul spacing="normal">
            <li>
              <t>Updated abstract and Introduction</t>
            </li>
            <li>
              <t>Changed message_3 to hide the identity length from passive attackers</t>
            </li>
            <li>
              <t>CDDL Definitions</t>
            </li>
            <li>
              <t>Security considerations of independence of Session Keys</t>
            </li>
            <li>
              <t>Editorial changes</t>
            </li>
          </ul>
        </li>
        <li>
          <t>From -01 to -02  </t>
          <ul spacing="normal">
            <li>
              <t>Changes to message_3 formatting and processing</t>
            </li>
          </ul>
        </li>
        <li>
          <t>From -00 to -01  </t>
          <ul spacing="normal">
            <li>
              <t>Editorial changes and corrections</t>
            </li>
          </ul>
        </li>
      </ul>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors want to thank
<contact fullname="Christian Amsüss"/>,
<contact fullname="Erik Anderlind"/>,
<contact fullname="Scott Fluhrer"/>,
<contact fullname="Jonathan Hoyland"/>,
<contact fullname="Charlie Jacomme"/>,
<contact fullname="Brian Sipos"/>,
and
<contact fullname="Marco Tiloca"/>
for reviewing and commenting on intermediate versions of the draft.</t>
      <t>This work has been partly funded by PID2023-148104OB-C43 funded by MICIU/AEI/10.13039/501100011033 (ONOFRE4), FEDER/UE EU HE CASTOR under Grant Agreement No 101167904 and EU CERTIFY under Grant Agreement No 101069471.</t>
      <t>This work was supported partially by Vinnova - the Swedish Agency for Innovation Systems - through the EUREKA CELTIC-NEXT project CYPRESS.</t>
      <t>This work has been partially supported by the French National Research Agency under the France 2030 label (NF-HiSec ANR-22-PEFT-0009).</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+V92XLjSJLgO78iNvMhpRqCyUtnd3Y3xaNSk5dGUtZhY2PZ
IAlKmCQBNgBKqVblWv3C2jyt2axtfcU+7VPNn9SXrB9xA6CUVT1tY7ZpM9UU
CUR4eHj47R5BEDSKuFhGx+LJ68GrsRhsiusoKeJZWERzcRsX1+Isi3758X9c
XIcZfPMqusvFztnFq3z3SSOcTrPo5ljgmwF815insyRcwWDzLFwUQRwVi2AZ
foyCaH6dzoJ1/jHotBs49lWa3R2LvJg3Gje9T6tlN1vMjhtC5PEySmYRfgzE
JN0kc3HxzdcMyG08h/+mmbiO4qvrQuTraBYv4gjGyDfTVZzncZoUd2uY/3R8
ORHiqQiXeQpLi5N5tI7gP0nxpCmeRPO4SLM4XOIfp4MT+B8Y9cnp+eXkSWOW
JnmU5Jv8WBTZJmrA+noNWHt4LC6i2SaLi7vGbZp9vMrSzZrXLr6Fv+PkSnyN
3+H6eGk3UbKhpVjPwl8MovuOEKswXh4LxNafEG+tNLuCb8Nsdn0srotinR8/
f47P4DfxTdRSDz3HL55Ps/Q2j57j689xQsDXZsrDBbdXzwHz8O0SEJ8XZjj5
a4ufbsUpPvf86VXaqt2/1nWxWjYaIZBJmsHSAhhWCN708TIPxet0Hf01OIuy
6K/0E0AYJvFfwwL2BvYlAbTT9xGvN4J3Wkt6Z43v/CnGJ1qLzB366//4P1mY
wAYsQ9jFrGLkcRbP8jxN7MGByMKklcuX/hTJR1qzdOUO/4/pdSJ+QErf/Mf/
Fm/CotBDPTzLv8LLrZV8Z8sk5+EijJYwehYnAaGpYoL3CextlgORiXQh3myy
mYsv2JfwT5tVK8rdwSew0lmcz1K5AV+nq181/kKNw5tyJedqJGkGS4R3jxvw
+PlkeNg76h7Lj/udtvnYUx8P+vqBo/6R/HjU3uuaj+rZo73uofq4v08fT4MR
kXgQrTZBFK6ZBPGXi7PgsN0O9vYHxwR5EWZXkUXV8zSmc9Fpt/bb3cPnb08v
LlsXZy35Utbjt5jrnUewTytgDYQfsQA+cBbGWfBtnEfI7IJxXoTTZZxfw0OF
uJhdR6soF+9zPLojQFQWFRHg/Ap2tbheiWF2ty7SqyxcX9/RPDkQRARPL1KG
VognCNAT4EoXyL/CpTjbwAQzBkACCXDdxMjORO8JvaYPHP0L5P8KESfAp8Yt
cRJmH+W5KP38uiWGwNSrfxy0xHl6BR8/3tU+8E2YI1++qX7gvCVGIUBL3wIe
AauDdRYvRbfdOWw0cOke7fQP9vtyu2HjFe0cdY7azs4T5wnX62CdpQuYPy//
uv5LvokL/mVyenYRdNu9L6AKfKUFr9gU8Sadb5ZR8BoOdDyLgpMwZ7EXjJNZ
uM43S96oN9HsGs5VvhIXBbCXMJs/tN2TCJgQbPepQgiMcpalsygnYlLD5A49
AHBPbMRurjZ5Ad92+41GEAQinOZFFs6KRuPyOs4FCOANEaqSjbkIka0FRnyT
9N4lgpKCHudZRUBfc6J/+F68RgF7y2LWVQlwhPEnXPtVJHZQou0K2J8inaXL
lriEd2F4NRz8cBPPAYjVptjA0t1JmyJa43FCpHyEYSM5bFPEKKmRR+HI0Ywf
BvSIv2zCpNisRAY4hoMJmoK4vQbSAEoE0ZwhHpfpbZQJONXrTUHTwOizNC9y
WBiIEFzdmhAc4JyVaMiNakEYwVW2xGkhAMNEb/x1fpcX0SoHCEByiSTFheaI
Z8Q5IEGufi7STRGki2CKK9iJPhVRhkDxNsBXUQIcBt6NFot4FtPuRaTL4DI3
qzVBRhoQPJV7S0uBnV9H4Ryh4NXh1AConn2RpSuAaA2qWpxuctZY1Aw71hQI
EG6hTUfzqAC5kOuBgfnlIez8AtDcpF0Doo5vGHu8fXnTPEWEXsC2NBEeSeq8
lblUpgQqXDEeDRwjbzFdr+L5fBk1Gk/huBQZHEkiAp/K59EiTqJcK6DNvye1
i/t7Kbo+fy5RPhxKJAccHfdrGX2SIje/A3FTZJL85kDFWTzdaOETr3DfYGZ3
lxVpzO5aYrCEGTZX19uGAiSt0kzPzaRvkT2ILTpiMLT9XpOW4CEri/6yiYFM
StRnDlTNKeLtmcPh3Iqrx3OJUC/ZYxhIUBVMA4iJqJ3tmPLSplECIAJr2IC0
nwGnV4e5uE39A11FVo844S2gnxA3IUcetdzMI8JYmczehAkcGSLrAar4uIQN
TL0zePVmsIs4XKVTZHWK7UjiPYuA3eG81pBISAlMXIAhEwNvsX+TYodJeGc8
ONtVI5Y2RjEmnIaxUaQC1HQ81rW8OwTYgdMAJwYjYAGLADMuuwXBhuZTFs0Q
d5MLxWjQ0spoirAQERhMIl7YXAzJDfgXaGNzYCEhyD7U1zaJXEkO1AmKa8Lc
BPbpCv6Ah0Aigr4hgPeEM9CLgCWxmFhsCKfeGLjDkmhgM9QYa9R67EHg6M3B
cqQTubxriukdHAlgv+EVrlYBjad4mgK9ebSGW+Tyyya94x8CKeICJeIKB780
jDcyoY3Y/yZXRvt4uYyBq8/EcJPBGkYxMBAw4//tZbRcruDUjvXu7YyHo5fj
XTgqgwTAjogHpRnNrI4FMq6K4xPz6acjprkiysiS+JK7DXgDM1WLoiUx/4TR
vg6zImYSA34z+wg/ZlGktG+1wc7OAXyIeRguyPlofkT3hBZ4MQpphqUJg4EQ
URulpSbscQpKuHZ2lHFtWI67etC57yQAZdQ0GSlyvQofBB2sbxoBNAvAzrWa
No+vEtA3ZoB0WHeVCqMhxq9prXgW6xQZ0FZwb/AAwfYxobmSXqsICBlS/QKY
Fj0XORYP7Hyd7jBV6x+PXr4bfhh/QrKBQXbyKAKGf8E8WPRb3VYHx9ESgA7/
JmewbG4pVuEdqtB46lBzXabJVQA/ryyBpY5y9ZJCYNgARbCMSYhaYg6P3QPa
EJyB+3tFyJ8/mzMJBwbxfxNHt7iQwmGTTcnYERMoS2wVSZKQpjEDEHCT+3vY
uAAAg6lAgCxJlSGNgfUo3GFfw7I23xGp9/cwbQC8B40lGE/pbWVNjEDylTFY
dv4xMOikEcC4jacSpA2NItkAsjj7bN/fgxjBV8Ae3uS5foVeULqZ5EuDs4DI
RU777mL47nxM0y30+ivffDf9VxQmygdHQAyBe4OmRUrG+fjicrFZinFyE2dp
gsSbix0ev8nIQu8EUd9Fte5JggBRDPQltRZgO8GM8MHwng7eDuQXzpbh92VN
9ilCeIMbTqPDCCNcJsmQHJXZiDb4NkWz78mb92AoNvl/xdt39Pl8/E/vT8/H
I/x88XLw+rX+0JBPXLx89/71yHwybw7fvXkzfjvil+Fb4XzVePJm8P0T3v4n
784uT9+9Hbx+wjzd1rERJ8yz4gSO4hodHkjTDUUghKmT4dnPP3X6gKH/Boju
djpHgCH+47Bz0Ic/UEDxbGkCPI7/BNTdNcDEj0LSWIBfAsNaxwWcjyayADjM
t4lAlQyw+dU/I2b+5Vj8fjpbd/p/kF/ggp0vFc6cLwln5W9KLzMSK76qmEZj
0/new7QL7+B752+Fd+vL3/8RqUoEncM//qHRaJwDzwfdg7Yh+rRmWcn7sQhX
8TIGzNH5QCpEVsl0BqQ4i9YF6kfLUL5CrM7iGk2kzhk6uk7iJMzu1BE7j2CT
c9h75jk7w5N357vyBB31j+hF+ApO0V826KzP5W8H/a7+TZ1WlGuS54yTGTrH
eMh3F2BJXRTZhpRchtlyhjCU7T0eEB4Gq+cqJRdbrn/s6dm+jabiMv0Y4cjf
XrJVDR/EcBnG8MJFVMAPwwu1iN4RjYtPIdYUFkZhEVoHVLwGLrxBtrczHI1e
72oe0saXQQjNrlHikM4F2IXNydBAIoDmOFSul9fyDdeNYpLhDHjV3Yr2polj
oKuad+tRRmkTHwWRAsoruzaUGmY8GHCMmOP6ZhjRA2llecrLgCfWy3BG3Fe/
w+d8TQo1E1i+gaWHUnZKCfOhI6SnBHj8CARhtAIlhIQdQJEZY3AJP2WoQHvw
CDZaiJFm0RVZpYCknah11Wp6KgZrDgyheRb9DvM4pPhKztv7/vw036Wzs0kY
YXNiy9oAun+q5f02F1oCgp81ukpHgqfx9FpdV99BdS/KpNwOpTfFNSjVSEro
KQNJfk/6LWA+XcG5j0I+NHjueZ1z0O8RyYBA1uHhZ+QVrAw3txnpljJu2evk
8gKTwFP4czElfyjaM6QKSL0bVEGSgnhyyPxUZ+sc4Egx+gLGU64Mhu3+ATjT
wLw/nPIpxo/ntIMe/JYqhdwO1B3iNOwFWNzRZ8vTqnw9LogavKbCGFD58q4l
XoIKfoNfb5Jl/BHPVpprwJtGNaGDDEcdpltuAVGBFeOQp6MPtCxyWDEfcVAl
uUMKICFd30Ra4VRYtTTKeqy0WMGw7HkJ7C8//vv0jkkS2fcvP/4vASI4S8Fy
JzRZYGeOKGjZoIOgRgcKKDDrQqwA+SvUzcllQBxfAPruWGEFQZAmAcAZ3MYo
xpJZitoyGSm4dRnY9U2HFxhtMCz0pEwR6q9zMhZmqF+B9ZNNYxgGJtReINK8
12vlSQ/kcZ7RjGB0yPOVR6BQSwudrTW9t7ADtK74r5bBSBEitDXkhkq8s01C
yMrI+bFAl98U5HNBjI48Ag5sEgx0eFl0SlrPLRjpik1oNyls0DpiE9k3WuG5
mKgG/V1MrUjoaFeB5HN8mJrxfYNRQAwwiJ3TV+ObLoq3P8IGHHSP9vEMaixE
LLaNC9iQskvJbC2ZM+h44rZ5VRwq2BntXr6+EJ1WTwJ0dNjfJ12S/uj0D+AP
eDbJV3E1UIDt2RIUSsSuOjFA7OgOnaeAPZCVyrKrhFTucMCczrOrQXiAUm8O
GZ+xGqbCbCsHQ4k5vx0c2IHT45i++LJn0O7y9l6DDgDbUAAB3PGJWEWRXPsi
RaJFpEs3Ldk9x41GIN6hmv0AVxbXIe7FDPUuhFCiswWvXzrP4WH32ZFi1E2L
UzelS8CiDMLZU/ubRsPmI2S1oxlk7aEtS7XvgNRBZcmyYhOycnhNSjIwhLUt
CuS3eL6BAaJ4JORJvqX0Nr2qFLRuwBH5zX2XkmfG24JF4t1EiizjuiUmen9U
KAC5oeKAItugf9WRg2bhey1fkUBMuzzYrJasKi2Jnn2M58/M0gW5WmHSCHWF
DKbAh5mEbsLlJmK3RliYVxD2DEiUnNesQZgNajT+u/XP2c4X4l70xbG4frZY
PBOffwd/vGBw3HcaMR9FBZaEhtRn3Mj2p7DT7vc7i4WYbgrz2/QOVF1U+HCH
cY6miFsRqIjtT/gw6BnSjflbQO+0HwQ9imkWD+YBwdxpw9KyOphhcBvmTrvp
rhDt7CsYuv0Jf9J+S+XKyUEeSdm+3mTrlJ0l3okCwl6EMxQ/QLCKxtGNuHCU
iV9F09+SrLMnJMVCEzUO7CoOQFUFsjrpm32IyONCK7SLTTIPkacpi4GIFB7Q
G0rqlxMWAnHOOxOilso+Ul9PgueAUsRVjL5zeyl8GsBOh7OVZcz/SBNAtkBD
Ip8AHjKPMST/ACalH5a4Dvph2cEh360U5BIA1G2SSJv6s+sIhCXaLhyFtvwL
ro5Eu5HEYJgDutD9DdL+GgQrrJsQaLDG/EgtUbmxtXL0ngZJUC6EN2kM2nq4
msZXGxSWvKB0s5wrSpHe2Fm8pvg1ShLQxVabZRHDEXTRtY2bKueuARvnoyMg
Qc7i/COSiyUsQJ1ZkhubR843a7QSQbVD2qegpU29cG7yyNGmlvFVYvBvy1H2
dL46HQkKMZWC8tLu832nu1LkleyYRuOLTZsqEkGhSvIZOB2/QWN9Yp2eDr/k
TnK6VH46b/mRQBS+FLDDfVihthwXpDZkHGLekGqAflVgNAoDCL300Wr9iy07
y1WND4HSbFRkeNoE2WYmTwoOJ2x+hPmYgLdvOY7FfMTRkDC4j+Ef2gKHu8DI
ZbySWoFOIFz88MJ1/cgoL0D8bJaAmJqho0gFaNXZSBaxYojSgEJl48MrYh2J
ki+1s7PvchqB/D/2hM69+LJ/z2EBmNbZBeH0pN8N9tpBrxNMJsF4EvQOgl43
6B09aZbeyjdTfOsQ3nr8jM8BIc8p5ajzBe89V6h5rpLD8O1+CaaqVz8W5q2u
Er8PvfkcxDK/9bmB///ZE9F/O3x3e0GnE+wdBoNBcNILDiZBp11Gtvj/HN+D
JZ1U8hIyO2fuWT4aKFul/o26RJSU7B7SVuFspXcY9a8YAb3+Uz6/OWgHDsNU
jkzS+sjyWbIKY1IUFrZiW5kVY3yc37X22kdihrKCOJnydmPi4ufPKJBxmJXi
RTkDx2kNLCirWT6m3QC/KRxo0I9mgomsA6E8lWZqHCkXGpj7z4DaJOPSXtJa
3sBRnkpKxgwVhJZnZKBcTJBcIJ2B9IUZGQnFne8C4bgiJiNQ2GGxVJY/fL+K
82nMWgYb/hzecUJI9/eDNSbpx5/EyFMJpTwd2xqmFS34egOgUCyO1WJjFF/p
X8gXdKdsXEdXBaqYk89KcfJPjqOJpO25rRUYgcuDknMHRrZ2Wv11jvls4lQP
HHOAIJBWD+m6Mr6EEnWOlhc6nVD1saC0MxJtKzGX0XWcEj91WxJvHKhpiVH1
gCrthiKWeWFozNlNqfhR3A/VpVD5s/J8gy+HdNaAZpM0CVzQyZC5CUGoA8LK
OLAzD+zcKUIdOnfIz09jkz5s40nZ7iFS2SyiqD6qRjAOfBEY7+K5+YOMfoIX
SRGYEyjUOefMcEjdch1TtEIdf1BCrxkESrhis1q7TnllxMM8qxyxiu76Jenh
mEPhW+Q7bAGyxQm/ic+7zWonQQqMcSUz+B/vK9BckpygOrgTk34vYJVL2Nod
tc6z14PTt5fj7y4/9Aa7Skm2J5aMDYOb7pi2A8ZytXA0hy1xaVTkltoFGuWS
TGYdJEOyUHan53tA5RvhdDL0KiAMKQ23UNBxEZHjjbD9ILBq42PASeAchHPE
IXsSOPBpbcNiixNi15mrs1c/V2fPm6uzt20m5QzodnaR1i5TxWMrear2Z9rW
vNrjUMoM2HSKzu5KtVcRilR/59pfXZJcRO4yqKpGfQbcAMYknpABCT8LN0Dn
O/BfzFeN8Jt8BtwDNIxn0af1M8yPXMfS5Q67R08kU9idHdy7KXlqd9mn+AzI
+xnFdOF87dqaAzJY6fuX1FWK9oSeF49zNu1snVDGyNCcLJgpRQkmlTcJ7RSJ
3eQyvRSYQDwnVzGYKulcZ7SB8Zgb0wyWIC2SX378dwkZBljouJIHu7unBJp4
Iz06E8wUshJeWIo5eUR2OgyLNxke0MenLphGoPl5ryqI5zhOcsdzIv0m+D0f
x8qkfKMoBCrTQMPNLEZmd4AtlReUxSrjxb1WyQ0sQw2EdY4h6fQnk7klNzTH
ZNJCpNOC03+UxUrMhebCHF45GQYZFjIJMlApkE6qnwzkN8XXH76j7f76w/ec
+oLagk6WtJBi8gdciGCA78kDB7+MXro/ktLjh+FP+bR70JHLYq75IoXlSR6G
4tX4jVL47u+r62E+S2GSlNYTOVUslDmIwagYlkgREzcQ+tAi1d7I+C9AJj2T
VgzEyl3IvXgEbRTmjy3iq0BqC+jjj5fLDSZ2qTf8o6CyToOKpFQ21VuuBSjC
ML+5apiZv/yfXlHjh/KPb8aXL9+NmuLi/enl+AJDIoAhMF3w03gw+tDxX/ih
8Q/Bb/73hx+qYLH+mdyMbf8eGuVx/2pHAcprouq+A+g4Z3R0xW79KL//7Yj5
h0fipfvrVvRF/6pHIXw44dMBIGaHsNMD7Pj4+fvSS+9XrOhL/20fxWCjX0sr
cpS/I730H1iR63Q6Fk9tvsYFhi+evLMyies0gBZY7FmBZeYBaRgvnswitMKe
qCwlnbChc5S/KOhuqhRqQtctN7mrL+sscqEyFjlmRYGwSGas2ZzeCzOTbcd+
5uoqH5VzxDaZdvtaCRy5VAoqCwGkOOREYUr53dXWAOglaKps1jIcI13jJjGe
FMJcqm0hoGaTwTBK5myvTuICvk/sOCdx6viNZYBAjhX0ZWyAcjJGxld+/1Rl
gsu4Xh5t5li8PgeV5yO3XDh/le86zq3tApCdTFI8c+q1TKGjetEqTcRzmsKM
QrxwX9sRebiEl09fvRG7ngeQ7bI/4wN/5oKsZL0hnFD0Urr4xc6f4eU/70r4
WGclFxhSM4XlLq/lL7HSpR0YBPdyIDeMLj8hOz1UOaJKR8ijpQw3kH7DxZtN
4dcndLz6BNRhUmzIQMF1IAkgNKp5wv3NZ9cRVghT6mZONS1bUgNlkQN5Kf1d
NeEb3N0PXYAM/7cXdVesd+Ff/ai32mUdkDVdxg92tPhkBiCXCuUeSWxqx87s
jnefLfEqQJWXpsmFRLK4EGOwKlsGjfU75dKT5nsyk4UpWbrUkSAiVZVBzgj4
nettTVKw4oZsqiti1kyv0RCMCDIGeLfZePZSRXFFWEsOJrektxfi8uWHLqFN
fo9UBl+jptpUxEk50uheooRWJhp8D557ucOKyssdrTShFI5rsjPK/haA/mLw
+pI2zFaNyWxR+0rbCjP2rOx2GHcSXyFP28cB3ROJe81bhwzA+MfMAiJG5iqd
63Rf4yuk6JOvYMMuAQ6XcS5ziNwaE5klw85nhv6WYu7VmMjl+WEPZKeMFJ+n
MB7w3wu5241X4+8vLs/HgzcfugPNcV6NJjtCnQsh2k25w8aJ9WEZJVfF9Ydu
CLxInRU5sse19M5wheuuNWWvYko+gp1uU+5VacoeTvnK1pNKY/BsPTUEIFm+
DG+efmO9WvNmX70Z35gXtyoYuI9Sx/DkyyM1CzoklDvm7Iid5M4WuuUuxN+N
Ud9tUYgoqNwkaRTLxWAtUf0oNgi9B0CA33dkxBZVj0Sv2XYvkBPr9Ozl+Jzf
Odn1nBE1cPe2wt0beKMEtGnMT5henUXuyiPtircattTnMm5zrqXjh3aIflfT
9LykYgvAE5OlJ6NPu6iAaMXTrQuzSzCe2hVlUu3MJfszufEU9ZeBqhnHpx6s
OfPK2DRPdVmHeMtFDSHoGzEoZsmdPQTItrVYYI2bdHTYfgKTiUK+zTyi0IIM
A2YZZvnJJ6egD3MkqoLJ77sOdeUKcYogtZd9ShEL17HXaTT0R9xMK3fRIMTn
2Z6c8ZOjtKuRfQ7sZgNwChXb0nqhKingQIPJLeKKiShTcwHzCAN+WOWu6BV0
OfJmkYlltXTN8rre8rYsqOdpW1j2grVKMlpqzmjXd33Zvw1kTNDYGEMgqjTX
h8pABpScX3UDIDogY2cMqjAPl7PN0iTYhGLK1VAhFXvfkI81CldSh2zavkn5
y1WUYNGfr2ivdUTLiUlqFgPn+CuXPbwQ0knyR+UmgSdciF+4b3z37txh1rBA
DDBjuRUNEPqe4S0KjJ2I7RWYGv4CwIECJ1Utqu+iYpQPafaBvtdmlx1NMIyd
veapbNamWOs6i1eIcsNIWPEg1VlNQRPCHJWJ2Q/WlGD8o9LipKNCNqKJ1yW2
y9MuvLDyoeaRLmdzMpuMy9kXog5ouvRXpUdrO9ziwe5Ze7+m1CcMeVr5oLgV
rldV8ZUclXhHbHxFh2RTRC5sPv+zYPsK1AiWty4Z8iGQJwWIUCW0euTsvlQm
1hLF2eTZ89iEqfyQqcOrcA5UcYNN8bDJheR/ls+AIocoKPqy5wx8zkHO4Od9
otT8Y7xe+2y7t43p9YCfoFQE9Pc+GwbYezwD7D+WAfa2MMDeoEQ4NQwQAY6B
+SmIv3KHUV02NnbcZSsLVHyyigECkDb7a+pIsdycajYIqtdXrlaFnNBW354L
bHQF/xN0+61WFxQeR5lDpYa16a8wnlKRIp/X5sYr0q3KBIcn6e/PlpJRis+z
Ow5X6bsWquLyLQPpROaIqxYbVUoznucKnRQpJpqrugJtQGAyBTpdMEdcAaOz
ar6ugKOKI/QG2uS2uRQ/7ZDOC3fT3PPdG/i0dqL4/TMTb3qmo92Y0CZrhNsi
5frhGs0sJ70IT/Ge4RKyWljTslaUuLEpVqU+1kHEx0AmCikuj+bVK1S1rcwy
lZVxA6PATpFdtwPKqkqMwUfdmWWSh5Up4SVBVWh+cmUme8PW76s0DDM4bSTg
gw5ZYImpF+L62TP6TjlbP4Qhfv3737u2BJsXng3xhz/Qq2gBU6oUrrtWitCj
Dsh4uv+oYh1+CZXcwJxNnC2yCd/j+GiScrI8uppQC+lR6rtSHJp48Ge8Ec9y
Md3EyyKIE06tyFQ9XmEaT5jqL6/9hi4bk5nSvkohqUqvpaSjVsv2Xq1sl9Rm
BiDZHs1zX65/LTmwe4z1ESD/o2pN5mCb0jAb1XK+V5bzPKQzCdVQzbBA0uEG
NOhZmOWRl6jgG9Aeqy9xdpWtXclJ4gTWTTsbmOwBZh4EwPvcrVQBYFWFMCsL
WzLvqYxFFofVlLvRHBfERDA7XZc5FBvM5txx3uI3diWy0Tn4yPNDb9AS5xV7
dMJ7JA84MSgc7rce7SpO8aWMFDM8FvyCUwkgzXZE7p1SJrDC3sMfpUY4FTNb
CqxzrIjEgZvsfcbMKE45CG23AXwEVXHFzdPCwvEa3GIJWrhak2WMYBEAcMpJ
64+UL98qikxNwYAcy9LCuV4i0jWqTZU+uzQ5LdIVjMGSXDYtg1+pFRYgMiy4
il3aSLLJZqMxiWUHMh+cxzLOt2kFmzTBvKYqxqOtM7JaXG1AsgDXhDm4oNnh
oHpzZM0z7YPJMIIdwvW4qnaf/UwyOmbU6f6vdZfs+UrOgBpbGcMN8EvEeGfz
2T51AA9l5aAXAdSmqMOG5elg8sWQpUxZtc0Pihep7LtERiaDkq3oG3Axlf1s
yEGmCMsu2TXBBXQXY97rjh953JUyDd4G4cjL4qxtzITl13mDMOTmi2Cd6rnG
KnHKDwa05QXWwKkpEV/uUnOxgd1f4olBGMsox+1idPgo1o0NrBGvXZM98htK
NBrD6m5YTakOOTOgvUglsjqeWwrWYkCbeqGUU5asuDgq7TWhYH9OllGy9nyF
7X0Bg3fcgARk0XvlJQUJwu6Qc1MGcf/Uqyqr9cBep7fGkaEc5QvT+s4urlCd
PSiG6PdUqXOD9ssFmsYdr0nJ6cZmaaCZ8p9gHZ1fCEU/+oEQBdGOuDwZdZso
fprkFDdxEKrJ2/peT76HFpx5rcrGo7E+V4dWrCXJyIq1RWd6kY8JqqD1ZC9C
KjCWwWZntvkB7ZoyQGW7/po4eCmZQBNMnFhtSSpKc1SDQNQccVkWjoGAws2y
oBrELqVJY478ABhJJCVuiTVwj1rm8g4cqCFchdmcSjjlSqpzHWglQPGA60IV
ZavF3FLmMzv51EqalEqsvBZu/RGlIHwrB3K/50ircXaQT4+rHoy5Z7Mw2bi8
7BY48jyvF1yz6nXWU60KlC4z90qXdAPGVRQm3uGt76Ku8htkjRIJctwe1etW
2wvu4pucmuPgShMMHPONKtvEM/0hViqEO4g8B26GKO7FPEISkIqObM3ovsrj
7sRBZ5fiQbICtCk7Vz4g4HstMZAOtnUaJ75MlYjGMq9QFZm7MpmkkdMnAxuO
Y4ipCsy4ZRZqiVWzUIWkbbCXpZi3CF9vqFuFWSdqFtJVajHuBHU7f7cluv9B
otsd5xYTRmCU1gP7+ZhlgtiMF1XqluPR/puqW4Z8KjH6JXTx2zBqxrEwSvVE
Ltu1EmZIFTZp6OI2ylxWDqz/Cg0EfTqRZ2CFljWk3602ripi5Iwj037JCQIh
GFUSx0ASFiVQfv4JXoP/KGGG8K5oT3/+qeZIUfVdqcYSKExCZxeJ+/F+S2hK
259aPP380wL+lyK/sA3WXGSXtn7+Caw+/YQncLiFll+Y7mzlzz+xuM2lEJVT
o2+Js+KUYQp68k0cunWGaPHaZq0v98Off/L4DVXTYL87fw9luRxb2TLp0Rwf
A/7PP1GxjKk2rU6o//mnl6BoYkdel8rcp3/+yXGhZJHOW3u0tERBLn/1KoUA
Uj42FoJk5id5lam8SJXyc/X/bktQsuUyXkQ4BHkduCFrU3t4wChIAQpsIwZz
PApIUuJNBibGWx/bbf3+KXbLfaAzPWlJ1Fx8WdGPmwuO5Hl/7MQA8rskMj29
45KApvRXxTUsLc+onDCO0rlMJ19L2XAu60FLoazBEdK2hHA1ZS3vXGaimjRz
CDmmwmS8DkvJY2shK305C7bBB0BNSzF50QwqXZYqb3cYSTarKRwVADej+8eK
LF7LniWm7sqsnpIuCQgql6XWn7g8OCrpx81a+oZW1MdzqtuLwHNcch0mukod
65BBBfsY6ZogOTbqHdzL1SiwesVUlKPVMNWC2MWuFBucOk0Fy5tEh+S4T7rv
yXY6PLN/QHrH/UtJDCowsr+WaaGq3yJqljJXvNS5BhXKiBbI1XVsK6JEVTHd
lniX2JjAtTVtCBg1dBGM6mSqQKibVYrejE0Czmqn6dkqljOBiGmiac1dIFWb
G/ZTljZMcD9Fqf9anbG5W88CdTgY0+nawxLhbURmoxiwamk3TN15O8Dmpa4P
P4vC5UpJejyNOu2fG/lgDTkTFhelX8tSWwMqMz0DYqnLF0wr/sTzoPqThwsi
GZybziMHU+z8YFTGkKFYBZhE9Ms4+YjGF7yW/fLj/3Q0evTrwUezPC1QXHiB
9gyB1bXb54037drtfvrqShXuZo9bi+PhGMQM8C4q0893iWW0qoMQX8hSXfVo
d68Jr6gsnuVJ3bUYCQhP63CiI5MF2IKy0SJy9Sr9Rzd9tJsRgVUqq9zX8mKN
hbxYI+eLNZrWbRl2bx51jUdYqgNhrZVjCmwHYiIGLkNelCE5S24l41VeBMF0
QPyRObZiujbDLYlMVtBBIMou8Nh+X14B5zSgx6ZbXOgd6cZDRnrKUabkSZhy
MzyneKVniIwrQ0uGAaI5ylVLUFN6ma6shv7oJJ5uKoo8Ut86sm9foorNfDPN
qVl25dzy3Ep2bAcPT02KUrMm1lg7qyndqfVst8TLiKqdC05rmJLSgw0zqHdr
TWBaB9x5m6SJZOV56FRjJ4OzdB+FAzmRjyOw2JdcNsK1JzkU1McBt7sWqVYj
31S1w2Q3uCYJ1dNEtbRV5wF/qyUUJGV9icDQvUTg/qm6NIDF5gN1OrG834r6
QII9wINoI1jJGtW+1kno9q9VsvzDIbDSu79GXhNZDlzLOZiCcnPfBHeStu9w
qOo+q+Z2t0uG8VS/TynJ4M0zzTc9eqbVVfaSdXKq3cLwUuqRU2ZBNoNmwOWS
ZXPA62vmYHladNb2da1vZksTqJw2qzFA7T0yJnNRYt47bkelbDEWVRJkF06S
sqbNcM1tSOU+sNXvqeWlCaYzajq2u+hqELwmvPVTEzvXAijGcGueJhzqLDtf
1Gl0jGQ8VWjMIbNhLVuYtEcavjZMrDsf2OSGzRaXUfjR0WDCaSqbciq8MGGf
OaTidnGnw4+8fkY8Y51/lDxAnyO7j4NXx0YyRcIpH5WIxW6M1IUcl2boaE15
KZFyzsbUIYWYsXFRs7ZHV2RJkzEUL0FnuEXTXHMwvvNS7Ly8eLPbVBWWEXsT
KDIqA4g17fvInAizu6Z0tK/wjspp5HT5QfuIMjBT2S9eN4eUFz/Jo8Ogc7NP
2LdQX5RAFAOSNFvgBQWKglU7SBbKSvuRMWaO0rlGMdvdhP/fVNmp+k3gluhb
wbQPk0uoohXfT4POHqt9or2x3OM/JP3ak9iO20ENLN0dW7ybuyVvabmLhuzu
j0WOAPkVt4jVDbsoILmEY2z6yljHQDYhq+/KppqIcfbEnDG6FL5fSKXISb2T
aIAWBmeCXfSIFhhIJ02wracTrB0XYyH9xqCvAegta5elcmGuUwNKRI/Q0OjK
p4YJYTHmq+Hprlp6y36uSqdOHGXasLNIWA2CjRyRVrFhclLrsyL0qsFuWZnf
Jtpk/+fFgjyPJLtVw/tSWI9tYu53Um0ySE8HmWKShccOkuRlPZ6ZwFuSWTn0
1v19MtOgxELHyhc5oDuOVUol3cayMx6MdhuNgV8B6vSnVzcIllko+1tVjspj
5lI+AMkYrYQXtNMwHUa2tZFMVV8rYhQQbchK/5CtuKn+8Tb3vABFBmOnYOhi
CbTTFF6fKacHToHSClhsp3sopjE3MFL94alIQtUklR5E922Ls8849OISkroc
DeQ+3kllOD9QQ6BmyMGGoEovPlgsLRhvrljI5cK2Cb26vDGdGs0WsXU5if1g
Lnbav/z4b/u06m4fPnb3di3aMB4BCxPBNLYsbKWopIsF3bs0zTZFhGVvM83+
2PenRtjv1wyQ0Pvw5hUaT5p/nKLPGM8QMkG6P6cpVilaN7wBpqKkcgRBESdW
7HlCvHNyKW6d9sskhfBid5LCKLzoXkq+HkjdliD6rR6QwXJpCZQcnQk4Nra5
RhLfPxR3UShvzOQbjkArgpWTgzmmeg1959ppeimycB5jMNncuoaNta1lqfXY
9TZTkOwfPRMjXdgsxRZ+dJtSSdHXWQLcMjq0J6LfjdHtOfClU5xFqXJCWBfE
4Q1CsmE2cdUaaDk+m+HhX6MEQLPwwvikq66xsGizCD+STwbxGWU33DlVt/WA
97mxOhUp3gnV6Y26JKhglmHxmPpvayQmauSG53BrNF/htUXWraHu2eI7WakP
q3FA+uOx+5BZlsqukiofxi1ZdfBihIo/ufrhVWRCVFo/mrgJEbVDymDGF+fA
fGn6C2aTWJGRcmbHvpfZ4YXGceVUKsqiIrlKtbtK07N1A67KPzb9zbyWadpr
I1U9b+0mqGfEU6JX/XBakLkYE8TWKL1NrvBea8emNzdcVMtnMgaUR7XGcWpa
8q3QEgl1SmkSXaVFbPUPV/douQNh/SAVKjG/1R0c/ASJnEQPuhMzdsNiEwS6
lZvhK4sX1dBr199J6YayUn8ZexqnpSuxJImuUrSs9UJSnZinpuIRY2WWYOKl
gk4GhtjDwEaHroWLSskLHrE5e3mGUPwTXzXsObBA3ZrfhKqYW15HLJOLqfJ6
cwVyQ2ZNhK4yQ+CeAwpuUNM241NiciZ2huf/NNwlxZ56WPLyphzWQO8uZkJR
fugKuwUBpSoxl/D9Lsmd40jRdwLaJFR59bHuq0fXHVMXSKm4NBoKTGUizNzb
R1EpJ/2jWnGhs+toL7aygzKrVHnKsTjrTmCuf41hFtXkUK/xzFwS5l8RbQNs
7oB2OQJd7mx5QbGQXuAucGkhY11ep4ePsutKXSM/j5Qnga/+1jc8kejgTjZ4
RYR/zYV35ysNnPKFHurelCrXG96ZsvXScK1sKQwopYf8B2/SLErVKrVPyrtD
3ARB9BjKfuMbLR4XD2k0Tu6sW6vcyINZelhxnTfdx+V0YXyjw9U7r8bkgZFJ
TG9eB9js8f5+cnp2EXTbdOOlMnjcK8Xsrl/YyGFywTThYSyAeSlfyXJZTnht
JULO2foG1sPeOQlNxU2kpqPA76RArGtLKQ0g106TTa9kEbgxvlK+sMY25bEB
iL4T3DdfPibYT4cd/bIW2PFR1/Y64+mlXqjwS1dSJezNuNrAfKr9NQV7l3d8
Diq1Qrtk3A0I8j2OYAGEH/m+aPeab3J7aW17If1ASrOncJ2Bh4Yvso3JdXXN
ONlpipo+SKd8wlwskjxO5Z2j67LReHtKSV9kUUi5hu4Y0/zU+Bu12hhLfKNW
gRUm7uXhZHmETJU7oCWdBYftdrC3P0A6NjUb+1jsrS68tEKeuqeVc4U69b7S
qwjZbnHjoCo5LeACYAx6yJwZwDhd3D5XJjBHBZOST0XikG5pb6rpzSWCliuG
n99BJ4wq7vRJiTVpPI7bOJPtFsdaCpNXaCJSxJBMVFaaG1gLFNvJOxIoyg2U
NwjZU7ncTD6tfRrGfzi9YwS4RJxzZNL4hHGtVM8lY7Pu08CxCG1E3RUiinpB
YGmWTmrkdAyZmogxvyVzGkqIisTNZpmoZvTkNDSXTuowg1WU+MuP/64BwlbM
Fhmru5K1C2wr0wc0FrcRVoHfpgDSFcyOXe2MA3swQw4EwF4pykKvr7oFkrKr
0JRE3k53ItDdkurRWF6UubDhQV5rXYGFsCcz9JqTz+evUZYGwABy447wq6vI
HVTlB3duNGB/i5VdRgWXJRMc+a/0JRTy7gIZcMj51ifbhLNKWFUnPTJgQRub
YWfwO1IanAaPSuw9LrWMgUzSSjhV4sVcb1rtxa/G7U6ueFWlg9CZrvPNivCX
ClAwH05xf0zumPav2L2OSP/f2qikJd6xeuQlc6LKLDtBWABLHcMc2IqQAS1E
RlVUZVTFnZEygJ8feznr+pb0B2rBlHvm19SEuYEPu/PmY7O+HxEWkeLFYcn4
qm5MiT42jk5JVzrdm1jkXl1jruJAdE2BXYlJRiUdc/ekyQZMdnHKloCAW3xG
CSu7JoghLSu7a6IMF5BZSCAQJ5SBAGJ2Myd+L017y45SJOl2H2yqTYMj5uVT
IaNyGzdKkzKwoiUquigT2h9ZouZJUG3z1I0OhgFe7K7SDb3kaGACcdIS8Iis
kXEkceneIVmu4Etmkz5BKWxMJHQphfYwahmhU3BM0JJD2bh/FmcvqYbsxafE
G2I7xly/UBEEojRTRWB3mcREcrcKzjSehBOqvblaoUfaKot2t1MrqTR015le
yO11SjSh++5LlMkFyhIIC0Z1Mwtl6On16/Yarl4hBhUparqCcply8j32pcFT
gDwiRR0QR6KKC0VOqqRM6nybxA5D6Tn5hmzOB8HDcad4IDOAW68MQ9Et+6Vu
K2vDtJNaNbTVScunVr4k3xoky6kwJBMs6S0n9EO0RhOaC1u546ymNYVbKjtK
9R3d7o2TNKWSM15ywucHUwbd8KZHv1XhtnKWmq9FmcQuvUzucKSCg8yxvKwq
xKhJ2HbuCfT8w7LGzHOUmjxVksSlzB1ZhV8YVku43xBPTjArBGzRtQQHc8et
CxDJMe5fjZ7OgGmI+SayQjAysx47EOayXpGuKI0oxMYdu7QU8msS8Ri62TQ8
z1SWJlk3+fqFMBzOigtJUjV3lziGd25b3op9hGxObLs9uzY1ipMnifxrcoN4
/+vS6nwC+MrO36cSKfuCIi1h5BW5uTRX6GoTx9tvp7nXjDmNTOq83Bw3K5tD
cqYNHCFCBYyMn6/FHVFICsvqHK4ZwG5OjK6sRFdeLVSDq+10nr3DM3RWjLcK
al4dqstxZ6CIkCdZV1rSQ3QV+BRVZb1YQH5NkkB1pZaVEs7Wq7TByPiJwE7F
1DCczCTiMeO9TjmmbheLKH1Jug/pQh9UApTfrur+lpZ4aV3mZtrIOznvvFxl
udiNJEhm1xT7nA7eDsqpnvitzvVEeZzONitGjPaj2Bo3jcIeEUnvbOi84WTQ
y7s1vHJO7jTA2v1TuzcnWN34tvSRgB4SyQvM2fnmzYTheh0LfVKe5Yl8UbZg
kQ/q766ydLOG97SA9vzoeIsB3/21Q2PvPoHl/CC+IRakb0SwFF3P/EQv6A+W
2lvzs2oHKe96wMp+6xKGH4TdP6B8IcNDPxfOlv1AZf9FOJUID0BEqrL/gczx
Ulbcll1rYdU/sKHxsbjgUEk0Z9Z8zOC/EP1WA9RsMYYx0+wY3lylqh0HCmub
MLQ69zqcRkszy28nBm/k/xx6oLEtjI8ibnKMqHS2YsjneIgudQAbBqvZ/q79
lsuubbobX04e2m0arlczHN7I92XDKeKRRmpWRT65Sz91m1tPQvkx4+CFwObk
CP4L0XuQmoIgoE7HyMeGo9Fr2AbVfxqZGH7l9xdBlo/dAghaemduvSOvGAA7
Ko7kfWl2pAA0HPTDIO+ca3Ffe9UEDd+QIYcX4p9F9yvM2hL/Ip7j/zYaEXWv
2gG1Dj59WBJJHeNPTfjqj/Qlqz7H1CWy2djFoiG8dQne6nyFD+w2uB+u90XP
/6Jvf9Ew9yfx9LLlsp5bh2yPZcQEv8QbtxQgAq+Akn9ZzSsJbIKQYDXXEfE0
X3/4/oPTB9lal98vmKY43zJF15mip96xu4xWDt9Tw9vK5LG86fEDXt1Y6snp
jXtSM/CJHFh2AHTg65fh61cP03dG6dOv3Nubvx+fn38YvhuNzW7hN6dvJ+/g
GzAi6QVM+JbP40efttTVgmY7ZZuTY7GhR5yO/Hi6LjEy/g11g8yJi2sSajRO
0Lmssltz/+J3pVT6GeU7kuhAauwqpjDIgU/hQVPypKm9/NI1ha57FBAPsgan
7Y2ciq+jpKTI0yJa7cKJoFYuu41237v05VKXqHB+BRe+O/kk7S4lhHHvVTf5
xrkgkyphC79DkD5iW4DqVgBldcXIIu4Dl3ixuHUYZ8TJUOV2u4U6uqVOM/Bh
03M8y6vDZI3vxM55eMtaEUDcky1xAOYjcXQguiMxGYtJB0hYDE7EUVfsj8Xw
CP972BbtPfwVmP3RpHHQFpOJOJmI/lj09kVnKOB8tuHDQByAWjoSJ3uicyDa
Q9Fpi/HetsvQa6DW0ZcGMrAasA8AvH1x2IFNFUd9BAA+DAY4e/9Q7PXE0YmY
9AWwpt6eODpqwAKP9sRBV/SPxPhEHExE51AcHop+W+yPEOBDWEUfl9zpitHJ
1n1UxIVmLNB5IgWVVXSCvJbPAW6kfUdr+9PASmh0bmUdmIJW9kVwYxCTwdMJ
aCR1Gysg2KeDYSU0s2uwO5NSHlBjuJ2YBx4S3qaWHeNkLWOsw4OEpR6PfkGu
yRluYFvt39ZzQomdm5lV8djxV2oEYmmO3oGm7T5Sxd6h6LbFIwimYRGMeATB
NCyCESV0WSy3619FKfOoKvOwOCenKh+uDZpWnhpZH+eq6nxKpqE7x38et9Fz
1HKb7+uObWeMHONwQgyng/g/6CCjOAH8T0SvJ04GYm8sBodiNBTDSaPXEX14
YIwP9EaiPxFHcE6PRH8oJvtir4OcClRP2LLBgRj0tnGbGqhtblML9hh2fE/s
D8Q+0ENPjNtiMBHjoTgCnnlCVASiDWgDSGsk9gaN0Z4Y98W4I4Z9AaNMDuhd
YKFjXPsBUFdfHJyIkyNxMBKHPtgerTyC25zXcpv2Xh27Aab+hfymvfdr+I25
rhTh3MJvfFlxeV1zR5Z7V4ZpkV2Rc3vc2HqrlordOt/Gub9M5+c6yj4SwyGS
NXAQZByw2SOUnUDcR22kjMlIjPfpmbYYdhv9E6SJXh9Jp9tB3gQKFJwBEMCH
R2JvhCR+sIf0Dc+0x9so2wWvhGB4X8LInPBLIG0MgeD/dpDSZtQgcO8EGTEM
MRiL/R7wUxLJABxwhzbOOumJ/X2Ebx+gHDXaHbEPp+gQzxhABpz98ECcAKeG
Z0YIYhu4zIkYj5FxjB4B1oOI+xIIGwDDb4PQXEDntZi1+udepqrXLpximTz5
iKTTmjuUueduq8G9QnT7egrfqdubv0f/J13hDH985x8UGsnZX5zPnc7Z9C7o
kQNkiMDW9waERuCzoI92UYM82UcB3D4kcpwA62wAqQ1IGe0dIuV1TkSng/SK
rx+QhOggecBGwFAnFep40rRu9rO4SH3P+PK9cfByDQ0DJfSOxAig7SHAIJZA
SAzaqBZPDvHgjXuiu4frHR7AwWt04Bl4BaTIkETFPpFZG/UPoLTBES6tf4Ay
ZgQy48hbzkWsYo51QXvdpsRc6Kgvu6u9Ee+/xNq2K5s+3bFL5Uu0Tad3ttI2
bZeGP4Xj7ijNtFWIVTTGftytNx4IzkvOLqnpx8Pt0yt6z737cAACbKmvMpSc
teJBt2cu6QDOSLWYGfs7XLsLxgnlI0bfnvW5zhyoIAIgVIuLg4X7WF2uQbqc
eLQu1yBdTpQWahkCvdorJsx1i2HpIg5ND+o+EHO9J2VYX7wq+Sr0A/UKLSwc
BBEYL50+gt1hMwfMJZDpXVTLYTf3wCAiNeAIVt1BidcBRX2IPBveQk1+jAwb
DP+9CeJzDLgCHjHaJmzRe+cS777eIOAOPZSKYIjBaKDSH5A5BjYXcBwAZp9Y
DGB+gGBvnUXdwlmDAJDWsLJhG02KvT0U4SBmYBLAAQj1/UO0OQ5pQmBTsCCY
cAJLHKJpAgoREAtwQpA98M0hGCJDMaJXwKwEcgDxX6b1ClW292WqbGP7jY5l
paZXt3qQnkDEQN9gBIAGAjiFXQcFDlQR2EL07+yhkQyqDtB0r9s46KP1CzgA
nQ+MLiAXYOGw9DYdmy5pjXAk2idiOBDdyQO6Vu8RutaXQNiAhf02CL9c2vR+
u2+DMuqWd94dOh7LM/dllXie895joTml7O3EMB7XT75lesocoq6j7h0p7qUd
6lphHMm+9KPksbR8+fU2Ycc/SM5fsvODS+OHat1AC23Y8yP6vzH+F2gEP3fo
w0SqloMO6umDHtoT7C/qk0eClZV6jtT4Uo4kEfQQtADVPnDUnjhoI5AIeZ++
+ftC+1+He9QITPvGGl9P8kE3EuZoH0EHUwGEGEDT3ccpe0Nk+31y/oHu2j3A
n066CPoWDPEVW840PcuWRe/WCK1DEDCgV8DEIG1HB+IQ1GUYGnf2i47mFrWr
6vgfKVAA1QcT3Iv+EdITTgwaelccHj4Sz95tbNWaqg+d85aLJGPwd9A0AGmL
8rRN/r8D0e4hcKMTpJKTgzoMGT3WCRNiXncRFl/GO6t0Vs084dOjEaigIx7p
X0wl81GdO622bel2qHpIW+yF2CMH6GCI3olDOHdVzsSKbTVh2C+QOOalMnAd
TXCkJH4RfHVXTn+Rl6/+EmoV3q24f9qBhQapc+91kBA6J+hpwEjZEep8+wfk
eOgi1R52MSgwJmdae9wA3gYKNhgIYFCggniCDm14BnRNGAqYzv4IDemjDnLK
zlbHNYP1sFvvCyBsAF/6bRBaRk3/1+hP/b+ltd6vP96/fh4tZ/pKzpSmeeXT
ixE0YEQOTkQHmH0bjwNwfbA1YEMOD9FUghMBBhaYSnvkNzzYqjHjzHWCBqV/
B5kTGDBjcp6BkjAiryxI/yEdvNEDTgGfJZSWaVIitooZ4ORA+6CAAPfuE98E
tWBSYQ2rYh0yXuGzylNSV2RRPr7uV+vmj9W96yS9q2Zeqk1YiTzUZVXVZ/3k
RAz2UUsakRsR1J0RKgMonkCVAUPviIzmwR4xum4DBANs/IT0mO4RajYHQ9TX
QMcYdXCogxP0NIDwOOk/wmzVS6oBrztBnxuaq238PxALBwfkld8nveoEJenR
CR79A1QMG+ND/AkOepvc0BhYGyP5AY3AuuDd8Qh1ONg4YB5jnxRhv5yLk2T2
CN/TUntxjY4vyuw9/xoK2XS5yWYC3Seq5I932xQKoXKuCeWdsbEhU8/+Rokn
Wck9YTlNSBNAtWUP/ZrotN9DRB6RRxoON2q/PUQnctsB8gA4kMhJT5A6QC8H
sd4h7wlmJwzRFIHPOOygHD92wcKroRywNFQw46F/wp+qLMbX6VXDWf/ZkgoF
MwsNobyWl253nKCzP2gfITYDML+ogmEwn2d84V1+jaHTDJOYb2K8KDFdcd0m
PnYeJSEinlIKA9kbyOmzHM6pIIluNUiX6dUd7YEqXrcbKt/kLR6HRh5iJxaK
gMjEIM6ys7qzdnTK+dq52dRSWbxLHQF17tDuXc3e1coUJ5fdyXm179dzruXH
7NeZm44N66aWwCZrFTHjvpepnNIcNhYV4Q6I6eAP2LJH4EW7Tfp02O/v628P
+/ug2lQ2NGhK3GJ/Bjj0bBvhS3vdwzavlEkA66lkm11rvw9pv9tHDQ8nVL/j
dyjV95auUrqlCWs/ksi6HFNt90Yu1WyCtTnhbJZmiNvlHU06iT9F8zLiFc69
ahJJcIpNHJtmd/7NqTUtn9RtIL/Dezrkaq1b0RyQkrmVbUoXCpnrpTyElZtX
263BaaOxXfWuNX6BmXo3MlPvoY064I061AcT5+TZVU8XkqELLhSi5st5nLfs
x6kOOM5l5+Wq2hmC2Surt0awm8GLHZlQ92o02ZVV7M5Z2JG5i7um5a1sSOYc
B+8trsAwLbU1PSP2nMWUanPcFsrrLApk/BErX7a/qis1c/HcLlKxX6M8zDRR
YkuZJU/45gU+0k+AwhIwqopKst22v/u8vweNbQSicKbrpLylVJLAg1Pv8dT7
jQef7POTezaQqzhXreHsboVGkjuQq2pgF3ALy0aG0JU2gzOVD14DXA22DMw9
hrkv7wmzs2MfWm6XX+01nCWEmImLrIqsA9k7XUM4lEX/hvXBGNdYq0YtFtSZ
k1m8FGIvFarxQF6WPH15UbPxeJy3dVZ5aKUdXmm3Ya2BpZlehrwKl2+MmVsM
3RqmzcN0aihJcgnqpst9vp5aHStYn7g/5g4G0fzFkwWw8uiJbGDN5mVO15Rx
DUOYfGzc398PrzPsSAPCaLDK/+P/5vnnz5+b+MM4iz+KAdo6S0CO+vZilhaF
mCw31xk6sPjLf8SusijPXqZ3y9A8DJjAkjHxjyEpPOrrkwynu4jXKU8Gb+DX
b8JslorLeJnOQvi+wXcpor6ksCbVJtm4BxvDosZKF5Fhhx21l0gq8wxOs6oP
phtasOqZquNkPzBsy8Hq7tnpqNvu9oJO/7DT7r87CYZgdpif35wOT98/H4xP
n3farU6v3Tt6vtfudNpt/E8PNKR3b99Nzsf93Sbos6Px+fP3YzF+L16OQYe9
uATDj2tQv8ZGtGJwlUXcrwGM/w6MsH9w1GZTGd4Zjs8vTyffb32jvX/UP+g4
S7sNc6sDHrUz4cZsd+KbOEnSm1AEhJWLW0AXyPXBFTbwIN59Sr8T27+4y8G8
yOlZblZImTHvz8evBgDa68vTYfB2/N0lUi9e0C6G35+djy8u6tEcu+3vVG7b
BLn9tXgrmyahQhLB5mu4ePn8JHVHA82sLTi3f+ftJHgZw0kWg7fnQbcbnI0n
l3B22ke7rcb/A7YcdGAP1wAA

-->

</rfc>
