<?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.6.29 (Ruby 3.1.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-westerbaan-cfrg-hpke-xyber768d00-02" category="info" consensus="true" submissionType="IRTF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.1 -->
  <front>
    <title abbrev="hpke-xyber768d00">X25519Kyber768Draft00 hybrid post-quantum KEM for HPKE</title>
    <seriesInfo name="Internet-Draft" value="draft-westerbaan-cfrg-hpke-xyber768d00-02"/>
    <author initials="B. E." surname="Westerbaan" fullname="Bas Westerbaan">
      <organization>Cloudflare</organization>
      <address>
        <email>bas@cloudflare.com</email>
      </address>
    </author>
    <author fullname="Christopher A. Wood">
      <organization>Cloudflare</organization>
      <address>
        <email>caw@heapingbits.net</email>
      </address>
    </author>
    <date year="2023" month="April" day="22"/>
    <area>IRTF</area>
    <workgroup>Crypto Forum</workgroup>
    <keyword>kyber</keyword>
    <keyword>post-quantum</keyword>
    <keyword>x25519</keyword>
    <keyword>hpke</keyword>
    <abstract>
      <t>This memo defines X25519Kyber768Draft00, a hybrid post-quantum KEM,
for HPKE (RFC9180). This KEM does not support the authenticated modes
of HPKE.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://bwesterb.github.io/draft-westerbaan-cfrg-hpke-xyber768d00/draft-westerbaan-cfrg-hpke-xyber768d00.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-westerbaan-cfrg-hpke-xyber768d00/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Crypto Forum Research Group mailing list (<eref target="mailto:cfrg@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/search/?email_list=cfrg"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/cfrg/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/bwesterb/draft-westerbaan-cfrg-hpke-xyber768d00"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <section anchor="motivation">
        <name>Motivation</name>
        <t>The final draft for Kyber is expected in 2024.
There is a desire to deploy post-quantum cryptography earlier than that.
To promote interoperability of early implementations,
    this document specifies a preliminary hybrid post-quantum key agreement.</t>
      </section>
      <section anchor="S-notauth">
        <name>Not an authenticated KEM</name>
        <t>Kyber is a plain KEM that does not
support the static-ephemeral key exchange
that allows HPKE based on Diffie-Hellman based KEMs
its (optional) authenticated modes.</t>
      </section>
    </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>
    </section>
    <section anchor="construction">
      <name>Construction</name>
      <t>In short, X25519Kyber768Draft00 is the parallel combination
of DHKEM(X25519, HKDF-SHA256) <xref target="RFC9180"/> <xref target="RFC7748"/>
and Kyber768Draft00 <xref target="KYBER"/>:
wire encodings of public key, private key, cipher texts
and shared secrets are simple concatenations.</t>
      <t>A KEM private key is a tuple of an DHKEM(X25519, HKDF-SHA256)
private key and Kyber768Draft00 private key, where each is
an octet string of length 32 and 2400 bytes, respectively.
Similarly, a KEM public key is a tuple of an DHKEM(X25519, HKDF-SHA256)
public key and Kyber768Draft00 public key.</t>
      <t>Kyber768Draft00 is Kyber768 as submitted to the third round
of the NIST PQC process <xref target="KyberV302"/>, where it is
also known as v3.02.</t>
      <t>Note that this hybrid KEM is different from the one
defined in <xref target="TLS-XYBER"/> based on <xref target="HYBRID"/> for TLS,
as raw X25519 shared secrets can be used,
thanks to the message transcript.</t>
      <t>We use HKDF-SHA256 as the HPKE HKDF. We denote the DHKEM(X25519, HKDF-SHA256)
KEM as DHKEM throughout the document.</t>
      <section anchor="serializepublickey-and-deserializepublickey">
        <name>SerializePublicKey and DeserializePublicKey</name>
        <t>SerializePublicKey and DeserializePublicKey encode and decode
X25519Kyber768Draft00 public keys to and from their wire format representation.
Their implementation is described below.</t>
        <t>Note that DHKEM public keys <bcp14>MUST</bcp14> be validated before they
can be used as stipulated in <xref section="7.1.1" sectionFormat="of" target="RFC9180"/>.</t>
        <artwork><![CDATA[
def SerializePublicKey(pkX):
  (pkA, pkB) = pkX
  return concat(
    DHKEM.SerializePublicKey(pkA),
    pkB
  )

def DeserializePublicKey(pkXm):
  return (
    DHKEM.DeserializePublicKey(pkXm[0:32]),
    pkXm[32:1216]
  )
]]></artwork>
        <t>DHKEM.SerializePublicKey() and DHKEM.DeserializePublicKey()
are SerializePublicKey() and respectively DeserializePublicKey()
as defined for DHKEM in <xref section="7.1.1" sectionFormat="of" target="RFC9180"/>.</t>
      </section>
      <section anchor="serializeprivatekey-and-deserializeprivatekey">
        <name>SerializePrivateKey and DeserializePrivateKey</name>
        <t>SerializePrivateKey and DeserializePrivateKey encode and decode
X25519Kyber768Draft00 private keys to and from their wire format representation.
Their implementation is described below.</t>
        <artwork><![CDATA[
def SerializePrivateKey(skX):
  (skA, skB) = skX
  return concat(
    DHKEM.SerializePrivateKey(skA),
    skB
  )

def DeserializePrivateKey(skXm):
  return (
    DHKEM.DeserializePrivateKey(skXm[0:32]),
    skXm[32:2432]
  )
]]></artwork>
        <t>DHKEM.SerializePrivateKey() and DHKEM.DeserializePrivateKey()
are SerializePrivateKey() and respectively DeserializePrivateKey()
as defined for DHKEM in <xref section="7.1.2" sectionFormat="of" target="RFC9180"/>.</t>
      </section>
      <section anchor="derivekeypair">
        <name>DeriveKeyPair</name>
        <t>DeriveKeyPair deterministically derives a X25519Kyber768Draft00 private
and public key pair from a fixed-length seed. In particular, a single seed
is stretched and passed to the relevant key derivation functions for
DHKEM and Kyber768Draft00.</t>
        <artwork><![CDATA[
def DeriveKeyPair(ikm):
  dkp_prk = LabeledExtract("", "dkp_prk", ikm)
  seed = LabeledExpand(dkp_prk, "sk", 32 + 64)
  seed1 = seed[0:32]
  seed2 = seed[32:96]
  sk1, pk1 = DHKEM.DeriveKeyPair(seed1)
  sk2, pk2 = Kyber768Draft00.DeriveKeyPair(seed2)
  return (concat(sk1, sk2), concat(pk1, pk2))
]]></artwork>
        <t>DHKEM.DeriveKeyPair() is DeriveKeyPair() defined for DHKEM
in <xref section="7.1.3" sectionFormat="of" target="RFC9180"/>. Kyber768Draft00.DeriveKeyPair() is the key
generation as defined in <xref section="11.1" sectionFormat="of" target="KYBER"/>.</t>
        <t>The suite_id used implicitly in LabeledExtract() and LabeledExpand() on
lines 2 and 3, is derived from the KEM identifier of the hybrid (0x0030).</t>
        <t>The suite_id used implicitly in LabeledExpand() and LabeledExtract()
within DHKEM.DeriveKeyPair() is the KEM identifier of DHKEM (0x0020).</t>
        <t>ikm <bcp14>SHOULD</bcp14> be at least 32 octets in length.
(This is contrary to <xref target="RFC9180"/> which stipulates it should be
at least Nsk=2432 octets in length.)</t>
      </section>
      <section anchor="encap-and-decap">
        <name>Encap and Decap</name>
        <t>Encap and Decap are the primary KEM functions. Their implementation
is described below.</t>
        <artwork><![CDATA[
def Encap(pkR):
  (pkA, pkB) = pkR
  (ss1, enc1) = DHKEM.Encap(pkA)
  (ss2, enc2) = Kyber768Draft00.Encap(pkB)
  return (
    concat(ss1, ss2),
    concat(enc1, enc2)
  )

def Decap(enc, skR):
  (skA, skB) = skR
  enc1 = enc[0:32]
  enc2 = enc[32:1120]
  ss1 = DHKEM.Decap(enc1, skA)
  ss2 = Kyber768Draft00.Decap(enc2, skB)
  return concat(ss1, ss2)
]]></artwork>
        <t>The suite_id used implicitly in the LabeledExtract() and LabeledExpand()
within DHKEM.Encap() and DHKEM.Decap() is the one derived from the KEM id
of DHKEM (0x0020).</t>
      </section>
      <section anchor="authencap-and-authdecap">
        <name>AuthEncap and AuthDecap</name>
        <t>X25519Kyber768Draft00 is not an authenticeted KEM
and does not support AuthEncap() or AuthDecap(),
see <xref target="S-notauth"/>.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>We aim for IND-CCA2 robustness: that means that if either constituent
KEM is not IND-CCA2 secure, but the other is, the combined hybrid
remains IND-CCA2 secure.</t>
      <t>In general <xref target="GHP18"/> <xref target="COMBINERS"/> this requires a combiner that mixes in
the cipher texts, such as, assuming fixed-length cipher texts and shared secrets:</t>
      <artwork><![CDATA[
HKDF(concat(ss1, ss2, enc1, enc2)).
]]></artwork>
      <t>In the present case, DHKEM(X25519, -) and Kyber768Draft00 already mix in
the respective cipher texts into their shared secrets. Thus we can
forgo mixing in the cipher texts a second time.</t>
      <t>Furthermore, in HPKE, the shared secret is never used directly, but
passed through HKDF (via KeySchedule), and thus we can
forgo the call to HKDF as well.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests/registers a new entry to the "HPKE KEM Identifiers"
 registry.</t>
      <dl>
        <dt>Value:</dt>
        <dd>
          <t>0x0030 (please)</t>
        </dd>
        <dt>KEM:</dt>
        <dd>
          <t>X25519Kyber768Draft00</t>
        </dd>
        <dt>Nsecret:</dt>
        <dd>
          <t>64</t>
        </dd>
        <dt>Nenc:</dt>
        <dd>
          <t>1120</t>
        </dd>
        <dt>Npk:</dt>
        <dd>
          <t>1216</t>
        </dd>
        <dt>Nsk:</dt>
        <dd>
          <t>2432</t>
        </dd>
        <dt>Auth:</dt>
        <dd>
          <t>no</t>
        </dd>
        <dt>Reference:</dt>
        <dd>
          <t>This document</t>
        </dd>
      </dl>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC7748">
          <front>
            <title>Elliptic Curves for Security</title>
            <author fullname="A. Langley" initials="A." surname="Langley">
              <organization/>
            </author>
            <author fullname="M. Hamburg" initials="M." surname="Hamburg">
              <organization/>
            </author>
            <author fullname="S. Turner" initials="S." surname="Turner">
              <organization/>
            </author>
            <date month="January" year="2016"/>
            <abstract>
              <t>This memo specifies two elliptic curves over prime fields that offer a high level of practical security in cryptographic applications, including Transport Layer Security (TLS).  These curves are intended to operate at the ~128-bit and ~224-bit security level, respectively, and are generated deterministically based on a list of required properties.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7748"/>
          <seriesInfo name="DOI" value="10.17487/RFC7748"/>
        </reference>
        <reference anchor="RFC9180">
          <front>
            <title>Hybrid Public Key Encryption</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes">
              <organization/>
            </author>
            <author fullname="K. Bhargavan" initials="K." surname="Bhargavan">
              <organization/>
            </author>
            <author fullname="B. Lipp" initials="B." surname="Lipp">
              <organization/>
            </author>
            <author fullname="C. Wood" initials="C." surname="Wood">
              <organization/>
            </author>
            <date month="February" year="2022"/>
            <abstract>
              <t>This document describes a scheme for hybrid public key encryption (HPKE). This scheme provides a variant of public key encryption of arbitrary-sized plaintexts for a recipient public key. It also includes three authenticated variants, including one that authenticates possession of a pre-shared key and two optional ones that authenticate possession of a key encapsulation mechanism (KEM) private key. HPKE works for any combination of an asymmetric KEM, key derivation function (KDF), and authenticated encryption with additional data (AEAD) encryption function. Some authenticated variants may not be supported by all KEMs. We provide instantiations of the scheme using widely used and efficient primitives, such as Elliptic Curve Diffie-Hellman (ECDH) key agreement, HMAC-based key derivation function (HKDF), and SHA2.</t>
              <t>This document is a product of the Crypto Forum Research Group (CFRG) in the IRTF.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9180"/>
          <seriesInfo name="DOI" value="10.17487/RFC9180"/>
        </reference>
        <reference anchor="KYBER">
          <front>
            <title>Kyber Post-Quantum KEM</title>
            <author fullname="Peter Schwabe" initials="P." surname="Schwabe">
              <organization>MPI-SPI &amp; Radboud University</organization>
            </author>
            <author fullname="Bas Westerbaan" initials="B." surname="Westerbaan">
              <organization>Cloudflare</organization>
            </author>
            <date day="31" month="March" year="2023"/>
            <abstract>
              <t>   This memo specifies a preliminary version ("draft00", "v3.02") of
   Kyber, an IND-CCA2 secure Key Encapsulation Method.

About This Document

   This note is to be removed before publishing as an RFC.

   The latest revision of this draft can be found at
   https://bwesterb.github.io/draft-schwabe-cfrg-kyber/draft-cfrg-
   schwabe-kyber.html.  Status information for this document may be
   found at https://datatracker.ietf.org/doc/draft-cfrg-schwabe-kyber/.

   Source for this draft and an issue tracker can be found at
   https://github.com/bwesterb/draft-schwabe-cfrg-kyber.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-cfrg-schwabe-kyber-02"/>
        </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">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <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>
        <name>Informative References</name>
        <reference anchor="COMBINERS">
          <front>
            <title>Combiner function for hybrid key encapsulation mechanisms (Hybrid KEMs)</title>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Entrust Limited</organization>
            </author>
            <author fullname="Aron Wussler" initials="A." surname="Wussler">
              <organization>Proton AG</organization>
            </author>
            <author fullname="Stavros Kousidis" initials="S." surname="Kousidis">
              <organization>BSI</organization>
            </author>
            <date day="13" month="March" year="2023"/>
            <abstract>
              <t>   The migration to post-quantum cryptography often calls for performing
   multiple key encapsulations in parallel and then combining their
   outputs to derive a single shared secret.

   This document defines a comprehensible and easy to implement Keccak-
   based KEM combiner to join an arbitrary number of key shares, that is
   compatible with NIST SP 800-56Cr2 [SP800-56C] when viewed as a key
   derivation function.  The combiners defined here are practical multi-
   PRFs and are CCA-secure as long as at least one of the ingredient
   KEMs is.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ounsworth-cfrg-kem-combiners-03"/>
        </reference>
        <reference anchor="HYBRID">
          <front>
            <title>Hybrid key exchange in TLS 1.3</title>
            <author fullname="Douglas Stebila" initials="D." surname="Stebila">
              <organization>University of Waterloo</organization>
            </author>
            <author fullname="Scott Fluhrer" initials="S." surname="Fluhrer">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Shay Gueron" initials="S." surname="Gueron">
              <organization>University of Haifa and Amazon Web Services</organization>
            </author>
            <date day="27" month="February" year="2023"/>
            <abstract>
              <t>   Hybrid key exchange refers to using multiple key exchange algorithms
   simultaneously and combining the result with the goal of providing
   security even if all but one of the component algorithms is broken.
   It is motivated by transition to post-quantum cryptography.  This
   document provides a construction for hybrid key exchange in the
   Transport Layer Security (TLS) protocol version 1.3.

   Discussion of this work is encouraged to happen on the TLS IETF
   mailing list tls@ietf.org or on the GitHub repository which contains
   the draft: https://github.com/dstebila/draft-ietf-tls-hybrid-design.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-hybrid-design-06"/>
        </reference>
        <reference anchor="TLS-XYBER">
          <front>
            <title>X25519Kyber768Draft00 hybrid post-quantum key agreement</title>
            <author fullname="Bas Westerbaan" initials="B." surname="Westerbaan">
              <organization>Cloudflare</organization>
            </author>
            <author fullname="Douglas Stebila" initials="D." surname="Stebila">
              <organization>University of Waterloo</organization>
            </author>
            <date day="31" month="March" year="2023"/>
            <abstract>
              <t>   This memo defines X25519Kyber768Draft00, a hybrid post-quantum key
   exchange for TLS 1.3.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-tls-westerbaan-xyber768d00-02"/>
        </reference>
        <reference anchor="GHP18" target="https://doi.org/10.1007/978-3-319-76578-5_7">
          <front>
            <title>KEM Combiners</title>
            <author initials="F." surname="Giacon" fullname="Federico Giacon">
              <organization/>
            </author>
            <author initials="F." surname="Heuer" fullname="Felix Heuer">
              <organization/>
            </author>
            <author initials="B." surname="Poettering" fullname="Bertram Poettering">
              <organization/>
            </author>
            <date year="2018"/>
          </front>
        </reference>
        <reference anchor="KyberV302" target="https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf">
          <front>
            <title>CRYSTALS-Kyber, Algorithm Specification And Supporting Documentation (version 3.02)</title>
            <author initials="R." surname="Avanzi">
              <organization/>
            </author>
            <author initials="J." surname="Bos">
              <organization/>
            </author>
            <author initials="L." surname="Ducas">
              <organization/>
            </author>
            <author initials="E." surname="Kiltz">
              <organization/>
            </author>
            <author initials="T." surname="Lepoint">
              <organization/>
            </author>
            <author initials="V." surname="Lyubashevsky">
              <organization/>
            </author>
            <author initials="J." surname="Schanck">
              <organization/>
            </author>
            <author initials="P." surname="Schwabe">
              <organization/>
            </author>
            <author initials="G." surname="Seiler">
              <organization/>
            </author>
            <author initials="D." surname="Stehle">
              <organization/>
            </author>
            <date year="2021"/>
          </front>
        </reference>
      </references>
    </references>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The authors would like to thank
P. Kampanakis,
I. Liusvaara,
T. Wiggers, and
S. Farrell
for their input.</t>
    </section>
    <section anchor="change-log">
      <name>Change log</name>
      <ul empty="true">
        <li>
          <t><strong>RFC Editor's Note:</strong> Please remove this section prior to publication of a
final version of this document.</t>
        </li>
      </ul>
      <section anchor="since-draft-westerbaan-cfrg-hpke-xyber768d00-01">
        <name>Since draft-westerbaan-cfrg-hpke-xyber768d00-01</name>
        <ul spacing="normal">
          <li>Corrected test vectors. In particular, specify randomness used during
encapsulation, and clarify why there is no such thing as an ephemeral keypair.</li>
          <li>Clarify correct value of implicit suite_id.</li>
        </ul>
      </section>
      <section anchor="since-draft-westerbaan-cfrg-hpke-xyber768d00-00">
        <name>Since draft-westerbaan-cfrg-hpke-xyber768d00-00</name>
        <ul spacing="normal">
          <li>Add acknowledgements.</li>
          <li>Elaborate on missing authenticated modes.</li>
          <li>Add test vectors for the PSK mode.</li>
        </ul>
      </section>
    </section>
    <section anchor="test-vectors">
      <name>Test Vectors</name>
      <t>This section contains test vectors formatted similary to that
which are found in <xref target="RFC9180"/>, with two changes.
First, we only provide vectors for the non-authenticated modes of operation.
Secondly, as Kyber encapsulation does not involve an ephemeral keypair,
we omit the ikmE, skEm, pkEm entries and provide an ier entry instead.
The value of ier is the randomness used to encapsulate.
To wit: the ephemeral X25519 keypair used in DHKEM.Encap()
is DHKEM.DeriveKeyPair(ier[0:32]) and ier[32:64]
is the seed that is fed to H in the first step of Kyber
encapsulation <xref target="KYBER"/>.</t>
      <section anchor="x25519kyber768draft00-hkdf-sha256-aes-128-gcm">
        <name>X25519Kyber768Draft00, HKDF-SHA256, AES-128-GCM</name>
        <section anchor="base-setup-information">
          <name>Base Setup Information</name>
          <artwork><![CDATA[
mode: 0
kem_id: 48
kdf_id: 1
aead_id: 1
info: 486561722068656172
ikmR:
3cb1eea988004b93103cfb0aeefd2a686e01fa4a58e8a3639ca8a1e3f9ae57e2
pkRm: a3aa882fee0de0059cec0569c8e1b4872fb6cb4d82361b72ee1148dc7ddc0c
2b210747403222b16597f4881d694c12366c53fde2b3d346b7ee87b16dd42f44ec59
4cea6ba78b256092cbbc16baaf6ccc46f2386da22de9d142f593739eb9c245018e0c
61975514ac42639d3c5b0299b772acd59d55520a5d660f135075e33a673fd5b9e2d5
6803889fc62b0362f8cbe9990cb36b4cdef17586c8cc58d72d84fb9398f1c1efb0a6
282508083c23965a9851acb89afc723e7a6c60bc4007a41ad1950c4590a2f8d2bb3b
832f5db1707ad8bad1c4c426aaa7da97b34a921283415851f19b0f01ca3924754dba
6596f9329454b1e3d9b5f357a66c59bf5fc4a045908b5eb107d3302f0cb9be0af958
4846c1475b92d3c16051935dc7411acaa64c80c836b0643fd72b38cb0a33feb11f48
13b66f705268b3838b8974e28c12b4f9bbc8623c936b32a015262d4a33172b7f3a69
b6c2fab5a3c18ffdab2927e77598d1556d51a8559550c251796290b617ac9804167b
d9a76e9d8bba64059d165acfe2483e9ed0cbc11cb71dd148776aa1cb862ce2b1026e
773600d101a300671a70710a877a5c1732275c362085b2b8cc66206b3ec37c82ac87
3d1ec1862a8aa457fc9776960b396c23768c931cdc77731792c569c2088c52ddb5cc
0c90ab9187c1e0ca2c98818859aa86fe44801be483cc1469d636cd3e019267c1cc68
4640359ca67c5abd1dc100c4d3c5924acf1b988d3b5019e7b06ef238412b7608dd23
115c6047a59b4b1d7a731126925728c645c140aa4704c1b808b6c401be736bf18bb7
d654342c6576236565c6c5b0727b25ae773c5fb76be794304dc1b672aa5909659b6b
b8a1f430a141882b0f9753662794e625885782154dc148e632b6b2079087958d83c6
c82cf55a47eb4ed819a409d94ceb0c74e8d497b95975a0a5c659f5bf0a033d2adca9
8a693304413fff95342319a09fd62f263b91a2c6540d2196dd2ba90dd113042428ae
eb15156c03949660776b80bc1501b0d80a946a623906291ed3668f3c99c1889d3ae3
c59819c38f6b0c46558c2ca520c2107c166452b917cea53bb50c4cb839a99f60e54e
9236c6a419a8de5508f4e3545409499b97939ee940a9d48ed5547003350e391b4c96
d657cb395b5c035370e9c8ece32c83b3cff347ca16bb1e2943669f370f48e70462d4
369a07804bc09fcf399bc2d11b47b0370660916944a179423519a310cc0737407c55
ef09255530c7ec817999c95e20aa23f8f6782aa820d34c89c2299ff0ec9a9021b6f7
dbbd19503fa6f170d8770e12875d558bbb2ca66fd1136e0e5729ef30346109cd289a
1ce0c531a493581ed64533e1749fc818b85ab664255bbfe4a641f6bdf43ac1695c28
ab2b58b3bab5bed5893439455b669b63d65ceff75b8c5857f4ba5cf767cf57aa8e28
691cc6dc67fca434e3b1560c6c53ce37c2a2f14764c1cf1e5697cd8757a544b05b76
6f4400cef7ecc46ec29a1d679d7fe385c4366579db06d1d840c9911fab8b6b5df203
5cb95410f79b861411b4eb5a4119208f8872674639617452f6b6394c94c6d6f5b833
690dd98406b5e7c0827b1a3617a03ba90c3d185a954252f1ba5b157a3f61749548e2
81fc543dec205e757932bcc717b99b7df7123500f3bcc660c080093b3fbac56ff51b
9c3b037f76e3f43c0e46b5588cf617f4de85044390a9947daacba87cd5
skRm: cf61f1a7b05c83f9c2a4b27dc0e9bdbf4e52ba1bbd906cb3776ac12268a9f4
d0c348342d192f0458ab53d19c1dc135d11b48978c878bca6d7d1bc91428259e43aa
dc9700b76aa9aa66a65db91a77d72513e40697226557b53400bb6752fb4e11a5ba2f
e12644698a48c9948ec121cc9c9ce7384c65f798012c9df8f5ac0cd371d7d19d9a24
c30cb0909c665e43c89328735fe95a62653352fad3cfe6330b436a4f72c9ac9323ba
bd912cf5970222eb0dd178c810bcc79beba0813039ec4333c33b13d4cc5183b6b14d
c09cb9604d46242353a1a1df82999e4a4929f28f498c330d552ac64156cf123cceeb
bccf81b2fd86218f2a9112040943a359d7a858cd641467e54b25f03d66b9a150fbcf
3f19bbd1791abec47269b2a72f4083a79c2559fbb6d0500208a78baa7392874443c3
9c38577b4c40db6220ca5c84b148ffb344164c723df1c0fb37ae52c0854bea023e2a
45efaa8869c924ecf360008607e7079187978fdac30e8b76a3110349de272b25f549
0dc87e3d8caf59a5a51a57230ea702dfda0f5d2c0fe94442254834b0f6aa71852601
a8c5b7b211f108c1de2b1092e9b89df4a9feea882aa00ab97235940924e8a81d8f83
597f72383f7a1b99c3c8481953be917fef0b44e32b0aa1f862eedc8d0d94030ae92e
73097cde1b34de9b8279293322e0b5f9564395cb4998810818544ad2025018c40deb
f0b97bca2f1d861f8d5b51a2a84f35503cb37112b280ad0a4c99a2eb9c43300ce7c6
6eb89cb4443a44edc40869b8c2d90c5d484554557c408da7b46752bec14876815334
b783207f60943d1738b5183d64394e27bb8f1dbb6ed9c58aa338171967bf5a613e91
94c13395573615cee02012438a68aa104afd56a943d05caefc7f20a0104e2cced2a5
191a1a68fe431920e1844a8154fc42a73d70c82f26846ec332fda50c340c1c503796
5daaccd3cacfcab3c85a7516d712890fd6a2b1f5cb7c745cf1798dc0a49ed7571763
0c78d56bb8db272a85a009b2685ca9f4840c948226d224de1a0385565e569b8901c4
508ae7b9214b88b6c2ac63807710d85e593a01ba20541cd03fa8364b4cb79f110745
b30818521a7d0b6015a20483dde33188e94fc4aa224558bd53d384a9f6916964bbef
0b0770b11e7b4117f41639bbe0c9ce119c8f8aab451608c2f06a8cd85f37519b7e3c
1f9f07a6449059a972260cf80c23e52fe1b559e11c723b2618752672bfab67305358
e7f048960475f1c720d8ba5fe4883981065c462c5062757bddd2666de67265990d00
53229693a8bfd8811c84494853095c875639dcbcfcc02785910e35643f5bb4b0aa59
af7a86ae94dcc01f952eb1d151c4ba1aa4da02c100b461904229f7b11aac35d307ab
187255baa32eed32b3b262aaf2db6019089ad4250079280a0efb109ab27a364135ac
3067ace5c82dea1fafb04dfedba9fabc196832878eb7b4314556e8aa8210e2c72959
723e23176b703d4db42aabba62229790f6a743a2ec3c43dc8dbe0b4c36dc2323ec0e
f21c116941b43bb12763460eed032a7a039185e36dcbf69d88f645e6728d3ba79dae
0a25ddd4c3a8bba8334aa8fb6658a9dca99a8cc6362745d6080b0fd8af6af71e9f75
2d7b763035ec40c0fc98326081ea4c36cdf992e73a16719b9fb7c06e6c1bb7210747
403222b16597f4881d694c12366c53fde2b3d346b7ee87b16dd42f44ec594cea6ba7
8b256092cbbc16baaf6ccc46f2386da22de9d142f593739eb9c245018e0c61975514
ac42639d3c5b0299b772acd59d55520a5d660f135075e33a673fd5b9e2d56803889f
c62b0362f8cbe9990cb36b4cdef17586c8cc58d72d84fb9398f1c1efb0a628250808
3c23965a9851acb89afc723e7a6c60bc4007a41ad1950c4590a2f8d2bb3b832f5db1
707ad8bad1c4c426aaa7da97b34a921283415851f19b0f01ca3924754dba6596f932
9454b1e3d9b5f357a66c59bf5fc4a045908b5eb107d3302f0cb9be0af9584846c147
5b92d3c16051935dc7411acaa64c80c836b0643fd72b38cb0a33feb11f4813b66f70
5268b3838b8974e28c12b4f9bbc8623c936b32a015262d4a33172b7f3a69b6c2fab5
a3c18ffdab2927e77598d1556d51a8559550c251796290b617ac9804167bd9a76e9d
8bba64059d165acfe2483e9ed0cbc11cb71dd148776aa1cb862ce2b1026e773600d1
01a300671a70710a877a5c1732275c362085b2b8cc66206b3ec37c82ac873d1ec186
2a8aa457fc9776960b396c23768c931cdc77731792c569c2088c52ddb5cc0c90ab91
87c1e0ca2c98818859aa86fe44801be483cc1469d636cd3e019267c1cc684640359c
a67c5abd1dc100c4d3c5924acf1b988d3b5019e7b06ef238412b7608dd23115c6047
a59b4b1d7a731126925728c645c140aa4704c1b808b6c401be736bf18bb7d654342c
6576236565c6c5b0727b25ae773c5fb76be794304dc1b672aa5909659b6bb8a1f430
a141882b0f9753662794e625885782154dc148e632b6b2079087958d83c6c82cf55a
47eb4ed819a409d94ceb0c74e8d497b95975a0a5c659f5bf0a033d2adca98a693304
413fff95342319a09fd62f263b91a2c6540d2196dd2ba90dd113042428aeeb15156c
03949660776b80bc1501b0d80a946a623906291ed3668f3c99c1889d3ae3c59819c3
8f6b0c46558c2ca520c2107c166452b917cea53bb50c4cb839a99f60e54e9236c6a4
19a8de5508f4e3545409499b97939ee940a9d48ed5547003350e391b4c96d657cb39
5b5c035370e9c8ece32c83b3cff347ca16bb1e2943669f370f48e70462d4369a0780
4bc09fcf399bc2d11b47b0370660916944a179423519a310cc0737407c55ef092555
30c7ec817999c95e20aa23f8f6782aa820d34c89c2299ff0ec9a9021b6f7dbbd1950
3fa6f170d8770e12875d558bbb2ca66fd1136e0e5729ef30346109cd289a1ce0c531
a493581ed64533e1749fc818b85ab664255bbfe4a641f6bdf43ac1695c28ab2b58b3
bab5bed5893439455b669b63d65ceff75b8c5857f4ba5cf767cf57aa8e28691cc6dc
67fca434e3b1560c6c53ce37c2a2f14764c1cf1e5697cd8757a544b05b766f4400ce
f7ecc46ec29a1d679d7fe385c4366579db06d1d840c9911fab8b6b5df2035cb95410
f79b861411b4eb5a4119208f8872674639617452f6b6394c94c6d6f5b833690dd984
06b5e7c0827b1a3617a03ba90c3d185a954252f1ba5b157a3f61749548e281fc543d
ec205e757932bcc717b99b7df7123500f3bcc660c080093b3fbac56ff51b9c3b037f
76e3f43c0e46b5588cf617f4de85044390a9947daacba87cd5137b60651b30bf805d
a1597faef1bc8b2645cda273144c4af1d13eaa2ad9101c7b58b14601aff81754afc7
76f8b7f7b9324d420b66706b96ea7f99f8fa11bed3
ier: 35b8cc873c23dc62b8d260169afa2f75ab916a58d974918835d25e6a435085b
2badfd6dfaac359a5efbb7bcc4b59d538df9a04302e10c8bc1cbf1a0b3a5120ea
enc: 1d06980e46fd3842db6b87226231eedd2cc9684ee98a1d9d902bd9300e2c4d4
1b64fba47a50fe32dd0df3b0a75801c11022cd98a6ff5a83a8472ade82bdd6f1e8a6
5a94a88523ada0d8275165f707f1067a6a576e54525d9141e95223f5713456bda7ec
5eb558adfc6b7f0d80de46222579a3274e45ab43fad14f7e9855a872d2716e8dc78d
4c12027bef3184904476c8961552fd031361358f2d9deae8ad98194047a142229476
12972574c57514266e9e67a3b6dd89972cc8a0882be7474f4923549dfcd944dcbe58
b088079aa8b70c8f291cb4e45066bad4a832ccd8f40e51861f7a25b6a2358842f1bb
e8108a6a6f0ae93153a2e7f9f53e180a90532531a632367b81bf08ed97effcf0140d
d0e92cc438f6be7e6f3d97a9f7787f7e3981f971617f0bfb618caa7db1e453f33a38
6c3863b16d462229c41f4946b49e4e49c27e0f35d77e21304b6ad238a55a51e9e370
dd39e713d626044fb970bb7c2af7d7b9cb9004394741a0ea2de592816359006f24ab
dfc2aa890720b00b2f7b8bb240120f22bdb84f9fc5c8fdc7ca7047ae633868c184c4
d75e9e107eb9c6d8fe879415926457d818bc31e88b87a5881584a5650859e88b06fa
a2cfe1bde95dfa344af14f214cedecde4d89c87334c33e2d7ee3ab40d5df396cf0ff
5a99588e0dcd205f1d876b380b963f5baccc0baeae569892a8d252f5eeeb7c751f66
3eb906ac99a165656224281add3ab271ff4f406b6932cbf1afff62109794f52ff3e7
23f5cdd706e3715d1d2d421bdac73fa047b5d9761569534fb2dd57b86a608f79db7d
4ab99847490e76eaf0c683bdc54d12f2f2664a79de6a2f25bec3f43584f98ec41ad3
fb19ba5ba936c3c893e9c0994b412ba3d07329086c20b04e1cd1d9b4f24a82f8c1f7
b5db58b4056a4b4e27b60c957f5af8081bffab98d8455cab97e35042ed636c995931
fd304b3d02fcf545df360cc421be64adc3d7a121ea75ab3440a9eba74fba1c5b40bd
b66b54583ff2f76304ccaeae99ed94fb332d30d771fe0e45acb9e966f497b1629f5a
5df15cea507d2fd1aa045a171e84bec932e4049639477f16fb9afdd107668f9b3531
c3c7eb1d67753ac652c575b526e6f2965f1e4500e99f38ae1d34bce151a68e278f14
405ad76f580b549d025b03be98b6a737f10238b9f84f1694173544ba2c97f811a174
85129a146084bc5382e2086aaf51b11a4918bdb5485bf28a9be2d2c9d69468268fa0
4fa071c39942b43a0caf561278cfc1b47781fa9ef559f86b2dad703141b78b7ddb35
c9c9ff4c1134580da26367dbf3db7eaf039dfbae238959c4cf55d40d78a2c5597ba0
38f2be5f994d60c79e8a92121fb0488eef9690d550ef9fa40b1774221aac8c8c1dcf
97faa07c28e840feb9daf0bf3bed277a6e10a33490c0bee7e5fa318638f5b80a2272
700e591ffc14985d0ed19876725c2bec9356b45ca96d295e30bce86effc626a2bd78
39af05ae373801af510cfb378ce42088607909c91ceb4a90e4d7b2b6288b9cdfa262
570ffda8692b58f0b05a7c7899a717a3a97b6e64489f56323b000793f807ca75ca99
1
shared_secret: 1368d71518fadbe42fb75fbd356e016b0aaad6b4d3d91ce7f2070
73e4fb08c537217aba238aea92a7f855820518a8342b3a31f82ebbcdb479f33ad82b
dcdc953
key_schedule_context: 009f749a195d1c8b3eaa8d5c3f571dc7231aafbbc0405e
4b484738352667c484867584e32e844cdf74d17b4ee224cc521bbc8bed221f21f34f
8ccc9842772686cb
secret:
95f863934be4d0ef683770c7bd385839d19e525b467a332f47ae715c54183e1d
key: 6bb5532badb078ce8f326daa6cfaef84
base_nonce: ff2b9a604a84754614e9e772
exporter_secret:
fb6ca36cfb7881cf11dbcb8fde201f698f80d0b941b642bc0a6a3101c97b7fad
]]></artwork>
          <section anchor="encryptions">
            <name>Encryptions</name>
            <artwork><![CDATA[
sequence number: 0
pt:
546f2074686520756e6976657273616c206465706c6f796d656e74206f6620505143
aad: 436f756e742d30
nonce: ff2b9a604a84754614e9e772
ct: a78ab8f057becc31cb3a5cff2fe2b18983b93ce74c6e7c45e0a57c4acc1976ee
f755c08547564ceede3e5169f959ea6ad498

sequence number: 1
pt:
546f2074686520756e6976657273616c206465706c6f796d656e74206f6620505143
aad: 436f756e742d31
nonce: ff2b9a604a84754614e9e773
ct: c7e392bb20d256f0020ba0888996c4b0e2518b486ad5873263834e7f30fc43e6
f712ee8e42846179db284a56baba6252d38f

sequence number: 2
pt:
546f2074686520756e6976657273616c206465706c6f796d656e74206f6620505143
aad: 436f756e742d32
nonce: ff2b9a604a84754614e9e770
ct: 86eeadf1593871435b643b7dde3d5a18b4dcb8d706c21abb69ae057af2a788a6
72198d46facadd396fa9fa6e1072c43a4f74

sequence number: 4
pt:
546f2074686520756e6976657273616c206465706c6f796d656e74206f6620505143
aad: 436f756e742d34
nonce: ff2b9a604a84754614e9e776
ct: 4aef2a67f307cb23dbe6d9ea2875add1e4bb0db6519836a2f1adca1d75a33bef
6df198b63f916385107677eef4e542e2c337

sequence number: 255
pt:
546f2074686520756e6976657273616c206465706c6f796d656e74206f6620505143
aad: 436f756e742d323535
nonce: ff2b9a604a84754614e9e78d
ct: 94ab72b1e767b26e3cd2b2a862bdc52cdcb4140fc7b0133e4ca4f6c65b190527
1c971d2b5092204825683191f2ecdd0ec4e1

sequence number: 256
pt:
546f2074686520756e6976657273616c206465706c6f796d656e74206f6620505143
aad: 436f756e742d323536
nonce: ff2b9a604a84754614e9e672
ct: ca0612fa2d3b4ff5c6daafddbc9a359efd44ca3ffe2385d63ba1b4fb5b75b89d
e55355dc4132399d3e7ae2676c4fb52418df
]]></artwork>
          </section>
          <section anchor="exported-values">
            <name>Exported Values</name>
            <artwork><![CDATA[
exporter_context:
L: 32
exported_value:
0d15e6f37d0791a924c5b8a5c766db83d95703ddae889e6240c73926168ae6a8

exporter_context: 00
L: 32
exported_value:
6f7bc144a46519b718c93a86a4ce74dad186816c88791eeee4f39fd0a2dbcef2

exporter_context: 54657374436f6e74657874
L: 32
exported_value:
3a0064f88b02de081e9d5f4398093e016b00b01816db91f0686d50330a9886b2
]]></artwork>
          </section>
        </section>
        <section anchor="psk-setup-information">
          <name>PSK Setup Information</name>
          <artwork><![CDATA[
mode: 1
kem_id: 48
kdf_id: 1
aead_id: 1
info: 486561722068656172
ikmR:
3cb1eea988004b93103cfb0aeefd2a686e01fa4a58e8a3639ca8a1e3f9ae57e2
pkRm: a3aa882fee0de0059cec0569c8e1b4872fb6cb4d82361b72ee1148dc7ddc0c
2b210747403222b16597f4881d694c12366c53fde2b3d346b7ee87b16dd42f44ec59
4cea6ba78b256092cbbc16baaf6ccc46f2386da22de9d142f593739eb9c245018e0c
61975514ac42639d3c5b0299b772acd59d55520a5d660f135075e33a673fd5b9e2d5
6803889fc62b0362f8cbe9990cb36b4cdef17586c8cc58d72d84fb9398f1c1efb0a6
282508083c23965a9851acb89afc723e7a6c60bc4007a41ad1950c4590a2f8d2bb3b
832f5db1707ad8bad1c4c426aaa7da97b34a921283415851f19b0f01ca3924754dba
6596f9329454b1e3d9b5f357a66c59bf5fc4a045908b5eb107d3302f0cb9be0af958
4846c1475b92d3c16051935dc7411acaa64c80c836b0643fd72b38cb0a33feb11f48
13b66f705268b3838b8974e28c12b4f9bbc8623c936b32a015262d4a33172b7f3a69
b6c2fab5a3c18ffdab2927e77598d1556d51a8559550c251796290b617ac9804167b
d9a76e9d8bba64059d165acfe2483e9ed0cbc11cb71dd148776aa1cb862ce2b1026e
773600d101a300671a70710a877a5c1732275c362085b2b8cc66206b3ec37c82ac87
3d1ec1862a8aa457fc9776960b396c23768c931cdc77731792c569c2088c52ddb5cc
0c90ab9187c1e0ca2c98818859aa86fe44801be483cc1469d636cd3e019267c1cc68
4640359ca67c5abd1dc100c4d3c5924acf1b988d3b5019e7b06ef238412b7608dd23
115c6047a59b4b1d7a731126925728c645c140aa4704c1b808b6c401be736bf18bb7
d654342c6576236565c6c5b0727b25ae773c5fb76be794304dc1b672aa5909659b6b
b8a1f430a141882b0f9753662794e625885782154dc148e632b6b2079087958d83c6
c82cf55a47eb4ed819a409d94ceb0c74e8d497b95975a0a5c659f5bf0a033d2adca9
8a693304413fff95342319a09fd62f263b91a2c6540d2196dd2ba90dd113042428ae
eb15156c03949660776b80bc1501b0d80a946a623906291ed3668f3c99c1889d3ae3
c59819c38f6b0c46558c2ca520c2107c166452b917cea53bb50c4cb839a99f60e54e
9236c6a419a8de5508f4e3545409499b97939ee940a9d48ed5547003350e391b4c96
d657cb395b5c035370e9c8ece32c83b3cff347ca16bb1e2943669f370f48e70462d4
369a07804bc09fcf399bc2d11b47b0370660916944a179423519a310cc0737407c55
ef09255530c7ec817999c95e20aa23f8f6782aa820d34c89c2299ff0ec9a9021b6f7
dbbd19503fa6f170d8770e12875d558bbb2ca66fd1136e0e5729ef30346109cd289a
1ce0c531a493581ed64533e1749fc818b85ab664255bbfe4a641f6bdf43ac1695c28
ab2b58b3bab5bed5893439455b669b63d65ceff75b8c5857f4ba5cf767cf57aa8e28
691cc6dc67fca434e3b1560c6c53ce37c2a2f14764c1cf1e5697cd8757a544b05b76
6f4400cef7ecc46ec29a1d679d7fe385c4366579db06d1d840c9911fab8b6b5df203
5cb95410f79b861411b4eb5a4119208f8872674639617452f6b6394c94c6d6f5b833
690dd98406b5e7c0827b1a3617a03ba90c3d185a954252f1ba5b157a3f61749548e2
81fc543dec205e757932bcc717b99b7df7123500f3bcc660c080093b3fbac56ff51b
9c3b037f76e3f43c0e46b5588cf617f4de85044390a9947daacba87cd5
skRm: cf61f1a7b05c83f9c2a4b27dc0e9bdbf4e52ba1bbd906cb3776ac12268a9f4
d0c348342d192f0458ab53d19c1dc135d11b48978c878bca6d7d1bc91428259e43aa
dc9700b76aa9aa66a65db91a77d72513e40697226557b53400bb6752fb4e11a5ba2f
e12644698a48c9948ec121cc9c9ce7384c65f798012c9df8f5ac0cd371d7d19d9a24
c30cb0909c665e43c89328735fe95a62653352fad3cfe6330b436a4f72c9ac9323ba
bd912cf5970222eb0dd178c810bcc79beba0813039ec4333c33b13d4cc5183b6b14d
c09cb9604d46242353a1a1df82999e4a4929f28f498c330d552ac64156cf123cceeb
bccf81b2fd86218f2a9112040943a359d7a858cd641467e54b25f03d66b9a150fbcf
3f19bbd1791abec47269b2a72f4083a79c2559fbb6d0500208a78baa7392874443c3
9c38577b4c40db6220ca5c84b148ffb344164c723df1c0fb37ae52c0854bea023e2a
45efaa8869c924ecf360008607e7079187978fdac30e8b76a3110349de272b25f549
0dc87e3d8caf59a5a51a57230ea702dfda0f5d2c0fe94442254834b0f6aa71852601
a8c5b7b211f108c1de2b1092e9b89df4a9feea882aa00ab97235940924e8a81d8f83
597f72383f7a1b99c3c8481953be917fef0b44e32b0aa1f862eedc8d0d94030ae92e
73097cde1b34de9b8279293322e0b5f9564395cb4998810818544ad2025018c40deb
f0b97bca2f1d861f8d5b51a2a84f35503cb37112b280ad0a4c99a2eb9c43300ce7c6
6eb89cb4443a44edc40869b8c2d90c5d484554557c408da7b46752bec14876815334
b783207f60943d1738b5183d64394e27bb8f1dbb6ed9c58aa338171967bf5a613e91
94c13395573615cee02012438a68aa104afd56a943d05caefc7f20a0104e2cced2a5
191a1a68fe431920e1844a8154fc42a73d70c82f26846ec332fda50c340c1c503796
5daaccd3cacfcab3c85a7516d712890fd6a2b1f5cb7c745cf1798dc0a49ed7571763
0c78d56bb8db272a85a009b2685ca9f4840c948226d224de1a0385565e569b8901c4
508ae7b9214b88b6c2ac63807710d85e593a01ba20541cd03fa8364b4cb79f110745
b30818521a7d0b6015a20483dde33188e94fc4aa224558bd53d384a9f6916964bbef
0b0770b11e7b4117f41639bbe0c9ce119c8f8aab451608c2f06a8cd85f37519b7e3c
1f9f07a6449059a972260cf80c23e52fe1b559e11c723b2618752672bfab67305358
e7f048960475f1c720d8ba5fe4883981065c462c5062757bddd2666de67265990d00
53229693a8bfd8811c84494853095c875639dcbcfcc02785910e35643f5bb4b0aa59
af7a86ae94dcc01f952eb1d151c4ba1aa4da02c100b461904229f7b11aac35d307ab
187255baa32eed32b3b262aaf2db6019089ad4250079280a0efb109ab27a364135ac
3067ace5c82dea1fafb04dfedba9fabc196832878eb7b4314556e8aa8210e2c72959
723e23176b703d4db42aabba62229790f6a743a2ec3c43dc8dbe0b4c36dc2323ec0e
f21c116941b43bb12763460eed032a7a039185e36dcbf69d88f645e6728d3ba79dae
0a25ddd4c3a8bba8334aa8fb6658a9dca99a8cc6362745d6080b0fd8af6af71e9f75
2d7b763035ec40c0fc98326081ea4c36cdf992e73a16719b9fb7c06e6c1bb7210747
403222b16597f4881d694c12366c53fde2b3d346b7ee87b16dd42f44ec594cea6ba7
8b256092cbbc16baaf6ccc46f2386da22de9d142f593739eb9c245018e0c61975514
ac42639d3c5b0299b772acd59d55520a5d660f135075e33a673fd5b9e2d56803889f
c62b0362f8cbe9990cb36b4cdef17586c8cc58d72d84fb9398f1c1efb0a628250808
3c23965a9851acb89afc723e7a6c60bc4007a41ad1950c4590a2f8d2bb3b832f5db1
707ad8bad1c4c426aaa7da97b34a921283415851f19b0f01ca3924754dba6596f932
9454b1e3d9b5f357a66c59bf5fc4a045908b5eb107d3302f0cb9be0af9584846c147
5b92d3c16051935dc7411acaa64c80c836b0643fd72b38cb0a33feb11f4813b66f70
5268b3838b8974e28c12b4f9bbc8623c936b32a015262d4a33172b7f3a69b6c2fab5
a3c18ffdab2927e77598d1556d51a8559550c251796290b617ac9804167bd9a76e9d
8bba64059d165acfe2483e9ed0cbc11cb71dd148776aa1cb862ce2b1026e773600d1
01a300671a70710a877a5c1732275c362085b2b8cc66206b3ec37c82ac873d1ec186
2a8aa457fc9776960b396c23768c931cdc77731792c569c2088c52ddb5cc0c90ab91
87c1e0ca2c98818859aa86fe44801be483cc1469d636cd3e019267c1cc684640359c
a67c5abd1dc100c4d3c5924acf1b988d3b5019e7b06ef238412b7608dd23115c6047
a59b4b1d7a731126925728c645c140aa4704c1b808b6c401be736bf18bb7d654342c
6576236565c6c5b0727b25ae773c5fb76be794304dc1b672aa5909659b6bb8a1f430
a141882b0f9753662794e625885782154dc148e632b6b2079087958d83c6c82cf55a
47eb4ed819a409d94ceb0c74e8d497b95975a0a5c659f5bf0a033d2adca98a693304
413fff95342319a09fd62f263b91a2c6540d2196dd2ba90dd113042428aeeb15156c
03949660776b80bc1501b0d80a946a623906291ed3668f3c99c1889d3ae3c59819c3
8f6b0c46558c2ca520c2107c166452b917cea53bb50c4cb839a99f60e54e9236c6a4
19a8de5508f4e3545409499b97939ee940a9d48ed5547003350e391b4c96d657cb39
5b5c035370e9c8ece32c83b3cff347ca16bb1e2943669f370f48e70462d4369a0780
4bc09fcf399bc2d11b47b0370660916944a179423519a310cc0737407c55ef092555
30c7ec817999c95e20aa23f8f6782aa820d34c89c2299ff0ec9a9021b6f7dbbd1950
3fa6f170d8770e12875d558bbb2ca66fd1136e0e5729ef30346109cd289a1ce0c531
a493581ed64533e1749fc818b85ab664255bbfe4a641f6bdf43ac1695c28ab2b58b3
bab5bed5893439455b669b63d65ceff75b8c5857f4ba5cf767cf57aa8e28691cc6dc
67fca434e3b1560c6c53ce37c2a2f14764c1cf1e5697cd8757a544b05b766f4400ce
f7ecc46ec29a1d679d7fe385c4366579db06d1d840c9911fab8b6b5df2035cb95410
f79b861411b4eb5a4119208f8872674639617452f6b6394c94c6d6f5b833690dd984
06b5e7c0827b1a3617a03ba90c3d185a954252f1ba5b157a3f61749548e281fc543d
ec205e757932bcc717b99b7df7123500f3bcc660c080093b3fbac56ff51b9c3b037f
76e3f43c0e46b5588cf617f4de85044390a9947daacba87cd5137b60651b30bf805d
a1597faef1bc8b2645cda273144c4af1d13eaa2ad9101c7b58b14601aff81754afc7
76f8b7f7b9324d420b66706b96ea7f99f8fa11bed3
ier: 35b8cc873c23dc62b8d260169afa2f75ab916a58d974918835d25e6a435085b
2badfd6dfaac359a5efbb7bcc4b59d538df9a04302e10c8bc1cbf1a0b3a5120ea
psk:
7f9c2ba4e88f827d616045507605853ed73b8093f6efbc88eb1a6eacfa66ef26
psk_id: 6265666f7265206576657279626f647920666f72206576657279626f6479
20666f722065766572797468696e67
enc: 1d06980e46fd3842db6b87226231eedd2cc9684ee98a1d9d902bd9300e2c4d4
1b64fba47a50fe32dd0df3b0a75801c11022cd98a6ff5a83a8472ade82bdd6f1e8a6
5a94a88523ada0d8275165f707f1067a6a576e54525d9141e95223f5713456bda7ec
5eb558adfc6b7f0d80de46222579a3274e45ab43fad14f7e9855a872d2716e8dc78d
4c12027bef3184904476c8961552fd031361358f2d9deae8ad98194047a142229476
12972574c57514266e9e67a3b6dd89972cc8a0882be7474f4923549dfcd944dcbe58
b088079aa8b70c8f291cb4e45066bad4a832ccd8f40e51861f7a25b6a2358842f1bb
e8108a6a6f0ae93153a2e7f9f53e180a90532531a632367b81bf08ed97effcf0140d
d0e92cc438f6be7e6f3d97a9f7787f7e3981f971617f0bfb618caa7db1e453f33a38
6c3863b16d462229c41f4946b49e4e49c27e0f35d77e21304b6ad238a55a51e9e370
dd39e713d626044fb970bb7c2af7d7b9cb9004394741a0ea2de592816359006f24ab
dfc2aa890720b00b2f7b8bb240120f22bdb84f9fc5c8fdc7ca7047ae633868c184c4
d75e9e107eb9c6d8fe879415926457d818bc31e88b87a5881584a5650859e88b06fa
a2cfe1bde95dfa344af14f214cedecde4d89c87334c33e2d7ee3ab40d5df396cf0ff
5a99588e0dcd205f1d876b380b963f5baccc0baeae569892a8d252f5eeeb7c751f66
3eb906ac99a165656224281add3ab271ff4f406b6932cbf1afff62109794f52ff3e7
23f5cdd706e3715d1d2d421bdac73fa047b5d9761569534fb2dd57b86a608f79db7d
4ab99847490e76eaf0c683bdc54d12f2f2664a79de6a2f25bec3f43584f98ec41ad3
fb19ba5ba936c3c893e9c0994b412ba3d07329086c20b04e1cd1d9b4f24a82f8c1f7
b5db58b4056a4b4e27b60c957f5af8081bffab98d8455cab97e35042ed636c995931
fd304b3d02fcf545df360cc421be64adc3d7a121ea75ab3440a9eba74fba1c5b40bd
b66b54583ff2f76304ccaeae99ed94fb332d30d771fe0e45acb9e966f497b1629f5a
5df15cea507d2fd1aa045a171e84bec932e4049639477f16fb9afdd107668f9b3531
c3c7eb1d67753ac652c575b526e6f2965f1e4500e99f38ae1d34bce151a68e278f14
405ad76f580b549d025b03be98b6a737f10238b9f84f1694173544ba2c97f811a174
85129a146084bc5382e2086aaf51b11a4918bdb5485bf28a9be2d2c9d69468268fa0
4fa071c39942b43a0caf561278cfc1b47781fa9ef559f86b2dad703141b78b7ddb35
c9c9ff4c1134580da26367dbf3db7eaf039dfbae238959c4cf55d40d78a2c5597ba0
38f2be5f994d60c79e8a92121fb0488eef9690d550ef9fa40b1774221aac8c8c1dcf
97faa07c28e840feb9daf0bf3bed277a6e10a33490c0bee7e5fa318638f5b80a2272
700e591ffc14985d0ed19876725c2bec9356b45ca96d295e30bce86effc626a2bd78
39af05ae373801af510cfb378ce42088607909c91ceb4a90e4d7b2b6288b9cdfa262
570ffda8692b58f0b05a7c7899a717a3a97b6e64489f56323b000793f807ca75ca99
1
shared_secret: 1368d71518fadbe42fb75fbd356e016b0aaad6b4d3d91ce7f2070
73e4fb08c537217aba238aea92a7f855820518a8342b3a31f82ebbcdb479f33ad82b
dcdc953
key_schedule_context: 011c0e82b54d88402f8c14c546eb2c5d2ddf5c0ad00953
b8c7917e143a660122927584e32e844cdf74d17b4ee224cc521bbc8bed221f21f34f
8ccc9842772686cb
secret:
2398d859cca13a8e024a4303015d07b426f886cfb160104808d46afa3ed65c5d
key: 2abc7960081169220e5316e8b4ca25c8
base_nonce: 9f4404e9a8a83dcdad85aaa4
exporter_secret:
37c64a38386a73522e517063be8e5dbac2dda13748e7e0204ef4781d37db91b2
]]></artwork>
          <section anchor="encryptions-1">
            <name>Encryptions</name>
            <artwork><![CDATA[
sequence number: 0
pt:
546f2074686520756e6976657273616c206465706c6f796d656e74206f6620505143
aad: 436f756e742d30
nonce: 9f4404e9a8a83dcdad85aaa4
ct: 59ae4c0fe132882496ee546c59db8887d0ffa1e81c024f9f306e336c8b515aef
c100de05caad51b224b8446424371610e94f

sequence number: 1
pt:
546f2074686520756e6976657273616c206465706c6f796d656e74206f6620505143
aad: 436f756e742d31
nonce: 9f4404e9a8a83dcdad85aaa5
ct: 12ae854754ecf26efccd9a3d9006ccea7e58394314ac63537f71fa373475c9b5
def50550bd386a62a9f93dbb482aad08b83d

sequence number: 2
pt:
546f2074686520756e6976657273616c206465706c6f796d656e74206f6620505143
aad: 436f756e742d32
nonce: 9f4404e9a8a83dcdad85aaa6
ct: 44dfad98e654637c47ea943787622c39cff096515d95124947b93962d570fb09
8a725a681c00bd95329ae7c87e7476a14c23

sequence number: 4
pt:
546f2074686520756e6976657273616c206465706c6f796d656e74206f6620505143
aad: 436f756e742d34
nonce: 9f4404e9a8a83dcdad85aaa0
ct: b4daec06cb05cad7987257b000662e329879885981431d8758167449912f4862
73621502cb6b8917259d43c0741c2221157f

sequence number: 255
pt:
546f2074686520756e6976657273616c206465706c6f796d656e74206f6620505143
aad: 436f756e742d323535
nonce: 9f4404e9a8a83dcdad85aa5b
ct: a45db83de0836912b692a3ceb870d4ada3c59813031e52b7efd511bdb3766d70
94c556ca067adefea6c1690c226a12ddd7d0

sequence number: 256
pt:
546f2074686520756e6976657273616c206465706c6f796d656e74206f6620505143
aad: 436f756e742d323536
nonce: 9f4404e9a8a83dcdad85aba4
ct: aa047d5fa79b00a1d70f8044136c3717eeb86913e50092784b750020a51f410d
b12e47de6a7bae1596e6d21347a82cdc5ecd
]]></artwork>
          </section>
          <section anchor="exported-values-1">
            <name>Exported Values</name>
            <artwork><![CDATA[
exporter_context:
L: 32
exported_value:
887a3f1c8097a127f3178ada5c83ba8c3c335b45b4b4be18a7885b669f7ba1e5

exporter_context: 00
L: 32
exported_value:
faf29bee28fb70c380b1495afec1f0f3ab26552b3c9b1ae4beddfd005f388562

exporter_context: 54657374436f6e74657874
L: 32
exported_value:
4e8ef9bdec7cec015c62d863681245dd630ed8c9debccc5bbea1d97e1c651261
]]></artwork>
          </section>
        </section>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+2d6XIcx7Xnv+dT1FAfhvAQUC5VlVWM8Z1LiZSl0cZLylvc
cChyJTrY6Ia7G6Rohfws8yzzZPM7Vd0gQIKWPLDDExOwGWYvVVmZJ8/5L6e6
6OPjY7Vb7JblYXPvD7brzPjlm1g2vh8eb0Ldad2cvombRW7O19vd8Z8vwmp3
cdZ8+eTrpq43zedPv3xyT4UYN+UVA5yevyzHP+zPz1rfUynsyov15s3DZrGq
a6XyOq3CGRfLMvrx67LdlU0MYXWc6ubF8bsDHGurthfxbLHdLtar3Ztzzvzi
2XefqdXFGQc9VJnxH6q0Xm3LanuxfdjsNhdFbXdhlb8Py/Wq7D9hdk6FTQnM
Uga4p16vNy9fbNYX53zy6ebN+W7dfLbeXJzdUy/LG77MD1Vz3LyUuciLq8uX
9z9MsZJXMmf1qqwumEjT3Dxk08xzv/esbEvYpNPmN3KcfHEWFku+kOX/+6Ls
6sl680I+l6MkpLvd+fbhxx/LYfLR4lU5ORz2sXzw8Tzgx/+jyCHfLxfb3a9l
MBnjxWJ3ehEZJe4D/fEvC7ucuySy292VGRzGOJlHPVmsf+Fov/Cwk9Pd2fKe
UuFid7reSPSZRUPesKufnDw5aX5/OcD0Rb1YLudc+iRs3/2S6ITV4i9hR9o8
bD5dri9yJX5l+rLMMY9h++/p8puTtD47XPPt0J+ebgjo+vy0bJpHTGG9zr94
/BRe//tpCeeL1Yu42G1PVmWnlFqtN2ec9mrKlmeffep9O+xfjmbQ8vLLP37y
5BmJfvz4ZIrUNp2+DrEcz8mopJKujPHpt19/8sU3T549n89YX6y2pO/udI7y
y3J2zMriYlU2W47+/I+fPPvi8Xyo5NHxbrk9nkv8OJft4oXE77uvnh//4e0k
5JAru3dlzzj2N58/NdMCyPGweVFImUPG5PViSlOjT4zW/uPRD8fu2Jnx2Pcd
r7vv/XzejD8CKp9emWrTTNXdWG2G6e1lZkz/Od7/vU+Rz06a3ywCSHD58byD
n5VcNou0vv7t+yd/Xi6k0t85d7n44do375z3yUnzdF12RIZNfufkT8pmtwln
1w+YwPV3TtubI3b+5+O0eQN8LbdT5KYd/5gwhPnl8fa8pEVdpCnxjsGQVXbH
VlujB92enOd6NaCfPvvj8+8esZfTVR80j5ZAMcV71jy/OkzzaJWb5xfn52QN
s2wer9PFWVnt5i/vv2I35IU70fbo5/fh2Unz6FVY/WVx89f/86T5ZL29+buv
TprHFyl84FsQ4MvFcveXm7/97qT5qpyvF6vdzd//ju/fXFDyp+XV9uWbD07u
eToNq/Ty5u+fTt9LLd78/W/4viyWH8qWx3y9K6fL0nzUfPft42+bixWJmQvf
NptSy6asUrme+dbMgDQV/CHiTx9/9g9NGXV8fNyEuCVdExD13eli25yVs3WT
S6UYt82NwuBBEz6kDR6ogzho7u9x7eikmcaVIs9rxlytd812Trpmd1qmpCLp
ZJ4lN2eEZavWdRrkZJ7h2SLnZVHqo+aL1W6zzhdJVsT7j5qv16BhmN9+x2BM
OyxnjTHplGnqDZcvPxANuQAhJwbtiRy+KfJVaAT/eL2ThZ8v12+urytNjP5i
E85P3zRw7nLBkDuyRf5nx0Dr5nyzPlvvZD8p+PV52YS4WC52bxoWIme8aRZn
58tyWVzbB3O5SmDyvuqa/X4VmdH5BgQ6YzGbNzfGGqnShBebMg15MoXiG+LK
nK6HU6L+40fPjwm6fPGTUpcR4SLLQDTkEFnI5e6oq7uzlQmn4wIRnrGs5XTl
8oMUy4uipvPCcrl+vZ13nTrjqoDG40VlKcefl+XyjFnNn3OprYIRm/vrcwlD
WB7dtP2yHghh9Uo+J1gsKzePJSUX0/t5q2UiIte2zb2vf/v8u3sP5r+bb76d
Xj978h+//eLZk8fy+vnnj7766vKF2h/x/PNvf/vV47ev3p4Js3795JvH88l8
2lz7SN37+tEf+UZmde/bp9998e03j766J4l1fT/DnFJxnxZsqawQlGOJabOI
czJ+8unT//2/TNv8+ON/oWKsMeNPP+3fDMa3vHlNfOarrVdk0vyWoL1R4fyc
7JJR2ANkx/lC0IBjt832dP161UiKE81f/adE5k8Pm/8e07lp/23/gSz42oeH
mF37cIrZ+5+8d/IcxBs+uuEyl9G89vk7kb4+30d/vPb+EPcrH+6zBjQ7AMQX
K4nDZvfgZiCTKpAcPw8k9rIQwUmEzHBC5T7+nIS9P5/6oPn8y8efHbN02/VH
bNAe3qbN2qu5n35SskvvXuXHHydd99NPD9VrgRnAfp3h262gw/lFXC6SJPMD
il6wrMxv0mLSnrvyw247Dbs9JaH4qyQSaTtl13ZCFaa9kuqZJy7V82gq6ivD
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
w0vKVX1x0ny1uNi+CmETHqjvTprfL168IDLTZqnnJ81nYYOgXk43gObsW6zO
L3ZzL3+6W9As1y+U+rfmV7+C55snebFbb/7rVu5blIe/+lXzdAohcT5bvypz
NW/3Wgx2llHXe2MwCzfpBDLafMfncK9yUkpXorC3zgtC9It/eWIIHam02cw3
jOTXEIyfmO32PcMx37N502yIwvpM0HKf9hf7+75FEHorIobpzZmdOFPOeX36
RiI134RarWccElJ6IZkNEVy76SJG6GSa2f70NM9Q+kAXU1/0QISX/Ph/s3gt
l3iU8UvvZMx07SfLENcbaQAQ6+nHOTLZG+/gzKNcDV6zT43m6fMvp8Om3PhO
jvjdfMS+Yg/bLuJw4oN3RzkLU1d2O7eM96UbdmpWjWHqQVys9oL+UlQ+aITz
m93rdTPfvmKany02290DwZnp3sr5Zv0KAHlvxqv16viGZUrUp7t9c4fj+YSX
Uwd730i+vv1vOXyxerVevio3bvIDJbM5W8yEiap+IsroyZnoyCdnE1hN9wjF
z+6nyzCL6WKCYwRsB1dMDZcryTHf9JuI451cJXpvp1mm+5kE6uF07NvZ7bvG
+0nupdc7+kmk8U02govvmyHTtOUturFv/6T2U5q87ywtCPo8p88PrFRlj/AC
5XzyY9NvYa7H9fIOy5zxH7hrfaXh/KB59OT5sbHD8W8+/VrO+Uh+SyTNlN3F
OTW+/50NYl9Ep+w1UK9eljOq6mHTDuplrtNLowKx3r+U3+fIt33XG2+t7vev
xBo9e6hciqaUMA6D1m0cndEu1ahDKTXbwMFFmxra0A1lCK53YwpDMMXVMZTO
F6swEGcPm+BCGAZbS9G5aN2NqSTd9WMaiont4G2NfYptHqzrTfS2FGPaISef
c9JJ2WiN9q1vtbPWRtN3o6/tMJjcj20ynNSnztVcbHTZtX30pQye43JubW3b
krpRtamEPgY/RIKpR5tiTIYPQu1TSm1frRv6HKzNZcyG87rReTeWOCbbdtoM
hZn0ZvRsVBtSa1ltdqmL2o5j9N6GlLsxd11ndehy3+tqXKd9V5wLvWd6XRyL
zZ3qB+2GYaypt1G73tYhxTKOo07R9bFN+Bzju6FPQ0rdkL3NQ1sJ/jhUk0yR
+PfKDrbTgx5csm7sO7aoMyHFYQw1eeuKD33qdUyt1j60JmQzdjq13agDF8w2
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
gM4uEW3RxVikbYRMwSwY25sptP8HT8TazfaIAAA=

-->

</rfc>
