<?xml version="1.0" encoding="UTF-8"?> version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="info" submissionType="independent" docName="draft-smyslov-ike2-gost-15" indexInclude="true" ipr="trust200902" docName="draft-smyslov-ike2-gost-15">

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="no"?>
<?rfc iprnotified="no" ?>
<?rfc strict="yes" ?> number="9385" prepTime="2023-05-19T13:03:10" scripts="Common,Cyrillic,Latin" sortRefs="false" submissionType="independent" symRefs="true" tocDepth="3" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-smyslov-ike2-gost-15" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9385" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="GOST algorithms Algorithms in IKEv2">Using GOST Cryptographic Algorithms in the Internet Key Exchange Protocol Version 2 (IKEv2)</title>
    <seriesInfo name="RFC" value="9385" stream="independent"/>
    <author initials='V.' initials="V." surname="Smyslov" fullname='Valery Smyslov'>
            <organization>ELVIS-PLUS</organization> fullname="Valery Smyslov">
      <organization showOnFrontPage="true">ELVIS-PLUS</organization>
      <address>
        <postal>
          <street>PO Box 81</street>
          <city>Moscow (Zelenograd)</city>
          <code>124460</code>
          <country>Russian Federation</country>
        </postal>
        <phone>+7 495 276 0211</phone>
        <email>svan@elvis.ru</email>
      </address>
    </author>
        <date/>
    <date month="05" year="2023"/>
    <keyword>Streebog</keyword>
    <keyword>Kuznyechik</keyword>
    <keyword>Magma</keyword>
    <keyword>MGM</keyword>

        <abstract>
            <t>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1"> This document defines a set of cryptographic transforms for use in
      the Internet Key Exchange protocol Protocol version 2 (IKEv2).  The transforms
      are based on Russian cryptographic standard algorithms (GOST). (called "GOST" algorithms). Use of
      GOST ciphers in IKEv2 was is defined in RFC 9227.  This document aims to
      define using the use of GOST algorithms for the rest of the cryptographic
      transforms used in IKEv2.
      </t>

            <t>
      <t indent="0" pn="section-abstract-2"> This specification was developed to facilitate implementations that
      wish to support the GOST algorithms.  This document does not imply IETF
      endorsement of the cryptographic algorithms used in this document.
      </t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This document is not an Internet Standards Track specification; it is
            published for informational purposes.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This is a contribution to the RFC Series, independently of any
            other RFC stream.  The RFC Editor has chosen to publish this
            document at its discretion and makes no statement about its value
            for implementation or deployment.  Documents approved for
            publication by the RFC Editor are not candidates for any level of
            Internet Standard; see Section 2 of RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9385" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2023 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology-and-notation">Terminology and Notation</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-overview">Overview</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ike-sa-protection">IKE SA Protection</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-pseudorandom-function">Pseudorandom Function</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-shared-key-calculation">Shared Key Calculation</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.6.2">
              <li pn="section-toc.1-1.6.2.1">
                <t indent="0" pn="section-toc.1-1.6.2.1.1"><xref derivedContent="6.1" format="counter" sectionFormat="of" target="section-6.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-recipient-tests">Recipient Tests</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-authentication">Authentication</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.7.2">
              <li pn="section-toc.1-1.7.2.1">
                <t indent="0" pn="section-toc.1-1.7.2.1.1"><xref derivedContent="7.1" format="counter" sectionFormat="of" target="section-7.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-hash-functions">Hash Functions</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.2">
                <t indent="0" pn="section-toc.1-1.7.2.2.1"><xref derivedContent="7.2" format="counter" sectionFormat="of" target="section-7.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-asn1-objects">ASN.1 Objects</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.7.2.2.2">
                  <li pn="section-toc.1-1.7.2.2.2.1">
                    <t indent="0" pn="section-toc.1-1.7.2.2.2.1.1"><xref derivedContent="7.2.1" format="counter" sectionFormat="of" target="section-7.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-id-tc26-signwithdigest-gost">id-tc26-signwithdigest-gost3410-12-256</xref></t>
                  </li>
                  <li pn="section-toc.1-1.7.2.2.2.2">
                    <t indent="0" pn="section-toc.1-1.7.2.2.2.2.1"><xref derivedContent="7.2.2" format="counter" sectionFormat="of" target="section-7.2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-id-tc26-signwithdigest-gost3">id-tc26-signwithdigest-gost3410-12-512</xref></t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="10" format="counter" sectionFormat="of" target="section-10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.10.2">
              <li pn="section-toc.1-1.10.2.1">
                <t indent="0" pn="section-toc.1-1.10.2.1.1"><xref derivedContent="10.1" format="counter" sectionFormat="of" target="section-10.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.2">
                <t indent="0" pn="section-toc.1-1.10.2.2.1"><xref derivedContent="10.2" format="counter" sectionFormat="of" target="section-10.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="Appendix A" format="default" sectionFormat="of" target="section-appendix.a"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-test-vectors">Test Vectors</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.11.2">
              <li pn="section-toc.1-1.11.2.1">
                <t indent="0" pn="section-toc.1-1.11.2.1.1"><xref derivedContent="A.1" format="counter" sectionFormat="of" target="section-appendix.a.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-scenario-1">Scenario 1</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.11.2.1.2">
                  <li pn="section-toc.1-1.11.2.1.2.1">
                    <t indent="0" pn="section-toc.1-1.11.2.1.2.1.1"><xref derivedContent="A.1.1" format="counter" sectionFormat="of" target="section-appendix.a.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sub-scenario-1-establishmen">Sub-Scenario 1: Establishment of IKE and ESP SAs Using the IKE_SA_INIT and the IKE_AUTH Exchanges
</xref></t>
                  </li>
                  <li pn="section-toc.1-1.11.2.1.2.2">
                    <t indent="0" pn="section-toc.1-1.11.2.1.2.2.1"><xref derivedContent="A.1.2" format="counter" sectionFormat="of" target="section-appendix.a.1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sub-scenario-2-ike-sa-rekey">Sub-Scenario 2: IKE SA Rekeying Using the CREATE_CHILD_SA Exchange
</xref></t>
                  </li>
                  <li pn="section-toc.1-1.11.2.1.2.3">
                    <t indent="0" pn="section-toc.1-1.11.2.1.2.3.1"><xref derivedContent="A.1.3" format="counter" sectionFormat="of" target="section-appendix.a.1.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sub-scenario-3-esp-sas-reke">Sub-Scenario 3: ESP SAs Rekeying with PFS Using the CREATE_CHILD_SA Exchange</xref></t>
                  </li>
                  <li pn="section-toc.1-1.11.2.1.2.4">
                    <t indent="0" pn="section-toc.1-1.11.2.1.2.4.1"><xref derivedContent="A.1.4" format="counter" sectionFormat="of" target="section-appendix.a.1.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sub-scenario-4-ike-sa-delet">Sub-Scenario 4: IKE SA Deletion Using the INFORMATIONAL Exchange</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.11.2.2">
                <t indent="0" pn="section-toc.1-1.11.2.2.1"><xref derivedContent="A.2" format="counter" sectionFormat="of" target="section-appendix.a.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-scenario-2">Scenario 2</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.11.2.2.2">
                  <li pn="section-toc.1-1.11.2.2.2.1">
                    <t indent="0" pn="section-toc.1-1.11.2.2.2.1.1"><xref derivedContent="A.2.1" format="counter" sectionFormat="of" target="section-appendix.a.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sub-scenario-1-establishment">Sub-Scenario 1: Establishment of IKE and ESP SAs Using the IKE_SA_INIT and the IKE_AUTH Exchanges</xref></t>
                  </li>
                  <li pn="section-toc.1-1.11.2.2.2.2">
                    <t indent="0" pn="section-toc.1-1.11.2.2.2.2.1"><xref derivedContent="A.2.2" format="counter" sectionFormat="of" target="section-appendix.a.2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sub-scenario-2-ike-sa-rekeyi">Sub-Scenario 2: IKE SA Rekeying Using the CREATE_CHILD_SA Exchange</xref></t>
                  </li>
                  <li pn="section-toc.1-1.11.2.2.2.3">
                    <t indent="0" pn="section-toc.1-1.11.2.2.2.3.1"><xref derivedContent="A.2.3" format="counter" sectionFormat="of" target="section-appendix.a.2.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sub-scenario-3-esp-sas-rekey">Sub-Scenario 3: ESP SAs Rekeying without PFS Using the CREATE_CHILD_SA Exchange</xref></t>
                  </li>
                  <li pn="section-toc.1-1.11.2.2.2.4">
                    <t indent="0" pn="section-toc.1-1.11.2.2.2.4.1"><xref derivedContent="A.2.4" format="counter" sectionFormat="of" target="section-appendix.a.2.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sub-scenario-4-ike-sa-deleti">Sub-Scenario 4: IKE SA Deletion Using the INFORMATIONAL Exchange</xref></t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-address">Author's Address</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section title="Introduction">
            <t> numbered="true" removeInRFC="false" toc="include" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1"> The Internet Key Exchange protocol Protocol version 2 (IKEv2) defined in <xref target="RFC7296" /> format="default" sectionFormat="of" derivedContent="RFC7296"/> is an important part
            of the IP Security (IPsec) architecture. It is used for the authenticated key exchange and for the negotiation of various protocol
            parameters and features.
      </t>

            <t>
      <t indent="0" pn="section-1-2"> This document defines a number of transforms for IKEv2, based on Russian cryptographic standard algorithms (often reffered referred to as "GOST"
            algorithms) for hash function, digital signature signature, and key exchange method.
These definitions are based on the recommendations <xref target="GOST-IKEv2" /> established by the
Standardisation Technical Committee "Cryptographic information protection", which describe how Russian cryptographic
standard algorithms are used in IKEv2. IKEv2 <xref target="GOST-IKEv2" format="default" sectionFormat="of" derivedContent="GOST-IKEv2"/>. Along with
the transforms defined in <xref target="RFC9227" />, format="default" sectionFormat="of" derivedContent="RFC9227"/>, the transforms defined in
this specification allow using for the use of GOST cryptographic algorithms in IPsec
protocols.
      </t>

            <t>
      <t indent="0" pn="section-1-3"> This specification was developed to facilitate implementations that
            wish to support the GOST algorithms.  This document does not imply
            IETF endorsement of the cryptographic algorithms used in this
            document.
      </t>
    </section>
    <section title="Terminology and Notation" anchor="mustshouldmay" >
            <t> numbered="true" removeInRFC="false" toc="include" pn="section-2">
      <name slugifiedName="name-terminology-and-notation">Terminology and Notation</name>
      <t indent="0" pn="section-2-1">
    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT",
            "RECOMMENDED", "NOT RECOMMENDED", "MAY", "<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 "OPTIONAL" "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
    described in BCP 14 BCP 14 <xref target="RFC2119" /> format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" /> format="default" sectionFormat="of" derivedContent="RFC8174"/>
    when, and only when, they appear in all capitals, as shown here.
      </t>
    </section>
    <section title="Overview" anchor="overview">
            <t> anchor="overview" numbered="true" removeInRFC="false" toc="include" pn="section-3">
      <name slugifiedName="name-overview">Overview</name>
      <t indent="0" pn="section-3-1"> Russian cryptographic standard (GOST) algorithms (GOST algorithms) are a
      set of cryptographic algorithms of different types - -- ciphers, hash
      functions, digital signatures signatures, etc. In particular, Russian cryptographic
      standard <xref target="GOST3412-2015" /> format="default" sectionFormat="of" derivedContent="GOST3412-2015"/> defines the "Kuznyechik" and
      "Magma" block ciphers "Kuznyechik" (also defined in <xref target="RFC7801" />) format="default" sectionFormat="of" derivedContent="RFC7801"/> and "Magma" (also defined in
      <xref target="RFC8891" />). format="default" sectionFormat="of" derivedContent="RFC8891"/>, respectively).  Cryptographic standard <xref target="GOST3410-2012" /> format="default" sectionFormat="of" derivedContent="GOST3410-2012"/> defines the elliptic curve digital signature
      algorithm (also defined in <xref target="RFC7091" />), format="default" sectionFormat="of" derivedContent="RFC7091"/>), while <xref target="GOST3411-2012" /> format="default" sectionFormat="of" derivedContent="GOST3411-2012"/> defines two cryptographic hash functions "Streebog",
      with different output length lengths (also defined in <xref target="RFC6986" />). format="default" sectionFormat="of" derivedContent="RFC6986"/>).  These hash functions are often referred to as "Streebog" hash functions,
   although this is not an official name and is not used in the provided references. The parameters for the elliptic curves used in
      GOST signature and key exchange algorithms are defined in <xref target="RFC7836" />. format="default" sectionFormat="of" derivedContent="RFC7836"/>.
      </t>
    </section>
    <section title="IKE SA Protection" anchor="protection" >
            <t> IKE numbered="true" removeInRFC="false" toc="include" pn="section-4">
      <name slugifiedName="name-ike-sa-protection">IKE SA Protection</name>
      <t indent="0" pn="section-4-1"> IKE Security Association (SA) protection using GOST algorithms is defined in <xref target="RFC9227" />. format="default" sectionFormat="of" derivedContent="RFC9227"/>.
            In particular, two transforms of type Type 1 (Encryption Algorithm Transform IDs)
            can be used for IKE SA protection: ENCR_KUZNYECHIK_MGM_KTREE (32) based on the "Kuznyechik"
            block cipher and ENCR_MAGMA_MGM_KTREE (33) based on the "Magma" block cipher, both in
            Multilinear Galois Mode (MGM).
      </t>

            <t>
      <t indent="0" pn="section-4-2"> The information here is provided for convenience.  For full details, please see <xref target="RFC9227" />. format="default" sectionFormat="of" derivedContent="RFC9227"/>.
      </t>
    </section>
    <section title="Pseudo Random Function" anchor="prf" >
            <t> numbered="true" removeInRFC="false" toc="include" pn="section-5">
      <name slugifiedName="name-pseudorandom-function">Pseudorandom Function</name>
      <t indent="0" pn="section-5-1"> This specification defines a new transform of type Type 2 (Pseudorandom Function Transform IDs) - IDs): PRF_HMAC_STREEBOG_512 (9).
            This transform uses PRF the Pseudorandom Function (PRF) HMAC_GOSTR3411_2012_512 defined in Section 4.1.2 of <xref target="RFC7836" />. sectionFormat="of" section="4.1.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7836#section-4.1.2" derivedContent="RFC7836"/>.
            The PRF uses the GOST R 34.11-2012 ("Streebog") hash-function hash function with a 512-bit output defined in
            <xref target="RFC6986" /><xref format="default" sectionFormat="of" derivedContent="RFC6986"/> and <xref target="GOST3411-2012" /> format="default" sectionFormat="of" derivedContent="GOST3411-2012"/> with HMAC <xref target="RFC2104" /> format="default" sectionFormat="of" derivedContent="RFC2104"/> construction.
            The PRF has a 512-bit block size and a 512-bit output length.
      </t>
    </section>
    <section title="Shared Key Calculation" anchor="ecdh" >
            <t> numbered="true" removeInRFC="false" toc="include" pn="section-6">
      <name slugifiedName="name-shared-key-calculation">Shared Key Calculation</name>
      <t indent="0" pn="section-6-1"> This specification defines two new transforms of type Type 4 (Diffie-Hellman Group (Key Exchange Method Transform IDs): GOST3410_2012_256 (33) and
            GOST3410_2012_512 (34). These transforms uses use the Elliptic Curve Diffie-Hellman (ECDH) key exchange algorithm over Twisted twisted Edwards curves.
            The parameters for these curves are defined in Section A.2 of <xref target="RFC7836" />. sectionFormat="of" section="A.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7836#appendix-A.2" derivedContent="RFC7836"/>. In particular, transform GOST3410_2012_256
            uses the id-tc26-gost-3410-2012-256-paramSetA parameter set and GOST3410_2012_512 uses the id-tc26-gost-3410-2012-512-paramSetC
            parameter set (both defined in <xref target="RFC7836" />). format="default" sectionFormat="of" derivedContent="RFC7836"/>).
      </t>

            <t> Shared
      <t indent="0" pn="section-6-2"> The shared secret is computed as follows. The initiator randomly selects
      its private key d_i from {1,..,q - 1}, where q is the subgroup order and
      is a parameter of the selected curve. Then a public key Q_i is computed
      as a point on the curve:
      </t>

            <sourcecode>
      <artwork name="" type="" align="left" alt="" pn="section-6-3">
   Q_i = d_i * G
            </sourcecode>

            <t>
</artwork>
      <t indent="0" pn="section-6-4"> where G is the generator for the selected curve, and then curve. It is then sent to the responder. The responder makes the same calculations to get d_r and Q_r and sends Q_r to the initiator.
            After peers exchange Q_i and Q_R Q_R, both sides can compute a point on the curve:
      </t>

            <sourcecode>
      <artwork name="" type="" align="left" alt="" pn="section-6-5">
   S = ((m / q) * d_i) * Q_r = ((m / q) * d_r) * Q_i
            </sourcecode>

            <t>
</artwork>
      <t indent="0" pn="section-6-6"> where m is the group order and is a parameter of the selected curve. The shared secret K is an x coordinate of S in a little-endian representation.
            The size of K is determined by the size of the used curve and is either 256 or 512 bit. bits.
      </t>

            <t>
      <t indent="0" pn="section-6-7"> When the GOST public key is transmitted in the KE payload, Key Exchange payload (<xref target="RFC7296" sectionFormat="of" section="3.4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7296#section-3.4" derivedContent="RFC7296"/>), it <bcp14>MUST</bcp14> be represented as x coordinate immediately followed by y coordinate,
            each in a little-endian representation.

The size of each coordinate is determined by the size of the used curve and is either 256 or 512 bits,
            so that the size of the Key Exchange Data field in the KE Key Exchange payload is either 64 or 128 octets.
      </t>
      <section title="Recipient Tests" anchor="ecdh-tests" >
                <t> numbered="true" removeInRFC="false" toc="include" pn="section-6.1">
        <name slugifiedName="name-recipient-tests">Recipient Tests</name>
        <t indent="0" pn="section-6.1-1"> Upon receiving a peer's public key, implementations <bcp14>MUST</bcp14> check that the key is actually a point on the curve. Otherwise Otherwise, the exchange fails.
                Implementations <bcp14>MUST</bcp14> check that the calculated public value S is not an identity element of the curve. If S appears to be the identity element of the curve,
                the exchange fails. The INVALID_SYNTAX notification <bcp14>MAY</bcp14> be sent in these cases.
        </t>
      </section>
    </section>
    <section title="Authentication" anchor="auth" >
            <t>IKEv2 numbered="true" removeInRFC="false" toc="include" pn="section-7">
      <name slugifiedName="name-authentication">Authentication</name>
      <t indent="0" pn="section-7-1">IKEv2 allows various authentication methods to be used for IKE SA establishment. Some methods are tied
            to a particular algorithm, while others may be used with different algorithms. This specification
            makes no restrictions on using the latter ones with the GOST algorithms. In particular,
            "Shared Key Message Integrity Code" (2), defined in <xref target="RFC7296" />, format="default" sectionFormat="of" derivedContent="RFC7296"/>, and "NULL Authentication" (13),
            defined in <xref target="RFC7619" />, format="default" sectionFormat="of" derivedContent="RFC7619"/>, can be used with GOST algorithms with no changes
            to the process of the AUTH payload content calculation.
      </t>

            <t>
      <t indent="0" pn="section-7-2"> When the GOST digital signature algorithm is used in IKEv2 for authentication
      purposes, an Authentication Method the "Digital Signature" (14), (14) authentication method, defined in
      <xref target="RFC7427" />, format="default" sectionFormat="of" derivedContent="RFC7427"/>, <bcp14>MUST</bcp14> be specified in the AUTH
      payload.
      </t>

            <t>
      <t indent="0" pn="section-7-3"> The GOST digital signature algorithm GOST R 34.10-2012 is defined in <xref target="RFC7091" /><xref format="default" sectionFormat="of" derivedContent="RFC7091"/> and <xref target="GOST3410-2012" />. format="default" sectionFormat="of" derivedContent="GOST3410-2012"/>.
There are
            two variants of the GOST digital signature algorithm - -- one over a 256-bit elliptic curve and the other over a 512-bit key elliptic curve.
            The signature value, as defined in <xref target="RFC7091" /><xref format="default" sectionFormat="of" derivedContent="RFC7091"/> and <xref target="GOST3410-2012" />, format="default" sectionFormat="of" derivedContent="GOST3410-2012"/>, consists of two integers integers: r and s.
            The size of each integer is either 256 bit or 512 bit bits depending on the used elliptic curve. curve used.
            The content of the Signature Value field in the AUTH payload <bcp14>MUST</bcp14> consist of s immediately followed by r, each in a big-endian representation,
            so that the size of the field is either 64 or 128 octets.

The AlgorithmIdentifier ASN.1 objects
            for the GOST digital signature algorithm are defined in <xref target="asn1" />. format="default" sectionFormat="of" derivedContent="Section 7.2"/>.
      </t>
      <section title="Hash Functions" anchor="hash" >
                <t> numbered="true" removeInRFC="false" toc="include" pn="section-7.1">
        <name slugifiedName="name-hash-functions">Hash Functions</name>
        <t indent="0" pn="section-7.1-1">The GOST digital signature algorithm uses GOST hash functions the GOST R 34.11-2012 ("Streebog") hash functions defined in
                <xref target="RFC6986" /><xref format="default" sectionFormat="of" derivedContent="RFC6986"/> and <xref target="GOST3411-2012" />. format="default" sectionFormat="of" derivedContent="GOST3411-2012"/>. There are two "Streebog" hash functions - functions: one with a 256-bit output length and the other with a 512-bit output length.
The former is used with
                the GOST digital signature algorithm over a 256-bit elliptic curve and the latter - over a 512-bit key elliptic curve.
        </t>

                <t>
        <t indent="0" pn="section-7.1-2"> This specification defines two new values for IKEv2 the "IKEv2 Hash Algorithms
        Algorithms" registry: STREEBOG_256 (6) for the GOST hash function with
        a 256-bit output length and STREEBOG_512 (7) for the GOST hash function with a 512-bit length output. output length.

These values <bcp14>MUST</bcp14> be included in the
        SIGNATURE_HASH_ALGORITHMS notify notification if a corresponding GOST digital
        signature algorithm is supported by the sender and its local policy
        allows using the use of this algorithm (see Section 4 of <xref target="RFC7427" /> sectionFormat="of" section="4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7427#section-4" derivedContent="RFC7427"/> for details).
        </t>
      </section>
      <section title="ASN.1 Objects" anchor="asn1" >
                <t> numbered="true" removeInRFC="false" toc="include" pn="section-7.2">
        <name slugifiedName="name-asn1-objects">ASN.1 Objects</name>
        <t indent="0" pn="section-7.2-1"> This section lists GOST digital signature algorithm ASN.1 AlgorithmIdentifier objects in binary form.
                With GOST digital signature algorithms, optional parameters in AlgorithmIdentifier objects are always omitted.
                This
                These objects are defined in <xref target="RFC9215" /><xref format="default" sectionFormat="of" derivedContent="RFC9215"/> and <xref target="USING-GOST-IN-CERTS" /> format="default" sectionFormat="of" derivedContent="USING-GOST-IN-CERTS"/> and are provided here for convenience.
        </t>
        <section title="id-tc26-signwithdigest-gost3410-12-256" anchor="gost256" >
                    <t> numbered="true" removeInRFC="false" toc="include" pn="section-7.2.1">
          <name slugifiedName="name-id-tc26-signwithdigest-gost">id-tc26-signwithdigest-gost3410-12-256</name>
          <sourcecode type="asn.1" markers="false" pn="section-7.2.1-1">
id-tc26-signwithdigest-gost3410-12-256 OBJECT IDENTIFIER ::=
    { iso(1) member-body(2) ru(643) rosstandart(7) tc26(1)
        algorithms(1) signwithdigest(3) gost3410-12-256(2) }
                    </t>

                    <t>The gost3410-12-256(2)}</sourcecode>
          <t indent="0" pn="section-7.2.1-2">The optional parameters field must be omitted.
          </t>

                    <figure>
                        <preamble></preamble>
          <artwork align="left"><![CDATA[ type="" align="left" pn="section-7.2.1-3">
Name = id-tc26-signwithdigest-gost3410-12-256
OID = 1.2.643.7.1.1.3.2
Length = 12
0000: 300a 0608 2a85 0307 0101 0302
                      ]]></artwork>
                      </figure>
</artwork>
        </section>
        <section title="id-tc26-signwithdigest-gost3410-12-512" anchor="gost512" >
                    <t> numbered="true" removeInRFC="false" toc="include" pn="section-7.2.2">
          <name slugifiedName="name-id-tc26-signwithdigest-gost3">id-tc26-signwithdigest-gost3410-12-512</name>
          <sourcecode type="asn.1" markers="false" pn="section-7.2.2-1">
id-tc26-signwithdigest-gost3410-12-512 OBJECT IDENTIFIER ::=
    { iso(1) member-body(2) ru(643) rosstandart(7) tc26(1)
        algorithms(1) signwithdigest(3) gost3410-12-512(3) }
                    </t>

                    <t> gost3410-12-512(3)}
</sourcecode>
          <t indent="0" pn="section-7.2.2-2">  The optional parameters field must be omitted.
          </t>

                    <figure>
                        <preamble></preamble>
          <artwork align="left"><![CDATA[ type="" align="left" pn="section-7.2.2-3">
Name = id-tc26-signwithdigest-gost3410-12-512
OID = 1.2.643.7.1.1.3.3
Length = 12
0000: 300a 0608 2a85 0307 0101 0303
                      ]]></artwork>
                      </figure>
</artwork>
        </section>
      </section>
    </section>
    <section title="Security Considerations" anchor="security" >
            <t> numbered="true" removeInRFC="false" toc="include" pn="section-8">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-8-1"> The security considerations of <xref target="RFC7296" /> format="default" sectionFormat="of" derivedContent="RFC7296"/> and <xref target="RFC7427" /> apply accordingly. format="default" sectionFormat="of" derivedContent="RFC7427"/> apply.
      </t>

            <t> The
      <t indent="0" pn="section-8-2">The security of GOST elliptic curves is discussed in <xref target="GOST-EC-SECURITY" />. format="default" sectionFormat="of" derivedContent="GOST-EC-SECURITY"/>. The security
            of the "Streebog" hash function functions is discussed in <xref target="STREEBOG-SECURITY" />. format="default" sectionFormat="of" derivedContent="STREEBOG-SECURITY"/>.
A second preimage attack on "Streebog" hash functions is described in <xref target="STREEBOG-PREIMAGE" /> format="default" sectionFormat="of" derivedContent="STREEBOG-PREIMAGE"/>
            if the message size exceeds 2^259 2<sup>259</sup> blocks. This attack is not relevant to how "Streebog" is hash functions are used in IKEv2.
      </t>
    </section>
    <section title="IANA Considerations" anchor="iana" >
            <t> numbered="true" removeInRFC="false" toc="include" pn="section-9">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-9-1"> IANA has assigned one Transform ID in the "Transform Type 2 - Pseudorandom Function Transform IDs" registry
            (where RFCXXXX is this document): registry:
      </t>

            <figure>
                <preamble></preamble>
                <artwork align="left"><![CDATA[
Number      Name                        Reference
-------------------------------------------------
9           PRF_HMAC_STREEBOG_512       [RFCXXXX]
              ]]></artwork>
              </figure>

            <t>
      <table anchor="iana1" align="left" pn="table-1">
        <name slugifiedName="name-new-pseudorandom-function-t">New Pseudorandom Function Transform ID</name>
        <thead>
          <tr>
            <th align="left" colspan="1" rowspan="1">Number</th>
            <th align="left" colspan="1" rowspan="1">Name</th>
            <th align="left" colspan="1" rowspan="1">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left" colspan="1" rowspan="1">9</td>
            <td align="left" colspan="1" rowspan="1">PRF_HMAC_STREEBOG_512</td>
            <td align="left" colspan="1" rowspan="1">RFC 9385</td>
          </tr>
        </tbody>
      </table>
      <t indent="0" pn="section-9-3"> IANA has assigned two Transform IDs in the "Transform Type 4 - Diffie-Hellman Group Key Exchange Method Transform IDs" registry
            (where RFCXXXX is this document): registry:
      </t>

            <figure>
                <preamble></preamble>
                <artwork align="left"><![CDATA[
Number      Name                    Recipient Tests         Reference
---------------------------------------------------------------------
33          GOST3410_2012_256       [RFCXXXX] Sec. 6.1      [RFCXXXX]
34          GOST3410_2012_512       [RFCXXXX] Sec. 6.1      [RFCXXXX]
              ]]></artwork>
              </figure>

            <t>
      <table anchor="iana2" align="left" pn="table-2">
        <name slugifiedName="name-new-key-exchange-method-tra">New Key Exchange Method Transform IDs</name>
        <thead>
          <tr>
            <th align="left" colspan="1" rowspan="1">Number</th>
            <th align="left" colspan="1" rowspan="1">Name</th>
            <th align="left" colspan="1" rowspan="1">Recipient Tests</th>
            <th align="left" colspan="1" rowspan="1">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left" colspan="1" rowspan="1">33</td>
            <td align="left" colspan="1" rowspan="1">GOST3410_2012_256</td>
            <td align="left" colspan="1" rowspan="1">RFC 9385, Section 6.1</td>
            <td align="left" colspan="1" rowspan="1">RFC 9385</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">34</td>
            <td align="left" colspan="1" rowspan="1">GOST3410_2012_512</td>
            <td align="left" colspan="1" rowspan="1">RFC 9385, Section 6.1</td>
            <td align="left" colspan="1" rowspan="1">RFC 9385</td>
          </tr>
        </tbody>
      </table>
      <t indent="0" pn="section-9-5"> IANA has assigned two values in the "IKEv2 Hash Algorithms" registry
            (where RFCXXXX is this document):
            </t>

            <figure>
                <preamble></preamble>
                <artwork align="left"><![CDATA[
Number registry:</t>
      <table anchor="iana3" align="left" pn="table-3">
        <name slugifiedName="name-new-ikev2-hash-algorithms">New IKEv2 Hash Algorithm              Reference
-------------------------------------------------
6           STREEBOG_256                [RFCXXXX]
7           STREEBOG_512                [RFCXXXX]
              ]]></artwork>
              </figure> Algorithms</name>
        <thead>
          <tr>
            <th align="left" colspan="1" rowspan="1">Number</th>
            <th align="left" colspan="1" rowspan="1">Hash Algorithm</th>
            <th align="left" colspan="1" rowspan="1">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left" colspan="1" rowspan="1">6</td>
            <td align="left" colspan="1" rowspan="1">STREEBOG_256</td>
            <td align="left" colspan="1" rowspan="1">RFC 9385</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">7</td>
            <td align="left" colspan="1" rowspan="1">STREEBOG_512</td>
            <td align="left" colspan="1" rowspan="1">RFC 9385</td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references title='Normative References'>
            <?rfc include="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml" ?>
            <?rfc include="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml" ?>
            <?rfc include="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6986.xml" ?>
            <?rfc include="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7091.xml" ?>
            <?rfc include="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7296.xml" ?>
            <?rfc include="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7427.xml" ?>
            <?rfc include="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7836.xml" ?>
            <?rfc include="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9215.xml" ?>
            <?rfc include="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9227.xml" ?> pn="section-10">
      <name slugifiedName="name-references">References</name>
      <references pn="section-10.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="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 indent="0">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" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="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 indent="0">RFC 2119 specifies common key words that may be used in protocol specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC6986" target="https://www.rfc-editor.org/info/rfc6986" quoteTitle="true" derivedAnchor="RFC6986">
          <front>
            <title>GOST R 34.11-2012: Hash Function</title>
            <author fullname="V. Dolmatov" initials="V." role="editor" surname="Dolmatov"/>
            <author fullname="A. Degtyarev" initials="A." surname="Degtyarev"/>
            <date month="August" year="2013"/>
            <abstract>
              <t indent="0">This document is intended to be a source of information about the Russian Federal standard hash function (GOST R 34.11-2012), which is one of the Russian cryptographic standard algorithms (called GOST algorithms).  This document updates RFC 5831.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6986"/>
          <seriesInfo name="DOI" value="10.17487/RFC6986"/>
        </reference>
        <reference anchor="RFC7091" target="https://www.rfc-editor.org/info/rfc7091" quoteTitle="true" derivedAnchor="RFC7091">
          <front>
            <title>GOST R 34.10-2012: Digital Signature Algorithm</title>
            <author fullname="V. Dolmatov" initials="V." role="editor" surname="Dolmatov"/>
            <author fullname="A. Degtyarev" initials="A." surname="Degtyarev"/>
            <date month="December" year="2013"/>
            <abstract>
              <t indent="0">This document provides information about the Russian Federal standard for digital signatures (GOST R 34.10-2012), which is one of the Russian cryptographic standard algorithms (called GOST algorithms).  Recently, Russian cryptography is being used in Internet applications, and this document provides information for developers and users of GOST R 34.10-2012 regarding digital signature generation and verification.  This document updates RFC 5832.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7091"/>
          <seriesInfo name="DOI" value="10.17487/RFC7091"/>
        </reference>
        <reference anchor="RFC7296" target="https://www.rfc-editor.org/info/rfc7296" quoteTitle="true" derivedAnchor="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 indent="0">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="RFC7427" target="https://www.rfc-editor.org/info/rfc7427" quoteTitle="true" derivedAnchor="RFC7427">
          <front>
            <title>Signature Authentication in the Internet Key Exchange Version 2 (IKEv2)</title>
            <author fullname="T. Kivinen" initials="T." surname="Kivinen"/>
            <author fullname="J. Snyder" initials="J." surname="Snyder"/>
            <date month="January" year="2015"/>
            <abstract>
              <t indent="0">The Internet Key Exchange Version 2 (IKEv2) protocol has limited support for the Elliptic Curve Digital Signature Algorithm (ECDSA).  The current version only includes support for three Elliptic Curve groups, and there is a fixed hash algorithm tied to each group.  This document generalizes IKEv2 signature support to allow any signature method supported by PKIX and also adds signature hash algorithm negotiation.  This is a generic mechanism and is not limited to ECDSA; it can also be used with other signature algorithms.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7427"/>
          <seriesInfo name="DOI" value="10.17487/RFC7427"/>
        </reference>
        <reference anchor="RFC7836" target="https://www.rfc-editor.org/info/rfc7836" quoteTitle="true" derivedAnchor="RFC7836">
          <front>
            <title>Guidelines on the Cryptographic Algorithms to Accompany the Usage of Standards GOST R 34.10-2012 and GOST R 34.11-2012</title>
            <author fullname="S. Smyshlyaev" initials="S." role="editor" surname="Smyshlyaev"/>
            <author fullname="E. Alekseev" initials="E." surname="Alekseev"/>
            <author fullname="I. Oshkin" initials="I." surname="Oshkin"/>
            <author fullname="V. Popov" initials="V." surname="Popov"/>
            <author fullname="S. Leontiev" initials="S." surname="Leontiev"/>
            <author fullname="V. Podobaev" initials="V." surname="Podobaev"/>
            <author fullname="D. Belyavsky" initials="D." surname="Belyavsky"/>
            <date month="March" year="2016"/>
            <abstract>
              <t indent="0">The purpose of this document is to make the specifications of the cryptographic algorithms defined by the Russian national standards GOST R 34.10-2012 and GOST R 34.11-2012 available to the Internet community for their implementation in the cryptographic protocols based on the accompanying algorithms.</t>
              <t indent="0">These specifications define the pseudorandom functions, the key agreement algorithm based on the Diffie-Hellman algorithm and a hash function, the parameters of elliptic curves, the key derivation functions, and the key export functions.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7836"/>
          <seriesInfo name="DOI" value="10.17487/RFC7836"/>
        </reference>
        <reference anchor="RFC9215" target="https://www.rfc-editor.org/info/rfc9215" quoteTitle="true" derivedAnchor="RFC9215">
          <front>
            <title>Using GOST R 34.10-2012 and GOST R 34.11-2012 Algorithms with the Internet X.509 Public Key Infrastructure</title>
            <author fullname="D. Baryshkov" initials="D." role="editor" surname="Baryshkov"/>
            <author fullname="V. Nikolaev" initials="V." surname="Nikolaev"/>
            <author fullname="A. Chelpanov" initials="A." surname="Chelpanov"/>
            <date month="March" year="2022"/>
            <abstract>
              <t indent="0">This document describes encoding formats, identifiers, and parameter formats for the GOST R 34.10-2012 and GOST R 34.11-2012 algorithms for use in the Internet X.509 Public Key Infrastructure (PKI).</t>
              <t indent="0">This specification is developed to facilitate implementations that wish to support the GOST algorithms. This document does not imply IETF endorsement of the cryptographic algorithms used in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9215"/>
          <seriesInfo name="DOI" value="10.17487/RFC9215"/>
        </reference>
        <reference anchor="RFC9227" target="https://www.rfc-editor.org/info/rfc9227" quoteTitle="true" derivedAnchor="RFC9227">
          <front>
            <title>Using GOST Ciphers in the Encapsulating Security Payload (ESP) and Internet Key Exchange Version 2 (IKEv2) Protocols</title>
            <author fullname="V. Smyslov" initials="V." surname="Smyslov"/>
            <date month="March" year="2022"/>
            <abstract>
              <t indent="0">This document defines a set of encryption transforms for use in the Encapsulating Security Payload (ESP) and in the Internet Key Exchange version 2 (IKEv2) protocols, which are parts of the IP Security (IPsec) protocol suite. The transforms are based on the GOST R 34.12-2015 block ciphers (which are named "Magma" and "Kuznyechik") in Multilinear Galois Mode (MGM) and the external rekeying approach.</t>
              <t indent="0">This specification was developed to facilitate implementations that wish to support the GOST algorithms. This document does not imply IETF endorsement of the cryptographic algorithms used in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9227"/>
          <seriesInfo name="DOI" value="10.17487/RFC9227"/>
        </reference>
      </references>
      <references title='Informative References'>
            <?rfc include="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2104.xml" ?>
            <?rfc include="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7619.xml" ?>
            <?rfc include="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7801.xml" ?>
            <?rfc include="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8891.xml" ?> pn="section-10.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="GOST3410-2012"> anchor="RFC2104" target="https://www.rfc-editor.org/info/rfc2104" quoteTitle="true" derivedAnchor="RFC2104">
          <front>
            <title>HMAC: Keyed-Hashing for Message Authentication</title>
            <author fullname="H. Krawczyk" initials="H." surname="Krawczyk"/>
            <author fullname="M. Bellare" initials="M." surname="Bellare"/>
            <author fullname="R. Canetti" initials="R." surname="Canetti"/>
            <date month="February" year="1997"/>
            <abstract>
              <t indent="0">This document describes HMAC, a mechanism for message authentication using cryptographic hash functions.  HMAC can be used with any iterative cryptographic hash function, e.g., MD5, SHA-1, in combination with a secret shared key.  The cryptographic strength of HMAC depends on the properties of the underlying hash function.  This memo provides information for the Internet community.  This memo does not specify an Internet standard of any kind</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2104"/>
          <seriesInfo name="DOI" value="10.17487/RFC2104"/>
        </reference>
        <reference anchor="RFC7619" target="https://www.rfc-editor.org/info/rfc7619" quoteTitle="true" derivedAnchor="RFC7619">
          <front>
            <title>The NULL Authentication Method in the Internet Key Exchange Protocol Version 2 (IKEv2)</title>
            <author fullname="V. Smyslov" initials="V." surname="Smyslov"/>
            <author fullname="P. Wouters" initials="P." surname="Wouters"/>
            <date month="August" year="2015"/>
            <abstract>
              <t indent="0">This document specifies the NULL Authentication method and the ID_NULL Identification Payload ID Type for Internet Key Exchange Protocol version 2 (IKEv2).  This allows two IKE peers to establish single-side authenticated or mutual unauthenticated IKE sessions for those use cases where a peer is unwilling or unable to authenticate or identify itself.  This ensures IKEv2 can be used for Opportunistic Security (also known as Opportunistic Encryption) to defend against Pervasive Monitoring attacks without the need to sacrifice anonymity.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7619"/>
          <seriesInfo name="DOI" value="10.17487/RFC7619"/>
        </reference>
        <reference anchor="RFC7801" target="https://www.rfc-editor.org/info/rfc7801" quoteTitle="true" derivedAnchor="RFC7801">
          <front>
            <title>GOST R 34.12-2015: Block Cipher "Kuznyechik"</title>
            <author fullname="V. Dolmatov" initials="V." role="editor" surname="Dolmatov"/>
            <date month="March" year="2016"/>
            <abstract>
              <t indent="0">This document is intended to be a source of information about the Russian Federal standard GOST R 34.12-2015 describing the block cipher with a block length of n=128 bits and a key length of k=256 bits, which is also referred to as "Kuznyechik".  This algorithm is one of the set of Russian cryptographic standard algorithms (called GOST algorithms).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7801"/>
          <seriesInfo name="DOI" value="10.17487/RFC7801"/>
        </reference>
        <reference anchor="RFC8891" target="https://www.rfc-editor.org/info/rfc8891" quoteTitle="true" derivedAnchor="RFC8891">
          <front>
            <title>GOST R 34.12-2015: Block Cipher "Magma"</title>
            <author fullname="V. Dolmatov" initials="V." role="editor" surname="Dolmatov"/>
            <author fullname="D. Baryshkov" initials="D." surname="Baryshkov"/>
            <date month="September" year="2020"/>
            <abstract>
              <t indent="0">In addition to a new cipher with a block length of n=128 bits (referred to as "Kuznyechik" and described in RFC 7801), Russian Federal standard GOST R 34.12-2015 includes an updated version of the block cipher with a block length of n=64 bits and key length of k=256 bits, which is also referred to as "Magma".  The algorithm is an updated version of an older block cipher with a block length of n=64 bits described in GOST 28147-89 (RFC 5830).  This document is intended to be a source of information about the updated version of the 64-bit cipher.  It may facilitate the use of the block cipher in Internet applications by providing information for developers and users of the GOST 64-bit cipher with the revised version of the cipher for encryption and decryption.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8891"/>
          <seriesInfo name="DOI" value="10.17487/RFC8891"/>
        </reference>
        <reference anchor="GOST3410-2012" quoteTitle="true" derivedAnchor="GOST3410-2012">
          <front>
            <title>Information technology. Cryptographic data security. Signature and verification processes of [electronic] digital signature</title>
            <author>
                        <organization>Federal
              <organization showOnFrontPage="true">Federal Agency on Technical Regulating and Metrology</organization>
            </author>
            <date year="2012"/>
          </front>
          <seriesInfo name="GOST R" value="34.10-2012"/>
          <annotation>(In Russian)</annotation>
        </reference>
        <reference anchor="GOST3411-2012"> anchor="GOST3411-2012" quoteTitle="true" derivedAnchor="GOST3411-2012">
          <front>
            <title>Information technology. Cryptographic data security. Hashing function</title>
            <author>
                        <organization>Federal
              <organization showOnFrontPage="true">Federal Agency on Technical Regulating and Metrology</organization>
            </author>
            <date year="2012"/>
          </front>
          <seriesInfo name="GOST R" value="34.11-2012"/>
          <annotation>(In Russian)</annotation>
        </reference>
        <reference anchor="GOST3412-2015"> anchor="GOST3412-2015" quoteTitle="true" derivedAnchor="GOST3412-2015">
          <front>
            <title>Information technology. Cryptographic data security. Block ciphers</title>
            <author>
                        <organization>Federal
              <organization showOnFrontPage="true">Federal Agency on Technical Regulating and Metrology</organization>
            </author>
            <date year="2015"/>
          </front>
          <seriesInfo name="GOST R" value="34.12-2015"/>
          <annotation>(In Russian)</annotation>
        </reference>
        <reference anchor="GOST-IKEv2"> anchor="GOST-IKEv2" quoteTitle="true" derivedAnchor="GOST-IKEv2">
          <front>
            <title>Information technology. Cryptographic information protection. The use of data security. Using Russian cryptographic algorithms in the IKEv2 key exchange protocol</title> Internet Key Exchange protocol version 2 (IKEv2)</title>
            <author>
                        <organization>Standardisation
              <organization showOnFrontPage="true">Standardisation Technical Committee "Cryptographic information protection"</organization>
            </author>
            <date year="2022"/>
          </front>
          <seriesInfo name="MR" value="26.2.001-22"/>
          <annotation>(In Russian)</annotation>
        </reference>
        <reference anchor="GOST-IKEv2-TESTVECTORS"> anchor="GOST-IKEv2-TESTVECTORS" quoteTitle="true" derivedAnchor="GOST-IKEv2-TESTVECTORS">
          <front>
            <title>Information technology. Cryptographic information protection. data security. The test vectors for the use of Russian cryptographic algorithms in the IKEv2 key exchange protocol</title>
            <author>
                        <organization>Standardisation
              <organization showOnFrontPage="true">Standardisation Technical Committee "Cryptographic information protection"</organization>
            </author>
            <date year="2022"/>
          </front>
          <seriesInfo name="MR" value="26.2.002-22"/>
          <annotation>(In Russian)</annotation>
        </reference>
        <reference anchor="USING-GOST-IN-CERTS"> anchor="USING-GOST-IN-CERTS" quoteTitle="true" derivedAnchor="USING-GOST-IN-CERTS">
          <front>
            <title>Information technology. Cryptographic data security. Using Usage of GOST R 34.10-2012 and GOST R 34.11-2012 algorithms in X.509 Certificates, CRLs certificate, CRL and PKCS #10 Certificate Requests</title> PKCS#10 certificate request in X.509 public key infrastructure</title>
            <author>
                        <organization>Federal
              <organization showOnFrontPage="true">Federal Agency on Technical Regulating and Metrology</organization>
            </author>
            <date year="2018"/>
          </front>
          <seriesInfo name="R" value="1323565.1.023-2018"/>
          <annotation>(In Russian)</annotation>
        </reference>
        <reference anchor="GOST-EC-SECURITY"> anchor="GOST-EC-SECURITY" target="https://doi.org/10.4213/mvk260" quoteTitle="true" derivedAnchor="GOST-EC-SECURITY">
          <front>
            <title>On the security properties of Russian standardized elliptic curves</title>
            <author initials='E.' surname="Alekseev" /> initials="E." surname="Alekseev"/>
            <author initials='V.' surname="Nikolaev" /> initials="V." surname="Nikolaev"/>
            <author initials='S.' surname="Smyshlyaev" /> initials="S." surname="Smyshlyaev"/>
            <date year="2018"/>
          </front>
          <seriesInfo name="" value="https://doi.org/10.4213/mvk260" /> name="DOI" value="10.4213/mvk260"/>
        </reference>
        <reference anchor="STREEBOG-SECURITY"> anchor="STREEBOG-SECURITY" target="https://doi.org/10.1016/j.ipl.2014.07.007" quoteTitle="true" derivedAnchor="STREEBOG-SECURITY">
          <front>
            <title>Cryptanalysis of GOST R hash function</title>
            <author initials='Z.' surname="Wang" /> initials="Z." surname="Wang"/>
            <author initials='H.' surname="Yu" /> initials="H." surname="Yu"/>
            <author initials='X.' surname="Wang" /> initials="X." surname="Wang"/>
            <date year="2014"/> year="2014" month="December"/>
          </front>
          <seriesInfo name="" value="https://doi.org/10.1016/j.ipl.2014.07.007" /> name="DOI" value="10.1016/j.ipl.2014.07.007"/>
        </reference>
        <reference anchor="STREEBOG-PREIMAGE"> anchor="STREEBOG-PREIMAGE" target="https://eprint.iacr.org/2014/675" quoteTitle="true" derivedAnchor="STREEBOG-PREIMAGE">
          <front>
            <title>The Usage of Counter Revisited: Second-Preimage Attack on New Russian Standardized Hash Function</title>
            <author initials='J.' surname="Guo" /> initials="J." surname="Guo"/>
            <author initials='J.' surname="Jean" /> initials="J." surname="Jean"/>
            <author initials='G.' surname="Leurent" /> initials="G." surname="Leurent"/>
            <author initials='T.' surname="Peyrin" /> initials="T." surname="Peyrin"/>
            <author initials='L.' surname="Wang" /> initials="L." surname="Wang"/>
            <date year="2014"/>
          </front>
                <seriesInfo name="" value="https://eprint.iacr.org/2014/675" />
          <refcontent>Cryptology ePrint Archive, Paper 2014/675</refcontent>
        </reference>
      </references>
    </references>
    <section title="Test Vectors" anchor="testvec">
          <t> anchor="testvec" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-test-vectors">Test Vectors</name>
      <t indent="0" pn="section-appendix.a-1"> This Appendix appendix contains test vectors for two scenarios. The test vectors were borrowed from <xref target="GOST-IKEv2-TESTVECTORS" />. format="default" sectionFormat="of" derivedContent="GOST-IKEv2-TESTVECTORS"/>.
          In both scenarios scenarios, peers establish, rekey rekey, and delete an IKE SA and ESP SAs.
          The IP addresses of the peers used in both scenarios are the same:</t>
          <ul>
            <li>initiator's
      <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-appendix.a-2">
        <li pn="section-appendix.a-2.1">initiator's IP address is 10.111.10.171</li>
            <li>responder's
        <li pn="section-appendix.a-2.2">responder's IP address is 10.111.10.45</li>
      </ul>

          <t>
      <t indent="0" pn="section-appendix.a-3"> The test vectors also cover IKE message protection for transforms defined in <xref target="RFC9227" />. format="default" sectionFormat="of" derivedContent="RFC9227"/>.
          The keys SK_ei, SK_ei and SK_er are transform keys (see Section 4.4 of <xref target="RFC9227" />) sectionFormat="of" section="4.4" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9227#section-4.4" derivedContent="RFC9227"/>),
          and the keys K1i, K2i K2i, K3i, K1r, K2r, and K3r represent nodes in the key tree for the initiator and responder correspondently.
          The leaf keys K3i and K3r are effectively message protection keys (K_msg in terms of <xref target="RFC9227" />). format="default" sectionFormat="of" derivedContent="RFC9227"/>).
          MGM nonces (also known as Initial Counter Nonces) are defined in Section 4.3 of <xref target="RFC9227" />.
          IV sectionFormat="of" section="4.3" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9227#section-4.3" derivedContent="RFC9227"/>.
The Initialization Vector (IV) format is defined in Section 4.2 of <xref target="RFC9227" /> sectionFormat="of" section="4.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9227#section-4.2" derivedContent="RFC9227"/>, and AAD the Additional Authenticated Data (AAD) format is defined in Section 4.7 of <xref target="RFC9227" />. sectionFormat="of" section="4.7" format="default" derivedLink="https://rfc-editor.org/rfc/rfc9227#section-4.7" derivedContent="RFC9227"/>.
      </t>

          <t>
      <t indent="0" pn="section-appendix.a-4"> All other keys and entities used in the test vectors are defined in <xref target="RFC7296" />. format="default" sectionFormat="of" derivedContent="RFC7296"/>.
      </t>
      <section title="Scenario 1" anchor="scenario1">

            <t> With anchor="scenario1" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a.1">
        <name slugifiedName="name-scenario-1">Scenario 1</name>
        <t indent="0" pn="section-appendix.a.1-1"> In this scenario scenario, peers establish, rekey rekey, and delete an IKE SA and ESP SAs using the following prerequisites:</t>
            <ul>
              <li>
        <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-appendix.a.1-2">
          <li pn="section-appendix.a.1-2.1"> Peers authenticate each other using preshared key a Pre-Shared Key (PSK). </li>
              <li>
          <li pn="section-appendix.a.1-2.2"> Initiator's ID is "IKE-Initiator" of type ID_FQDN ID_FQDN. </li>
              <li>
          <li pn="section-appendix.a.1-2.3"> Responder's ID is "IKE-Responder" of type ID_FQDN ID_FQDN. </li>
              <li>
          <li pn="section-appendix.a.1-2.4"> No NAT is present between the peers peers. </li>
              <li>
          <li pn="section-appendix.a.1-2.5"> IKE fragmentation is not used used. </li>
              <li>
          <li pn="section-appendix.a.1-2.6">
            <t indent="0" pn="section-appendix.a.1-2.6.1"> IKE SA is created with the following transforms:
                <ul>
                  <li>
            </t>
            <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-appendix.a.1-2.6.2">
              <li pn="section-appendix.a.1-2.6.2.1"> ENCR_KUZNYECHIK_MGM_KTREE </li>
                  <li>
              <li pn="section-appendix.a.1-2.6.2.2"> PRF_HMAC_STREEBOG_512 </li>
                  <li>
              <li pn="section-appendix.a.1-2.6.2.3"> GOST3410_2012_512 </li>
            </ul>
          </li>
              <li>
          <li pn="section-appendix.a.1-2.7">
            <t indent="0" pn="section-appendix.a.1-2.7.1"> ESP SAs are created with the following transforms:
                <ul>
                  <li>
            </t>
            <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-appendix.a.1-2.7.2">
              <li pn="section-appendix.a.1-2.7.2.1"> ENCR_KUZNYECHIK_MGM_KTREE </li>
                  <li>
              <li pn="section-appendix.a.1-2.7.2.2"> ESN off </li>
            </ul>
          </li>
        </ul>

            <t>
        <t indent="0" pn="section-appendix.a.1-3"> The 256-bit preshared key (PSK) PSK used for authentication:
        </t>
        <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1-4">
00000000: e2 69 24 cf 15 32 93 47 3a 11 a4 97 a8 a4 5c b3
00000010: 4e 28 31 ef 0e 28 bb 77 69 69 c6 3c 68 bf e1 0d
]]>
</sourcecode>

            <t> This
        <t indent="0" pn="section-appendix.a.1-5">This scenario includes four sub-scenarios.
            </t>

            <ol group="scenario1" type="Sub-scenario %d:">
              <li> Establishing sub-scenarios, which are described below.</t>
        <section anchor="scenario1-1" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a.1.1">
          <name slugifiedName="name-sub-scenario-1-establishmen">Sub-Scenario 1: Establishment of IKE and ESP SAs using Using the IKE_SA_INIT and the IKE_AUTH exchanges.
                <sourcecode type="test-vectors">
<![CDATA[ Exchanges
</name>
          <artwork name="" type="" align="left" pn="section-appendix.a.1.1-1">
Initiator                             Responder

HDR, SAi1, KEi, Ni [,N+]      --->
                              <---      ---&gt;
                              &lt;---    HDR, SAr1, KEr, Nr [,N+]

HDR, SK {IDi, [IDr,] [N+,]
     AUTH, SAi2, TSi, TSr}    --->
                              <---    ---&gt;
                              &lt;---    HDR, SK {IDr, [N+,]
                                           AUTH, SAr2, TSi, TSr}
]]>
                </sourcecode>
              </li>
            </ol>

<t>Initiator's
</artwork>
          <t indent="0" pn="section-appendix.a.1.1-2">Initiator's actions:</t>
          <ol start="1" type="(%d)" group="data1.txt">
<li> group="data1.txt" indent="adaptive" spacing="normal" pn="section-appendix.a.1.1-3">
<li pn="section-appendix.a.1.1-3.1" derivedCounter="(1)">
              <t indent="0" pn="section-appendix.a.1.1-3.1.1">
Generates random SPIi for IKE SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-3.1.2">
00000000: e9 d3 f3 78 19 1c 38 40
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-3.2" derivedCounter="(2)">
              <t indent="0" pn="section-appendix.a.1.1-3.2.1">
Generates random IKE nonce Ni
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-3.2.2">
00000000: 48 b6 d3 b3 ab 56 f2 c8 f0 42 d5 16 e7 21 d9 31
00000010: f9 ac 10 f9 7f 80 8c 51 2b d6 f4 59 93 a7 4d 13
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-3.3" derivedCounter="(3)">
              <t indent="0" pn="section-appendix.a.1.1-3.3.1">
Generates ephemeral private key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-3.3.2">
00000000: 95 07 3a 04 dc db ce 77 f5 5e 4f fe 97 0c cd 6f
00000010: 0a e0 b5 c6 53 bd a0 da 47 fc 03 b5 8a e1 d5 1d
00000020: 89 e6 c0 db dc b1 ea 74 59 1f 1d 0c 9f 3f 4f dc
00000030: 10 d5 c9 cc a4 34 9c 3d 3e 6b dd 57 c5 d6 c9 01
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-3.4" derivedCounter="(4)">
              <t indent="0" pn="section-appendix.a.1.1-3.4.1">
Computes public key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-3.4.2">
00000000: 96 1b 9b 21 4f 7e e9 83 ec 27 a0 64 0c 77 4f be
00000010: 78 31 be fd 1e 63 7d 6e 76 eb 2f 81 23 80 62 87
00000020: ba 2c f7 31 a2 70 b7 3e 8a 1d 91 93 72 cf 61 c8
00000030: d3 18 f6 bc f7 a0 44 c8 11 a7 fe d2 99 ea 8b 4d
00000040: 59 fa a7 38 ae 03 48 d2 aa f7 ff 11 e0 60 29 dd
00000050: 16 59 58 78 8e 3b e2 b5 48 36 3c ca 07 1a 5d be
00000060: a7 42 79 81 74 22 6f 53 15 d2 c2 f6 06 d4 0f ed
00000070: 70 f0 1c cf 89 2e ac 3c fe 01 02 91 85 06 7b d4
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-3.5" derivedCounter="(5)">
              <t indent="0" pn="section-appendix.a.1.1-3.5.1">
Creates message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-3.5.2">
IKE SA Init
E9D3F378191C3840.0000000000000000.00000000 IKEv2 R<-I[316] R&lt;-I[316]
  SA[52]{
    P[48](#1:IKE::5#){
      Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
                 ENCR_MAGMA_MGM_KTREE,
      PRF=PRF_HMAC_STREEBOG_512,
      KE=GOST3410_2012_512,
         GOST3410_2012_256}},
  KE[136](GOST3410_2012_512){961B9B...067BD4},
  NONCE[36]{48B6D3...A74D13},
  N[28](NAT_DETECTION_SOURCE_IP){92B291...F4E2BF},
  N[28](NAT_DETECTION_DESTINATION_IP){77E199...98A613},
  N[8](IKEV2_FRAGMENTATION_SUPPORTED)
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-3.6" derivedCounter="(6)">
              <t indent="0" pn="section-appendix.a.1.1-3.6.1">
Sends message, peer receives message<sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54294->10.111.15.45:500 message</t>
              <sourcecode type="test-vectors" markers="false" pn="section-appendix.a.1.1-3.6.2">
       10.111.10.171:54294-&gt;10.111.15.45:500 [316]

00000000: e9 d3 f3 78 19 1c 38 40 00 00 00 00 00 00 00 00
00000010: 21 20 22 08 00 00 00 00 00 00 01 3c 22 00 00 34
00000020: 00 00 00 30 01 01 00 05 03 00 00 08 01 00 00 20
00000030: 03 00 00 08 01 00 00 21 03 00 00 08 02 00 00 09
00000040: 03 00 00 08 04 00 00 22 00 00 00 08 04 00 00 21
00000050: 28 00 00 88 00 22 00 00 96 1b 9b 21 4f 7e e9 83
00000060: ec 27 a0 64 0c 77 4f be 78 31 be fd 1e 63 7d 6e
00000070: 76 eb 2f 81 23 80 62 87 ba 2c f7 31 a2 70 b7 3e
00000080: 8a 1d 91 93 72 cf 61 c8 d3 18 f6 bc f7 a0 44 c8
00000090: 11 a7 fe d2 99 ea 8b 4d 59 fa a7 38 ae 03 48 d2
000000A0: aa f7 ff 11 e0 60 29 dd 16 59 58 78 8e 3b e2 b5
000000B0: 48 36 3c ca 07 1a 5d be a7 42 79 81 74 22 6f 53
000000C0: 15 d2 c2 f6 06 d4 0f ed 70 f0 1c cf 89 2e ac 3c
000000D0: fe 01 02 91 85 06 7b d4 29 00 00 24 48 b6 d3 b3
000000E0: ab 56 f2 c8 f0 42 d5 16 e7 21 d9 31 f9 ac 10 f9
000000F0: 7f 80 8c 51 2b d6 f4 59 93 a7 4d 13 29 00 00 1c
00000100: 00 00 40 04 92 b2 91 d3 9b 53 51 c8 33 c2 1f 2e
00000110: 92 ef 24 88 ef f4 e2 bf 29 00 00 1c 00 00 40 05
00000120: 77 e1 99 fe 3b 7e 33 42 b5 af ad 51 cf 97 91 4b
00000130: 08 98 a6 13 00 00 00 08 00 00 40 2e
]]>
</sourcecode>
            </li>
          </ol>
<t>Responder's
          <t indent="0" pn="section-appendix.a.1.1-4">Responder's actions:</t>
          <ol type="(%d)" group="data1.txt">
<li> group="data1.txt" start="7" indent="adaptive" spacing="normal" pn="section-appendix.a.1.1-5">
<li pn="section-appendix.a.1.1-5.1" derivedCounter="(7)">
              <t indent="0" pn="section-appendix.a.1.1-5.1.1">
Parses received message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-5.1.2">
IKE SA Init
E9D3F378191C3840.0000000000000000.00000000 IKEv2 I->R[316] I-&gt;R[316]
  SA[52]{
    P[48](#1:IKE::5#){
      Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
                 ENCR_MAGMA_MGM_KTREE,
      PRF=PRF_HMAC_STREEBOG_512,
      KE=GOST3410_2012_512,
         GOST3410_2012_256}},
  KE[136](GOST3410_2012_512){961B9B...067BD4},
  NONCE[36]{48B6D3...A74D13},
  N[28](NAT_DETECTION_SOURCE_IP){92B291...F4E2BF},
  N[28](NAT_DETECTION_DESTINATION_IP){77E199...98A613},
  N[8](IKEV2_FRAGMENTATION_SUPPORTED)
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-5.2" derivedCounter="(8)">
              <t indent="0" pn="section-appendix.a.1.1-5.2.1">
Generates random SPIr for IKE SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-5.2.2">
00000000: 8d df f4 01 fb fb 0b 14
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-5.3" derivedCounter="(9)">
              <t indent="0" pn="section-appendix.a.1.1-5.3.1">
Generates random IKE nonce Nr
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-5.3.2">
00000000: fb 81 c8 80 e5 f0 35 60 99 ef 46 b2 72 44 95 0f
00000010: 03 85 f4 73 92 67 b7 68 43 8f 90 69 16 fe 63 f0
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-5.4" derivedCounter="(10)">
              <t indent="0" pn="section-appendix.a.1.1-5.4.1">
Generates ephemeral private key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-5.4.2">
00000000: 7f 49 e3 77 39 db 03 cc fe fe c9 63 17 71 e9 f1
00000010: 50 4b 98 79 b3 df 3b 48 bd f3 89 72 52 07 47 4f
00000020: 70 29 f8 39 63 2c 89 b6 92 39 18 27 9c fb 80 f5
00000030: 43 af 8b 9c 68 bb 93 22 1e 18 7d c2 1b dc e1 22
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-5.5" derivedCounter="(11)">
              <t indent="0" pn="section-appendix.a.1.1-5.5.1">
Computes public key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-5.5.2">
00000000: ad b4 e4 db b9 af 28 59 ab 76 4d 30 fd d4 7a f3
00000010: 5f 8c cb 85 8c cc ca 30 5e 4a 9d 20 52 32 48 88
00000020: 69 81 48 5e ae db 1e 8c 0d 8d db 12 3e f5 ef 1d
00000030: 7f e8 83 39 7f e6 5d 6e 51 ca 9e ee f5 b6 ba 02
00000040: db 10 87 47 ba 38 b3 17 95 60 6d a3 81 15 5c 3d
00000050: 6b 86 d3 59 2f 5f 74 14 17 a9 64 20 3d 05 12 08
00000060: 02 75 15 ac ff 08 7c aa 82 1d f6 89 6c f4 33 e0
00000070: 01 4e 11 68 73 7e e3 e9 c6 88 ce 90 9b 39 05 48
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-5.6" derivedCounter="(12)">
              <t indent="0" pn="section-appendix.a.1.1-5.6.1">
Creates message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-5.6.2">
IKE SA Init
E9D3F378191C3840.8DDFF401FBFB0B14.00000000 IKEv2 I<=R[300] I&lt;=R[300]
  SA[36]{
    P[32](#1:IKE::3#){
      Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
      PRF=PRF_HMAC_STREEBOG_512,
      KE=GOST3410_2012_512}},
  KE[136](GOST3410_2012_512){ADB4E4...390548},
  NONCE[36]{FB81C8...FE63F0},
  N[28](NAT_DETECTION_SOURCE_IP){6D7A48...683D59},
  N[28](NAT_DETECTION_DESTINATION_IP){481A5B...905499},
  N[8](IKEV2_FRAGMENTATION_SUPPORTED)
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-5.7" derivedCounter="(13)">
              <t indent="0" pn="section-appendix.a.1.1-5.7.1">
Sends message, peer receives message<sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54294<-10.111.15.45:500 message</t>
              <sourcecode type="test-vectors" markers="false" pn="section-appendix.a.1.1-5.7.2">
       10.111.10.171:54294&lt;-10.111.15.45:500 [300]

00000000: e9 d3 f3 78 19 1c 38 40 8d df f4 01 fb fb 0b 14
00000010: 21 20 22 20 00 00 00 00 00 00 01 2c 22 00 00 24
00000020: 00 00 00 20 01 01 00 03 03 00 00 08 01 00 00 20
00000030: 03 00 00 08 02 00 00 09 00 00 00 08 04 00 00 22
00000040: 28 00 00 88 00 22 00 00 ad b4 e4 db b9 af 28 59
00000050: ab 76 4d 30 fd d4 7a f3 5f 8c cb 85 8c cc ca 30
00000060: 5e 4a 9d 20 52 32 48 88 69 81 48 5e ae db 1e 8c
00000070: 0d 8d db 12 3e f5 ef 1d 7f e8 83 39 7f e6 5d 6e
00000080: 51 ca 9e ee f5 b6 ba 02 db 10 87 47 ba 38 b3 17
00000090: 95 60 6d a3 81 15 5c 3d 6b 86 d3 59 2f 5f 74 14
000000A0: 17 a9 64 20 3d 05 12 08 02 75 15 ac ff 08 7c aa
000000B0: 82 1d f6 89 6c f4 33 e0 01 4e 11 68 73 7e e3 e9
000000C0: c6 88 ce 90 9b 39 05 48 29 00 00 24 fb 81 c8 80
000000D0: e5 f0 35 60 99 ef 46 b2 72 44 95 0f 03 85 f4 73
000000E0: 92 67 b7 68 43 8f 90 69 16 fe 63 f0 29 00 00 1c
000000F0: 00 00 40 04 6d 7a 48 7a 9d ce 80 6f b0 09 4b f7
00000100: 8d fd ec eb 2e 68 3d 59 29 00 00 1c 00 00 40 05
00000110: 48 1a 5b 15 12 e4 26 a3 8d 88 8b 65 8e 17 b3 f1
00000120: 38 90 54 99 00 00 00 08 00 00 40 2e
]]>
</sourcecode>
            </li>
          </ol>
<t>Initiator's
          <t indent="0" pn="section-appendix.a.1.1-6">Initiator's actions:</t>
          <ol type="(%d)" group="data1.txt">
<li> group="data1.txt" start="14" indent="adaptive" spacing="normal" pn="section-appendix.a.1.1-7">
<li pn="section-appendix.a.1.1-7.1" derivedCounter="(14)">
              <t indent="0" pn="section-appendix.a.1.1-7.1.1">
Parses received message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-7.1.2">
IKE SA Init
E9D3F378191C3840.8DDFF401FBFB0B14.00000000 IKEv2 R=>I[300] R=&gt;I[300]
  SA[36]{
    P[32](#1:IKE::3#){
      Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
      PRF=PRF_HMAC_STREEBOG_512,
      KE=GOST3410_2012_512}},
  KE[136](GOST3410_2012_512){ADB4E4...390548},
  NONCE[36]{FB81C8...FE63F0},
  N[28](NAT_DETECTION_SOURCE_IP){6D7A48...683D59},
  N[28](NAT_DETECTION_DESTINATION_IP){481A5B...905499},
  N[8](IKEV2_FRAGMENTATION_SUPPORTED)
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-7.2" derivedCounter="(15)">
              <t indent="0" pn="section-appendix.a.1.1-7.2.1">
Computes shared key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-7.2.2">
00000000: a2 43 6c bd 2d c1 0f 81 0d f7 6f 24 ae 78 70 f2
00000010: 27 5d 1b dc c5 52 0e d8 53 e5 c5 43 98 f7 35 ce
00000020: 32 70 89 2b 8e 89 0b 7d b3 98 77 cd bd 31 5d 18
00000030: 10 5d 8b ac 16 f0 aa fd bc dc 7c 69 75 14 48 a8
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-7.3" derivedCounter="(16)">
              <t indent="0" pn="section-appendix.a.1.1-7.3.1">
Computes SKEYSEED
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-7.3.2">
00000000: fc 7b d9 80 4b 15 00 60 d2 08 17 3a 08 4b a9 2a
00000010: 0f 01 cb c3 ef e9 b5 aa 15 5b 0e 80 24 68 3c 4c
00000020: 6c fb e9 c8 16 7d 54 2d 48 ee 61 71 01 68 ca 68
00000030: 4f 7c b0 1b 61 29 20 9a 68 88 5b 3f d7 19 0b d0
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-7.4" derivedCounter="(17)">
              <t indent="0" pn="section-appendix.a.1.1-7.4.1">
Computes SK_d
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-7.4.2">
00000000: 6b 2b 83 d7 a9 10 5f f4 27 e8 05 86 b7 f0 09 31
00000010: 16 43 81 ae 88 7a 3f c9 65 30 73 00 e5 82 81 52
00000020: 68 07 ba e5 39 ef 6e a7 75 db 2c c9 1c d3 4b 70
00000030: e0 be 97 14 81 bb 0c 80 ef b3 6e 12 2a 08 74 36
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-7.5" derivedCounter="(18)">
              <t indent="0" pn="section-appendix.a.1.1-7.5.1">
Computes SK_ei
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-7.5.2">
00000000: 8c 6d f1 8f 6a ff 9f 1b 3e be 40 ef e2 64 c2 bf
00000010: 8e 6e d7 4c b5 8b 0a 74 a7 30 0c 21 7e 66 c7 d4
00000020: 83 00 37 c3 08 01 7e c3 0a 71 62 01
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-7.6" derivedCounter="(19)">
              <t indent="0" pn="section-appendix.a.1.1-7.6.1">
Computes SK_er
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-7.6.2">
00000000: df e8 7d 5f 9c da 5e 45 b8 b9 11 02 63 6c 08 47
00000010: f6 4f c5 5d 6a 7b 4b 91 52 32 0a a2 5e c0 31 34
00000020: 65 20 72 e7 0a 1e ff 7d da ba 17 31
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-7.7" derivedCounter="(20)">
              <t indent="0" pn="section-appendix.a.1.1-7.7.1">
Computes SK_pi
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-7.7.2">
00000000: 93 11 c6 4c d7 12 b5 40 f9 e8 7e 73 c5 28 a7 d8
00000010: 89 48 1c f1 bf a3 ad 67 cf b4 d9 6a 9b fe 3c ea
00000020: 2f cc 2a 5e d4 e4 0b 27 7f be c9 9d c3 8d b7 68
00000030: 03 c1 f3 f8 94 af 47 8b d8 35 b8 6b c2 ca 38 16
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-7.8" derivedCounter="(21)">
              <t indent="0" pn="section-appendix.a.1.1-7.8.1">
Computes SK_pr
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-7.8.2">
00000000: 7b b0 4b 24 74 9c 73 68 7f 34 a3 b8 17 6b 9e 30
00000010: f2 eb 33 73 23 ff 49 1e e3 07 e7 9f 77 b6 2a ef
00000020: 5a 5e a9 02 8e 90 5c 83 49 ec 1e aa a4 05 bc e1
00000030: fb c4 5b f0 27 d6 9b 41 77 6f e1 48 f3 37 99 e5
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-7.9" derivedCounter="(22)">
              <t indent="0" pn="section-appendix.a.1.1-7.9.1">
Computes prf(SK_pi, IDi)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-7.9.2">
00000000: 06 d3 d4 36 ab 5b 4f 41 d4 3d fc 79 1f 13 a3 89
00000010: e9 a6 6e d7 87 7d 72 d1 9d 71 78 2d 05 ee 47 fb
00000020: 82 c8 8f 86 cd b5 05 1d 25 7c 1e 79 18 ef 4e 4e
00000030: 8d ca f4 47 12 c6 7f 6a 32 7d d8 e8 f2 8e f8 33
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-7.10" derivedCounter="(23)">
              <t indent="0" pn="section-appendix.a.1.1-7.10.1">
Uses PSK
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-7.10.2">
00000000: e2 69 24 cf 15 32 93 47 3a 11 a4 97 a8 a4 5c b3
00000010: 4e 28 31 ef 0e 28 bb 77 69 69 c6 3c 68 bf e1 0d
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-7.11" derivedCounter="(24)">
              <t indent="0" pn="section-appendix.a.1.1-7.11.1">
Computes prf(PSK,"Key Pad for IKEv2")
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-7.11.2">
00000000: 01 3c a5 24 59 4e bc 78 99 20 61 6c 3f 03 e5 2e
00000010: 7a 75 2a 0b 78 36 bd 0a 89 ce 1d e7 8b 23 32 ae
00000020: 08 9a a0 03 1d da f6 14 8c 38 c6 bd 7c 03 13 24
00000030: bd af c8 ad 88 18 8f 41 d0 12 b9 e1 5a 66 8f 10
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-7.12" derivedCounter="(25)">
              <t indent="0" pn="section-appendix.a.1.1-7.12.1">
Computes content of AUTH payload
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-7.12.2">
00000000: c9 9b 01 9a 89 ee 56 53 ab 28 25 a1 d7 51 54 ac
00000010: 01 42 fb d6 2e bc 1e f3 65 73 63 5b 16 81 4b 97
00000020: 38 b4 20 5d 09 d9 b4 21 b4 0c f4 55 27 80 e7 4c
00000030: cf 66 d0 14 25 87 7c 20 84 68 d5 79 3a 74 1e e3
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-7.13" derivedCounter="(26)">
              <t indent="0" pn="section-appendix.a.1.1-7.13.1">
Computes K1i (i1 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-7.13.2">
00000000: f2 ac 10 7a 1f 92 d1 b1 1b b1 74 c3 42 76 a3 3f
00000010: fa ea 1b 1e 81 10 c1 01 7a 25 9a 00 8d 76 57 de
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-7.14" derivedCounter="(27)">
              <t indent="0" pn="section-appendix.a.1.1-7.14.1">
Computes K2i (i2 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-7.14.2">
00000000: 77 e0 16 18 ad 76 e8 5a 66 2f 88 c4 c0 92 ec 33
00000010: 6d 23 63 28 28 d5 77 d8 84 e1 01 b1 8d 84 a7 1d
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-7.15" derivedCounter="(28)">
              <t indent="0" pn="section-appendix.a.1.1-7.15.1">
Computes K3i (i3 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-7.15.2">
00000000: 36 ff fa db 84 a9 f1 21 d5 84 16 db eb af 21 a2
00000010: 12 6d 5c 35 95 fe 89 cf 27 47 52 8a b7 36 92 d4
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-7.16" derivedCounter="(29)">
              <t indent="0" pn="section-appendix.a.1.1-7.16.1">
Selects SPI for incoming ESP SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-7.16.2">
00000000: 0a de 5f cd
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-7.17" derivedCounter="(30)">
              <t indent="0" pn="section-appendix.a.1.1-7.17.1">
Creates message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-7.17.2">
IKE SA Auth
E9D3F378191C3840.8DDFF401FBFB0B14.00000001 IKEv2 R<-I[334] R&lt;-I[334]
  E[306]{
    IDi[21](FQDN){"IKE-Initiator"},
    AUTH[72](Preshared-Key){C99B01...741EE3},
    N[8](INITIAL_CONTACT),
    N[12](SET_WINDOW_SIZE){4},
    CP[16](REQUEST){IP4.Address[0], IP4.DNS[0]},
    SA[56]{
      P[52](#1:ESP:0ADE5FCD:5#){
        Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
                   ENCR_MAGMA_MGM_KTREE,
                   ENCR_KUZNYECHIK_MGM_MAC_KTREE,
                   ENCR_MAGMA_MGM_MAC_KTREE,
        ESN=Off}},
    TSi[40](2#){10.111.10.171:icmp:8.0, 0.0.0.0-255.255.255.255},
    TSr[40](2#){10.0.0.2:icmp:8.0, 10.0.0.0-10.0.0.255},
    N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
    N[8](NON_FIRST_FRAGMENTS_ALSO)}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-7.18" derivedCounter="(31)">
              <t indent="0" pn="section-appendix.a.1.1-7.18.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-7.18.2">
00000000: 00 00 00 00 83 00 37 c3 08 01 7e c3 0a 71 62 01
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-7.19" derivedCounter="(32)">
              <t indent="0" pn="section-appendix.a.1.1-7.19.1">
Composes AAD
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-7.19.2">
00000000: e9 d3 f3 78 19 1c 38 40 8d df f4 01 fb fb 0b 14
00000010: 2e 20 23 08 00 00 00 01 00 00 01 4e 23 00 01 32
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-7.20" derivedCounter="(33)">
              <t indent="0" pn="section-appendix.a.1.1-7.20.1">
Composes plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-7.20.2">
00000000: 27 00 00 15 02 00 00 00 49 4b 45 2d 49 6e 69 74
00000010: 69 61 74 6f 72 29 00 00 48 02 00 00 00 c9 9b 01
00000020: 9a 89 ee 56 53 ab 28 25 a1 d7 51 54 ac 01 42 fb
00000030: d6 2e bc 1e f3 65 73 63 5b 16 81 4b 97 38 b4 20
00000040: 5d 09 d9 b4 21 b4 0c f4 55 27 80 e7 4c cf 66 d0
00000050: 14 25 87 7c 20 84 68 d5 79 3a 74 1e e3 29 00 00
00000060: 08 00 00 40 00 2f 00 00 0c 00 00 40 01 00 00 00
00000070: 04 21 00 00 10 01 00 00 00 00 01 00 00 00 03 00
00000080: 00 2c 00 00 38 00 00 00 34 01 03 04 05 0a de 5f
00000090: cd 03 00 00 08 01 00 00 20 03 00 00 08 01 00 00
000000A0: 21 03 00 00 08 01 00 00 22 03 00 00 08 01 00 00
000000B0: 23 00 00 00 08 05 00 00 00 2d 00 00 28 02 00 00
000000C0: 00 07 01 00 10 08 00 08 00 0a 6f 0a ab 0a 6f 0a
000000D0: ab 07 00 00 10 00 00 ff ff 00 00 00 00 ff ff ff
000000E0: ff 29 00 00 28 02 00 00 00 07 01 00 10 08 00 08
000000F0: 00 0a 00 00 02 0a 00 00 02 07 00 00 10 00 00 ff
00000100: ff 0a 00 00 00 0a 00 00 ff 29 00 00 08 00 00 40
00000110: 0a 00 00 00 08 00 00 40 0b 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-7.21" derivedCounter="(34)">
              <t indent="0" pn="section-appendix.a.1.1-7.21.1">
Encrypts plaintext using K3i as K_msg, resulted resulting in ciphertext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-7.21.2">
00000000: a5 7d 65 70 aa c3 ef f7 df d6 5c 58 f6 2e ea 80
00000010: 82 15 dc 9d ae 42 1c f0 4c e4 cd 2a 45 f0 22 96
00000020: ea d2 06 cc 9b 59 97 9e 45 5d 27 5f b4 fd 55 6a
00000030: 90 bb 14 da df 9f 56 b0 e8 4c 89 a5 d8 f1 f6 55
00000040: a9 f0 82 90 57 28 86 a5 bd 12 85 2f 2e 51 54 29
00000050: fe 04 45 a4 90 f0 f8 0e 8b e9 c7 37 05 8f 6b bb
00000060: 36 b0 24 8a 5f a3 ca f3 7e 7d f9 8e 73 4b b0 14
00000070: ce b0 af 63 4c 4f ea 60 f6 46 4c 61 76 7c 9f 18
00000080: 0c 61 73 fa 30 9f 91 c4 22 c9 ab 61 80 5a de 8e
00000090: 06 40 36 7a 71 59 a5 ad 1c 67 25 03 9b af 2b 04
000000A0: 9f c1 de 51 11 7b f1 16 20 81 78 3f a8 01 d6 c8
000000B0: 79 89 d9 65 3e ea 58 6d ac 48 fc 4a 9a b9 48 02
000000C0: d7 2b 01 5d 6a 2d cb 65 bb ad 99 86 e2 03 08 76
000000D0: 1b dd 7c 56 3c 49 a4 2c da 24 1f ad 54 79 f5 d8
000000E0: 0e 52 8a 49 92 90 66 80 85 00 b7 d8 89 5f b7 f4
000000F0: 92 c1 5b ed 8a 16 00 f3 9a f8 90 4b fa 6a b2 de
00000100: 2a 89 74 9f 99 c7 c3 57 88 5b 88 95 5c ec 46 52
00000110: 04 c4 49 08 05 ab ee 1c 80 f6
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-7.22" derivedCounter="(35)">
              <t indent="0" pn="section-appendix.a.1.1-7.22.1">
Computes ICV using K3i as K_msg
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-7.22.2">
00000000: 7a 4f 14 38 e6 5f 6b 8c f5 5d 55 f5
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-7.23" derivedCounter="(36)">
              <t indent="0" pn="section-appendix.a.1.1-7.23.1">
Composes IV
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-7.23.2">
00000000: 00 00 00 00 00 00 00 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-7.24" derivedCounter="(37)">
              <t indent="0" pn="section-appendix.a.1.1-7.24.1">
Sends message, peer receives message<sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54294->10.111.15.45:500 message</t>
              <sourcecode type="test-vectors" markers="false" pn="section-appendix.a.1.1-7.24.2">
       10.111.10.171:54294-&gt;10.111.15.45:500 [334]

00000000: e9 d3 f3 78 19 1c 38 40 8d df f4 01 fb fb 0b 14
00000010: 2e 20 23 08 00 00 00 01 00 00 01 4e 23 00 01 32
00000020: 00 00 00 00 00 00 00 00 a5 7d 65 70 aa c3 ef f7
00000030: df d6 5c 58 f6 2e ea 80 82 15 dc 9d ae 42 1c f0
00000040: 4c e4 cd 2a 45 f0 22 96 ea d2 06 cc 9b 59 97 9e
00000050: 45 5d 27 5f b4 fd 55 6a 90 bb 14 da df 9f 56 b0
00000060: e8 4c 89 a5 d8 f1 f6 55 a9 f0 82 90 57 28 86 a5
00000070: bd 12 85 2f 2e 51 54 29 fe 04 45 a4 90 f0 f8 0e
00000080: 8b e9 c7 37 05 8f 6b bb 36 b0 24 8a 5f a3 ca f3
00000090: 7e 7d f9 8e 73 4b b0 14 ce b0 af 63 4c 4f ea 60
000000A0: f6 46 4c 61 76 7c 9f 18 0c 61 73 fa 30 9f 91 c4
000000B0: 22 c9 ab 61 80 5a de 8e 06 40 36 7a 71 59 a5 ad
000000C0: 1c 67 25 03 9b af 2b 04 9f c1 de 51 11 7b f1 16
000000D0: 20 81 78 3f a8 01 d6 c8 79 89 d9 65 3e ea 58 6d
000000E0: ac 48 fc 4a 9a b9 48 02 d7 2b 01 5d 6a 2d cb 65
000000F0: bb ad 99 86 e2 03 08 76 1b dd 7c 56 3c 49 a4 2c
00000100: da 24 1f ad 54 79 f5 d8 0e 52 8a 49 92 90 66 80
00000110: 85 00 b7 d8 89 5f b7 f4 92 c1 5b ed 8a 16 00 f3
00000120: 9a f8 90 4b fa 6a b2 de 2a 89 74 9f 99 c7 c3 57
00000130: 88 5b 88 95 5c ec 46 52 04 c4 49 08 05 ab ee 1c
00000140: 80 f6 7a 4f 14 38 e6 5f 6b 8c f5 5d 55 f5
]]>
</sourcecode>
            </li>
          </ol>
<t>Responder's
          <t indent="0" pn="section-appendix.a.1.1-8">Responder's actions:</t>
          <ol type="(%d)" group="data1.txt">
<li> group="data1.txt" start="38" indent="adaptive" spacing="normal" pn="section-appendix.a.1.1-9">
<li pn="section-appendix.a.1.1-9.1" derivedCounter="(38)">
              <t indent="0" pn="section-appendix.a.1.1-9.1.1">
Computes shared key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.1.2">
00000000: a2 43 6c bd 2d c1 0f 81 0d f7 6f 24 ae 78 70 f2
00000010: 27 5d 1b dc c5 52 0e d8 53 e5 c5 43 98 f7 35 ce
00000020: 32 70 89 2b 8e 89 0b 7d b3 98 77 cd bd 31 5d 18
00000030: 10 5d 8b ac 16 f0 aa fd bc dc 7c 69 75 14 48 a8
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.2" derivedCounter="(39)">
              <t indent="0" pn="section-appendix.a.1.1-9.2.1">
Computes SKEYSEED
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.2.2">
00000000: fc 7b d9 80 4b 15 00 60 d2 08 17 3a 08 4b a9 2a
00000010: 0f 01 cb c3 ef e9 b5 aa 15 5b 0e 80 24 68 3c 4c
00000020: 6c fb e9 c8 16 7d 54 2d 48 ee 61 71 01 68 ca 68
00000030: 4f 7c b0 1b 61 29 20 9a 68 88 5b 3f d7 19 0b d0
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.3" derivedCounter="(40)">
              <t indent="0" pn="section-appendix.a.1.1-9.3.1">
Computes SK_d
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.3.2">
00000000: 6b 2b 83 d7 a9 10 5f f4 27 e8 05 86 b7 f0 09 31
00000010: 16 43 81 ae 88 7a 3f c9 65 30 73 00 e5 82 81 52
00000020: 68 07 ba e5 39 ef 6e a7 75 db 2c c9 1c d3 4b 70
00000030: e0 be 97 14 81 bb 0c 80 ef b3 6e 12 2a 08 74 36
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.4" derivedCounter="(41)">
              <t indent="0" pn="section-appendix.a.1.1-9.4.1">
Computes SK_ei
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.4.2">
00000000: 8c 6d f1 8f 6a ff 9f 1b 3e be 40 ef e2 64 c2 bf
00000010: 8e 6e d7 4c b5 8b 0a 74 a7 30 0c 21 7e 66 c7 d4
00000020: 83 00 37 c3 08 01 7e c3 0a 71 62 01
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.5" derivedCounter="(42)">
              <t indent="0" pn="section-appendix.a.1.1-9.5.1">
Computes SK_er
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.5.2">
00000000: df e8 7d 5f 9c da 5e 45 b8 b9 11 02 63 6c 08 47
00000010: f6 4f c5 5d 6a 7b 4b 91 52 32 0a a2 5e c0 31 34
00000020: 65 20 72 e7 0a 1e ff 7d da ba 17 31
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.6" derivedCounter="(43)">
              <t indent="0" pn="section-appendix.a.1.1-9.6.1">
Computes SK_pi
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.6.2">
00000000: 93 11 c6 4c d7 12 b5 40 f9 e8 7e 73 c5 28 a7 d8
00000010: 89 48 1c f1 bf a3 ad 67 cf b4 d9 6a 9b fe 3c ea
00000020: 2f cc 2a 5e d4 e4 0b 27 7f be c9 9d c3 8d b7 68
00000030: 03 c1 f3 f8 94 af 47 8b d8 35 b8 6b c2 ca 38 16
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.7" derivedCounter="(44)">
              <t indent="0" pn="section-appendix.a.1.1-9.7.1">
Computes SK_pr
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.7.2">
00000000: 7b b0 4b 24 74 9c 73 68 7f 34 a3 b8 17 6b 9e 30
00000010: f2 eb 33 73 23 ff 49 1e e3 07 e7 9f 77 b6 2a ef
00000020: 5a 5e a9 02 8e 90 5c 83 49 ec 1e aa a4 05 bc e1
00000030: fb c4 5b f0 27 d6 9b 41 77 6f e1 48 f3 37 99 e5
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.8" derivedCounter="(45)">
              <t indent="0" pn="section-appendix.a.1.1-9.8.1">
Extracts IV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.8.2">
00000000: 00 00 00 00 00 00 00 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.9" derivedCounter="(46)">
              <t indent="0" pn="section-appendix.a.1.1-9.9.1">
Computes K1i (i1 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.9.2">
00000000: f2 ac 10 7a 1f 92 d1 b1 1b b1 74 c3 42 76 a3 3f
00000010: fa ea 1b 1e 81 10 c1 01 7a 25 9a 00 8d 76 57 de
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.10" derivedCounter="(47)">
              <t indent="0" pn="section-appendix.a.1.1-9.10.1">
Computes K2i (i2 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.10.2">
00000000: 77 e0 16 18 ad 76 e8 5a 66 2f 88 c4 c0 92 ec 33
00000010: 6d 23 63 28 28 d5 77 d8 84 e1 01 b1 8d 84 a7 1d
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.11" derivedCounter="(48)">
              <t indent="0" pn="section-appendix.a.1.1-9.11.1">
Computes K3i (i3 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.11.2">
00000000: 36 ff fa db 84 a9 f1 21 d5 84 16 db eb af 21 a2
00000010: 12 6d 5c 35 95 fe 89 cf 27 47 52 8a b7 36 92 d4
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.12" derivedCounter="(49)">
              <t indent="0" pn="section-appendix.a.1.1-9.12.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.12.2">
00000000: 00 00 00 00 83 00 37 c3 08 01 7e c3 0a 71 62 01
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.13" derivedCounter="(50)">
              <t indent="0" pn="section-appendix.a.1.1-9.13.1">
Extracts ICV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.13.2">
00000000: 7a 4f 14 38 e6 5f 6b 8c f5 5d 55 f5
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.14" derivedCounter="(51)">
              <t indent="0" pn="section-appendix.a.1.1-9.14.1">
Extracts AAD from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.14.2">
00000000: e9 d3 f3 78 19 1c 38 40 8d df f4 01 fb fb 0b 14
00000010: 2e 20 23 08 00 00 00 01 00 00 01 4e 23 00 01 32
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.15" derivedCounter="(52)">
              <t indent="0" pn="section-appendix.a.1.1-9.15.1">
Extracts ciphertext from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.15.2">
00000000: a5 7d 65 70 aa c3 ef f7 df d6 5c 58 f6 2e ea 80
00000010: 82 15 dc 9d ae 42 1c f0 4c e4 cd 2a 45 f0 22 96
00000020: ea d2 06 cc 9b 59 97 9e 45 5d 27 5f b4 fd 55 6a
00000030: 90 bb 14 da df 9f 56 b0 e8 4c 89 a5 d8 f1 f6 55
00000040: a9 f0 82 90 57 28 86 a5 bd 12 85 2f 2e 51 54 29
00000050: fe 04 45 a4 90 f0 f8 0e 8b e9 c7 37 05 8f 6b bb
00000060: 36 b0 24 8a 5f a3 ca f3 7e 7d f9 8e 73 4b b0 14
00000070: ce b0 af 63 4c 4f ea 60 f6 46 4c 61 76 7c 9f 18
00000080: 0c 61 73 fa 30 9f 91 c4 22 c9 ab 61 80 5a de 8e
00000090: 06 40 36 7a 71 59 a5 ad 1c 67 25 03 9b af 2b 04
000000A0: 9f c1 de 51 11 7b f1 16 20 81 78 3f a8 01 d6 c8
000000B0: 79 89 d9 65 3e ea 58 6d ac 48 fc 4a 9a b9 48 02
000000C0: d7 2b 01 5d 6a 2d cb 65 bb ad 99 86 e2 03 08 76
000000D0: 1b dd 7c 56 3c 49 a4 2c da 24 1f ad 54 79 f5 d8
000000E0: 0e 52 8a 49 92 90 66 80 85 00 b7 d8 89 5f b7 f4
000000F0: 92 c1 5b ed 8a 16 00 f3 9a f8 90 4b fa 6a b2 de
00000100: 2a 89 74 9f 99 c7 c3 57 88 5b 88 95 5c ec 46 52
00000110: 04 c4 49 08 05 ab ee 1c 80 f6
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.16" derivedCounter="(53)">
              <t indent="0" pn="section-appendix.a.1.1-9.16.1">
Decrypts ciphertext and verifies ICV using K3i as K_msg, resulted resulting in plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.16.2">
00000000: 27 00 00 15 02 00 00 00 49 4b 45 2d 49 6e 69 74
00000010: 69 61 74 6f 72 29 00 00 48 02 00 00 00 c9 9b 01
00000020: 9a 89 ee 56 53 ab 28 25 a1 d7 51 54 ac 01 42 fb
00000030: d6 2e bc 1e f3 65 73 63 5b 16 81 4b 97 38 b4 20
00000040: 5d 09 d9 b4 21 b4 0c f4 55 27 80 e7 4c cf 66 d0
00000050: 14 25 87 7c 20 84 68 d5 79 3a 74 1e e3 29 00 00
00000060: 08 00 00 40 00 2f 00 00 0c 00 00 40 01 00 00 00
00000070: 04 21 00 00 10 01 00 00 00 00 01 00 00 00 03 00
00000080: 00 2c 00 00 38 00 00 00 34 01 03 04 05 0a de 5f
00000090: cd 03 00 00 08 01 00 00 20 03 00 00 08 01 00 00
000000A0: 21 03 00 00 08 01 00 00 22 03 00 00 08 01 00 00
000000B0: 23 00 00 00 08 05 00 00 00 2d 00 00 28 02 00 00
000000C0: 00 07 01 00 10 08 00 08 00 0a 6f 0a ab 0a 6f 0a
000000D0: ab 07 00 00 10 00 00 ff ff 00 00 00 00 ff ff ff
000000E0: ff 29 00 00 28 02 00 00 00 07 01 00 10 08 00 08
000000F0: 00 0a 00 00 02 0a 00 00 02 07 00 00 10 00 00 ff
00000100: ff 0a 00 00 00 0a 00 00 ff 29 00 00 08 00 00 40
00000110: 0a 00 00 00 08 00 00 40 0b 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.17" derivedCounter="(54)">
              <t indent="0" pn="section-appendix.a.1.1-9.17.1">
Parses received message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.17.2">
IKE SA Auth
E9D3F378191C3840.8DDFF401FBFB0B14.00000001 IKEv2 I->R[334] I-&gt;R[334]
  E[306]{
    IDi[21](FQDN){"IKE-Initiator"},
    AUTH[72](Preshared-Key){C99B01...741EE3},
    N[8](INITIAL_CONTACT),
    N[12](SET_WINDOW_SIZE){4},
    CP[16](REQUEST){IP4.Address[0], IP4.DNS[0]},
    SA[56]{
      P[52](#1:ESP:0ADE5FCD:5#){
        Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
                   ENCR_MAGMA_MGM_KTREE,
                   ENCR_KUZNYECHIK_MGM_MAC_KTREE,
                   ENCR_MAGMA_MGM_MAC_KTREE,
        ESN=Off}},
    TSi[40](2#){10.111.10.171:icmp:8.0, 0.0.0.0-255.255.255.255},
    TSr[40](2#){10.0.0.2:icmp:8.0, 10.0.0.0-10.0.0.255},
    N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
    N[8](NON_FIRST_FRAGMENTS_ALSO)}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.18" derivedCounter="(55)">
              <t indent="0" pn="section-appendix.a.1.1-9.18.1">
Computes prf(SK_pi, IDi)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.18.2">
00000000: 06 d3 d4 36 ab 5b 4f 41 d4 3d fc 79 1f 13 a3 89
00000010: e9 a6 6e d7 87 7d 72 d1 9d 71 78 2d 05 ee 47 fb
00000020: 82 c8 8f 86 cd b5 05 1d 25 7c 1e 79 18 ef 4e 4e
00000030: 8d ca f4 47 12 c6 7f 6a 32 7d d8 e8 f2 8e f8 33
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.19" derivedCounter="(56)">
              <t indent="0" pn="section-appendix.a.1.1-9.19.1">
Uses PSK
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.19.2">
00000000: e2 69 24 cf 15 32 93 47 3a 11 a4 97 a8 a4 5c b3
00000010: 4e 28 31 ef 0e 28 bb 77 69 69 c6 3c 68 bf e1 0d
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.20" derivedCounter="(57)">
              <t indent="0" pn="section-appendix.a.1.1-9.20.1">
Computes prf(PSK,"Key Pad for IKEv2")
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.20.2">
00000000: 01 3c a5 24 59 4e bc 78 99 20 61 6c 3f 03 e5 2e
00000010: 7a 75 2a 0b 78 36 bd 0a 89 ce 1d e7 8b 23 32 ae
00000020: 08 9a a0 03 1d da f6 14 8c 38 c6 bd 7c 03 13 24
00000030: bd af c8 ad 88 18 8f 41 d0 12 b9 e1 5a 66 8f 10
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.21" derivedCounter="(58)">
              <t indent="0" pn="section-appendix.a.1.1-9.21.1">
Computes content of AUTH payload and compares it with the received one
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.21.2">
00000000: c9 9b 01 9a 89 ee 56 53 ab 28 25 a1 d7 51 54 ac
00000010: 01 42 fb d6 2e bc 1e f3 65 73 63 5b 16 81 4b 97
00000020: 38 b4 20 5d 09 d9 b4 21 b4 0c f4 55 27 80 e7 4c
00000030: cf 66 d0 14 25 87 7c 20 84 68 d5 79 3a 74 1e e3
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.22" derivedCounter="(59)">
              <t indent="0" pn="section-appendix.a.1.1-9.22.1">
Computes keys for ESP SAs
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.22.2">
00000000: ff 42 3b a3 78 29 2b 10 52 c8 bf 06 fa ba 6d 5f
00000010: e2 db 51 1b 74 1b 54 ad 35 85 e3 cf 2b 77 52 42
00000020: bc 8c d8 ba dd f4 46 9e 89 41 5c d6
00000000: 8c eb 84 af 18 01 18 36 b7 8d 65 be 03 ca 69 64
00000010: 89 6e a8 91 03 bc 9a dc bd 49 10 ab 20 83 9f 83
00000020: b1 7c 45 9d ab d8 ab 6f de 6a 62 d1
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.23" derivedCounter="(60)">
              <t indent="0" pn="section-appendix.a.1.1-9.23.1">
Computes prf(SK_pr,IDr)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.23.2">
00000000: 32 61 00 71 e8 1a d6 a1 12 8d ef 4e 2a e9 bb c2
00000010: 9f 3d ba 28 1b 2a a5 10 a2 ad c6 b1 73 07 c9 f1
00000020: 50 9e 1c d7 a5 85 8f a8 40 ef dd a7 ae 33 71 74
00000030: c8 8b a9 f4 3a 83 0f c1 c5 3c 9b 21 9f a9 58 25
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.24" derivedCounter="(61)">
              <t indent="0" pn="section-appendix.a.1.1-9.24.1">
Uses PSK
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.24.2">
00000000: e2 69 24 cf 15 32 93 47 3a 11 a4 97 a8 a4 5c b3
00000010: 4e 28 31 ef 0e 28 bb 77 69 69 c6 3c 68 bf e1 0d
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.25" derivedCounter="(62)">
              <t indent="0" pn="section-appendix.a.1.1-9.25.1">
Computes prf(PSK,"Key Pad for IKEv2")
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.25.2">
00000000: 01 3c a5 24 59 4e bc 78 99 20 61 6c 3f 03 e5 2e
00000010: 7a 75 2a 0b 78 36 bd 0a 89 ce 1d e7 8b 23 32 ae
00000020: 08 9a a0 03 1d da f6 14 8c 38 c6 bd 7c 03 13 24
00000030: bd af c8 ad 88 18 8f 41 d0 12 b9 e1 5a 66 8f 10
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.26" derivedCounter="(63)">
              <t indent="0" pn="section-appendix.a.1.1-9.26.1">
Computes content of AUTH payload
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.26.2">
00000000: 35 ce 8a ab dd 3d b1 5f 38 7b 2e c9 a6 24 7a 1f
00000010: a7 bb a0 6f b6 5e d8 81 07 d3 43 c8 a5 db 37 51
00000020: 0e 9d 9a 85 66 18 7a 0f 5c e2 1b fb 27 56 65 ed
00000030: 0e 41 fe ce 5e 95 bf 8a ae 57 f6 d6 26 d2 d1 2d
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.27" derivedCounter="(64)">
              <t indent="0" pn="section-appendix.a.1.1-9.27.1">
Computes K1r (i1 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.27.2">
00000000: 61 cd ad b1 01 10 71 7c dc 18 81 1d 1f aa e3 13
00000010: 4b 07 f8 f7 49 a7 3d 0a 57 2f e1 61 bc ab 85 c4
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.28" derivedCounter="(65)">
              <t indent="0" pn="section-appendix.a.1.1-9.28.1">
Computes K2r (i2 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.28.2">
00000000: 5f e7 47 77 da f7 54 d7 a8 e5 eb ed f9 82 c8 a9
00000010: 74 0c 54 77 6f eb b8 70 a4 43 43 3e c2 9e ce a6
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.29" derivedCounter="(66)">
              <t indent="0" pn="section-appendix.a.1.1-9.29.1">
Computes K3r (i3 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.29.2">
00000000: e8 af 72 c4 c3 55 a2 6a fb ad 37 fd b4 b9 7f d6
00000010: f6 c8 cc 32 3f 50 32 40 06 86 ce 85 1b 02 28 f3
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.30" derivedCounter="(67)">
              <t indent="0" pn="section-appendix.a.1.1-9.30.1">
Selects SPI for incoming ESP SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.30.2">
00000000: 50 3c 8d af
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.31" derivedCounter="(68)">
              <t indent="0" pn="section-appendix.a.1.1-9.31.1">
Creates message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.31.2">
IKE SA Auth
E9D3F378191C3840.8DDFF401FBFB0B14.00000001 IKEv2 I<=R[286] I&lt;=R[286]
  E[258]{
    IDr[21](FQDN){"IKE-Responder"},
    AUTH[72](Preshared-Key){35CE8A...D2D12D},
    N[8](INITIAL_CONTACT),
    N[12](SET_WINDOW_SIZE){64},
    CP[16](REPLY){IP4.Address[4]=10.1.1.2},
    SA[32]{
      P[28](#1:ESP:503C8DAF:2#){
        Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
        ESN=Off}},
    TSi[24](1#){10.1.1.2},
    TSr[24](1#){10.0.0.0-10.0.0.255},
    N[8](ADDITIONAL_TS_POSSIBLE),
    N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
    N[8](NON_FIRST_FRAGMENTS_ALSO)}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.32" derivedCounter="(69)">
              <t indent="0" pn="section-appendix.a.1.1-9.32.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.32.2">
00000000: 00 00 00 00 65 20 72 e7 0a 1e ff 7d da ba 17 31
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.33" derivedCounter="(70)">
              <t indent="0" pn="section-appendix.a.1.1-9.33.1">
Composes AAD
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.33.2">
00000000: e9 d3 f3 78 19 1c 38 40 8d df f4 01 fb fb 0b 14
00000010: 2e 20 23 20 00 00 00 01 00 00 01 1e 24 00 01 02
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.34" derivedCounter="(71)">
              <t indent="0" pn="section-appendix.a.1.1-9.34.1">
Composes plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.34.2">
00000000: 27 00 00 15 02 00 00 00 49 4b 45 2d 52 65 73 70
00000010: 6f 6e 64 65 72 29 00 00 48 02 00 00 00 35 ce 8a
00000020: ab dd 3d b1 5f 38 7b 2e c9 a6 24 7a 1f a7 bb a0
00000030: 6f b6 5e d8 81 07 d3 43 c8 a5 db 37 51 0e 9d 9a
00000040: 85 66 18 7a 0f 5c e2 1b fb 27 56 65 ed 0e 41 fe
00000050: ce 5e 95 bf 8a ae 57 f6 d6 26 d2 d1 2d 29 00 00
00000060: 08 00 00 40 00 2f 00 00 0c 00 00 40 01 00 00 00
00000070: 40 21 00 00 10 02 00 00 00 00 01 00 04 0a 01 01
00000080: 02 2c 00 00 20 00 00 00 1c 01 03 04 02 50 3c 8d
00000090: af 03 00 00 08 01 00 00 20 00 00 00 08 05 00 00
000000A0: 00 2d 00 00 18 01 00 00 00 07 00 00 10 00 00 ff
000000B0: ff 0a 01 01 02 0a 01 01 02 29 00 00 18 01 00 00
000000C0: 00 07 00 00 10 00 00 ff ff 0a 00 00 00 0a 00 00
000000D0: ff 29 00 00 08 00 00 40 02 29 00 00 08 00 00 40
000000E0: 0a 00 00 00 08 00 00 40 0b 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.35" derivedCounter="(72)">
              <t indent="0" pn="section-appendix.a.1.1-9.35.1">
Encrypts plaintext using K3r as K_msg, resulted resulting in ciphertext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.35.2">
00000000: 9b 5d 58 8a 99 44 11 d6 5b 93 7f 98 57 0d 0f 09
00000010: 0c a3 d9 36 41 b5 9c 91 94 17 3a cb 00 88 24 5e
00000020: 25 b7 0d 75 2f fb 4d d0 ab 2c cc 84 42 e7 f8 1b
00000030: 5a e6 88 13 9a 3e b1 03 79 31 0c 69 f6 17 a2 40
00000040: f8 aa 74 2e 62 29 ee 57 43 3f 10 bf 44 73 51 97
00000050: 2c 93 a4 02 87 3d 37 45 2c f1 3e 16 c3 d9 ec b3
00000060: b8 6f 66 1a f1 73 44 7c db 74 11 e6 07 4a 75 23
00000070: 83 df 00 52 ae 68 60 39 83 4c c3 b1 d5 7a e8 7f
00000080: 61 59 9e 4f 92 3c 2f 04 3b c3 ac e7 23 3f 1c a7
00000090: a5 3f 4d 33 1f 46 25 9f 09 5e f4 75 e0 12 32 5b
000000A0: 29 64 a4 40 1a b5 c9 cd 9e 8f 91 cc 5b 7d 14 15
000000B0: d0 89 70 e0 c6 d8 e4 e0 93 ff 02 4c 69 db ab 84
000000C0: d6 8f b9 f9 ed 07 aa 96 29 2a 50 c2 c4 b6 e5 cb
000000D0: 8e 16 33 7a 20 a4 3b 0e f2 53 9b b1 63 c0 46 4b
000000E0: d9 31 a8 98 f5 17 8a ff 0a c0
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.36" derivedCounter="(73)">
              <t indent="0" pn="section-appendix.a.1.1-9.36.1">
Computes ICV using K3r as K_msg
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.36.2">
00000000: 4a db a4 67 7e a1 3c 54 22 1f cf 62
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.37" derivedCounter="(74)">
              <t indent="0" pn="section-appendix.a.1.1-9.37.1">
Composes IV
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.37.2">
00000000: 00 00 00 00 00 00 00 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-9.38" derivedCounter="(75)">
              <t indent="0" pn="section-appendix.a.1.1-9.38.1">
Sends message, peer receives message<sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54294<-10.111.15.45:500 message</t>
              <sourcecode type="test-vectors" markers="false" pn="section-appendix.a.1.1-9.38.2">
       10.111.10.171:54294&lt;-10.111.15.45:500 [286]

00000000: e9 d3 f3 78 19 1c 38 40 8d df f4 01 fb fb 0b 14
00000010: 2e 20 23 20 00 00 00 01 00 00 01 1e 24 00 01 02
00000020: 00 00 00 00 00 00 00 00 9b 5d 58 8a 99 44 11 d6
00000030: 5b 93 7f 98 57 0d 0f 09 0c a3 d9 36 41 b5 9c 91
00000040: 94 17 3a cb 00 88 24 5e 25 b7 0d 75 2f fb 4d d0
00000050: ab 2c cc 84 42 e7 f8 1b 5a e6 88 13 9a 3e b1 03
00000060: 79 31 0c 69 f6 17 a2 40 f8 aa 74 2e 62 29 ee 57
00000070: 43 3f 10 bf 44 73 51 97 2c 93 a4 02 87 3d 37 45
00000080: 2c f1 3e 16 c3 d9 ec b3 b8 6f 66 1a f1 73 44 7c
00000090: db 74 11 e6 07 4a 75 23 83 df 00 52 ae 68 60 39
000000A0: 83 4c c3 b1 d5 7a e8 7f 61 59 9e 4f 92 3c 2f 04
000000B0: 3b c3 ac e7 23 3f 1c a7 a5 3f 4d 33 1f 46 25 9f
000000C0: 09 5e f4 75 e0 12 32 5b 29 64 a4 40 1a b5 c9 cd
000000D0: 9e 8f 91 cc 5b 7d 14 15 d0 89 70 e0 c6 d8 e4 e0
000000E0: 93 ff 02 4c 69 db ab 84 d6 8f b9 f9 ed 07 aa 96
000000F0: 29 2a 50 c2 c4 b6 e5 cb 8e 16 33 7a 20 a4 3b 0e
00000100: f2 53 9b b1 63 c0 46 4b d9 31 a8 98 f5 17 8a ff
00000110: 0a c0 4a db a4 67 7e a1 3c 54 22 1f cf 62
]]>
</sourcecode>
            </li>
          </ol>
<t>Initiator's
          <t indent="0" pn="section-appendix.a.1.1-10">Initiator's actions:</t>
          <ol type="(%d)" group="data1.txt">
<li> group="data1.txt" start="76" indent="adaptive" spacing="normal" pn="section-appendix.a.1.1-11">
<li pn="section-appendix.a.1.1-11.1" derivedCounter="(76)">
              <t indent="0" pn="section-appendix.a.1.1-11.1.1">
Extracts IV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-11.1.2">
00000000: 00 00 00 00 00 00 00 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-11.2" derivedCounter="(77)">
              <t indent="0" pn="section-appendix.a.1.1-11.2.1">
Computes K1r (i1 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-11.2.2">
00000000: 61 cd ad b1 01 10 71 7c dc 18 81 1d 1f aa e3 13
00000010: 4b 07 f8 f7 49 a7 3d 0a 57 2f e1 61 bc ab 85 c4
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-11.3" derivedCounter="(78)">
              <t indent="0" pn="section-appendix.a.1.1-11.3.1">
Computes K2r (i2 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-11.3.2">
00000000: 5f e7 47 77 da f7 54 d7 a8 e5 eb ed f9 82 c8 a9
00000010: 74 0c 54 77 6f eb b8 70 a4 43 43 3e c2 9e ce a6
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-11.4" derivedCounter="(79)">
              <t indent="0" pn="section-appendix.a.1.1-11.4.1">
Computes K3r (i3 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-11.4.2">
00000000: e8 af 72 c4 c3 55 a2 6a fb ad 37 fd b4 b9 7f d6
00000010: f6 c8 cc 32 3f 50 32 40 06 86 ce 85 1b 02 28 f3
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-11.5" derivedCounter="(80)">
              <t indent="0" pn="section-appendix.a.1.1-11.5.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-11.5.2">
00000000: 00 00 00 00 65 20 72 e7 0a 1e ff 7d da ba 17 31
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-11.6" derivedCounter="(81)">
              <t indent="0" pn="section-appendix.a.1.1-11.6.1">
Extracts ICV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-11.6.2">
00000000: 4a db a4 67 7e a1 3c 54 22 1f cf 62
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-11.7" derivedCounter="(82)">
              <t indent="0" pn="section-appendix.a.1.1-11.7.1">
Extracts AAD from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-11.7.2">
00000000: e9 d3 f3 78 19 1c 38 40 8d df f4 01 fb fb 0b 14
00000010: 2e 20 23 20 00 00 00 01 00 00 01 1e 24 00 01 02
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-11.8" derivedCounter="(83)">
              <t indent="0" pn="section-appendix.a.1.1-11.8.1">
Extracts ciphertext from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-11.8.2">
00000000: 9b 5d 58 8a 99 44 11 d6 5b 93 7f 98 57 0d 0f 09
00000010: 0c a3 d9 36 41 b5 9c 91 94 17 3a cb 00 88 24 5e
00000020: 25 b7 0d 75 2f fb 4d d0 ab 2c cc 84 42 e7 f8 1b
00000030: 5a e6 88 13 9a 3e b1 03 79 31 0c 69 f6 17 a2 40
00000040: f8 aa 74 2e 62 29 ee 57 43 3f 10 bf 44 73 51 97
00000050: 2c 93 a4 02 87 3d 37 45 2c f1 3e 16 c3 d9 ec b3
00000060: b8 6f 66 1a f1 73 44 7c db 74 11 e6 07 4a 75 23
00000070: 83 df 00 52 ae 68 60 39 83 4c c3 b1 d5 7a e8 7f
00000080: 61 59 9e 4f 92 3c 2f 04 3b c3 ac e7 23 3f 1c a7
00000090: a5 3f 4d 33 1f 46 25 9f 09 5e f4 75 e0 12 32 5b
000000A0: 29 64 a4 40 1a b5 c9 cd 9e 8f 91 cc 5b 7d 14 15
000000B0: d0 89 70 e0 c6 d8 e4 e0 93 ff 02 4c 69 db ab 84
000000C0: d6 8f b9 f9 ed 07 aa 96 29 2a 50 c2 c4 b6 e5 cb
000000D0: 8e 16 33 7a 20 a4 3b 0e f2 53 9b b1 63 c0 46 4b
000000E0: d9 31 a8 98 f5 17 8a ff 0a c0
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-11.9" derivedCounter="(84)">
              <t indent="0" pn="section-appendix.a.1.1-11.9.1">
Decrypts ciphertext and verifies ICV using K3r as K_msg, resulted resulting in plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-11.9.2">
00000000: 27 00 00 15 02 00 00 00 49 4b 45 2d 52 65 73 70
00000010: 6f 6e 64 65 72 29 00 00 48 02 00 00 00 35 ce 8a
00000020: ab dd 3d b1 5f 38 7b 2e c9 a6 24 7a 1f a7 bb a0
00000030: 6f b6 5e d8 81 07 d3 43 c8 a5 db 37 51 0e 9d 9a
00000040: 85 66 18 7a 0f 5c e2 1b fb 27 56 65 ed 0e 41 fe
00000050: ce 5e 95 bf 8a ae 57 f6 d6 26 d2 d1 2d 29 00 00
00000060: 08 00 00 40 00 2f 00 00 0c 00 00 40 01 00 00 00
00000070: 40 21 00 00 10 02 00 00 00 00 01 00 04 0a 01 01
00000080: 02 2c 00 00 20 00 00 00 1c 01 03 04 02 50 3c 8d
00000090: af 03 00 00 08 01 00 00 20 00 00 00 08 05 00 00
000000A0: 00 2d 00 00 18 01 00 00 00 07 00 00 10 00 00 ff
000000B0: ff 0a 01 01 02 0a 01 01 02 29 00 00 18 01 00 00
000000C0: 00 07 00 00 10 00 00 ff ff 0a 00 00 00 0a 00 00
000000D0: ff 29 00 00 08 00 00 40 02 29 00 00 08 00 00 40
000000E0: 0a 00 00 00 08 00 00 40 0b 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-11.10" derivedCounter="(85)">
              <t indent="0" pn="section-appendix.a.1.1-11.10.1">
Parses received message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-11.10.2">
IKE SA Auth
E9D3F378191C3840.8DDFF401FBFB0B14.00000001 IKEv2 R=>I[286] R=&gt;I[286]
  E[258]{
    IDr[21](FQDN){"IKE-Responder"},
    AUTH[72](Preshared-Key){35CE8A...D2D12D},
    N[8](INITIAL_CONTACT),
    N[12](SET_WINDOW_SIZE){64},
    CP[16](REPLY){IP4.Address[4]=10.1.1.2},
    SA[32]{
      P[28](#1:ESP:503C8DAF:2#){
        Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
        ESN=Off}},
    TSi[24](1#){10.1.1.2},
    TSr[24](1#){10.0.0.0-10.0.0.255},
    N[8](ADDITIONAL_TS_POSSIBLE),
    N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
    N[8](NON_FIRST_FRAGMENTS_ALSO)}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-11.11" derivedCounter="(86)">
              <t indent="0" pn="section-appendix.a.1.1-11.11.1">
Computes prf(SK_pr, IDr)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-11.11.2">
00000000: 32 61 00 71 e8 1a d6 a1 12 8d ef 4e 2a e9 bb c2
00000010: 9f 3d ba 28 1b 2a a5 10 a2 ad c6 b1 73 07 c9 f1
00000020: 50 9e 1c d7 a5 85 8f a8 40 ef dd a7 ae 33 71 74
00000030: c8 8b a9 f4 3a 83 0f c1 c5 3c 9b 21 9f a9 58 25
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-11.12" derivedCounter="(87)">
              <t indent="0" pn="section-appendix.a.1.1-11.12.1">
Uses PSK
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-11.12.2">
00000000: e2 69 24 cf 15 32 93 47 3a 11 a4 97 a8 a4 5c b3
00000010: 4e 28 31 ef 0e 28 bb 77 69 69 c6 3c 68 bf e1 0d
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-11.13" derivedCounter="(88)">
              <t indent="0" pn="section-appendix.a.1.1-11.13.1">
Computes prf(PSK,"Key Pad for IKEv2")
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-11.13.2">
00000000: 01 3c a5 24 59 4e bc 78 99 20 61 6c 3f 03 e5 2e
00000010: 7a 75 2a 0b 78 36 bd 0a 89 ce 1d e7 8b 23 32 ae
00000020: 08 9a a0 03 1d da f6 14 8c 38 c6 bd 7c 03 13 24
00000030: bd af c8 ad 88 18 8f 41 d0 12 b9 e1 5a 66 8f 10
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-11.14" derivedCounter="(89)">
              <t indent="0" pn="section-appendix.a.1.1-11.14.1">
Computes content of AUTH payload and compares it with the received one
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-11.14.2">
00000000: 35 ce 8a ab dd 3d b1 5f 38 7b 2e c9 a6 24 7a 1f
00000010: a7 bb a0 6f b6 5e d8 81 07 d3 43 c8 a5 db 37 51
00000020: 0e 9d 9a 85 66 18 7a 0f 5c e2 1b fb 27 56 65 ed
00000030: 0e 41 fe ce 5e 95 bf 8a ae 57 f6 d6 26 d2 d1 2d
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.1-11.15" derivedCounter="(90)">
              <t indent="0" pn="section-appendix.a.1.1-11.15.1">
Computes keys for ESP SAs
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.1-11.15.2">
00000000: ff 42 3b a3 78 29 2b 10 52 c8 bf 06 fa ba 6d 5f
00000010: e2 db 51 1b 74 1b 54 ad 35 85 e3 cf 2b 77 52 42
00000020: bc 8c d8 ba dd f4 46 9e 89 41 5c d6
00000000: 8c eb 84 af 18 01 18 36 b7 8d 65 be 03 ca 69 64
00000010: 89 6e a8 91 03 bc 9a dc bd 49 10 ab 20 83 9f 83
00000020: b1 7c 45 9d ab d8 ab 6f de 6a 62 d1
]]>
</sourcecode>
            </li>
          </ol>

<t><br/><br/></t>

            <ol group="scenario1"  type="Sub-scenario %d:">
              <li>
        </section>
        <section anchor="scenario1-2" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a.1.2">
          <name slugifiedName="name-sub-scenario-2-ike-sa-rekey">Sub-Scenario 2: IKE SA rekeying using Rekeying Using the CREATE_CHILD_SA exchange.
                <sourcecode type="test-vectors">
<![CDATA[ Exchange
</name>
          <artwork type="" align="left" pn="section-appendix.a.1.2-1">
Initiator                             Responder

HDR, SK {SAi, Ni, KEi [,N+]}  --->
                              <---  ---&gt;
                              &lt;---    HDR, SK {SAr, Nr, KEr [,N+]}
]]>
                </sourcecode>
              </li>
            </ol>

<t>Initiator's
</artwork>
          <t indent="0" pn="section-appendix.a.1.2-2">Initiator's actions:</t>
          <ol start="1" type="(%d)" group="data2.txt">
<li> group="data2.txt" indent="adaptive" spacing="normal" pn="section-appendix.a.1.2-3">
<li pn="section-appendix.a.1.2-3.1" derivedCounter="(1)">
              <t indent="0" pn="section-appendix.a.1.2-3.1.1">
Generates random SPIi for new IKE SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-3.1.2">
00000000: 43 87 64 8d 6c 9e 28 ff
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-3.2" derivedCounter="(2)">
              <t indent="0" pn="section-appendix.a.1.2-3.2.1">
Generates random IKE nonce Ni
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-3.2.2">
00000000: 6c 83 67 41 1b 45 94 1d 79 94 51 2d 3f 7d 1e ce
00000010: 06 76 a6 09 cc a9 3a 8f f8 17 81 ff 28 08 5a 4c
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-3.3" derivedCounter="(3)">
              <t indent="0" pn="section-appendix.a.1.2-3.3.1">
Generates ephemeral private key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-3.3.2">
00000000: cf 8f f0 df 04 24 43 b5 7e 15 2c bd 9f cd bd d9
00000010: 20 b5 35 7c e8 8b a6 d7 bd 7f 32 39 3d 5e 9a 3c
00000020: eb 88 4f 7f 6c 5d 03 05 fc bf 08 12 41 76 f4 a6
00000030: 2e 4c f7 ce 55 18 9d 6a 54 1f f7 57 46 23 cd 26
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-3.4" derivedCounter="(4)">
              <t indent="0" pn="section-appendix.a.1.2-3.4.1">
Computes public key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-3.4.2">
00000000: 04 db 0b d3 9a ac 83 f3 e9 9d a9 11 c3 12 f6 df
00000010: f6 ae 99 38 55 20 1f 83 c8 28 ed 14 f9 68 88 77
00000020: ac 78 36 41 7a d7 93 a7 ee 4c 6a d7 f2 50 24 f5
00000030: a8 7b 03 28 22 9f a4 66 11 20 57 64 56 7c 36 3c
00000040: 72 c7 91 0a 1c fd 64 54 f1 17 97 6a 35 48 dc 8f
00000050: 85 97 20 12 2f 35 55 58 9b ca 7a 84 f3 01 cf ca
00000060: 78 e7 41 87 d3 3f 0f 2b 6d 78 59 ad f2 f2 c2 97
00000070: db 0b 75 6e 00 38 a2 72 8d 17 6b 44 f9 8b 95 66
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-3.5" derivedCounter="(5)">
              <t indent="0" pn="section-appendix.a.1.2-3.5.1">
Creates message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-3.5.2">
Create Child SA
E9D3F378191C3840.8DDFF401FBFB0B14.00000002 IKEv2 R<-I R&lt;-I [281]
  E[253]{
    SA[44]{
      P[40](#1:IKE:4387648D6C9E28FF:3#){
        Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
        PRF=PRF_HMAC_STREEBOG_512,
        KE=GOST3410_2012_512}},
    NONCE[36]{6C8367...085A4C},
    KE[136](GOST3410_2012_512){04DB0B...8B9566},
    N[12](SET_WINDOW_SIZE){4}}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-3.6" derivedCounter="(6)">
              <t indent="0" pn="section-appendix.a.1.2-3.6.1">
Uses previously computed key K3i
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-3.6.2">
00000000: 36 ff fa db 84 a9 f1 21 d5 84 16 db eb af 21 a2
00000010: 12 6d 5c 35 95 fe 89 cf 27 47 52 8a b7 36 92 d4
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-3.7" derivedCounter="(7)">
              <t indent="0" pn="section-appendix.a.1.2-3.7.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-3.7.2">
00000000: 00 00 00 01 83 00 37 c3 08 01 7e c3 0a 71 62 01
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-3.8" derivedCounter="(8)">
              <t indent="0" pn="section-appendix.a.1.2-3.8.1">
Composes AAD
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-3.8.2">
00000000: e9 d3 f3 78 19 1c 38 40 8d df f4 01 fb fb 0b 14
00000010: 2e 20 24 08 00 00 00 02 00 00 01 19 21 00 00 fd
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-3.9" derivedCounter="(9)">
              <t indent="0" pn="section-appendix.a.1.2-3.9.1">
Composes plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-3.9.2">
00000000: 28 00 00 2c 00 00 00 28 01 01 08 03 43 87 64 8d
00000010: 6c 9e 28 ff 03 00 00 08 01 00 00 20 03 00 00 08
00000020: 02 00 00 09 00 00 00 08 04 00 00 22 22 00 00 24
00000030: 6c 83 67 41 1b 45 94 1d 79 94 51 2d 3f 7d 1e ce
00000040: 06 76 a6 09 cc a9 3a 8f f8 17 81 ff 28 08 5a 4c
00000050: 29 00 00 88 00 22 00 00 04 db 0b d3 9a ac 83 f3
00000060: e9 9d a9 11 c3 12 f6 df f6 ae 99 38 55 20 1f 83
00000070: c8 28 ed 14 f9 68 88 77 ac 78 36 41 7a d7 93 a7
00000080: ee 4c 6a d7 f2 50 24 f5 a8 7b 03 28 22 9f a4 66
00000090: 11 20 57 64 56 7c 36 3c 72 c7 91 0a 1c fd 64 54
000000A0: f1 17 97 6a 35 48 dc 8f 85 97 20 12 2f 35 55 58
000000B0: 9b ca 7a 84 f3 01 cf ca 78 e7 41 87 d3 3f 0f 2b
000000C0: 6d 78 59 ad f2 f2 c2 97 db 0b 75 6e 00 38 a2 72
000000D0: 8d 17 6b 44 f9 8b 95 66 00 00 00 0c 00 00 40 01
000000E0: 00 00 00 04 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-3.10" derivedCounter="(10)">
              <t indent="0" pn="section-appendix.a.1.2-3.10.1">
Encrypts plaintext using K3i as K_msg, resulted resulting in ciphertext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-3.10.2">
00000000: 00 16 cf 92 8a 87 4c 02 79 31 04 22 c3 d9 5f fd
00000010: 5a 19 23 62 25 d1 99 c2 af 75 4d f1 3c ac c0 c1
00000020: c7 db d0 fd 93 ac 6d 25 b4 19 01 e6 df e8 51 c2
00000030: 88 a9 8a 26 92 98 ec ce c1 2f cf ca ce 9b 5a 6d
00000040: 4c 8b cf 97 63 5a a3 e6 46 49 0f 1f 05 54 00 49
00000050: 6b d8 14 f4 e2 ee b3 66 2a 13 9b dd 63 53 7a 82
00000060: 2a d8 bf 48 aa db 79 21 d3 d8 ac b1 ac 8f 9b 41
00000070: a7 49 81 95 d7 54 46 e2 00 9b 17 3a ab 9a 4c 8f
00000080: 19 9e ac 61 cc f6 02 47 a1 7e f4 48 5b e7 3c a7
00000090: 53 dc 03 9e ea 5f c4 99 60 6e db 6a 21 fe 7c 7b
000000A0: 11 ed bf 44 59 73 fa 65 01 98 e4 e6 10 63 87 27
000000B0: 8b f0 8c bb 94 52 dd 97 ee dc ce 88 c4 45 b4 16
000000C0: f2 8b d4 74 cb 46 38 57 f4 44 88 23 44 06 d9 91
000000D0: 00 ea 81 2c e7 f6 66 0f a8 45 0f 1d 8c 2d f1 02
000000E0: a2 06 78 c7 e0
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-3.11" derivedCounter="(11)">
              <t indent="0" pn="section-appendix.a.1.2-3.11.1">
Computes ICV using K3i as K_msg
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-3.11.2">
00000000: b1 2f da a5 96 fa 27 ee 67 de 9e 95
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-3.12" derivedCounter="(12)">
              <t indent="0" pn="section-appendix.a.1.2-3.12.1">
Composes IV
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-3.12.2">
00000000: 00 00 00 00 00 00 00 01
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-3.13" derivedCounter="(13)">
              <t indent="0" pn="section-appendix.a.1.2-3.13.1">
Sends message, peer receives message<sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54294->10.111.15.45:500 message</t>
              <sourcecode type="test-vectors" markers="false" pn="section-appendix.a.1.2-3.13.2">
       10.111.10.171:54294-&gt;10.111.15.45:500 [281]

00000000: e9 d3 f3 78 19 1c 38 40 8d df f4 01 fb fb 0b 14
00000010: 2e 20 24 08 00 00 00 02 00 00 01 19 21 00 00 fd
00000020: 00 00 00 00 00 00 00 01 00 16 cf 92 8a 87 4c 02
00000030: 79 31 04 22 c3 d9 5f fd 5a 19 23 62 25 d1 99 c2
00000040: af 75 4d f1 3c ac c0 c1 c7 db d0 fd 93 ac 6d 25
00000050: b4 19 01 e6 df e8 51 c2 88 a9 8a 26 92 98 ec ce
00000060: c1 2f cf ca ce 9b 5a 6d 4c 8b cf 97 63 5a a3 e6
00000070: 46 49 0f 1f 05 54 00 49 6b d8 14 f4 e2 ee b3 66
00000080: 2a 13 9b dd 63 53 7a 82 2a d8 bf 48 aa db 79 21
00000090: d3 d8 ac b1 ac 8f 9b 41 a7 49 81 95 d7 54 46 e2
000000A0: 00 9b 17 3a ab 9a 4c 8f 19 9e ac 61 cc f6 02 47
000000B0: a1 7e f4 48 5b e7 3c a7 53 dc 03 9e ea 5f c4 99
000000C0: 60 6e db 6a 21 fe 7c 7b 11 ed bf 44 59 73 fa 65
000000D0: 01 98 e4 e6 10 63 87 27 8b f0 8c bb 94 52 dd 97
000000E0: ee dc ce 88 c4 45 b4 16 f2 8b d4 74 cb 46 38 57
000000F0: f4 44 88 23 44 06 d9 91 00 ea 81 2c e7 f6 66 0f
00000100: a8 45 0f 1d 8c 2d f1 02 a2 06 78 c7 e0 b1 2f da
00000110: a5 96 fa 27 ee 67 de 9e 95
]]>
</sourcecode>
            </li>
          </ol>
<t>Responder's
          <t indent="0" pn="section-appendix.a.1.2-4">Responder's actions:</t>
          <ol type="(%d)" group="data2.txt">
<li> group="data2.txt" start="14" indent="adaptive" spacing="normal" pn="section-appendix.a.1.2-5">
<li pn="section-appendix.a.1.2-5.1" derivedCounter="(14)">
              <t indent="0" pn="section-appendix.a.1.2-5.1.1">
Extracts IV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-5.1.2">
00000000: 00 00 00 00 00 00 00 01
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-5.2" derivedCounter="(15)">
              <t indent="0" pn="section-appendix.a.1.2-5.2.1">
Uses previously computed key K3i
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-5.2.2">
00000000: 36 ff fa db 84 a9 f1 21 d5 84 16 db eb af 21 a2
00000010: 12 6d 5c 35 95 fe 89 cf 27 47 52 8a b7 36 92 d4
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-5.3" derivedCounter="(16)">
              <t indent="0" pn="section-appendix.a.1.2-5.3.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-5.3.2">
00000000: 00 00 00 01 83 00 37 c3 08 01 7e c3 0a 71 62 01
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-5.4" derivedCounter="(17)">
              <t indent="0" pn="section-appendix.a.1.2-5.4.1">
Extracts ICV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-5.4.2">
00000000: b1 2f da a5 96 fa 27 ee 67 de 9e 95
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-5.5" derivedCounter="(18)">
              <t indent="0" pn="section-appendix.a.1.2-5.5.1">
Extracts AAD from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-5.5.2">
00000000: e9 d3 f3 78 19 1c 38 40 8d df f4 01 fb fb 0b 14
00000010: 2e 20 24 08 00 00 00 02 00 00 01 19 21 00 00 fd
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-5.6" derivedCounter="(19)">
              <t indent="0" pn="section-appendix.a.1.2-5.6.1">
Extracts ciphertext from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-5.6.2">
00000000: 00 16 cf 92 8a 87 4c 02 79 31 04 22 c3 d9 5f fd
00000010: 5a 19 23 62 25 d1 99 c2 af 75 4d f1 3c ac c0 c1
00000020: c7 db d0 fd 93 ac 6d 25 b4 19 01 e6 df e8 51 c2
00000030: 88 a9 8a 26 92 98 ec ce c1 2f cf ca ce 9b 5a 6d
00000040: 4c 8b cf 97 63 5a a3 e6 46 49 0f 1f 05 54 00 49
00000050: 6b d8 14 f4 e2 ee b3 66 2a 13 9b dd 63 53 7a 82
00000060: 2a d8 bf 48 aa db 79 21 d3 d8 ac b1 ac 8f 9b 41
00000070: a7 49 81 95 d7 54 46 e2 00 9b 17 3a ab 9a 4c 8f
00000080: 19 9e ac 61 cc f6 02 47 a1 7e f4 48 5b e7 3c a7
00000090: 53 dc 03 9e ea 5f c4 99 60 6e db 6a 21 fe 7c 7b
000000A0: 11 ed bf 44 59 73 fa 65 01 98 e4 e6 10 63 87 27
000000B0: 8b f0 8c bb 94 52 dd 97 ee dc ce 88 c4 45 b4 16
000000C0: f2 8b d4 74 cb 46 38 57 f4 44 88 23 44 06 d9 91
000000D0: 00 ea 81 2c e7 f6 66 0f a8 45 0f 1d 8c 2d f1 02
000000E0: a2 06 78 c7 e0
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-5.7" derivedCounter="(20)">
              <t indent="0" pn="section-appendix.a.1.2-5.7.1">
Decrypts ciphertext and verifies ICV using K3i as K_msg, resulted resulting in plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-5.7.2">
00000000: 28 00 00 2c 00 00 00 28 01 01 08 03 43 87 64 8d
00000010: 6c 9e 28 ff 03 00 00 08 01 00 00 20 03 00 00 08
00000020: 02 00 00 09 00 00 00 08 04 00 00 22 22 00 00 24
00000030: 6c 83 67 41 1b 45 94 1d 79 94 51 2d 3f 7d 1e ce
00000040: 06 76 a6 09 cc a9 3a 8f f8 17 81 ff 28 08 5a 4c
00000050: 29 00 00 88 00 22 00 00 04 db 0b d3 9a ac 83 f3
00000060: e9 9d a9 11 c3 12 f6 df f6 ae 99 38 55 20 1f 83
00000070: c8 28 ed 14 f9 68 88 77 ac 78 36 41 7a d7 93 a7
00000080: ee 4c 6a d7 f2 50 24 f5 a8 7b 03 28 22 9f a4 66
00000090: 11 20 57 64 56 7c 36 3c 72 c7 91 0a 1c fd 64 54
000000A0: f1 17 97 6a 35 48 dc 8f 85 97 20 12 2f 35 55 58
000000B0: 9b ca 7a 84 f3 01 cf ca 78 e7 41 87 d3 3f 0f 2b
000000C0: 6d 78 59 ad f2 f2 c2 97 db 0b 75 6e 00 38 a2 72
000000D0: 8d 17 6b 44 f9 8b 95 66 00 00 00 0c 00 00 40 01
000000E0: 00 00 00 04 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-5.8" derivedCounter="(21)">
              <t indent="0" pn="section-appendix.a.1.2-5.8.1">
Parses received message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-5.8.2">
Create Child SA
E9D3F378191C3840.8DDFF401FBFB0B14.00000002 IKEv2 I->R[281] I-&gt;R[281]
  E[253]{
    SA[44]{
      P[40](#1:IKE:4387648D6C9E28FF:3#){
        Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
        PRF=PRF_HMAC_STREEBOG_512,
        KE=GOST3410_2012_512}},
    NONCE[36]{6C8367...085A4C},
    KE[136](GOST3410_2012_512){04DB0B...8B9566},
    N[12](SET_WINDOW_SIZE){4}}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-5.9" derivedCounter="(22)">
              <t indent="0" pn="section-appendix.a.1.2-5.9.1">
Generates random SPIr for new IKE SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-5.9.2">
00000000: 82 d9 fa f8 74 49 b9 36
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-5.10" derivedCounter="(23)">
              <t indent="0" pn="section-appendix.a.1.2-5.10.1">
Generates random IKE nonce Nr
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-5.10.2">
00000000: 5a 2d d2 68 c6 85 5d 32 d4 7b 0b 8e ae 7d c9 81
00000010: be 3e 69 c1 bb f5 ae 89 55 59 c7 48 bc 96 43 7b
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-5.11" derivedCounter="(24)">
              <t indent="0" pn="section-appendix.a.1.2-5.11.1">
Generates ephemeral private key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-5.11.2">
00000000: b9 ea c6 c1 84 db 39 54 e3 e7 74 be 02 e0 c9 0b
00000010: 5c b9 72 03 d4 fc a2 3f b6 cf 71 8d 4f f4 b4 c5
00000020: 21 1c 93 f9 86 cc 6b cb db ff 78 51 5b b6 48 e8
00000030: 44 ce c0 83 c9 d0 b8 90 08 94 db 29 9f bb c2 1a
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-5.12" derivedCounter="(25)">
              <t indent="0" pn="section-appendix.a.1.2-5.12.1">
Computes public key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-5.12.2">
00000000: b9 f9 27 a8 96 70 7a 03 58 c2 39 58 63 2d 50 20
00000010: bf 69 c0 1d a6 de d4 4d 65 aa 26 c6 8f 9f e9 e9
00000020: 4b bb da 1d 2f d3 60 2d 18 33 04 9b b2 25 a6 07
00000030: ac 58 1b fc 3c 5b 1e f3 4b c0 f9 cb 90 14 c6 80
00000040: 6e c3 73 c1 4a f7 5c 27 dd 2a e1 ba 94 9c f7 06
00000050: 68 92 19 8e 85 67 f9 d2 d1 ea 3c 16 16 b9 3f 0c
00000060: 8b 2d 2e d6 20 14 7e 27 18 d3 23 9e 2a 99 41 40
00000070: 6a 41 c5 3f 79 9c a7 22 79 15 98 1d 98 b5 ac 4a
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-5.13" derivedCounter="(26)">
              <t indent="0" pn="section-appendix.a.1.2-5.13.1">
Computes shared key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-5.13.2">
00000000: dd e7 44 39 1c d9 66 cf d2 24 a4 bb 0a 57 b3 3e
00000010: 1a 8f 5d 07 11 4d c3 47 87 1a 13 ec 84 26 03 f8
00000020: ea 93 5a f5 23 a3 45 71 ff 5f f2 3d 59 43 3a 5e
00000030: eb 5e 79 fa 0e 62 9e bc af ca e4 ee 7a 81 3a 84
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-5.14" derivedCounter="(27)">
              <t indent="0" pn="section-appendix.a.1.2-5.14.1">
Computes SKEYSEED for new SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-5.14.2">
00000000: ec 5f 4f 15 ce d7 7d 2f 12 fb a1 df 5f 44 aa 88
00000010: 6a ef 45 e4 04 97 86 95 15 1b 3c ac 31 cc 57 a3
00000020: f0 f4 92 89 33 00 76 2b e9 fd 8b c2 ed 8b e7 36
00000030: cb 17 59 55 9e cc 22 14 72 a5 79 27 27 1d 06 62
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-5.15" derivedCounter="(28)">
              <t indent="0" pn="section-appendix.a.1.2-5.15.1">
Computes SK_d for new SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-5.15.2">
00000000: 08 58 14 7d eb c9 41 7f 7f a2 86 66 bf d4 76 37
00000010: 04 27 4e bc 5d 63 f7 07 79 62 69 7a 69 3c da 7a
00000020: d5 4d 6f 08 1e 14 51 66 2f 94 0d bd 29 45 9c b0
00000030: 51 26 09 4b 47 52 ba 19 98 a5 c2 65 af 84 a1 34
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-5.16" derivedCounter="(29)">
              <t indent="0" pn="section-appendix.a.1.2-5.16.1">
Computes SK_ei for new SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-5.16.2">
00000000: 18 0a 4f 98 7d a4 21 6c 68 84 94 1f d9 28 49 b9
00000010: 05 30 f8 aa 43 02 7e 0d aa d3 27 e9 8c 9a 39 9a
00000020: 03 a0 05 b7 b2 2d f9 90 bb 6c ff ca
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-5.17" derivedCounter="(30)">
              <t indent="0" pn="section-appendix.a.1.2-5.17.1">
Computes SK_er for new SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-5.17.2">
00000000: 47 dc aa 71 4a 8b 66 13 d8 09 79 c7 8c 72 0a 78
00000010: 06 48 6d 4f 1f 53 3a 91 1d b7 2c 86 f5 f1 4e 00
00000020: 84 57 87 2b 38 70 63 27 8c dd 88 78
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-5.18" derivedCounter="(31)">
              <t indent="0" pn="section-appendix.a.1.2-5.18.1">
Creates message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-5.18.2">
Create Child SA
E9D3F378191C3840.8DDFF401FBFB0B14.00000002 IKEv2 I<=R[281] I&lt;=R[281]
  E[253]{
    SA[44]{
      P[40](#1:IKE:82D9FAF87449B936:3#){
        Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
        PRF=PRF_HMAC_STREEBOG_512,
        KE=GOST3410_2012_512}},
    NONCE[36]{5A2DD2...96437B},
    KE[136](GOST3410_2012_512){B9F927...B5AC4A},
    N[12](SET_WINDOW_SIZE){64}}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-5.19" derivedCounter="(32)">
              <t indent="0" pn="section-appendix.a.1.2-5.19.1">
Uses previously computed key K3r
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-5.19.2">
00000000: e8 af 72 c4 c3 55 a2 6a fb ad 37 fd b4 b9 7f d6
00000010: f6 c8 cc 32 3f 50 32 40 06 86 ce 85 1b 02 28 f3
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-5.20" derivedCounter="(33)">
              <t indent="0" pn="section-appendix.a.1.2-5.20.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-5.20.2">
00000000: 00 00 00 01 65 20 72 e7 0a 1e ff 7d da ba 17 31
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-5.21" derivedCounter="(34)">
              <t indent="0" pn="section-appendix.a.1.2-5.21.1">
Composes AAD
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-5.21.2">
00000000: e9 d3 f3 78 19 1c 38 40 8d df f4 01 fb fb 0b 14
00000010: 2e 20 24 20 00 00 00 02 00 00 01 19 21 00 00 fd
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-5.22" derivedCounter="(35)">
              <t indent="0" pn="section-appendix.a.1.2-5.22.1">
Composes plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-5.22.2">
00000000: 28 00 00 2c 00 00 00 28 01 01 08 03 82 d9 fa f8
00000010: 74 49 b9 36 03 00 00 08 01 00 00 20 03 00 00 08
00000020: 02 00 00 09 00 00 00 08 04 00 00 22 22 00 00 24
00000030: 5a 2d d2 68 c6 85 5d 32 d4 7b 0b 8e ae 7d c9 81
00000040: be 3e 69 c1 bb f5 ae 89 55 59 c7 48 bc 96 43 7b
00000050: 29 00 00 88 00 22 00 00 b9 f9 27 a8 96 70 7a 03
00000060: 58 c2 39 58 63 2d 50 20 bf 69 c0 1d a6 de d4 4d
00000070: 65 aa 26 c6 8f 9f e9 e9 4b bb da 1d 2f d3 60 2d
00000080: 18 33 04 9b b2 25 a6 07 ac 58 1b fc 3c 5b 1e f3
00000090: 4b c0 f9 cb 90 14 c6 80 6e c3 73 c1 4a f7 5c 27
000000A0: dd 2a e1 ba 94 9c f7 06 68 92 19 8e 85 67 f9 d2
000000B0: d1 ea 3c 16 16 b9 3f 0c 8b 2d 2e d6 20 14 7e 27
000000C0: 18 d3 23 9e 2a 99 41 40 6a 41 c5 3f 79 9c a7 22
000000D0: 79 15 98 1d 98 b5 ac 4a 00 00 00 0c 00 00 40 01
000000E0: 00 00 00 40 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-5.23" derivedCounter="(36)">
              <t indent="0" pn="section-appendix.a.1.2-5.23.1">
Encrypts plaintext using K3r as K_msg, resulted resulting in ciphertext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-5.23.2">
00000000: fd ee 4c 8f 78 ff b6 0c fc 65 bb ef db 53 56 a2
00000010: d3 2d 4f 59 ff 28 38 eb 76 0b 40 5e 8d 52 e8 c1
00000020: b9 75 22 b4 bb 71 8f 16 3a 97 0e 4d 95 ef bc 84
00000030: 46 c6 77 1e 4b 14 73 46 89 ed d4 b4 54 a2 64 19
00000040: 67 b2 98 7e 8b d4 45 31 17 1e e4 ae f4 24 44 42
00000050: dd 55 a0 49 fe 08 59 d0 a1 16 69 60 8a 8e 54 d2
00000060: 02 6d ae 17 5f 32 bf 14 78 f0 86 47 26 bf fb 6b
00000070: 7c 17 f7 f5 62 b6 d6 a0 e5 f3 c2 af b5 28 ee d0
00000080: 9b 22 8c e6 d0 58 4d 48 18 6d dd 3e 4e 33 66 ac
00000090: a2 29 1f 3b 62 4a e6 4a 8c 98 18 8b 21 73 a5 88
000000A0: 49 09 3b 27 88 20 40 6b a5 fc 08 37 c7 ac c9 0f
000000B0: 5d 69 87 7c 37 c8 c7 fd d8 72 6d ad ac 22 27 ca
000000C0: 93 d6 bd 6a 55 2a 1a 8b 2e 84 b4 0a 35 d3 ac d5
000000D0: 99 c9 ac d5 6f 03 94 bf ca f5 53 e5 a5 74 57 de
000000E0: 6a 5a 26 b8 e4
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-5.24" derivedCounter="(37)">
              <t indent="0" pn="section-appendix.a.1.2-5.24.1">
Computes ICV using K3r as K_msg
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-5.24.2">
00000000: 04 2f 99 3f 02 19 56 c4 0d 0b 7a 45
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-5.25" derivedCounter="(38)">
              <t indent="0" pn="section-appendix.a.1.2-5.25.1">
Composes IV
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-5.25.2">
00000000: 00 00 00 00 00 00 00 01
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-5.26" derivedCounter="(39)">
              <t indent="0" pn="section-appendix.a.1.2-5.26.1">
Sends message, peer receives message<sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54294<-10.111.15.45:500 message</t>
              <sourcecode type="test-vectors" markers="false" pn="section-appendix.a.1.2-5.26.2">
       10.111.10.171:54294&lt;-10.111.15.45:500 [281]

00000000: e9 d3 f3 78 19 1c 38 40 8d df f4 01 fb fb 0b 14
00000010: 2e 20 24 20 00 00 00 02 00 00 01 19 21 00 00 fd
00000020: 00 00 00 00 00 00 00 01 fd ee 4c 8f 78 ff b6 0c
00000030: fc 65 bb ef db 53 56 a2 d3 2d 4f 59 ff 28 38 eb
00000040: 76 0b 40 5e 8d 52 e8 c1 b9 75 22 b4 bb 71 8f 16
00000050: 3a 97 0e 4d 95 ef bc 84 46 c6 77 1e 4b 14 73 46
00000060: 89 ed d4 b4 54 a2 64 19 67 b2 98 7e 8b d4 45 31
00000070: 17 1e e4 ae f4 24 44 42 dd 55 a0 49 fe 08 59 d0
00000080: a1 16 69 60 8a 8e 54 d2 02 6d ae 17 5f 32 bf 14
00000090: 78 f0 86 47 26 bf fb 6b 7c 17 f7 f5 62 b6 d6 a0
000000A0: e5 f3 c2 af b5 28 ee d0 9b 22 8c e6 d0 58 4d 48
000000B0: 18 6d dd 3e 4e 33 66 ac a2 29 1f 3b 62 4a e6 4a
000000C0: 8c 98 18 8b 21 73 a5 88 49 09 3b 27 88 20 40 6b
000000D0: a5 fc 08 37 c7 ac c9 0f 5d 69 87 7c 37 c8 c7 fd
000000E0: d8 72 6d ad ac 22 27 ca 93 d6 bd 6a 55 2a 1a 8b
000000F0: 2e 84 b4 0a 35 d3 ac d5 99 c9 ac d5 6f 03 94 bf
00000100: ca f5 53 e5 a5 74 57 de 6a 5a 26 b8 e4 04 2f 99
00000110: 3f 02 19 56 c4 0d 0b 7a 45
]]>
</sourcecode>
            </li>
          </ol>
<t>Initiator's
          <t indent="0" pn="section-appendix.a.1.2-6">Initiator's actions:</t>
          <ol type="(%d)" group="data2.txt">
<li> group="data2.txt" start="40" indent="adaptive" spacing="normal" pn="section-appendix.a.1.2-7">
<li pn="section-appendix.a.1.2-7.1" derivedCounter="(40)">
              <t indent="0" pn="section-appendix.a.1.2-7.1.1">
Extracts IV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-7.1.2">
00000000: 00 00 00 00 00 00 00 01
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-7.2" derivedCounter="(41)">
              <t indent="0" pn="section-appendix.a.1.2-7.2.1">
Uses previously computed key K3r
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-7.2.2">
00000000: e8 af 72 c4 c3 55 a2 6a fb ad 37 fd b4 b9 7f d6
00000010: f6 c8 cc 32 3f 50 32 40 06 86 ce 85 1b 02 28 f3
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-7.3" derivedCounter="(42)">
              <t indent="0" pn="section-appendix.a.1.2-7.3.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-7.3.2">
00000000: 00 00 00 01 65 20 72 e7 0a 1e ff 7d da ba 17 31
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-7.4" derivedCounter="(43)">
              <t indent="0" pn="section-appendix.a.1.2-7.4.1">
Extracts ICV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-7.4.2">
00000000: 04 2f 99 3f 02 19 56 c4 0d 0b 7a 45
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-7.5" derivedCounter="(44)">
              <t indent="0" pn="section-appendix.a.1.2-7.5.1">
Extracts AAD from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-7.5.2">
00000000: e9 d3 f3 78 19 1c 38 40 8d df f4 01 fb fb 0b 14
00000010: 2e 20 24 20 00 00 00 02 00 00 01 19 21 00 00 fd
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-7.6" derivedCounter="(45)">
              <t indent="0" pn="section-appendix.a.1.2-7.6.1">
Extracts ciphertext from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-7.6.2">
00000000: fd ee 4c 8f 78 ff b6 0c fc 65 bb ef db 53 56 a2
00000010: d3 2d 4f 59 ff 28 38 eb 76 0b 40 5e 8d 52 e8 c1
00000020: b9 75 22 b4 bb 71 8f 16 3a 97 0e 4d 95 ef bc 84
00000030: 46 c6 77 1e 4b 14 73 46 89 ed d4 b4 54 a2 64 19
00000040: 67 b2 98 7e 8b d4 45 31 17 1e e4 ae f4 24 44 42
00000050: dd 55 a0 49 fe 08 59 d0 a1 16 69 60 8a 8e 54 d2
00000060: 02 6d ae 17 5f 32 bf 14 78 f0 86 47 26 bf fb 6b
00000070: 7c 17 f7 f5 62 b6 d6 a0 e5 f3 c2 af b5 28 ee d0
00000080: 9b 22 8c e6 d0 58 4d 48 18 6d dd 3e 4e 33 66 ac
00000090: a2 29 1f 3b 62 4a e6 4a 8c 98 18 8b 21 73 a5 88
000000A0: 49 09 3b 27 88 20 40 6b a5 fc 08 37 c7 ac c9 0f
000000B0: 5d 69 87 7c 37 c8 c7 fd d8 72 6d ad ac 22 27 ca
000000C0: 93 d6 bd 6a 55 2a 1a 8b 2e 84 b4 0a 35 d3 ac d5
000000D0: 99 c9 ac d5 6f 03 94 bf ca f5 53 e5 a5 74 57 de
000000E0: 6a 5a 26 b8 e4
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-7.7" derivedCounter="(46)">
              <t indent="0" pn="section-appendix.a.1.2-7.7.1">
Decrypts ciphertext and verifies ICV using K3r as K_msg, resulted resulting in plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-7.7.2">
00000000: 28 00 00 2c 00 00 00 28 01 01 08 03 82 d9 fa f8
00000010: 74 49 b9 36 03 00 00 08 01 00 00 20 03 00 00 08
00000020: 02 00 00 09 00 00 00 08 04 00 00 22 22 00 00 24
00000030: 5a 2d d2 68 c6 85 5d 32 d4 7b 0b 8e ae 7d c9 81
00000040: be 3e 69 c1 bb f5 ae 89 55 59 c7 48 bc 96 43 7b
00000050: 29 00 00 88 00 22 00 00 b9 f9 27 a8 96 70 7a 03
00000060: 58 c2 39 58 63 2d 50 20 bf 69 c0 1d a6 de d4 4d
00000070: 65 aa 26 c6 8f 9f e9 e9 4b bb da 1d 2f d3 60 2d
00000080: 18 33 04 9b b2 25 a6 07 ac 58 1b fc 3c 5b 1e f3
00000090: 4b c0 f9 cb 90 14 c6 80 6e c3 73 c1 4a f7 5c 27
000000A0: dd 2a e1 ba 94 9c f7 06 68 92 19 8e 85 67 f9 d2
000000B0: d1 ea 3c 16 16 b9 3f 0c 8b 2d 2e d6 20 14 7e 27
000000C0: 18 d3 23 9e 2a 99 41 40 6a 41 c5 3f 79 9c a7 22
000000D0: 79 15 98 1d 98 b5 ac 4a 00 00 00 0c 00 00 40 01
000000E0: 00 00 00 40 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-7.8" derivedCounter="(47)">
              <t indent="0" pn="section-appendix.a.1.2-7.8.1">
Parses received message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-7.8.2">
Create Child SA
E9D3F378191C3840.8DDFF401FBFB0B14.00000002 IKEv2 R=>I[281] R=&gt;I[281]
  E[253]{
    SA[44]{
      P[40](#1:IKE:82D9FAF87449B936:3#){
        Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
        PRF=PRF_HMAC_STREEBOG_512,
        KE=GOST3410_2012_512}},
    NONCE[36]{5A2DD2...96437B},
    KE[136](GOST3410_2012_512){B9F927...B5AC4A},
    N[12](SET_WINDOW_SIZE){64}}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-7.9" derivedCounter="(48)">
              <t indent="0" pn="section-appendix.a.1.2-7.9.1">
Computes shared key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-7.9.2">
00000000: dd e7 44 39 1c d9 66 cf d2 24 a4 bb 0a 57 b3 3e
00000010: 1a 8f 5d 07 11 4d c3 47 87 1a 13 ec 84 26 03 f8
00000020: ea 93 5a f5 23 a3 45 71 ff 5f f2 3d 59 43 3a 5e
00000030: eb 5e 79 fa 0e 62 9e bc af ca e4 ee 7a 81 3a 84
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-7.10" derivedCounter="(49)">
              <t indent="0" pn="section-appendix.a.1.2-7.10.1">
Computes SKEYSEED for new SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-7.10.2">
00000000: ec 5f 4f 15 ce d7 7d 2f 12 fb a1 df 5f 44 aa 88
00000010: 6a ef 45 e4 04 97 86 95 15 1b 3c ac 31 cc 57 a3
00000020: f0 f4 92 89 33 00 76 2b e9 fd 8b c2 ed 8b e7 36
00000030: cb 17 59 55 9e cc 22 14 72 a5 79 27 27 1d 06 62
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-7.11" derivedCounter="(50)">
              <t indent="0" pn="section-appendix.a.1.2-7.11.1">
Computes SK_d for new SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-7.11.2">
00000000: 08 58 14 7d eb c9 41 7f 7f a2 86 66 bf d4 76 37
00000010: 04 27 4e bc 5d 63 f7 07 79 62 69 7a 69 3c da 7a
00000020: d5 4d 6f 08 1e 14 51 66 2f 94 0d bd 29 45 9c b0
00000030: 51 26 09 4b 47 52 ba 19 98 a5 c2 65 af 84 a1 34
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-7.12" derivedCounter="(51)">
              <t indent="0" pn="section-appendix.a.1.2-7.12.1">
Computes SK_ei for new SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-7.12.2">
00000000: 18 0a 4f 98 7d a4 21 6c 68 84 94 1f d9 28 49 b9
00000010: 05 30 f8 aa 43 02 7e 0d aa d3 27 e9 8c 9a 39 9a
00000020: 03 a0 05 b7 b2 2d f9 90 bb 6c ff ca
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.2-7.13" derivedCounter="(52)">
              <t indent="0" pn="section-appendix.a.1.2-7.13.1">
Computes SK_er for new SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.2-7.13.2">
00000000: 47 dc aa 71 4a 8b 66 13 d8 09 79 c7 8c 72 0a 78
00000010: 06 48 6d 4f 1f 53 3a 91 1d b7 2c 86 f5 f1 4e 00
00000020: 84 57 87 2b 38 70 63 27 8c dd 88 78
]]>
</sourcecode>
            </li>
          </ol>

<t><br/><br/></t>

            <ol group="scenario1"  type="Sub-scenario %d:">
              <li>
        </section>
        <section anchor="scenario1-3" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a.1.3">
          <name slugifiedName="name-sub-scenario-3-esp-sas-reke">Sub-Scenario 3: ESP SAs rekeying Rekeying with PFS using Using the CREATE_CHILD_SA exchange.
                <sourcecode type="test-vectors">
<![CDATA[ Exchange</name>
          <artwork type="" align="left" pn="section-appendix.a.1.3-1">
Initiator                             Responder

HDR, SK {N(REKEY_SA), SAi, Ni,
     KEi, TSi, TSr [,N+]}     --->
                              <---     ---&gt;
                              &lt;---    HDR, SK {SAr, Nr,
                                           KEr, TSi, TSr [,N+]}
]]>
                </sourcecode>
              </li>
            </ol>

<t>Initiator's
</artwork>
          <t indent="0" pn="section-appendix.a.1.3-2">Initiator's actions:</t>
          <ol start="1" type="(%d)" group="data3.txt">
<li> group="data3.txt" indent="adaptive" spacing="normal" pn="section-appendix.a.1.3-3">
<li pn="section-appendix.a.1.3-3.1" derivedCounter="(1)">
              <t indent="0" pn="section-appendix.a.1.3-3.1.1">
Generates random IKE nonce Ni
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-3.1.2">
00000000: 59 52 b2 58 00 b7 d3 f9 c3 31 23 16 6f c2 d1 d7
00000010: 07 8b 99 fb 24 cf 24 30 a3 ce a6 fe d3 0f 20 9b
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-3.2" derivedCounter="(2)">
              <t indent="0" pn="section-appendix.a.1.3-3.2.1">
Generates ephemeral private key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-3.2.2">
00000000: 2f b9 df 43 dc 50 f5 17 59 c0 c7 21 ac ca 03 7a
00000010: 55 87 f9 bb a6 5a 9e d4 46 98 15 c9 3a 6b 40 91
00000020: e6 99 f4 f2 e5 88 14 e7 d8 9f 98 b1 59 21 05 52
00000030: f0 b0 ce dc 8e c6 db 1f 9d a9 4a 6d 95 f2 cb 3d
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-3.3" derivedCounter="(3)">
              <t indent="0" pn="section-appendix.a.1.3-3.3.1">
Computes public key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-3.3.2">
00000000: 1c 55 08 b9 01 f5 76 6a 01 27 97 2d 38 b1 4a 5c
00000010: b7 43 f1 64 24 ef 76 75 50 ce 4f 6f 59 ca 96 ae
00000020: 54 85 9c 94 8d 04 91 62 3a 0c b6 6e 77 59 81 40
00000030: 69 bf bb 80 f7 7c 29 ee 9f 9e 0c 83 b6 08 fc 43
00000040: b8 c6 66 36 e5 eb a0 43 c2 56 fa 52 f9 99 b6 95
00000050: 34 4c cd 49 1f c7 83 9e d7 d9 ca e3 a5 d0 3c aa
00000060: e8 ee ed 2c dd 5c 81 49 ab 3c d4 fa 15 4e 29 5f
00000070: 7c cd b2 f1 c1 d2 6f 8f a7 74 4d 6a d8 8a c3 60
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-3.4" derivedCounter="(4)">
              <t indent="0" pn="section-appendix.a.1.3-3.4.1">
Selects SPI for new incoming ESP SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-3.4.2">
00000000: a4 fe 65 a1
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-3.5" derivedCounter="(5)">
              <t indent="0" pn="section-appendix.a.1.3-3.5.1">
Creates message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-3.5.2">
Create Child SA
4387648D6C9E28FF.82D9FAF87449B936.00000000 IKEv2 R<-I[341] R&lt;-I[341]
  E[313]{
    N[12](ESP:0ADE5FCD:REKEY_SA),
    SA[40]{
      P[36](#1:ESP:A4FE65A1:3#){
        Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
        KE=GOST3410_2012_512,
        ESN=Off}},
    NONCE[36]{5952B2...0F209B},
    KE[136](GOST3410_2012_512){1C5508...8AC360},
    TSi[24](1#){10.1.1.2},
    TSr[24](1#){10.0.0.0-10.0.0.255},
    N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
    N[8](NON_FIRST_FRAGMENTS_ALSO)}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-3.6" derivedCounter="(6)">
              <t indent="0" pn="section-appendix.a.1.3-3.6.1">
Computes K1i (i1 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-3.6.2">
00000000: 17 ec f1 84 33 9a c3 e3 93 e1 21 d7 65 3b 6c 83
00000010: d4 ae 9c 29 5b 12 cc b3 c5 0c 48 19 49 eb c0 ba
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-3.7" derivedCounter="(7)">
              <t indent="0" pn="section-appendix.a.1.3-3.7.1">
Computes K2i (i2 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-3.7.2">
00000000: 2d 33 c0 55 87 f2 ee ce ac 1a f2 28 64 c6 f5 ad
00000010: de 2d be 7a a8 92 d0 a6 20 bc ef 25 29 7b 56 9f
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-3.8" derivedCounter="(8)">
              <t indent="0" pn="section-appendix.a.1.3-3.8.1">
Computes K3i (i3 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-3.8.2">
00000000: c9 41 22 b5 39 b7 d2 3f c4 4d a6 ae 88 2e ff b4
00000010: f4 c0 90 9c bd bc 63 56 14 62 e8 8f 90 1a e7 eb
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-3.9" derivedCounter="(9)">
              <t indent="0" pn="section-appendix.a.1.3-3.9.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-3.9.2">
00000000: 00 00 00 00 03 a0 05 b7 b2 2d f9 90 bb 6c ff ca
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-3.10" derivedCounter="(10)">
              <t indent="0" pn="section-appendix.a.1.3-3.10.1">
Composes AAD
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-3.10.2">
00000000: 43 87 64 8d 6c 9e 28 ff 82 d9 fa f8 74 49 b9 36
00000010: 2e 20 24 08 00 00 00 00 00 00 01 55 29 00 01 39
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-3.11" derivedCounter="(11)">
              <t indent="0" pn="section-appendix.a.1.3-3.11.1">
Composes plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-3.11.2">
00000000: 21 00 00 0c 03 04 40 09 0a de 5f cd 28 00 00 28
00000010: 00 00 00 24 01 03 04 03 a4 fe 65 a1 03 00 00 08
00000020: 01 00 00 20 03 00 00 08 04 00 00 22 00 00 00 08
00000030: 05 00 00 00 22 00 00 24 59 52 b2 58 00 b7 d3 f9
00000040: c3 31 23 16 6f c2 d1 d7 07 8b 99 fb 24 cf 24 30
00000050: a3 ce a6 fe d3 0f 20 9b 2c 00 00 88 00 22 00 00
00000060: 1c 55 08 b9 01 f5 76 6a 01 27 97 2d 38 b1 4a 5c
00000070: b7 43 f1 64 24 ef 76 75 50 ce 4f 6f 59 ca 96 ae
00000080: 54 85 9c 94 8d 04 91 62 3a 0c b6 6e 77 59 81 40
00000090: 69 bf bb 80 f7 7c 29 ee 9f 9e 0c 83 b6 08 fc 43
000000A0: b8 c6 66 36 e5 eb a0 43 c2 56 fa 52 f9 99 b6 95
000000B0: 34 4c cd 49 1f c7 83 9e d7 d9 ca e3 a5 d0 3c aa
000000C0: e8 ee ed 2c dd 5c 81 49 ab 3c d4 fa 15 4e 29 5f
000000D0: 7c cd b2 f1 c1 d2 6f 8f a7 74 4d 6a d8 8a c3 60
000000E0: 2d 00 00 18 01 00 00 00 07 00 00 10 00 00 ff ff
000000F0: 0a 01 01 02 0a 01 01 02 29 00 00 18 01 00 00 00
00000100: 07 00 00 10 00 00 ff ff 0a 00 00 00 0a 00 00 ff
00000110: 29 00 00 08 00 00 40 0a 00 00 00 08 00 00 40 0b
00000120: 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-3.12" derivedCounter="(12)">
              <t indent="0" pn="section-appendix.a.1.3-3.12.1">
Encrypts plaintext using K3i as K_msg, resulted resulting in ciphertext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-3.12.2">
00000000: 00 9b 13 cb cb f1 18 53 fc 81 2e 75 c3 03 e0 ca
00000010: 55 c1 fb 55 c0 29 40 48 fc 20 f4 a8 51 5b 97 6b
00000020: c6 07 4c 7d 45 54 51 0f 18 7f 43 a4 df 4b e8 e3
00000030: b4 eb 68 24 4b f0 1c df 8f 1e a2 21 31 02 29 68
00000040: 38 4d 68 fd 42 66 34 3e 82 46 f0 17 02 bf 65 19
00000050: b0 f7 09 62 0d 12 6a 7e ad 76 57 0d 19 55 cf 01
00000060: 89 9c 7e f5 5a fa 20 4f 8c 6d a4 83 b9 94 ad 4e
00000070: 2a 46 08 5a 58 a1 4b 8e 53 2b a4 e6 3b fc 33 de
00000080: cf cb ee 50 6d a1 9f e4 94 06 19 39 39 6b 7e 4b
00000090: 83 f7 07 c0 bb 15 21 8d 8f 2d 5f 6c f6 97 68 21
000000A0: 3c ce c6 67 82 00 8f f3 d7 d6 c3 f2 87 47 b8 b9
000000B0: a3 0f f8 e2 0a 62 e8 f5 98 df bc f0 02 6a 3f 47
000000C0: c4 f0 24 a4 80 95 bf cf 32 5a a5 22 3c a5 a8 f1
000000D0: 57 d6 3b b8 06 1c b6 d7 c7 b3 58 e7 ee 69 eb 31
000000E0: d6 09 db 8b 8a 1d 2b a1 f7 46 e5 b9 99 13 73 30
000000F0: 1f ed 0c 82 4b cc ce 5e 25 79 1b ff 8b ca f0 b2
00000100: 1e 7e 70 03 66 c7 7b 6c 10 92 f2 34 b6 e9 ce bb
00000110: 65 ce d4 b5 99 f3 70 78 5f 06 f4 fe 0a 3c 00 28
00000120: 68
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-3.13" derivedCounter="(13)">
              <t indent="0" pn="section-appendix.a.1.3-3.13.1">
Computes ICV using K3i as K_msg
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-3.13.2">
00000000: fc 85 a4 7e 0b 41 77 54 ef 1a 03 cb
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-3.14" derivedCounter="(14)">
              <t indent="0" pn="section-appendix.a.1.3-3.14.1">
Composes IV
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-3.14.2">
00000000: 00 00 00 00 00 00 00 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-3.15" derivedCounter="(15)">
              <t indent="0" pn="section-appendix.a.1.3-3.15.1">
Sends message, peer receives message<sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54294->10.111.15.45:500 message</t>
              <sourcecode type="test-vectors" markers="false" pn="section-appendix.a.1.3-3.15.2">
       10.111.10.171:54294-&gt;10.111.15.45:500 [341]

00000000: 43 87 64 8d 6c 9e 28 ff 82 d9 fa f8 74 49 b9 36
00000010: 2e 20 24 08 00 00 00 00 00 00 01 55 29 00 01 39
00000020: 00 00 00 00 00 00 00 00 00 9b 13 cb cb f1 18 53
00000030: fc 81 2e 75 c3 03 e0 ca 55 c1 fb 55 c0 29 40 48
00000040: fc 20 f4 a8 51 5b 97 6b c6 07 4c 7d 45 54 51 0f
00000050: 18 7f 43 a4 df 4b e8 e3 b4 eb 68 24 4b f0 1c df
00000060: 8f 1e a2 21 31 02 29 68 38 4d 68 fd 42 66 34 3e
00000070: 82 46 f0 17 02 bf 65 19 b0 f7 09 62 0d 12 6a 7e
00000080: ad 76 57 0d 19 55 cf 01 89 9c 7e f5 5a fa 20 4f
00000090: 8c 6d a4 83 b9 94 ad 4e 2a 46 08 5a 58 a1 4b 8e
000000A0: 53 2b a4 e6 3b fc 33 de cf cb ee 50 6d a1 9f e4
000000B0: 94 06 19 39 39 6b 7e 4b 83 f7 07 c0 bb 15 21 8d
000000C0: 8f 2d 5f 6c f6 97 68 21 3c ce c6 67 82 00 8f f3
000000D0: d7 d6 c3 f2 87 47 b8 b9 a3 0f f8 e2 0a 62 e8 f5
000000E0: 98 df bc f0 02 6a 3f 47 c4 f0 24 a4 80 95 bf cf
000000F0: 32 5a a5 22 3c a5 a8 f1 57 d6 3b b8 06 1c b6 d7
00000100: c7 b3 58 e7 ee 69 eb 31 d6 09 db 8b 8a 1d 2b a1
00000110: f7 46 e5 b9 99 13 73 30 1f ed 0c 82 4b cc ce 5e
00000120: 25 79 1b ff 8b ca f0 b2 1e 7e 70 03 66 c7 7b 6c
00000130: 10 92 f2 34 b6 e9 ce bb 65 ce d4 b5 99 f3 70 78
00000140: 5f 06 f4 fe 0a 3c 00 28 68 fc 85 a4 7e 0b 41 77
00000150: 54 ef 1a 03 cb
]]>
</sourcecode>
            </li>
          </ol>
<t>Responder's
          <t indent="0" pn="section-appendix.a.1.3-4">Responder's actions:</t>
          <ol type="(%d)" group="data3.txt">
<li> group="data3.txt" start="16" indent="adaptive" spacing="normal" pn="section-appendix.a.1.3-5">
<li pn="section-appendix.a.1.3-5.1" derivedCounter="(16)">
              <t indent="0" pn="section-appendix.a.1.3-5.1.1">
Extracts IV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-5.1.2">
00000000: 00 00 00 00 00 00 00 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-5.2" derivedCounter="(17)">
              <t indent="0" pn="section-appendix.a.1.3-5.2.1">
Computes K1i (i1 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-5.2.2">
00000000: 17 ec f1 84 33 9a c3 e3 93 e1 21 d7 65 3b 6c 83
00000010: d4 ae 9c 29 5b 12 cc b3 c5 0c 48 19 49 eb c0 ba
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-5.3" derivedCounter="(18)">
              <t indent="0" pn="section-appendix.a.1.3-5.3.1">
Computes K2i (i2 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-5.3.2">
00000000: 2d 33 c0 55 87 f2 ee ce ac 1a f2 28 64 c6 f5 ad
00000010: de 2d be 7a a8 92 d0 a6 20 bc ef 25 29 7b 56 9f
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-5.4" derivedCounter="(19)">
              <t indent="0" pn="section-appendix.a.1.3-5.4.1">
Computes K3i (i3 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-5.4.2">
00000000: c9 41 22 b5 39 b7 d2 3f c4 4d a6 ae 88 2e ff b4
00000010: f4 c0 90 9c bd bc 63 56 14 62 e8 8f 90 1a e7 eb
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-5.5" derivedCounter="(20)">
              <t indent="0" pn="section-appendix.a.1.3-5.5.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-5.5.2">
00000000: 00 00 00 00 03 a0 05 b7 b2 2d f9 90 bb 6c ff ca
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-5.6" derivedCounter="(21)">
              <t indent="0" pn="section-appendix.a.1.3-5.6.1">
Extracts ICV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-5.6.2">
00000000: fc 85 a4 7e 0b 41 77 54 ef 1a 03 cb
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-5.7" derivedCounter="(22)">
              <t indent="0" pn="section-appendix.a.1.3-5.7.1">
Extracts AAD from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-5.7.2">
00000000: 43 87 64 8d 6c 9e 28 ff 82 d9 fa f8 74 49 b9 36
00000010: 2e 20 24 08 00 00 00 00 00 00 01 55 29 00 01 39
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-5.8" derivedCounter="(23)">
              <t indent="0" pn="section-appendix.a.1.3-5.8.1">
Extracts ciphertext from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-5.8.2">
00000000: 00 9b 13 cb cb f1 18 53 fc 81 2e 75 c3 03 e0 ca
00000010: 55 c1 fb 55 c0 29 40 48 fc 20 f4 a8 51 5b 97 6b
00000020: c6 07 4c 7d 45 54 51 0f 18 7f 43 a4 df 4b e8 e3
00000030: b4 eb 68 24 4b f0 1c df 8f 1e a2 21 31 02 29 68
00000040: 38 4d 68 fd 42 66 34 3e 82 46 f0 17 02 bf 65 19
00000050: b0 f7 09 62 0d 12 6a 7e ad 76 57 0d 19 55 cf 01
00000060: 89 9c 7e f5 5a fa 20 4f 8c 6d a4 83 b9 94 ad 4e
00000070: 2a 46 08 5a 58 a1 4b 8e 53 2b a4 e6 3b fc 33 de
00000080: cf cb ee 50 6d a1 9f e4 94 06 19 39 39 6b 7e 4b
00000090: 83 f7 07 c0 bb 15 21 8d 8f 2d 5f 6c f6 97 68 21
000000A0: 3c ce c6 67 82 00 8f f3 d7 d6 c3 f2 87 47 b8 b9
000000B0: a3 0f f8 e2 0a 62 e8 f5 98 df bc f0 02 6a 3f 47
000000C0: c4 f0 24 a4 80 95 bf cf 32 5a a5 22 3c a5 a8 f1
000000D0: 57 d6 3b b8 06 1c b6 d7 c7 b3 58 e7 ee 69 eb 31
000000E0: d6 09 db 8b 8a 1d 2b a1 f7 46 e5 b9 99 13 73 30
000000F0: 1f ed 0c 82 4b cc ce 5e 25 79 1b ff 8b ca f0 b2
00000100: 1e 7e 70 03 66 c7 7b 6c 10 92 f2 34 b6 e9 ce bb
00000110: 65 ce d4 b5 99 f3 70 78 5f 06 f4 fe 0a 3c 00 28
00000120: 68
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-5.9" derivedCounter="(24)">
              <t indent="0" pn="section-appendix.a.1.3-5.9.1">
Decrypts ciphertext and verifies ICV using K3i as K_msg, resulted resulting in plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-5.9.2">
00000000: 21 00 00 0c 03 04 40 09 0a de 5f cd 28 00 00 28
00000010: 00 00 00 24 01 03 04 03 a4 fe 65 a1 03 00 00 08
00000020: 01 00 00 20 03 00 00 08 04 00 00 22 00 00 00 08
00000030: 05 00 00 00 22 00 00 24 59 52 b2 58 00 b7 d3 f9
00000040: c3 31 23 16 6f c2 d1 d7 07 8b 99 fb 24 cf 24 30
00000050: a3 ce a6 fe d3 0f 20 9b 2c 00 00 88 00 22 00 00
00000060: 1c 55 08 b9 01 f5 76 6a 01 27 97 2d 38 b1 4a 5c
00000070: b7 43 f1 64 24 ef 76 75 50 ce 4f 6f 59 ca 96 ae
00000080: 54 85 9c 94 8d 04 91 62 3a 0c b6 6e 77 59 81 40
00000090: 69 bf bb 80 f7 7c 29 ee 9f 9e 0c 83 b6 08 fc 43
000000A0: b8 c6 66 36 e5 eb a0 43 c2 56 fa 52 f9 99 b6 95
000000B0: 34 4c cd 49 1f c7 83 9e d7 d9 ca e3 a5 d0 3c aa
000000C0: e8 ee ed 2c dd 5c 81 49 ab 3c d4 fa 15 4e 29 5f
000000D0: 7c cd b2 f1 c1 d2 6f 8f a7 74 4d 6a d8 8a c3 60
000000E0: 2d 00 00 18 01 00 00 00 07 00 00 10 00 00 ff ff
000000F0: 0a 01 01 02 0a 01 01 02 29 00 00 18 01 00 00 00
00000100: 07 00 00 10 00 00 ff ff 0a 00 00 00 0a 00 00 ff
00000110: 29 00 00 08 00 00 40 0a 00 00 00 08 00 00 40 0b
00000120: 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-5.10" derivedCounter="(25)">
              <t indent="0" pn="section-appendix.a.1.3-5.10.1">
Parses received message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-5.10.2">
Create Child SA
4387648D6C9E28FF.82D9FAF87449B936.00000000 IKEv2 I->R[341] I-&gt;R[341]
  E[313]{
    N[12](ESP:0ADE5FCD:REKEY_SA),
    SA[40]{
      P[36](#1:ESP:A4FE65A1:3#){
        Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
        KE=GOST3410_2012_512,
        ESN=Off}},
    NONCE[36]{5952B2...0F209B},
    KE[136](GOST3410_2012_512){1C5508...8AC360},
    TSi[24](1#){10.1.1.2},
    TSr[24](1#){10.0.0.0-10.0.0.255},
    N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
    N[8](NON_FIRST_FRAGMENTS_ALSO)}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-5.11" derivedCounter="(26)">
              <t indent="0" pn="section-appendix.a.1.3-5.11.1">
Generates random IKE nonce Nr
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-5.11.2">
00000000: f1 c1 3f 5e c4 c9 70 81 cb 1f 57 fe af 3d 80 37
00000010: 92 a9 ff 96 db 8f 3f 31 0a db 84 d1 24 d5 94 12
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-5.12" derivedCounter="(27)">
              <t indent="0" pn="section-appendix.a.1.3-5.12.1">
Generates ephemeral private key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-5.12.2">
00000000: 2e 75 2f 5d 6c f0 9a 59 af 47 8d e1 2a a5 aa f5
00000010: c1 ef 9a fb e0 16 5e d9 59 6a c5 96 e8 88 14 62
00000020: 03 81 90 4f 18 d1 60 18 fe dc 9a a1 61 b3 8b c0
00000030: bf e0 d9 a0 d5 2b f2 7b 6b 60 f5 b9 4d e9 0b 36
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-5.13" derivedCounter="(28)">
              <t indent="0" pn="section-appendix.a.1.3-5.13.1">
Computes public key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-5.13.2">
00000000: de 1d 91 64 c3 3e 58 4a b3 3e 55 5d 3e f6 5b cb
00000010: b5 c6 1c 09 cb 9a 17 91 81 13 5f 46 ce 52 98 c5
00000020: 1e bb 77 96 c9 04 03 2d f4 e5 23 f9 75 e3 ef a8
00000030: 53 52 b4 75 9c 00 55 7b 09 75 49 55 c1 65 7c 4d
00000040: 67 77 00 0a bc cd bc 4c 34 c3 b3 85 ed 86 7d 3b
00000050: 9f f7 15 ea 55 b5 e4 1e 45 d9 b0 4f 69 3f ee 7c
00000060: 89 0e 09 3d 4b 35 2e 8a 3c 0c 33 20 c3 54 7b 44
00000070: db 9f c7 96 a0 1e 9e ae b4 bd 29 73 b6 80 2d 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-5.14" derivedCounter="(29)">
              <t indent="0" pn="section-appendix.a.1.3-5.14.1">
Selects SPI for new incoming ESP SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-5.14.2">
00000000: 29 0a 8e 3f
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-5.15" derivedCounter="(30)">
              <t indent="0" pn="section-appendix.a.1.3-5.15.1">
Computes keys for new ESP SAs
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-5.15.2">
00000000: 4e c4 99 c2 d9 e8 fc 7f 26 fa cf df 20 8f a2 5c
00000010: 85 f8 e3 0c f7 fd 11 5b 5f 80 ba c4 e6 70 8b e4
00000020: 0b 90 d7 8f bd d4 c5 bd c4 31 6f 0b
00000000: 3c cc d8 46 72 44 68 c6 41 84 d2 22 ea 39 7c e8
00000010: aa 83 66 11 3a 26 4d 7b 07 52 6b c7 65 25 73 9d
00000020: 0f 3d 80 bc 8c 34 ff 07 31 11 5e d2
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-5.16" derivedCounter="(31)">
              <t indent="0" pn="section-appendix.a.1.3-5.16.1">
Creates message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-5.16.2">
Create Child SA
4387648D6C9E28FF.82D9FAF87449B936.00000000 IKEv2 I<=R[337] I&lt;=R[337]
  E[309]{
    SA[40]{
      P[36](#1:ESP:290A8E3F:3#){
        Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
        KE=GOST3410_2012_512,
        ESN=Off}},
    NONCE[36]{F1C13F...D59412},
    KE[136](GOST3410_2012_512){DE1D91...802D00},
    TSi[24](1#){10.1.1.2},
    TSr[24](1#){10.0.0.0-10.0.0.255},
    N[8](ADDITIONAL_TS_POSSIBLE),
    N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
    N[8](NON_FIRST_FRAGMENTS_ALSO)}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-5.17" derivedCounter="(32)">
              <t indent="0" pn="section-appendix.a.1.3-5.17.1">
Computes K1r (i1 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-5.17.2">
00000000: 0c 45 d2 29 64 b8 72 57 11 10 3b a0 c2 66 d8 63
00000010: 34 f5 22 43 bf 6b 9a 1b 67 d6 d2 d8 fc 87 75 38
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-5.18" derivedCounter="(33)">
              <t indent="0" pn="section-appendix.a.1.3-5.18.1">
Computes K2r (i2 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-5.18.2">
00000000: a9 92 d9 92 1f 15 13 bd db 61 83 43 58 2d dd e6
00000010: 66 28 4f 5d 71 47 a9 d4 8e 31 2e 95 37 f8 c5 d2
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-5.19" derivedCounter="(34)">
              <t indent="0" pn="section-appendix.a.1.3-5.19.1">
Computes K3r (i3 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-5.19.2">
00000000: c1 ca 4f dd 2d 02 55 a4 11 9a 10 08 43 2d 61 ea
00000010: 52 68 83 c5 ec 92 53 24 01 b0 a2 0b d2 8f 72 78
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-5.20" derivedCounter="(35)">
              <t indent="0" pn="section-appendix.a.1.3-5.20.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-5.20.2">
00000000: 00 00 00 00 84 57 87 2b 38 70 63 27 8c dd 88 78
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-5.21" derivedCounter="(36)">
              <t indent="0" pn="section-appendix.a.1.3-5.21.1">
Composes AAD
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-5.21.2">
00000000: 43 87 64 8d 6c 9e 28 ff 82 d9 fa f8 74 49 b9 36
00000010: 2e 20 24 20 00 00 00 00 00 00 01 51 21 00 01 35
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-5.22" derivedCounter="(37)">
              <t indent="0" pn="section-appendix.a.1.3-5.22.1">
Composes plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-5.22.2">
00000000: 28 00 00 28 00 00 00 24 01 03 04 03 29 0a 8e 3f
00000010: 03 00 00 08 01 00 00 20 03 00 00 08 04 00 00 22
00000020: 00 00 00 08 05 00 00 00 22 00 00 24 f1 c1 3f 5e
00000030: c4 c9 70 81 cb 1f 57 fe af 3d 80 37 92 a9 ff 96
00000040: db 8f 3f 31 0a db 84 d1 24 d5 94 12 2c 00 00 88
00000050: 00 22 00 00 de 1d 91 64 c3 3e 58 4a b3 3e 55 5d
00000060: 3e f6 5b cb b5 c6 1c 09 cb 9a 17 91 81 13 5f 46
00000070: ce 52 98 c5 1e bb 77 96 c9 04 03 2d f4 e5 23 f9
00000080: 75 e3 ef a8 53 52 b4 75 9c 00 55 7b 09 75 49 55
00000090: c1 65 7c 4d 67 77 00 0a bc cd bc 4c 34 c3 b3 85
000000A0: ed 86 7d 3b 9f f7 15 ea 55 b5 e4 1e 45 d9 b0 4f
000000B0: 69 3f ee 7c 89 0e 09 3d 4b 35 2e 8a 3c 0c 33 20
000000C0: c3 54 7b 44 db 9f c7 96 a0 1e 9e ae b4 bd 29 73
000000D0: b6 80 2d 00 2d 00 00 18 01 00 00 00 07 00 00 10
000000E0: 00 00 ff ff 0a 01 01 02 0a 01 01 02 29 00 00 18
000000F0: 01 00 00 00 07 00 00 10 00 00 ff ff 0a 00 00 00
00000100: 0a 00 00 ff 29 00 00 08 00 00 40 02 29 00 00 08
00000110: 00 00 40 0a 00 00 00 08 00 00 40 0b 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-5.23" derivedCounter="(38)">
              <t indent="0" pn="section-appendix.a.1.3-5.23.1">
Encrypts plaintext using K3r as K_msg, resulted resulting in ciphertext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-5.23.2">
00000000: 42 73 5f 2b 14 a0 27 ca 3c 90 67 80 3c 3d 99 02
00000010: 1c 08 c8 67 03 0f 69 f1 c3 64 43 a6 59 74 ce b0
00000020: d7 5d 29 58 53 3a f6 c3 20 04 56 ba 2e af 14 9b
00000030: 2d a3 93 15 2c e5 15 e6 59 2b 7f 47 94 7f 90 82
00000040: ce d3 64 cc 89 92 04 c6 bc 7b ce 61 c6 1d 7f a5
00000050: 45 1c 27 e6 0b 78 1a f2 75 8f 3e 47 53 8e d7 16
00000060: 11 f4 26 04 ae 5e d5 b8 84 b6 ac e6 20 28 da ca
00000070: da 84 fe 0d c4 4d 29 2f 58 30 fe 93 f6 59 04 4a
00000080: 9b aa 97 99 5b 5e 74 9c 5d 45 d5 99 42 16 8c ab
00000090: 62 cb 9f 14 5f f5 25 92 34 5c 8d 61 45 44 55 6d
000000A0: 3d 80 b0 39 f0 39 0b 43 8a f9 b7 b7 17 41 34 ce
000000B0: 36 bf e3 e7 1a 68 61 72 0e f1 91 24 89 ab d7 e9
000000C0: a9 b1 87 38 a1 c0 4c 42 4e 47 62 28 9e d7 1f 02
000000D0: 13 40 69 38 31 f1 91 87 ec 54 11 0a 2d d9 25 15
000000E0: 15 16 37 b7 71 94 11 49 5e f7 28 90 c5 1e 6b 07
000000F0: d9 cf 06 a2 a2 33 0e e0 25 67 db a6 17 11 27 60
00000100: c8 21 f7 79 63 aa b0 f9 7b 95 03 a7 8d 2e d7 df
00000110: 58 e7 30 ab d3 c8 f1 24 40 69 fc 3f bf
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-5.24" derivedCounter="(39)">
              <t indent="0" pn="section-appendix.a.1.3-5.24.1">
Computes ICV using K3r as K_msg
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-5.24.2">
00000000: 3a 2d 3c 6b 87 43 ed 6e 80 ab 27 e2
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-5.25" derivedCounter="(40)">
              <t indent="0" pn="section-appendix.a.1.3-5.25.1">
Composes IV
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-5.25.2">
00000000: 00 00 00 00 00 00 00 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-5.26" derivedCounter="(41)">
              <t indent="0" pn="section-appendix.a.1.3-5.26.1">
Sends message, peer receives message<sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54294<-10.111.15.45:500 message</t>
              <sourcecode type="test-vectors" markers="false" pn="section-appendix.a.1.3-5.26.2">
       10.111.10.171:54294&lt;-10.111.15.45:500 [337]

00000000: 43 87 64 8d 6c 9e 28 ff 82 d9 fa f8 74 49 b9 36
00000010: 2e 20 24 20 00 00 00 00 00 00 01 51 21 00 01 35
00000020: 00 00 00 00 00 00 00 00 42 73 5f 2b 14 a0 27 ca
00000030: 3c 90 67 80 3c 3d 99 02 1c 08 c8 67 03 0f 69 f1
00000040: c3 64 43 a6 59 74 ce b0 d7 5d 29 58 53 3a f6 c3
00000050: 20 04 56 ba 2e af 14 9b 2d a3 93 15 2c e5 15 e6
00000060: 59 2b 7f 47 94 7f 90 82 ce d3 64 cc 89 92 04 c6
00000070: bc 7b ce 61 c6 1d 7f a5 45 1c 27 e6 0b 78 1a f2
00000080: 75 8f 3e 47 53 8e d7 16 11 f4 26 04 ae 5e d5 b8
00000090: 84 b6 ac e6 20 28 da ca da 84 fe 0d c4 4d 29 2f
000000A0: 58 30 fe 93 f6 59 04 4a 9b aa 97 99 5b 5e 74 9c
000000B0: 5d 45 d5 99 42 16 8c ab 62 cb 9f 14 5f f5 25 92
000000C0: 34 5c 8d 61 45 44 55 6d 3d 80 b0 39 f0 39 0b 43
000000D0: 8a f9 b7 b7 17 41 34 ce 36 bf e3 e7 1a 68 61 72
000000E0: 0e f1 91 24 89 ab d7 e9 a9 b1 87 38 a1 c0 4c 42
000000F0: 4e 47 62 28 9e d7 1f 02 13 40 69 38 31 f1 91 87
00000100: ec 54 11 0a 2d d9 25 15 15 16 37 b7 71 94 11 49
00000110: 5e f7 28 90 c5 1e 6b 07 d9 cf 06 a2 a2 33 0e e0
00000120: 25 67 db a6 17 11 27 60 c8 21 f7 79 63 aa b0 f9
00000130: 7b 95 03 a7 8d 2e d7 df 58 e7 30 ab d3 c8 f1 24
00000140: 40 69 fc 3f bf 3a 2d 3c 6b 87 43 ed 6e 80 ab 27
00000150: e2
]]>
</sourcecode>
            </li>
          </ol>
<t>Initiator's
          <t indent="0" pn="section-appendix.a.1.3-6">Initiator's actions:</t>
          <ol type="(%d)" group="data3.txt">
<li> group="data3.txt" start="42" indent="adaptive" spacing="normal" pn="section-appendix.a.1.3-7">
<li pn="section-appendix.a.1.3-7.1" derivedCounter="(42)">
              <t indent="0" pn="section-appendix.a.1.3-7.1.1">
Extracts IV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-7.1.2">
00000000: 00 00 00 00 00 00 00 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-7.2" derivedCounter="(43)">
              <t indent="0" pn="section-appendix.a.1.3-7.2.1">
Computes K1r (i1 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-7.2.2">
00000000: 0c 45 d2 29 64 b8 72 57 11 10 3b a0 c2 66 d8 63
00000010: 34 f5 22 43 bf 6b 9a 1b 67 d6 d2 d8 fc 87 75 38
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-7.3" derivedCounter="(44)">
              <t indent="0" pn="section-appendix.a.1.3-7.3.1">
Computes K2r (i2 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-7.3.2">
00000000: a9 92 d9 92 1f 15 13 bd db 61 83 43 58 2d dd e6
00000010: 66 28 4f 5d 71 47 a9 d4 8e 31 2e 95 37 f8 c5 d2
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-7.4" derivedCounter="(45)">
              <t indent="0" pn="section-appendix.a.1.3-7.4.1">
Computes K3r (i3 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-7.4.2">
00000000: c1 ca 4f dd 2d 02 55 a4 11 9a 10 08 43 2d 61 ea
00000010: 52 68 83 c5 ec 92 53 24 01 b0 a2 0b d2 8f 72 78
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-7.5" derivedCounter="(46)">
              <t indent="0" pn="section-appendix.a.1.3-7.5.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-7.5.2">
00000000: 00 00 00 00 84 57 87 2b 38 70 63 27 8c dd 88 78
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-7.6" derivedCounter="(47)">
              <t indent="0" pn="section-appendix.a.1.3-7.6.1">
Extracts ICV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-7.6.2">
00000000: 3a 2d 3c 6b 87 43 ed 6e 80 ab 27 e2
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-7.7" derivedCounter="(48)">
              <t indent="0" pn="section-appendix.a.1.3-7.7.1">
Extracts AAD from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-7.7.2">
00000000: 43 87 64 8d 6c 9e 28 ff 82 d9 fa f8 74 49 b9 36
00000010: 2e 20 24 20 00 00 00 00 00 00 01 51 21 00 01 35
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-7.8" derivedCounter="(49)">
              <t indent="0" pn="section-appendix.a.1.3-7.8.1">
Extracts ciphertext from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-7.8.2">
00000000: 42 73 5f 2b 14 a0 27 ca 3c 90 67 80 3c 3d 99 02
00000010: 1c 08 c8 67 03 0f 69 f1 c3 64 43 a6 59 74 ce b0
00000020: d7 5d 29 58 53 3a f6 c3 20 04 56 ba 2e af 14 9b
00000030: 2d a3 93 15 2c e5 15 e6 59 2b 7f 47 94 7f 90 82
00000040: ce d3 64 cc 89 92 04 c6 bc 7b ce 61 c6 1d 7f a5
00000050: 45 1c 27 e6 0b 78 1a f2 75 8f 3e 47 53 8e d7 16
00000060: 11 f4 26 04 ae 5e d5 b8 84 b6 ac e6 20 28 da ca
00000070: da 84 fe 0d c4 4d 29 2f 58 30 fe 93 f6 59 04 4a
00000080: 9b aa 97 99 5b 5e 74 9c 5d 45 d5 99 42 16 8c ab
00000090: 62 cb 9f 14 5f f5 25 92 34 5c 8d 61 45 44 55 6d
000000A0: 3d 80 b0 39 f0 39 0b 43 8a f9 b7 b7 17 41 34 ce
000000B0: 36 bf e3 e7 1a 68 61 72 0e f1 91 24 89 ab d7 e9
000000C0: a9 b1 87 38 a1 c0 4c 42 4e 47 62 28 9e d7 1f 02
000000D0: 13 40 69 38 31 f1 91 87 ec 54 11 0a 2d d9 25 15
000000E0: 15 16 37 b7 71 94 11 49 5e f7 28 90 c5 1e 6b 07
000000F0: d9 cf 06 a2 a2 33 0e e0 25 67 db a6 17 11 27 60
00000100: c8 21 f7 79 63 aa b0 f9 7b 95 03 a7 8d 2e d7 df
00000110: 58 e7 30 ab d3 c8 f1 24 40 69 fc 3f bf
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-7.9" derivedCounter="(50)">
              <t indent="0" pn="section-appendix.a.1.3-7.9.1">
Decrypts ciphertext and verifies ICV using K3r as K_msg, resulted resulting in plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-7.9.2">
00000000: 28 00 00 28 00 00 00 24 01 03 04 03 29 0a 8e 3f
00000010: 03 00 00 08 01 00 00 20 03 00 00 08 04 00 00 22
00000020: 00 00 00 08 05 00 00 00 22 00 00 24 f1 c1 3f 5e
00000030: c4 c9 70 81 cb 1f 57 fe af 3d 80 37 92 a9 ff 96
00000040: db 8f 3f 31 0a db 84 d1 24 d5 94 12 2c 00 00 88
00000050: 00 22 00 00 de 1d 91 64 c3 3e 58 4a b3 3e 55 5d
00000060: 3e f6 5b cb b5 c6 1c 09 cb 9a 17 91 81 13 5f 46
00000070: ce 52 98 c5 1e bb 77 96 c9 04 03 2d f4 e5 23 f9
00000080: 75 e3 ef a8 53 52 b4 75 9c 00 55 7b 09 75 49 55
00000090: c1 65 7c 4d 67 77 00 0a bc cd bc 4c 34 c3 b3 85
000000A0: ed 86 7d 3b 9f f7 15 ea 55 b5 e4 1e 45 d9 b0 4f
000000B0: 69 3f ee 7c 89 0e 09 3d 4b 35 2e 8a 3c 0c 33 20
000000C0: c3 54 7b 44 db 9f c7 96 a0 1e 9e ae b4 bd 29 73
000000D0: b6 80 2d 00 2d 00 00 18 01 00 00 00 07 00 00 10
000000E0: 00 00 ff ff 0a 01 01 02 0a 01 01 02 29 00 00 18
000000F0: 01 00 00 00 07 00 00 10 00 00 ff ff 0a 00 00 00
00000100: 0a 00 00 ff 29 00 00 08 00 00 40 02 29 00 00 08
00000110: 00 00 40 0a 00 00 00 08 00 00 40 0b 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-7.10" derivedCounter="(51)">
              <t indent="0" pn="section-appendix.a.1.3-7.10.1">
Parses received message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-7.10.2">
Create Child SA
4387648D6C9E28FF.82D9FAF87449B936.00000000 IKEv2 R=>I[337] R=&gt;I[337]
  E[309]{
    SA[40]{
      P[36](#1:ESP:290A8E3F:3#){
        Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
        KE=GOST3410_2012_512,
        ESN=Off}},
    NONCE[36]{F1C13F...D59412},
    KE[136](GOST3410_2012_512){DE1D91...802D00},
    TSi[24](1#){10.1.1.2},
    TSr[24](1#){10.0.0.0-10.0.0.255},
    N[8](ADDITIONAL_TS_POSSIBLE),
    N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
    N[8](NON_FIRST_FRAGMENTS_ALSO)}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.3-7.11" derivedCounter="(52)">
              <t indent="0" pn="section-appendix.a.1.3-7.11.1">
Computes keys for new ESP SAs
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.3-7.11.2">
00000000: 4e c4 99 c2 d9 e8 fc 7f 26 fa cf df 20 8f a2 5c
00000010: 85 f8 e3 0c f7 fd 11 5b 5f 80 ba c4 e6 70 8b e4
00000020: 0b 90 d7 8f bd d4 c5 bd c4 31 6f 0b
00000000: 3c cc d8 46 72 44 68 c6 41 84 d2 22 ea 39 7c e8
00000010: aa 83 66 11 3a 26 4d 7b 07 52 6b c7 65 25 73 9d
00000020: 0f 3d 80 bc 8c 34 ff 07 31 11 5e d2
]]>
</sourcecode>
            </li>
          </ol>

<t><br/><br/></t>

            <ol group="scenario1"  type="Sub-scenario %d:">
              <li>
        </section>
        <section anchor="scenario1-4" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a.1.4">
          <name slugifiedName="name-sub-scenario-4-ike-sa-delet">Sub-Scenario 4: IKE SA deletion using Deletion Using the INFORMATIONAL exchange.
                <sourcecode type="test-vectors">
<![CDATA[ Exchange</name>
          <artwork type="" align="left" pn="section-appendix.a.1.4-1">
Initiator                             Responder

HDR, SK {D}           --->
                      <---           ---&gt;
                      &lt;---            HDR, SK { }
]]>
                </sourcecode>
              </li>
            </ol>

<t>Initiator's
</artwork>
          <t indent="0" pn="section-appendix.a.1.4-2">Initiator's actions:</t>
          <ol start="1" type="(%d)" group="data4.txt">
<li> group="data4.txt" indent="adaptive" spacing="normal" pn="section-appendix.a.1.4-3">
<li pn="section-appendix.a.1.4-3.1" derivedCounter="(1)">
              <t indent="0" pn="section-appendix.a.1.4-3.1.1">
Creates message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-3.1.2">
Informational
4387648D6C9E28FF.82D9FAF87449B936.00000003 IKEv2 R<-I[61] R&lt;-I[61]
  E[33]{
    D[8](IKE)}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-3.2" derivedCounter="(2)">
              <t indent="0" pn="section-appendix.a.1.4-3.2.1">
Uses previously computed key K3i
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-3.2.2">
00000000: c9 41 22 b5 39 b7 d2 3f c4 4d a6 ae 88 2e ff b4
00000010: f4 c0 90 9c bd bc 63 56 14 62 e8 8f 90 1a e7 eb
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-3.3" derivedCounter="(3)">
              <t indent="0" pn="section-appendix.a.1.4-3.3.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-3.3.2">
00000000: 00 00 00 03 03 a0 05 b7 b2 2d f9 90 bb 6c ff ca
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-3.4" derivedCounter="(4)">
              <t indent="0" pn="section-appendix.a.1.4-3.4.1">
Composes AAD
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-3.4.2">
00000000: 43 87 64 8d 6c 9e 28 ff 82 d9 fa f8 74 49 b9 36
00000010: 2e 20 25 08 00 00 00 03 00 00 00 3d 2a 00 00 21
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-3.5" derivedCounter="(5)">
              <t indent="0" pn="section-appendix.a.1.4-3.5.1">
Composes plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-3.5.2">
00000000: 00 00 00 08 01 00 00 00 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-3.6" derivedCounter="(6)">
              <t indent="0" pn="section-appendix.a.1.4-3.6.1">
Encrypts plaintext using K3i as K_msg, resulted resulting in ciphertext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-3.6.2">
00000000: 3e 17 6f 6c 23 48 06 e9 fd
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-3.7" derivedCounter="(7)">
              <t indent="0" pn="section-appendix.a.1.4-3.7.1">
Computes ICV using K3i as K_msg
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-3.7.2">
00000000: 23 7b a2 fc d5 1c 6f 2c c0 1e 21 e4
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-3.8" derivedCounter="(8)">
              <t indent="0" pn="section-appendix.a.1.4-3.8.1">
Composes IV
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-3.8.2">
00000000: 00 00 00 00 00 00 00 03
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-3.9" derivedCounter="(9)">
              <t indent="0" pn="section-appendix.a.1.4-3.9.1">
Sends message, peer receives message<sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54294->10.111.15.45:500 message</t>
              <sourcecode type="test-vectors" markers="false" pn="section-appendix.a.1.4-3.9.2">
       10.111.10.171:54294-&gt;10.111.15.45:500 [61]

00000000: 43 87 64 8d 6c 9e 28 ff 82 d9 fa f8 74 49 b9 36
00000010: 2e 20 25 08 00 00 00 03 00 00 00 3d 2a 00 00 21
00000020: 00 00 00 00 00 00 00 03 3e 17 6f 6c 23 48 06 e9
00000030: fd 23 7b a2 fc d5 1c 6f 2c c0 1e 21 e4
]]>
</sourcecode>
            </li>
          </ol>
<t>Responder's
          <t indent="0" pn="section-appendix.a.1.4-4">Responder's actions:</t>
          <ol type="(%d)" group="data4.txt">
<li> group="data4.txt" start="10" indent="adaptive" spacing="normal" pn="section-appendix.a.1.4-5">
<li pn="section-appendix.a.1.4-5.1" derivedCounter="(10)">
              <t indent="0" pn="section-appendix.a.1.4-5.1.1">
Extracts IV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-5.1.2">
00000000: 00 00 00 00 00 00 00 03
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-5.2" derivedCounter="(11)">
              <t indent="0" pn="section-appendix.a.1.4-5.2.1">
Uses previously computed key K3i
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-5.2.2">
00000000: c9 41 22 b5 39 b7 d2 3f c4 4d a6 ae 88 2e ff b4
00000010: f4 c0 90 9c bd bc 63 56 14 62 e8 8f 90 1a e7 eb
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-5.3" derivedCounter="(12)">
              <t indent="0" pn="section-appendix.a.1.4-5.3.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-5.3.2">
00000000: 00 00 00 03 03 a0 05 b7 b2 2d f9 90 bb 6c ff ca
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-5.4" derivedCounter="(13)">
              <t indent="0" pn="section-appendix.a.1.4-5.4.1">
Extracts ICV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-5.4.2">
00000000: 23 7b a2 fc d5 1c 6f 2c c0 1e 21 e4
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-5.5" derivedCounter="(14)">
              <t indent="0" pn="section-appendix.a.1.4-5.5.1">
Extracts AAD from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-5.5.2">
00000000: 43 87 64 8d 6c 9e 28 ff 82 d9 fa f8 74 49 b9 36
00000010: 2e 20 25 08 00 00 00 03 00 00 00 3d 2a 00 00 21
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-5.6" derivedCounter="(15)">
              <t indent="0" pn="section-appendix.a.1.4-5.6.1">
Extracts ciphertext from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-5.6.2">
00000000: 3e 17 6f 6c 23 48 06 e9 fd
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-5.7" derivedCounter="(16)">
              <t indent="0" pn="section-appendix.a.1.4-5.7.1">
Decrypts ciphertext and verifies ICV using K3i as K_msg, resulted resulting in plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-5.7.2">
00000000: 00 00 00 08 01 00 00 00 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-5.8" derivedCounter="(17)">
              <t indent="0" pn="section-appendix.a.1.4-5.8.1">
Parses received message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-5.8.2">
Informational
4387648D6C9E28FF.82D9FAF87449B936.00000003 IKEv2 I->R[61] I-&gt;R[61]
  E[33]{
    D[8](IKE)}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-5.9" derivedCounter="(18)">
              <t indent="0" pn="section-appendix.a.1.4-5.9.1">
Creates message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-5.9.2">
Informational
4387648D6C9E28FF.82D9FAF87449B936.00000003 IKEv2 I<=R[53] I&lt;=R[53]
  E[25]{}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-5.10" derivedCounter="(19)">
              <t indent="0" pn="section-appendix.a.1.4-5.10.1">
Uses previously computed key K3r
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-5.10.2">
00000000: c1 ca 4f dd 2d 02 55 a4 11 9a 10 08 43 2d 61 ea
00000010: 52 68 83 c5 ec 92 53 24 01 b0 a2 0b d2 8f 72 78
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-5.11" derivedCounter="(20)">
              <t indent="0" pn="section-appendix.a.1.4-5.11.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-5.11.2">
00000000: 00 00 00 03 84 57 87 2b 38 70 63 27 8c dd 88 78
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-5.12" derivedCounter="(21)">
              <t indent="0" pn="section-appendix.a.1.4-5.12.1">
Composes AAD
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-5.12.2">
00000000: 43 87 64 8d 6c 9e 28 ff 82 d9 fa f8 74 49 b9 36
00000010: 2e 20 25 20 00 00 00 03 00 00 00 35 00 00 00 19
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-5.13" derivedCounter="(22)">
              <t indent="0" pn="section-appendix.a.1.4-5.13.1">
Composes plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-5.13.2">
00000000: 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-5.14" derivedCounter="(23)">
              <t indent="0" pn="section-appendix.a.1.4-5.14.1">
Encrypts plaintext using K3r as K_msg, resulted resulting in ciphertext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-5.14.2">
00000000: f1
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-5.15" derivedCounter="(24)">
              <t indent="0" pn="section-appendix.a.1.4-5.15.1">
Computes ICV using K3r as K_msg
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-5.15.2">
00000000: 38 3b 47 ed 04 4d af 44 b8 59 9a ce
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-5.16" derivedCounter="(25)">
              <t indent="0" pn="section-appendix.a.1.4-5.16.1">
Composes IV
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-5.16.2">
00000000: 00 00 00 00 00 00 00 03
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-5.17" derivedCounter="(26)">
              <t indent="0" pn="section-appendix.a.1.4-5.17.1">
Sends message, peer receives message<sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54294<-10.111.15.45:500 message</t>
              <sourcecode type="test-vectors" markers="false" pn="section-appendix.a.1.4-5.17.2">
       10.111.10.171:54294&lt;-10.111.15.45:500 [53]

00000000: 43 87 64 8d 6c 9e 28 ff 82 d9 fa f8 74 49 b9 36
00000010: 2e 20 25 20 00 00 00 03 00 00 00 35 00 00 00 19
00000020: 00 00 00 00 00 00 00 03 f1 38 3b 47 ed 04 4d af
00000030: 44 b8 59 9a ce
]]>
</sourcecode>
            </li>
          </ol>
<t>Initiator's
          <t indent="0" pn="section-appendix.a.1.4-6">Initiator's actions:</t>
          <ol type="(%d)" group="data4.txt">
<li> group="data4.txt" start="27" indent="adaptive" spacing="normal" pn="section-appendix.a.1.4-7">
<li pn="section-appendix.a.1.4-7.1" derivedCounter="(27)">
              <t indent="0" pn="section-appendix.a.1.4-7.1.1">
Extracts IV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-7.1.2">
00000000: 00 00 00 00 00 00 00 03
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-7.2" derivedCounter="(28)">
              <t indent="0" pn="section-appendix.a.1.4-7.2.1">
Uses previously computed key K3r
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-7.2.2">
00000000: c1 ca 4f dd 2d 02 55 a4 11 9a 10 08 43 2d 61 ea
00000010: 52 68 83 c5 ec 92 53 24 01 b0 a2 0b d2 8f 72 78
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-7.3" derivedCounter="(29)">
              <t indent="0" pn="section-appendix.a.1.4-7.3.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-7.3.2">
00000000: 00 00 00 03 84 57 87 2b 38 70 63 27 8c dd 88 78
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-7.4" derivedCounter="(30)">
              <t indent="0" pn="section-appendix.a.1.4-7.4.1">
Extracts ICV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-7.4.2">
00000000: 38 3b 47 ed 04 4d af 44 b8 59 9a ce
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-7.5" derivedCounter="(31)">
              <t indent="0" pn="section-appendix.a.1.4-7.5.1">
Extracts AAD from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-7.5.2">
00000000: 43 87 64 8d 6c 9e 28 ff 82 d9 fa f8 74 49 b9 36
00000010: 2e 20 25 20 00 00 00 03 00 00 00 35 00 00 00 19
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-7.6" derivedCounter="(32)">
              <t indent="0" pn="section-appendix.a.1.4-7.6.1">
Extracts ciphertext from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-7.6.2">
00000000: f1
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-7.7" derivedCounter="(33)">
              <t indent="0" pn="section-appendix.a.1.4-7.7.1">
Decrypts ciphertext and verifies ICV using K3r as K_msg, resulted resulting in plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-7.7.2">
00000000: 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.1.4-7.8" derivedCounter="(34)">
              <t indent="0" pn="section-appendix.a.1.4-7.8.1">
Parses received message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.1.4-7.8.2">
Informational
4387648D6C9E28FF.82D9FAF87449B936.00000003 IKEv2 R=>I[53] R=&gt;I[53]
  E[25]{}
]]>
</sourcecode>
            </li>
          </ol>
        </section>
      </section>
      <section title="Scenario 2" anchor="scenario2">

            <t> With anchor="scenario2" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a.2">
        <name slugifiedName="name-scenario-2">Scenario 2</name>
        <t indent="0" pn="section-appendix.a.2-1"> In this scenario scenario, peers establish, rekey rekey, and delete an IKE SA and ESP SAs using the following prerequisites:</t>
            <ul>
              <li>
        <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-appendix.a.2-2">
          <li pn="section-appendix.a.2-2.1"> Peers authenticate each other using digital signatures signatures. </li>
              <li>
          <li pn="section-appendix.a.2-2.2">
            <t indent="0" pn="section-appendix.a.2-2.2.1"> Initiator's ID is "CN=IKE Interop Test Client, O=ELVIS-PLUS, C=RU" of type ID_DER_ASN1_DN:
            </t>
            <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2-2.2.2">
00000010: 30 44 31 20 30 1e 06 03 55 04 03 13 17 49 4b 45
00000020: 20 49 6e 74 65 72 6f 70 20 54 65 73 74 20 43 6c
00000030: 69 65 6e 74 31 13 30 11 06 03 55 04 0a 13 0a 45
00000040: 4c 56 49 53 2d 50 4c 55 53 31 0b 30 09 06 03 55
00000050: 04 06 13 02 52 55
]]>
</sourcecode>
          </li>
              <li>
          <li pn="section-appendix.a.2-2.3">
            <t indent="0" pn="section-appendix.a.2-2.3.1"> Responder's ID is "CN=IKE Interop Test Server, O=ELVIS-PLUS, C=RU" of type ID_DER_ASN1_DN:
            </t>
            <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2-2.3.2">
00000010: 30 44 31 20 30 1e 06 03 55 04 03 13 17 49 4b 45
00000020: 20 49 6e 74 65 72 6f 70 20 54 65 73 74 20 53 65
00000030: 72 76 65 72 31 13 30 11 06 03 55 04 0a 13 0a 45
00000040: 4c 56 49 53 2d 50 4c 55 53 31 0b 30 09 06 03 55
00000050: 04 06 13 02 52 55
]]>
</sourcecode>
          </li>
              <li>
          <li pn="section-appendix.a.2-2.4"> No NAT is present between the peers, but using UDP encapsulation is forced by the initiator
              by setting the NAT_DETECTION_SOURCE_IP notify notification data to all zeroes zeroes. </li>
              <li>
          <li pn="section-appendix.a.2-2.5"> IKE fragmentation is used in the IKE_AUTH exchange exchange. </li>
              <li>
          <li pn="section-appendix.a.2-2.6">
            <t indent="0" pn="section-appendix.a.2-2.6.1"> IKE SA is created with the following transforms:
                <ul>
                  <li>
            </t>
            <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-appendix.a.2-2.6.2">
              <li pn="section-appendix.a.2-2.6.2.1"> ENCR_MAGMA_MGM_KTREE </li>
                  <li>
              <li pn="section-appendix.a.2-2.6.2.2"> PRF_HMAC_STREEBOG_512 </li>
                  <li>
              <li pn="section-appendix.a.2-2.6.2.3"> GOST3410_2012_256 </li>
            </ul>
          </li>
              <li>
          <li pn="section-appendix.a.2-2.7">
            <t indent="0" pn="section-appendix.a.2-2.7.1"> ESP SAs are created with the following transforms:
                <ul>
                  <li>
            </t>
            <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-appendix.a.2-2.7.2">
              <li pn="section-appendix.a.2-2.7.2.1"> ENCR_MAGMA_MGM_KTREE </li>
                  <li>
              <li pn="section-appendix.a.2-2.7.2.2"> ESN off </li>
            </ul>
          </li>
        </ul>

            <t>
        <t indent="0" pn="section-appendix.a.2-3"> The certificates for this scenatio scenario were obtained from the public testing CA service
            <eref target="https://testgost2012.cryptopro.ru/certsrv/" /> brackets="angle"/>.
        </t>

            <t>
        <t indent="0" pn="section-appendix.a.2-4"> The initiator's certificate private key (little endian):
        </t>
        <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2-5">
0000000000: 76 e9 dd b3 f3 a2 08 a2 4e a5 81 9c ae 41 da b4
0000000010: 77 3c 1d d5 dc eb af e6 58 b1 47 d2 d8 29 ce 71
0000000020: 18 a9 85 5d 28 5b 3c e3 23 bd 80 ac 2f 00 cc b6
0000000030: 61 4c 42 a1 65 61 02 cf 33 eb 1f 5f 02 ce 8a b9
]]>
</sourcecode>

            <t>
        <t indent="0" pn="section-appendix.a.2-6"> The initiator's certificate:
        </t>
        <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2-7">
0000000000: 30 82 04 f7 30 82 04 a4 a0 03 02 01 02 02 13 7c
0000000010: 00 03 da a8 9e 1e ff 9e 79 05 fb bb 00 01 00 03
0000000020: da a8 30 0a 06 08 2a 85 03 07 01 01 03 02 30 82
0000000030: 01 0a 31 18 30 16 06 05 2a 85 03 64 01 12 0d 31
0000000040: 32 33 34 35 36 37 38 39 30 31 32 33 31 1a 30 18
0000000050: 06 08 2a 85 03 03 81 03 01 01 12 0c 30 30 31 32
0000000060: 33 34 35 36 37 38 39 30 31 2f 30 2d 06 03 55 04
0000000070: 09 0c 26 d1 83 d0 bb 2e 20 d0 a1 d1 83 d1 89 d1
0000000080: 91 d0 b2 d1 81 d0 ba d0 b8 d0 b9 20 d0 b2 d0 b0
0000000090: d0 bb 20 d0 b4 2e 20 31 38 31 0b 30 09 06 03 55
00000000A0: 04 06 13 02 52 55 31 19 30 17 06 03 55 04 08 0c
00000000B0: 10 d0 b3 2e 20 d0 9c d0 be d1 81 d0 ba d0 b2 d0
00000000C0: b0 31 15 30 13 06 03 55 04 07 0c 0c d0 9c d0 be
00000000D0: d1 81 d0 ba d0 b2 d0 b0 31 25 30 23 06 03 55 04
00000000E0: 0a 0c 1c d0 9e d0 9e d0 9e 20 22 d0 9a d0 a0 d0
00000000F0: 98 d0 9f d0 a2 d0 9e 2d d0 9f d0 a0 d0 9e 22 31
0000000100: 3b 30 39 06 03 55 04 03 0c 32 d0 a2 d0 b5 d1 81
0000000110: d1 82 d0 be d0 b2 d1 8b d0 b9 20 d0 a3 d0 a6 20
0000000120: d0 9e d0 9e d0 9e 20 22 d0 9a d0 a0 d0 98 d0 9f
0000000130: d0 a2 d0 9e 2d d0 9f d0 a0 d0 9e 22 30 1e 17 0d
0000000140: 32 31 31 30 30 31 30 36 31 30 31 30 5a 17 0d 32
0000000150: 32 30 31 30 31 30 36 32 30 31 30 5a 30 44 31 20
0000000160: 30 1e 06 03 55 04 03 13 17 49 4b 45 20 49 6e 74
0000000170: 65 72 6f 70 20 54 65 73 74 20 43 6c 69 65 6e 74
0000000180: 31 13 30 11 06 03 55 04 0a 13 0a 45 4c 56 49 53
0000000190: 2d 50 4c 55 53 31 0b 30 09 06 03 55 04 06 13 02
00000001A0: 52 55 30 81 aa 30 21 06 08 2a 85 03 07 01 01 01
00000001B0: 02 30 15 06 09 2a 85 03 07 01 02 01 02 01 06 08
00000001C0: 2a 85 03 07 01 01 02 03 03 81 84 00 04 81 80 ee
00000001D0: 2f 0a 0e 09 1e 7e 04 ef ba 5b 62 a2 52 86 e1 9c
00000001E0: 24 50 30 50 b0 b4 8a 37 35 b5 fc af 28 94 ec b5
00000001F0: 9b 92 41 5b 69 e2 c9 ba 24 de 6a 72 c4 ef 44 bb
0000000200: 89 a1 05 14 1b 87 3d 6a a3 72 3e 17 ca 7f 39 28
0000000210: ce 16 8b dd 07 52 87 6a 0d 77 42 6d 99 2b 46 2c
0000000220: fd 4b b2 7c d7 c7 17 08 12 54 63 47 9d 14 3d 61
0000000230: ed f2 95 ab 11 80 69 02 a7 66 60 50 7e a4 53 6d
0000000240: ad 01 49 b2 16 8a 95 1d cf 1a 57 93 56 14 5e a3
0000000250: 82 02 59 30 82 02 55 30 0e 06 03 55 1d 0f 01 01
0000000260: ff 04 04 03 02 05 a0 30 13 06 03 55 1d 25 04 0c
0000000270: 30 0a 06 08 2b 06 01 05 05 07 03 11 30 1d 06 03
0000000280: 55 1d 0e 04 16 04 14 40 81 b1 d1 18 75 f0 da 6b
0000000290: 3c 50 5f cd 73 1d d9 77 f2 d7 c1 30 1f 06 03 55
00000002A0: 1d 23 04 18 30 16 80 14 9b 85 5e fb 81 dc 4d 59
00000002B0: 07 51 63 cf be df da 2c 7f c9 44 3c 30 82 01 0f
00000002C0: 06 03 55 1d 1f 04 82 01 06 30 82 01 02 30 81 ff
00000002D0: a0 81 fc a0 81 f9 86 81 b5 68 74 74 70 3a 2f 2f
00000002E0: 74 65 73 74 67 6f 73 74 32 30 31 32 2e 63 72 79
00000002F0: 70 74 6f 70 72 6f 2e 72 75 2f 43 65 72 74 45 6e
0000000300: 72 6f 6c 6c 2f 21 30 34 32 32 21 30 34 33 35 21
0000000310: 30 34 34 31 21 30 34 34 32 21 30 34 33 65 21 30
0000000320: 34 33 32 21 30 34 34 62 21 30 34 33 39 25 32 30
0000000330: 21 30 34 32 33 21 30 34 32 36 25 32 30 21 30 34
0000000340: 31 65 21 30 34 31 65 21 30 34 31 65 25 32 30 21
0000000350: 30 30 32 32 21 30 34 31 61 21 30 34 32 30 21 30
0000000360: 34 31 38 21 30 34 31 66 21 30 34 32 32 21 30 34
0000000370: 31 65 2d 21 30 34 31 66 21 30 34 32 30 21 30 34
0000000380: 31 65 21 30 30 32 32 28 31 29 2e 63 72 6c 86 3f
0000000390: 68 74 74 70 3a 2f 2f 74 65 73 74 67 6f 73 74 32
00000003A0: 30 31 32 2e 63 72 79 70 74 6f 70 72 6f 2e 72 75
00000003B0: 2f 43 65 72 74 45 6e 72 6f 6c 6c 2f 74 65 73 74
00000003C0: 67 6f 73 74 32 30 31 32 28 31 29 2e 63 72 6c 30
00000003D0: 81 da 06 08 2b 06 01 05 05 07 01 01 04 81 cd 30
00000003E0: 81 ca 30 44 06 08 2b 06 01 05 05 07 30 02 86 38
00000003F0: 68 74 74 70 3a 2f 2f 74 65 73 74 67 6f 73 74 32
0000000400: 30 31 32 2e 63 72 79 70 74 6f 70 72 6f 2e 72 75
0000000410: 2f 43 65 72 74 45 6e 72 6f 6c 6c 2f 72 6f 6f 74
0000000420: 32 30 31 38 2e 63 72 74 30 3f 06 08 2b 06 01 05
0000000430: 05 07 30 01 86 33 68 74 74 70 3a 2f 2f 74 65 73
0000000440: 74 67 6f 73 74 32 30 31 32 2e 63 72 79 70 74 6f
0000000450: 70 72 6f 2e 72 75 2f 6f 63 73 70 32 30 31 32 67
0000000460: 2f 6f 63 73 70 2e 73 72 66 30 41 06 08 2b 06 01
0000000470: 05 05 07 30 01 86 35 68 74 74 70 3a 2f 2f 74 65
0000000480: 73 74 67 6f 73 74 32 30 31 32 2e 63 72 79 70 74
0000000490: 6f 70 72 6f 2e 72 75 2f 6f 63 73 70 32 30 31 32
00000004A0: 67 73 74 2f 6f 63 73 70 2e 73 72 66 30 0a 06 08
00000004B0: 2a 85 03 07 01 01 03 02 03 41 00 21 ee 3b e1 fd
00000004C0: 0f 36 90 92 c4 a2 35 26 e8 dc 4e b8 ef 89 40 70
00000004D0: d2 91 39 bc 79 a6 e2 f7 c1 06 bd d5 d6 ff 72 a5
00000004E0: 6c f2 c0 c3 75 e9 ca 67 81 c1 93 96 b4 bd 18 12
00000004F0: 4c 37 f7 d9 73 d6 4c 8a a6 c4 0a
]]>
</sourcecode>
        <sourcecode type="asn.1">
<![CDATA[ type="asn.1" markers="false" pn="section-appendix.a.2-8">
   0 1271: SEQUENCE {
   4 1188:  SEQUENCE {
   8    3:   [0] {
  10    1:    INTEGER 2
         :     }
  13   19:   INTEGER
         : 7c 00 03 da a8 9e 1e ff 9e 79 05 fb bb 00 01 00
         : 03 da a8
  34   10:   SEQUENCE {
  36    8:    OBJECT IDENTIFIER
         :     gost2012Signature256 (1 2 643 7 1 1 3 2)
         :     }
  46  266:   SEQUENCE {
  50   24:    SET {
  52   22:     SEQUENCE {
  54    5:      OBJECT IDENTIFIER '1 2 643 100 1'
  61   13:      NumericString '1234567890123'
         :       }
         :      }
  76   26:    SET {
  78   24:     SEQUENCE {
  80    8:      OBJECT IDENTIFIER '1 2 643 3 131 1 1'
  90   12:      NumericString '001234567890'
         :       }
         :      }
 104   47:    SET {
 106   45:     SEQUENCE {
 108    3:      OBJECT IDENTIFIER
         :       streetAddress (2 5 4 9)
 113   38:      UTF8String 'ул. Сущёвский вал д. 18'
         :       }
         :      }
 153   11:    SET {
 155    9:     SEQUENCE {
 157    3:      OBJECT IDENTIFIER
         :       countryName (2 5 4 6)
 162    2:      PrintableString 'RU'
         :       }
         :      }
 166   25:    SET {
 168   23:     SEQUENCE {
 170    3:      OBJECT IDENTIFIER
         :       stateOrProvinceName (2 5 4 8)
 175   16:      UTF8String 'г. Москва'
         :       }
         :      }
 193   21:    SET {
 195   19:     SEQUENCE {
 197    3:      OBJECT IDENTIFIER
         :       localityName (2 5 4 7)
 202   12:      UTF8String 'Москва'
         :       }
         :      }
 216   37:    SET {
 218   35:     SEQUENCE {
 220    3:      OBJECT IDENTIFIER
         :       organizationName (2 5 4 10)
 225   28:      UTF8String 'ООО "КРИПТО-ПРО"'
         :       }
         :      }
 255   59:    SET {
 257   57:     SEQUENCE {
 259    3:      OBJECT IDENTIFIER
         :       commonName (2 5 4 3)
 264   50:      UTF8String
         :       'Тестовый УЦ ООО "КРИПТО-ПРО"'
         :       }
         :      }
         :     }
 316   30:   SEQUENCE {
 318   13:    UTCTime 01/10/2021 06:10:10 GMT
 333   13:    UTCTime 01/01/2022 06:20:10 GMT
         :     }
 348   68:   SEQUENCE {
 350   32:    SET {
 352   30:     SEQUENCE {
 354    3:      OBJECT IDENTIFIER
         :       commonName (2 5 4 3)
 359   23:      PrintableString 'IKE Interop Test Client'
         :       }
         :      }
 384   19:    SET {
 386   17:     SEQUENCE {
 388    3:      OBJECT IDENTIFIER
         :       organizationName (2 5 4 10)
 393   10:      PrintableString 'ELVIS-PLUS'
         :       }
         :      }
 405   11:    SET {
 407    9:     SEQUENCE {
 409    3:      OBJECT IDENTIFIER
         :       countryName (2 5 4 6)
 414    2:      PrintableString 'RU'
         :       }
         :      }
         :     }
 418  170:   SEQUENCE {
 421   33:    SEQUENCE {
 423    8:     OBJECT IDENTIFIER
         :      gost2012PublicKey512 (1 2 643 7 1 1 1 2)
 433   21:     SEQUENCE {
 435    9:      OBJECT IDENTIFIER
         :       cryptoPro2012Sign512A (1 2 643 7 1 2 1 2 1)
 446    8:      OBJECT IDENTIFIER
         :       gost2012Digest512 (1 2 643 7 1 1 2 3)
         :       }
         :      }
 456  132:    BIT STRING, encapsulates {
 460  128:     OCTET STRING
         : ee 2f 0a 0e 09 1e 7e 04 ef ba 5b 62 a2 52 86 e1
         : 9c 24 50 30 50 b0 b4 8a 37 35 b5 fc af 28 94 ec
         : b5 9b 92 41 5b 69 e2 c9 ba 24 de 6a 72 c4 ef 44
         : bb 89 a1 05 14 1b 87 3d 6a a3 72 3e 17 ca 7f 39
         : 28 ce 16 8b dd 07 52 87 6a 0d 77 42 6d 99 2b 46
         : 2c fd 4b b2 7c d7 c7 17 08 12 54 63 47 9d 14 3d
         : 61 ed f2 95 ab 11 80 69 02 a7 66 60 50 7e a4 53
         : 6d ad 01 49 b2 16 8a 95 1d cf 1a 57 93 56 14 5e
         :      }
         :     }
 591  601:   [3] {
 595  597:    SEQUENCE {
 599   14:     SEQUENCE {
 601    3:      OBJECT IDENTIFIER
         :       keyUsage (2 5 29 15)
 606    1:      BOOLEAN TRUE
 609    4:      OCTET STRING, encapsulates {
 611    2:       BIT STRING 5 unused bits
         :        '101'B
         :        }
         :       }
 615   19:     SEQUENCE {
 617    3:      OBJECT IDENTIFIER
         :       extKeyUsage (2 5 29 37)
 622   12:      OCTET STRING, encapsulates {
 624   10:       SEQUENCE {
 626    8:        OBJECT IDENTIFIER
         :         ipsecIKE (1 3 6 1 5 5 7 3 17)
         :         }
         :        }
         :       }
 636   29:     SEQUENCE {
 638    3:      OBJECT IDENTIFIER
         :       subjectKeyIdentifier (2 5 29 14)
 643   22:      OCTET STRING, encapsulates {
 645   20:       OCTET STRING
         : 40 81 b1 d1 18 75 f0 da 6b 3c 50 5f cd 73 1d d9
         : 77 f2 d7 c1
         :        }
         :       }
 667   31:     SEQUENCE {
 669    3:      OBJECT IDENTIFIER
         :       authorityKeyIdentifier (2 5 29 35)
 674   24:      OCTET STRING, encapsulates {
 676   22:       SEQUENCE {
 678   20:        [0]
         : 9b 85 5e fb 81 dc 4d 59 07 51 63 cf be df da 2c
         : 7f c9 44 3c
         :         }
         :        }
         :       }
 700  271:     SEQUENCE {
 704    3:      OBJECT IDENTIFIER
         :       cRLDistributionPoints (2 5 29 31)
 709  262:      OCTET STRING, encapsulates {
 713  258:       SEQUENCE {
 717  255:        SEQUENCE {
 720  252:         [0] {
 723  249:          [0] {
 726  181:           [6]
         :         'http://testgost2012.cryptopro.ru/CertEnroll/!042'
         :         '2!0435!0441!0442!043e!0432!044b!0439%20!0423!042'
         :         '6%20!041e!041e!041e%20!0022!041a!0420!0418!041f!'
         :         '0422!041e-!041f!0420!041e!0022(1).crl'
 910   63:           [6]
         :         'http://testgost2012.cryptopro.ru/CertEnroll/test'
         :         'gost2012(1).crl'
         :            }
         :           }
         :          }
         :         }
         :        }
         :       }
 975  218:     SEQUENCE {
 978    8:      OBJECT IDENTIFIER
         :       authorityInfoAccess (1 3 6 1 5 5 7 1 1)
 988  205:      OCTET STRING, encapsulates {
 991  202:       SEQUENCE {
 994   68:        SEQUENCE {
 996    8:         OBJECT IDENTIFIER
         :          caIssuers (1 3 6 1 5 5 7 48 2)
1006   56:         [6]
         :         'http://testgost2012.cryptopro.ru/CertEnroll/root'
         :         '2018.crt'
         :          }
1064   63:        SEQUENCE {
1066    8:         OBJECT IDENTIFIER
         :          ocsp (1 3 6 1 5 5 7 48 1)
1076   51:         [6]
         :         'http://testgost2012.cryptopro.ru/ocsp2012g/ocsp.'
         :         'srf'
         :          }
1129   65:        SEQUENCE {
1131    8:         OBJECT IDENTIFIER
         :          ocsp (1 3 6 1 5 5 7 48 1)
1141   53:         [6]
         :         'http://testgost2012.cryptopro.ru/ocsp2012gst/ocs'
         :         'p.srf'
         :          }
         :         }
         :        }
         :       }
         :      }
         :     }
         :    }
1196   10:  SEQUENCE {
1198    8:   OBJECT IDENTIFIER
         :    gost2012Signature256 (1 2 643 7 1 1 3 2)
         :    }
1208   65:  BIT STRING
         : 21 ee 3b e1 fd 0f 36 90 92 c4 a2 35 26 e8 dc 4e
         : b8 ef 89 40 70 d2 91 39 bc 79 a6 e2 f7 c1 06 bd
         : d5 d6 ff 72 a5 6c f2 c0 c3 75 e9 ca 67 81 c1 93
         : 96 b4 bd 18 12 4c 37 f7 d9 73 d6 4c 8a a6 c4 0a
         :   }
]]>
</sourcecode>

            <t>
        <t indent="0" pn="section-appendix.a.2-9"> The responder's certificate private key (little endian):
        </t>
        <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2-10">
0000000000: cb 73 0c 81 6f ac 6d 81 9f 82 ae 15 a9 08 12 17
0000000010: d3 1b 97 64 b7 1c 34 0d d3 dd 90 1f 15 8c 9b 06
]]>
</sourcecode>

            <t>
        <t indent="0" pn="section-appendix.a.2-11"> The responder's certificate:
        </t>
        <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2-12">
0000000000: 30 82 04 b2 30 82 04 5f a0 03 02 01 02 02 13 7c
0000000010: 00 03 d9 02 ec f9 34 3e c8 aa d6 59 00 01 00 03
0000000020: d9 02 30 0a 06 08 2a 85 03 07 01 01 03 02 30 82
0000000030: 01 0a 31 18 30 16 06 05 2a 85 03 64 01 12 0d 31
0000000040: 32 33 34 35 36 37 38 39 30 31 32 33 31 1a 30 18
0000000050: 06 08 2a 85 03 03 81 03 01 01 12 0c 30 30 31 32
0000000060: 33 34 35 36 37 38 39 30 31 2f 30 2d 06 03 55 04
0000000070: 09 0c 26 d1 83 d0 bb 2e 20 d0 a1 d1 83 d1 89 d1
0000000080: 91 d0 b2 d1 81 d0 ba d0 b8 d0 b9 20 d0 b2 d0 b0
0000000090: d0 bb 20 d0 b4 2e 20 31 38 31 0b 30 09 06 03 55
00000000A0: 04 06 13 02 52 55 31 19 30 17 06 03 55 04 08 0c
00000000B0: 10 d0 b3 2e 20 d0 9c d0 be d1 81 d0 ba d0 b2 d0
00000000C0: b0 31 15 30 13 06 03 55 04 07 0c 0c d0 9c d0 be
00000000D0: d1 81 d0 ba d0 b2 d0 b0 31 25 30 23 06 03 55 04
00000000E0: 0a 0c 1c d0 9e d0 9e d0 9e 20 22 d0 9a d0 a0 d0
00000000F0: 98 d0 9f d0 a2 d0 9e 2d d0 9f d0 a0 d0 9e 22 31
0000000100: 3b 30 39 06 03 55 04 03 0c 32 d0 a2 d0 b5 d1 81
0000000110: d1 82 d0 be d0 b2 d1 8b d0 b9 20 d0 a3 d0 a6 20
0000000120: d0 9e d0 9e d0 9e 20 22 d0 9a d0 a0 d0 98 d0 9f
0000000130: d0 a2 d0 9e 2d d0 9f d0 a0 d0 9e 22 30 1e 17 0d
0000000140: 32 31 30 39 33 30 31 33 32 34 30 36 5a 17 0d 32
0000000150: 31 31 32 33 30 31 33 33 34 30 36 5a 30 44 31 20
0000000160: 30 1e 06 03 55 04 03 13 17 49 4b 45 20 49 6e 74
0000000170: 65 72 6f 70 20 54 65 73 74 20 53 65 72 76 65 72
0000000180: 31 13 30 11 06 03 55 04 0a 13 0a 45 4c 56 49 53
0000000190: 2d 50 4c 55 53 31 0b 30 09 06 03 55 04 06 13 02
00000001A0: 52 55 30 66 30 1f 06 08 2a 85 03 07 01 01 01 01
00000001B0: 30 13 06 07 2a 85 03 02 02 24 00 06 08 2a 85 03
00000001C0: 07 01 01 02 02 03 43 00 04 40 5b b3 14 3e f4 70
00000001D0: c1 70 d7 f3 27 25 d8 53 7c e6 de 6d 8c 29 f6 b2
00000001E0: 32 64 56 dc b1 77 f2 3d fa f4 2a 5c f3 74 86 7f
00000001F0: 04 72 51 c1 cf b3 43 36 f5 95 a2 af 05 47 57 1a
0000000200: 55 c0 78 a4 9d 64 26 b8 61 14 a3 82 02 59 30 82
0000000210: 02 55 30 0e 06 03 55 1d 0f 01 01 ff 04 04 03 02
0000000220: 05 a0 30 13 06 03 55 1d 25 04 0c 30 0a 06 08 2b
0000000230: 06 01 05 05 07 03 11 30 1d 06 03 55 1d 0e 04 16
0000000240: 04 14 e0 d3 f0 09 ad ce 6c a5 47 ba 9b f7 a6 a5
0000000250: 1b 06 14 ba a5 43 30 1f 06 03 55 1d 23 04 18 30
0000000260: 16 80 14 9b 85 5e fb 81 dc 4d 59 07 51 63 cf be
0000000270: df da 2c 7f c9 44 3c 30 82 01 0f 06 03 55 1d 1f
0000000280: 04 82 01 06 30 82 01 02 30 81 ff a0 81 fc a0 81
0000000290: f9 86 81 b5 68 74 74 70 3a 2f 2f 74 65 73 74 67
00000002A0: 6f 73 74 32 30 31 32 2e 63 72 79 70 74 6f 70 72
00000002B0: 6f 2e 72 75 2f 43 65 72 74 45 6e 72 6f 6c 6c 2f
00000002C0: 21 30 34 32 32 21 30 34 33 35 21 30 34 34 31 21
00000002D0: 30 34 34 32 21 30 34 33 65 21 30 34 33 32 21 30
00000002E0: 34 34 62 21 30 34 33 39 25 32 30 21 30 34 32 33
00000002F0: 21 30 34 32 36 25 32 30 21 30 34 31 65 21 30 34
0000000300: 31 65 21 30 34 31 65 25 32 30 21 30 30 32 32 21
0000000310: 30 34 31 61 21 30 34 32 30 21 30 34 31 38 21 30
0000000320: 34 31 66 21 30 34 32 32 21 30 34 31 65 2d 21 30
0000000330: 34 31 66 21 30 34 32 30 21 30 34 31 65 21 30 30
0000000340: 32 32 28 31 29 2e 63 72 6c 86 3f 68 74 74 70 3a
0000000350: 2f 2f 74 65 73 74 67 6f 73 74 32 30 31 32 2e 63
0000000360: 72 79 70 74 6f 70 72 6f 2e 72 75 2f 43 65 72 74
0000000370: 45 6e 72 6f 6c 6c 2f 74 65 73 74 67 6f 73 74 32
0000000380: 30 31 32 28 31 29 2e 63 72 6c 30 81 da 06 08 2b
0000000390: 06 01 05 05 07 01 01 04 81 cd 30 81 ca 30 44 06
00000003A0: 08 2b 06 01 05 05 07 30 02 86 38 68 74 74 70 3a
00000003B0: 2f 2f 74 65 73 74 67 6f 73 74 32 30 31 32 2e 63
00000003C0: 72 79 70 74 6f 70 72 6f 2e 72 75 2f 43 65 72 74
00000003D0: 45 6e 72 6f 6c 6c 2f 72 6f 6f 74 32 30 31 38 2e
00000003E0: 63 72 74 30 3f 06 08 2b 06 01 05 05 07 30 01 86
00000003F0: 33 68 74 74 70 3a 2f 2f 74 65 73 74 67 6f 73 74
0000000400: 32 30 31 32 2e 63 72 79 70 74 6f 70 72 6f 2e 72
0000000410: 75 2f 6f 63 73 70 32 30 31 32 67 2f 6f 63 73 70
0000000420: 2e 73 72 66 30 41 06 08 2b 06 01 05 05 07 30 01
0000000430: 86 35 68 74 74 70 3a 2f 2f 74 65 73 74 67 6f 73
0000000440: 74 32 30 31 32 2e 63 72 79 70 74 6f 70 72 6f 2e
0000000450: 72 75 2f 6f 63 73 70 32 30 31 32 67 73 74 2f 6f
0000000460: 63 73 70 2e 73 72 66 30 0a 06 08 2a 85 03 07 01
0000000470: 01 03 02 03 41 00 a5 39 5f ca 48 e1 c2 93 c1 e0
0000000480: 8a 64 74 0f 6b 86 a2 15 9b 46 29 d0 42 71 4f ce
0000000490: e7 52 d7 d7 3d aa 47 ce cf 52 63 8f 26 b2 17 5f
00000004A0: ad 96 57 76 ea 5f d0 87 bb 12 29 e4 06 0e e1 5f
00000004B0: fd 59 81 fb 34 6d
]]>
</sourcecode>
        <sourcecode type="asn.1">
<![CDATA[ type="asn.1" markers="false" pn="section-appendix.a.2-13">
   0 1202: SEQUENCE {
   4 1119:  SEQUENCE {
   8    3:   [0] {
  10    1:    INTEGER 2
         :     }
  13   19:   INTEGER
         : 7c 00 03 d9 02 ec f9 34 3e c8 aa d6 59 00 01 00
         : 03 d9 02
  34   10:   SEQUENCE {
  36    8:    OBJECT IDENTIFIER
         :     gost2012Signature256 (1 2 643 7 1 1 3 2)
         :     }
  46  266:   SEQUENCE {
  50   24:    SET {
  52   22:     SEQUENCE {
  54    5:      OBJECT IDENTIFIER '1 2 643 100 1'
  61   13:      NumericString '1234567890123'
         :       }
         :      }
  76   26:    SET {
  78   24:     SEQUENCE {
  80    8:      OBJECT IDENTIFIER '1 2 643 3 131 1 1'
  90   12:      NumericString '001234567890'
         :       }
         :      }
 104   47:    SET {
 106   45:     SEQUENCE {
 108    3:      OBJECT IDENTIFIER
         :       streetAddress (2 5 4 9)
 113   38:      UTF8String 'ул. Сущёвский вал д. 18'
         :       }
         :      }
 153   11:    SET {
 155    9:     SEQUENCE {
 157    3:      OBJECT IDENTIFIER
         :       countryName (2 5 4 6)
 162    2:      PrintableString 'RU'
         :       }
         :      }
 166   25:    SET {
 168   23:     SEQUENCE {
 170    3:      OBJECT IDENTIFIER
         :       stateOrProvinceName (2 5 4 8)
 175   16:      UTF8String 'г. Москва'
         :       }
         :      }
 193   21:    SET {
 195   19:     SEQUENCE {
 197    3:      OBJECT IDENTIFIER
         :       localityName (2 5 4 7)
 202   12:      UTF8String 'Москва'
         :       }
         :      }
 216   37:    SET {
 218   35:     SEQUENCE {
 220    3:      OBJECT IDENTIFIER
         :       organizationName (2 5 4 10)
 225   28:      UTF8String 'ООО "КРИПТО-ПРО"'
         :       }
         :      }
 255   59:    SET {
 257   57:     SEQUENCE {
 259    3:      OBJECT IDENTIFIER
         :       commonName (2 5 4 3)
 264   50:      UTF8String
         :       'Тестовый УЦ ООО "КРИПТО-ПРО"'
         :       }
         :      }
         :     }
 316   30:   SEQUENCE {
 318   13:    UTCTime 30/09/2021 13:24:06 GMT
 333   13:    UTCTime 30/12/2021 13:34:06 GMT
         :     }
 348   68:   SEQUENCE {
 350   32:    SET {
 352   30:     SEQUENCE {
 354    3:      OBJECT IDENTIFIER
         :       commonName (2 5 4 3)
 359   23:      PrintableString 'IKE Interop Test Server'
         :       }
         :      }
 384   19:    SET {
 386   17:     SEQUENCE {
 388    3:      OBJECT IDENTIFIER
         :       organizationName (2 5 4 10)
 393   10:      PrintableString 'ELVIS-PLUS'
         :       }
         :      }
 405   11:    SET {
 407    9:     SEQUENCE {
 409    3:      OBJECT IDENTIFIER
         :       countryName (2 5 4 6)
 414    2:      PrintableString 'RU'
         :       }
         :      }
         :     }
 418  102:   SEQUENCE {
 420   31:    SEQUENCE {
 422    8:     OBJECT IDENTIFIER
         :      gost2012PublicKey256 (1 2 643 7 1 1 1 1)
 432   19:     SEQUENCE {
 434    7:      OBJECT IDENTIFIER
         :       cryptoProSignXA (1 2 643 2 2 36 0)
 443    8:      OBJECT IDENTIFIER
         :       gost2012Digest256 (1 2 643 7 1 1 2 2)
         :       }
         :      }
 453   67:    BIT STRING, encapsulates {
 456   64:     OCTET STRING
         : 5b b3 14 3e f4 70 c1 70 d7 f3 27 25 d8 53 7c e6
         : de 6d 8c 29 f6 b2 32 64 56 dc b1 77 f2 3d fa f4
         : 2a 5c f3 74 86 7f 04 72 51 c1 cf b3 43 36 f5 95
         : a2 af 05 47 57 1a 55 c0 78 a4 9d 64 26 b8 61 14
         :      }
         :     }
 522  601:   [3] {
 526  597:    SEQUENCE {
 530   14:     SEQUENCE {
 532    3:      OBJECT IDENTIFIER
         :       keyUsage (2 5 29 15)
 537    1:      BOOLEAN TRUE
 540    4:      OCTET STRING, encapsulates {
 542    2:       BIT STRING 5 unused bits
         :        '101'B
         :        }
         :       }
 546   19:     SEQUENCE {
 548    3:      OBJECT IDENTIFIER
         :       extKeyUsage (2 5 29 37)
 553   12:      OCTET STRING, encapsulates {
 555   10:       SEQUENCE {
 557    8:        OBJECT IDENTIFIER
         :         ipsecIKE (1 3 6 1 5 5 7 3 17)
         :         }
         :        }
         :       }
 567   29:     SEQUENCE {
 569    3:      OBJECT IDENTIFIER
         :       subjectKeyIdentifier (2 5 29 14)
 574   22:      OCTET STRING, encapsulates {
 576   20:       OCTET STRING
         : e0 d3 f0 09 ad ce 6c a5 47 ba 9b f7 a6 a5 1b 06
         : 14 ba a5 43
         :        }
         :       }
 598   31:     SEQUENCE {
 600    3:      OBJECT IDENTIFIER
         :       authorityKeyIdentifier (2 5 29 35)
 605   24:      OCTET STRING, encapsulates {
 607   22:       SEQUENCE {
 609   20:        [0]
         : 9b 85 5e fb 81 dc 4d 59 07 51 63 cf be df dA 2C
         : 7f C9 44 3c
         :         }
         :        }
         :       }
 631  271:     SEQUENCE {
 635    3:      OBJECT IDENTIFIER
         :       cRLDistributionPoints (2 5 29 31)
 640  262:      OCTET STRING, encapsulates {
 644  258:       SEQUENCE {
 648  255:        SEQUENCE {
 651  252:         [0] {
 654  249:          [0] {
 657  181:           [6]
         :         'http://testgost2012.cryptopro.ru/CertEnroll/!042'
         :         '2!0435!0441!0442!043e!0432!044b!0439%20!0423!042'
         :         '6%20!041e!041e!041e%20!0022!041a!0420!0418!041f!'
         :         '0422!041e-!041f!0420!041e!0022(1).crl'
 841   63:           [6]
         :         'http://testgost2012.cryptopro.ru/CertEnroll/test'
         :         'gost2012(1).crl'
         :            }
         :           }
         :          }
         :         }
         :        }
         :       }
 906  218:     SEQUENCE {
 909    8:      OBJECT IDENTIFIER
         :       authorityInfoAccess (1 3 6 1 5 5 7 1 1)
 919  205:      OCTET STRING, encapsulates {
 922  202:       SEQUENCE {
 925   68:        SEQUENCE {
 927    8:         OBJECT IDENTIFIER
         :          caIssuers (1 3 6 1 5 5 7 48 2)
 937   56:         [6]
         :         'http://testgost2012.cryptopro.ru/CertEnroll/root'
         :         '2018.crt'
         :          }
 995   63:        SEQUENCE {
 997    8:         OBJECT IDENTIFIER
         :          ocsp (1 3 6 1 5 5 7 48 1)
1007   51:         [6]
         :         'http://testgost2012.cryptopro.ru/ocsp2012g/ocsp.'
         :          'srf'
         :          }
1060   65:        SEQUENCE {
1062    8:         OBJECT IDENTIFIER
         :          ocsp (1 3 6 1 5 5 7 48 1)
1072   53:         [6]
         :         'http://testgost2012.cryptopro.ru/ocsp2012gst/ocs'
         :          'p.srf'
         :          }
         :         }
         :        }
         :       }
         :      }
         :     }
         :    }
1127   10:  SEQUENCE {
1129    8:   OBJECT IDENTIFIER
         :    gost2012Signature256 (1 2 643 7 1 1 3 2)
         :    }
1139   65:  BIT STRING
         : a5 39 5f ca 48 e1 c2 93 c1 e0 8a 64 74 0f 6b 86
         : a2 15 9b 46 29 d0 42 71 4f ce e7 52 d7 d7 3d aa
         : 47 ce cf 52 63 8f 26 b2 17 5f ad 96 57 76 ea 5f
         : d0 87 bb 12 29 e4 06 0e e1 5f fd 59 81 fb 34 6d
         :   }
]]>
</sourcecode>

            <t>
        <t indent="0" pn="section-appendix.a.2-14"> CA certificate:
        </t>
        <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2-15">
0000000000: 30 82 05 1c 30 82 04 c9 a0 03 02 01 02 02 10 3b
0000000010: 20 8a e5 fd 46 68 86 49 a0 50 fa af a8 83 93 30
0000000020: 0a 06 08 2a 85 03 07 01 01 03 02 30 82 01 0a 31
0000000030: 18 30 16 06 05 2a 85 03 64 01 12 0d 31 32 33 34
0000000040: 35 36 37 38 39 30 31 32 33 31 1a 30 18 06 08 2a
0000000050: 85 03 03 81 03 01 01 12 0c 30 30 31 32 33 34 35
0000000060: 36 37 38 39 30 31 2f 30 2d 06 03 55 04 09 0c 26
0000000070: d1 83 d0 bb 2e 20 d0 a1 d1 83 d1 89 d1 91 d0 b2
0000000080: d1 81 d0 ba d0 b8 d0 b9 20 d0 b2 d0 b0 d0 bb 20
0000000090: d0 b4 2e 20 31 38 31 0b 30 09 06 03 55 04 06 13
00000000A0: 02 52 55 31 19 30 17 06 03 55 04 08 0c 10 d0 b3
00000000B0: 2e 20 d0 9c d0 be d1 81 d0 ba d0 b2 d0 b0 31 15
00000000C0: 30 13 06 03 55 04 07 0c 0c d0 9c d0 be d1 81 d0
00000000D0: ba d0 b2 d0 b0 31 25 30 23 06 03 55 04 0a 0c 1c
00000000E0: d0 9e d0 9e d0 9e 20 22 d0 9a d0 a0 d0 98 d0 9f
00000000F0: d0 a2 d0 9e 2d d0 9f d0 a0 d0 9e 22 31 3b 30 39
0000000100: 06 03 55 04 03 0c 32 d0 a2 d0 b5 d1 81 d1 82 d0
0000000110: be d0 b2 d1 8b d0 b9 20 d0 a3 d0 a6 20 d0 9e d0
0000000120: 9e d0 9e 20 22 d0 9a d0 a0 d0 98 d0 9f d0 a2 d0
0000000130: 9e 2d d0 9f d0 a0 d0 9e 22 30 1e 17 0d 31 38 30
0000000140: 39 31 32 31 30 31 39 33 30 5a 17 0d 32 33 30 39
0000000150: 31 32 31 30 32 38 35 35 5a 30 82 01 0a 31 18 30
0000000160: 16 06 05 2a 85 03 64 01 12 0d 31 32 33 34 35 36
0000000170: 37 38 39 30 31 32 33 31 1a 30 18 06 08 2a 85 03
0000000180: 03 81 03 01 01 12 0c 30 30 31 32 33 34 35 36 37
0000000190: 38 39 30 31 2f 30 2d 06 03 55 04 09 0c 26 d1 83
00000001A0: d0 bb 2e 20 d0 a1 d1 83 d1 89 d1 91 d0 b2 d1 81
00000001B0: d0 ba d0 b8 d0 b9 20 d0 b2 d0 b0 d0 bb 20 d0 b4
00000001C0: 2e 20 31 38 31 0b 30 09 06 03 55 04 06 13 02 52
00000001D0: 55 31 19 30 17 06 03 55 04 08 0c 10 d0 b3 2e 20
00000001E0: d0 9c d0 be d1 81 d0 ba d0 b2 d0 b0 31 15 30 13
00000001F0: 06 03 55 04 07 0c 0c d0 9c d0 be d1 81 d0 ba d0
0000000200: b2 d0 b0 31 25 30 23 06 03 55 04 0a 0c 1c d0 9e
0000000210: d0 9e d0 9e 20 22 d0 9a d0 a0 d0 98 d0 9f d0 a2
0000000220: d0 9e 2d d0 9f d0 a0 d0 9e 22 31 3b 30 39 06 03
0000000230: 55 04 03 0c 32 d0 a2 d0 b5 d1 81 d1 82 d0 be d0
0000000240: b2 d1 8b d0 b9 20 d0 a3 d0 a6 20 d0 9e d0 9e d0
0000000250: 9e 20 22 d0 9a d0 a0 d0 98 d0 9f d0 a2 d0 9e 2d
0000000260: d0 9f d0 a0 d0 9e 22 30 66 30 1f 06 08 2a 85 03
0000000270: 07 01 01 01 01 30 13 06 07 2a 85 03 02 02 23 01
0000000280: 06 08 2a 85 03 07 01 01 02 02 03 43 00 04 40 98
0000000290: 1f fd a9 50 cd 21 86 30 f4 59 06 72 a9 d6 3d 6b
00000002A0: c0 33 82 06 46 37 e3 dc 21 4a b1 f8 9f b7 56 ec
00000002B0: a5 2d b5 81 87 b6 9d c2 2e df fd 09 33 53 9c 18
00000002C0: 32 ac d7 42 2e 09 a5 f4 36 a3 a5 c1 d2 22 f0 a3
00000002D0: 82 01 fe 30 82 01 fa 30 36 06 05 2a 85 03 64 6f
00000002E0: 04 2d 0c 2b 22 d0 9a d1 80 d0 b8 d0 bf d1 82 d0
00000002F0: be d0 9f d1 80 d0 be 20 43 53 50 22 20 28 d0 b2
0000000300: d0 b5 d1 80 d1 81 d0 b8 d1 8f 20 34 2e 30 29 30
0000000310: 82 01 21 06 05 2a 85 03 64 70 04 82 01 16 30 82
0000000320: 01 12 0c 2b 22 d0 9a d1 80 d0 b8 d0 bf d1 82 d0
0000000330: be d0 9f d1 80 d0 be 20 43 53 50 22 20 28 d0 b2
0000000340: d0 b5 d1 80 d1 81 d0 b8 d1 8f 20 34 2e 30 29 0c
0000000350: 41 d0 a3 d0 b4 d0 be d1 81 d1 82 d0 be d0 b2 d0
0000000360: b5 d1 80 d1 8f d1 8e d1 89 d0 b8 d0 b9 20 d1 86
0000000370: d0 b5 d0 bd d1 82 d1 80 20 22 d0 9a d1 80 d0 b8
0000000380: d0 bf d1 82 d0 be d0 9f d1 80 d0 be 20 d0 a3 d0
0000000390: a6 22 0c 4f d0 a1 d0 b5 d1 80 d1 82 d0 b8 d1 84
00000003A0: d0 b8 d0 ba d0 b0 d1 82 20 d1 81 d0 be d0 be d1
00000003B0: 82 d0 b2 d0 b5 d1 82 d1 81 d1 82 d0 b2 d0 b8 d1
00000003C0: 8f 20 e2 84 96 20 d0 a1 d0 a4 2f 30 30 30 2d 30
00000003D0: 30 30 30 20 d0 be d1 82 20 30 30 2e 30 30 2e 30
00000003E0: 30 30 30 0c 4f d0 a1 d0 b5 d1 80 d1 82 d0 b8 d1
00000003F0: 84 d0 b8 d0 ba d0 b0 d1 82 20 d1 81 d0 be d0 be
0000000400: d1 82 d0 b2 d0 b5 d1 82 d1 81 d1 82 d0 b2 d0 b8
0000000410: d1 8f 20 e2 84 96 20 d0 a1 d0 a4 2f 30 30 30 2d
0000000420: 30 30 30 30 20 d0 be d1 82 20 30 30 2e 30 30 2e
0000000430: 30 30 30 30 30 0b 06 03 55 1d 0f 04 04 03 02 01
0000000440: 86 30 0f 06 03 55 1d 13 01 01 ff 04 05 30 03 01
0000000450: 01 ff 30 1d 06 03 55 1d 0e 04 16 04 14 9b 85 5e
0000000460: fb 81 dc 4d 59 07 51 63 cf be df da 2c 7f c9 44
0000000470: 3c 30 12 06 09 2b 06 01 04 01 82 37 15 01 04 05
0000000480: 02 03 01 00 01 30 25 06 03 55 1d 20 04 1e 30 1c
0000000490: 30 08 06 06 2a 85 03 64 71 01 30 08 06 06 2a 85
00000004A0: 03 64 71 02 30 06 06 04 55 1d 20 00 30 23 06 09
00000004B0: 2b 06 01 04 01 82 37 15 02 04 16 04 14 c8 da 66
00000004C0: cb b6 97 d2 3e c9 67 1d c2 5b 64 3a ab dc bb cf
00000004D0: 69 30 0a 06 08 2a 85 03 07 01 01 03 02 03 41 00
00000004E0: 3e 95 cd d8 1f 95 bd 09 ab 73 82 f5 04 e0 f2 66
00000004F0: 12 32 82 9b 2b 03 cc 4b c0 b3 73 f8 e7 0d d6 bd
0000000500: 83 c8 27 2d 01 c1 ec ef 65 5d ac 77 fd dd da 9d
0000000510: 04 e2 bf e8 02 7f 87 36 1b cf ac 7a 28 9c 21 fe
]]>
</sourcecode>
        <sourcecode type="asn.1">
<![CDATA[ type="asn.1" markers="false" pn="section-appendix.a.2-16">
   0 1308: SEQUENCE {
   4 1225:  SEQUENCE {
   8    3:   [0] {
  10    1:    INTEGER 2
         :     }
  13   16:   INTEGER
         : 3b 20 8a e5 fd 46 68 86 49 a0 50 fa af a8 83 93
  31   10:   SEQUENCE {
  33    8:    OBJECT IDENTIFIER
         :     gost2012Signature256 (1 2 643 7 1 1 3 2)
         :     }
  43  266:   SEQUENCE {
  47   24:    SET {
  49   22:     SEQUENCE {
  51    5:      OBJECT IDENTIFIER '1 2 643 100 1'
  58   13:      NumericString '1234567890123'
         :       }
         :      }
  73   26:    SET {
  75   24:     SEQUENCE {
  77    8:      OBJECT IDENTIFIER '1 2 643 3 131 1 1'
  87   12:      NumericString '001234567890'
         :       }
         :      }
 101   47:    SET {
 103   45:     SEQUENCE {
 105    3:      OBJECT IDENTIFIER
         :       streetAddress (2 5 4 9)
 110   38:      UTF8String 'ул. Сущёвский вал д. 18'
         :       }
         :      }
 150   11:    SET {
 152    9:     SEQUENCE {
 154    3:      OBJECT IDENTIFIER
         :       countryName (2 5 4 6)
 159    2:      PrintableString 'RU'
         :       }
         :      }
 163   25:    SET {
 165   23:     SEQUENCE {
 167    3:      OBJECT IDENTIFIER
         :       stateOrProvinceName (2 5 4 8)
 172   16:      UTF8String 'г. Москва'
         :       }
         :      }
 190   21:    SET {
 192   19:     SEQUENCE {
 194    3:      OBJECT IDENTIFIER
         :       localityName (2 5 4 7)
 199   12:      UTF8String 'Москва'
         :       }
         :      }
 213   37:    SET {
 215   35:     SEQUENCE {
 217    3:      OBJECT IDENTIFIER
         :       organizationName (2 5 4 10)
 222   28:      UTF8String 'ООО "КРИПТО-ПРО"'
         :       }
         :      }
 252   59:    SET {
 254   57:     SEQUENCE {
 256    3:      OBJECT IDENTIFIER
         :       commonName (2 5 4 3)
 261   50:      UTF8String
         :       'Тестовый УЦ ООО "КРИПТО-ПРО"'
         :       }
         :      }
         :     }
 313   30:   SEQUENCE {
 315   13:    UTCTime 12/09/2018 10:19:30 GMT
 330   13:    UTCTime 12/09/2023 10:28:55 GMT
         :     }
 345  266:   SEQUENCE {
 349   24:    SET {
 351   22:     SEQUENCE {
 353    5:      OBJECT IDENTIFIER '1 2 643 100 1'
 360   13:      NumericString '1234567890123'
         :       }
         :      }
 375   26:    SET {
 377   24:     SEQUENCE {
 379    8:      OBJECT IDENTIFIER '1 2 643 3 131 1 1'
 389   12:      NumericString '001234567890'
         :       }
         :      }
 403   47:    SET {
 405   45:     SEQUENCE {
 407    3:      OBJECT IDENTIFIER
         :       streetAddress (2 5 4 9)
 412   38:      UTF8String 'ул. Сущёвский вал д. 18'
         :       }
         :      }
 452   11:    SET {
 454    9:     SEQUENCE {
 456    3:      OBJECT IDENTIFIER
         :       countryName (2 5 4 6)
 461    2:      PrintableString 'RU'
         :       }
         :      }
 465   25:    SET {
 467   23:     SEQUENCE {
 469    3:      OBJECT IDENTIFIER
         :       stateOrProvinceName (2 5 4 8)
 474   16:      UTF8String 'г. Москва'
         :       }
         :      }
 492   21:    SET {
 494   19:     SEQUENCE {
 496    3:      OBJECT IDENTIFIER
         :       localityName (2 5 4 7)
 501   12:      UTF8String 'Москва'
         :       }
         :      }
 515   37:    SET {
 517   35:     SEQUENCE {
 519    3:      OBJECT IDENTIFIER
         :       organizationName (2 5 4 10)
 524   28:      UTF8String 'ООО "КРИПТО-ПРО"'
         :       }
         :      }
 554   59:    SET {
 556   57:     SEQUENCE {
 558    3:      OBJECT IDENTIFIER
         :       commonName (2 5 4 3)
 563   50:      UTF8String
         :       'Тестовый УЦ ООО "КРИПТО-ПРО"'
         :       }
         :      }
         :     }
 615  102:   SEQUENCE {
 617   31:    SEQUENCE {
 619    8:     OBJECT IDENTIFIER
         :      gost2012PublicKey256 (1 2 643 7 1 1 1 1)
 629   19:     SEQUENCE {
 631    7:      OBJECT IDENTIFIER
         :       cryptoProSignA (1 2 643 2 2 35 1)
 640    8:      OBJECT IDENTIFIER
         :       gost2012Digest256 (1 2 643 7 1 1 2 2)
         :       }
         :      }
 650   67:    BIT STRING, encapsulates {
 653   64:     OCTET STRING
         : 98 1f fd a9 50 cd 21 86 30 f4 59 06 72 a9 d6 3d
         : 6b c0 33 82 06 46 37 e3 dc 21 4a b1 f8 9f b7 56
         : ec a5 2d b5 81 87 b6 9d c2 2e df fd 09 33 53 9c
         : 18 32 ac d7 42 2e 09 a5 f4 36 a3 a5 c1 d2 22 f0
         :      }
         :     }
 719  510:   [3] {
 723  506:    SEQUENCE {
 727   54:     SEQUENCE {
 729    5:      OBJECT IDENTIFIER '1 2 643 100 111'
 736   45:      OCTET STRING, encapsulates {
 738   43:       UTF8String
         :        '"КриптоПро CSP" (версия 4.0)'
         :        }
         :       }
 783  289:     SEQUENCE {
 787    5:      OBJECT IDENTIFIER '1 2 643 100 112'
 794  278:      OCTET STRING, encapsulates {
 798  274:       SEQUENCE {
 802   43:        UTF8String
         :         '"КриптоПро CSP" (версия 4.0)'
 847   65:        UTF8String
         :         'Удостоверяющий центр "КриптоПро УЦ"'
 914   79:        UTF8String
         :         'Сертификат соответствия № СФ/000-0000 от 00.00.'
         :         '0000'
 995   79:        UTF8String
         :         'Сертификат соответствия № СФ/000-0000 от 00.00.'
         :         '0000'
         :         }
         :        }
         :       }
1076   11:     SEQUENCE {
1078    3:      OBJECT IDENTIFIER
         :       keyUsage (2 5 29 15)
1083    4:      OCTET STRING, encapsulates {
1085    2:       BIT STRING 1 unused bit
         :        '1100001'B
         :        }
         :       }
1089   15:     SEQUENCE {
1091    3:      OBJECT IDENTIFIER
         :       basicConstraints (2 5 29 19)
1096    1:      BOOLEAN TRUE
1099    5:      OCTET STRING, encapsulates {
1101    3:       SEQUENCE {
1103    1:        BOOLEAN TRUE
         :         }
         :        }
         :       }
1106   29:     SEQUENCE {
1108    3:      OBJECT IDENTIFIER
         :       subjectKeyIdentifier (2 5 29 14)
1113   22:      OCTET STRING, encapsulates {
1115   20:       OCTET STRING
         : 9b 85 5e fb 81 dc 4d 59 07 51 63 cf be df da 2c
         : 7f c9 44 3c
         :        }
         :       }
1137   18:     SEQUENCE {
1139    9:      OBJECT IDENTIFIER
         :       cAKeyCertIndexPair (1 3 6 1 4 1 311 21 1)
1150    5:      OCTET STRING, encapsulates {
1152    3:       INTEGER 65537
         :        }
         :       }
1157   37:     SEQUENCE {
1159    3:      OBJECT IDENTIFIER
         :       certificatePolicies (2 5 29 32)
1164   30:      OCTET STRING, encapsulates {
1166   28:       SEQUENCE {
1168    8:        SEQUENCE {
1170    6:         OBJECT IDENTIFIER '1 2 643 100 113 1'
         :          }
1178    8:        SEQUENCE {
1180    6:         OBJECT IDENTIFIER '1 2 643 100 113 2'
         :          }
1188    6:        SEQUENCE {
1190    4:         OBJECT IDENTIFIER
         :          anyPolicy (2 5 29 32 0)
         :          }
         :         }
         :        }
         :       }
1196   35:     SEQUENCE {
1198    9:      OBJECT IDENTIFIER
         :       certSrvPreviousCertHash (1 3 6 1 4 1 311 21 2)
1209   22:      OCTET STRING, encapsulates {
1211   20:       OCTET STRING
         : c8 da 66 cb b6 97 d2 3e c9 67 1d c2 5b 64 3a ab
         : dc bb cf 69
         :        }
         :       }
         :      }
         :     }
         :    }
1233   10:  SEQUENCE {
1235    8:   OBJECT IDENTIFIER
         :    gost2012Signature256 (1 2 643 7 1 1 3 2)
         :    }
1245   65:  BIT STRING
         : 3e 95 cd d8 1f 95 bd 09 ab 73 82 f5 04 e0 f2 66
         : 12 32 82 9b 2b 03 cc 4b c0 b3 73 f8 e7 0d d6 bd
         : 83 c8 27 2d 01 c1 ec ef 65 5d ac 77 fd dd da 9d
         : 04 e2 bf e8 02 7f 87 36 1b cf ac 7a 28 9c 21 fe
         :   }
]]>
</sourcecode>
            <t>
        <t indent="0" pn="section-appendix.a.2-17"> This scenario includes four sub-scenarios. sub-scenarios, which are described below.
        </t>

            <ol group="scenario2"  type="Sub-scenario %d:">
              <li> Establishing
        <section anchor="scenario2-1" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a.2.1">
          <name slugifiedName="name-sub-scenario-1-establishment">Sub-Scenario 1: Establishment of IKE and ESP SAs using Using the IKE_SA_INIT and the IKE_AUTH exchanges.
                <sourcecode type="test-vectors">
<![CDATA[ Exchanges</name>
          <artwork type="" align="left" pn="section-appendix.a.2.1-1">
Initiator                             Responder

HDR, SAi1, KEi, Ni [,N+]      --->
                              <---      ---&gt;
                              &lt;---    HDR, N(INVALID_KE_PAYLOAD)

HDR, SAi1, KEi, Ni [,N+]      --->
                              <---      ---&gt;
                              &lt;---    HDR, SAr1, KEr, Nr
                                           [,CERTREQ] [,N+]

HDR, SK {IDi, [CERT,]
     [CERTREQ,] [IDr,] [N+,]
     AUTH, SAi2, TSi, TSr}    --->
                              <---    ---&gt;
                              &lt;---    HDR, SK {IDr, [CERT,] [N+,]
                                           AUTH, SAr2, TSi, TSr}
]]>
                </sourcecode>
              </li>
            </ol>

<t>Initiator's
</artwork>
          <t indent="0" pn="section-appendix.a.2.1-2">Initiator's actions:</t>
          <ol start="1" type="(%d)" group="data5.txt">
<li> group="data5.txt" indent="adaptive" spacing="normal" pn="section-appendix.a.2.1-3">
<li pn="section-appendix.a.2.1-3.1" derivedCounter="(1)">
              <t indent="0" pn="section-appendix.a.2.1-3.1.1">
Generates random SPIi for IKE SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-3.1.2">
00000000: 92 80 e0 82 2e 75 87 78
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-3.2" derivedCounter="(2)">
              <t indent="0" pn="section-appendix.a.2.1-3.2.1">
Generates random IKE nonce Ni
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-3.2.2">
00000000: 98 44 d5 40 ef 89 46 f4 55 20 0a 55 73 dc ad 73
00000010: dd 2a 6f a8 31 f8 49 05 f5 8e 17 a2 6c cc 01 1f
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-3.3" derivedCounter="(3)">
              <t indent="0" pn="section-appendix.a.2.1-3.3.1">
Generates ephemeral private key (512 bit)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-3.3.2">
00000000: 82 fb 1c 90 c3 a3 c2 16 7f 76 15 5d 69 06 f8 47
00000010: 3e fe 83 3e 21 cd e7 a4 e5 cd d9 71 ef d3 c5 db
00000020: 7e de 50 70 48 96 90 01 0c 81 02 b9 4b 56 f6 47
00000030: cb 27 40 25 58 55 80 32 e9 59 17 10 3b 0f eb 3b
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-3.4" derivedCounter="(4)">
              <t indent="0" pn="section-appendix.a.2.1-3.4.1">
Computes public key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-3.4.2">
00000000: 89 77 c6 d7 2b 08 5d d5 48 b1 ea 5d 99 c5 03 09
00000010: c6 62 fe d7 7d 84 a4 d8 8b 9b a5 c8 3a 7a 05 86
00000020: e2 0d 8d 9b 5d ce 01 18 e2 d2 da 73 83 ee 30 ad
00000030: 49 88 44 6f bd 18 78 b4 bb da c9 df 1a ca d1 2a
00000040: 05 98 75 da 9e 9a 21 e4 db 71 8f af d1 96 c7 8b
00000050: de 9a b2 98 f7 55 bb 74 38 34 a4 da 47 ab 86 15
00000060: d4 c8 33 70 b7 02 79 b8 7f c2 97 6d 03 8f 2d 08
00000070: d7 ab ac 85 4c bf 5a f6 27 57 ad fe 61 50 5e 45
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-3.5" derivedCounter="(5)">
              <t indent="0" pn="section-appendix.a.2.1-3.5.1">
Creates message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-3.5.2">
IKE SA Init
9280E0822E758778.0000000000000000.00000000 IKEv2 R<-I[328] R&lt;-I[328]
  SA[52]{
    P[48](#1:IKE::5#){
      Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
                 ENCR_MAGMA_MGM_KTREE,
      PRF=PRF_HMAC_STREEBOG_512,
      KE=GOST3410_2012_512,
         GOST3410_2012_256}},
  KE[136](GOST3410_2012_512){8977C6...505E45},
  NONCE[36]{9844D5...CC011F},
  N[28](NAT_DETECTION_SOURCE_IP){000000...000000},
  N[28](NAT_DETECTION_DESTINATION_IP){7D2124...4E6F10},
  N[8](IKEV2_FRAGMENTATION_SUPPORTED),
  N[12](SIGNATURE_HASH_ALGORITHMS){STREEBOG_256, STREEBOG_512}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-3.6" derivedCounter="(6)">
              <t indent="0" pn="section-appendix.a.2.1-3.6.1">
Sends message, peer receives message<sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54294->10.111.15.45:500 message</t>
              <sourcecode type="test-vectors" markers="false" pn="section-appendix.a.2.1-3.6.2">
       10.111.10.171:54294-&gt;10.111.15.45:500 [328]

00000000: 92 80 e0 82 2e 75 87 78 00 00 00 00 00 00 00 00
00000010: 21 20 22 08 00 00 00 00 00 00 01 48 22 00 00 34
00000020: 00 00 00 30 01 01 00 05 03 00 00 08 01 00 00 20
00000030: 03 00 00 08 01 00 00 21 03 00 00 08 02 00 00 09
00000040: 03 00 00 08 04 00 00 22 00 00 00 08 04 00 00 21
00000050: 28 00 00 88 00 22 00 00 89 77 c6 d7 2b 08 5d d5
00000060: 48 b1 ea 5d 99 c5 03 09 c6 62 fe d7 7d 84 a4 d8
00000070: 8b 9b a5 c8 3a 7a 05 86 e2 0d 8d 9b 5d ce 01 18
00000080: e2 d2 da 73 83 ee 30 ad 49 88 44 6f bd 18 78 b4
00000090: bb da c9 df 1a ca d1 2a 05 98 75 da 9e 9a 21 e4
000000A0: db 71 8f af d1 96 c7 8b de 9a b2 98 f7 55 bb 74
000000B0: 38 34 a4 da 47 ab 86 15 d4 c8 33 70 b7 02 79 b8
000000C0: 7f c2 97 6d 03 8f 2d 08 d7 ab ac 85 4c bf 5a f6
000000D0: 27 57 ad fe 61 50 5e 45 29 00 00 24 98 44 d5 40
000000E0: ef 89 46 f4 55 20 0a 55 73 dc ad 73 dd 2a 6f a8
000000F0: 31 f8 49 05 f5 8e 17 a2 6c cc 01 1f 29 00 00 1c
00000100: 00 00 40 04 00 00 00 00 00 00 00 00 00 00 00 00
00000110: 00 00 00 00 00 00 00 00 29 00 00 1c 00 00 40 05
00000120: 7d 21 24 87 89 d7 95 71 bd a2 2d 22 9d 51 d0 71
00000130: e9 4e 6f 10 29 00 00 08 00 00 40 2e 00 00 00 0c
00000140: 00 00 40 2f 00 06 00 07
]]>
</sourcecode>
            </li>
          </ol>
<t>Responder's
          <t indent="0" pn="section-appendix.a.2.1-4">Responder's actions:</t>
          <ol type="(%d)" group="data5.txt">
<li> group="data5.txt" start="7" indent="adaptive" spacing="normal" pn="section-appendix.a.2.1-5">
<li pn="section-appendix.a.2.1-5.1" derivedCounter="(7)">
              <t indent="0" pn="section-appendix.a.2.1-5.1.1">
Parses received message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-5.1.2">
IKE SA Init
9280E0822E758778.0000000000000000.00000000 IKEv2 I->R[328] I-&gt;R[328]
  SA[52]{
    P[48](#1:IKE::5#){
      Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
                 ENCR_MAGMA_MGM_KTREE,
      PRF=PRF_HMAC_STREEBOG_512,
      KE=GOST3410_2012_512,
         GOST3410_2012_256}},
  KE[136](GOST3410_2012_512){8977C6...505E45},
  NONCE[36]{9844D5...CC011F},
  N[28](NAT_DETECTION_SOURCE_IP){000000...000000},
  N[28](NAT_DETECTION_DESTINATION_IP){7D2124...4E6F10},
  N[8](IKEV2_FRAGMENTATION_SUPPORTED),
  N[12](SIGNATURE_HASH_ALGORITHMS){STREEBOG_256, STREEBOG_512}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-5.2" derivedCounter="(8)">
              <t indent="0" pn="section-appendix.a.2.1-5.2.1">
Creates message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-5.2.2">
IKE SA Init
9280E0822E758778.0000000000000000.00000000 IKEv2 I<=R[38] I&lt;=R[38]
  N[10](INVALID_KE_PAYLOAD){GOST3410_2012_256}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-5.3" derivedCounter="(9)">
              <t indent="0" pn="section-appendix.a.2.1-5.3.1">
Sends message, peer receives message<sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54294<-10.111.15.45:500 message</t>
              <sourcecode type="test-vectors" markers="false" pn="section-appendix.a.2.1-5.3.2">
       10.111.10.171:54294&lt;-10.111.15.45:500 [38]

00000000: 92 80 e0 82 2e 75 87 78 00 00 00 00 00 00 00 00
00000010: 29 20 22 20 00 00 00 00 00 00 00 26 00 00 00 0a
00000020: 00 00 00 11 00 21
]]>
</sourcecode>
            </li>
          </ol>
<t>Initiator's
          <t indent="0" pn="section-appendix.a.2.1-6">Initiator's actions:</t>
          <ol type="(%d)" group="data5.txt">
<li> group="data5.txt" start="10" indent="adaptive" spacing="normal" pn="section-appendix.a.2.1-7">
<li pn="section-appendix.a.2.1-7.1" derivedCounter="(10)">
              <t indent="0" pn="section-appendix.a.2.1-7.1.1">
Parses received message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-7.1.2">
IKE SA Init
9280E0822E758778.0000000000000000.00000000 IKEv2 R=>I[38] R=&gt;I[38]
  N[10](INVALID_KE_PAYLOAD){GOST3410_2012_256}}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-7.2" derivedCounter="(11)">
              <t indent="0" pn="section-appendix.a.2.1-7.2.1">
Generates ephemeral private key (256 bit)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-7.2.2">
00000000: b9 7c ac df 01 43 44 dd 54 92 33 63 4a 6e da 64
00000010: 38 5b 6a 9c c0 3c 6c 41 c5 02 eb 63 d1 e6 24 21
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-7.3" derivedCounter="(12)">
              <t indent="0" pn="section-appendix.a.2.1-7.3.1">
Computes public key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-7.3.2">
00000000: 7d b0 49 81 88 6d 1b 02 b2 a6 35 c5 8b ea 90 8c
00000010: 3e 16 de e5 43 13 22 0b ad f5 89 9f 7f 85 54 2d
00000020: 3e db 1e de 85 f7 d5 5d 6f 83 c5 d0 31 bd 31 49
00000030: dd 29 c5 16 16 7d ec 86 16 d8 85 e6 e4 50 ab 46
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-7.4" derivedCounter="(13)">
              <t indent="0" pn="section-appendix.a.2.1-7.4.1">
Creates message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-7.4.2">
IKE SA Init
9280E0822E758778.0000000000000000.00000000 IKEv2 R<-I[264] R&lt;-I[264]
  SA[52]{
    P[48](#1:IKE::5#){
      Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
                 ENCR_MAGMA_MGM_KTREE,
      PRF=PRF_HMAC_STREEBOG_512,
      KE=GOST3410_2012_512,
         GOST3410_2012_256}},
  KE[72](GOST3410_2012_256){7DB049...50AB46},
  NONCE[36]{9844D5...CC011F},
  N[28](NAT_DETECTION_SOURCE_IP){000000...000000},
  N[28](NAT_DETECTION_DESTINATION_IP){7D2124...4E6F10},
  N[8](IKEV2_FRAGMENTATION_SUPPORTED),
  N[12](SIGNATURE_HASH_ALGORITHMS){STREEBOG_256, STREEBOG_512}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-7.5" derivedCounter="(14)">
              <t indent="0" pn="section-appendix.a.2.1-7.5.1">
Sends message, peer receives message<sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54294->10.111.15.45:500 message</t>
              <sourcecode type="test-vectors" markers="false" pn="section-appendix.a.2.1-7.5.2">
       10.111.10.171:54294-&gt;10.111.15.45:500 [264]

00000000: 92 80 e0 82 2e 75 87 78 00 00 00 00 00 00 00 00
00000010: 21 20 22 08 00 00 00 00 00 00 01 08 22 00 00 34
00000020: 00 00 00 30 01 01 00 05 03 00 00 08 01 00 00 20
00000030: 03 00 00 08 01 00 00 21 03 00 00 08 02 00 00 09
00000040: 03 00 00 08 04 00 00 22 00 00 00 08 04 00 00 21
00000050: 28 00 00 48 00 21 00 00 7d b0 49 81 88 6d 1b 02
00000060: b2 a6 35 c5 8b ea 90 8c 3e 16 de e5 43 13 22 0b
00000070: ad f5 89 9f 7f 85 54 2d 3e db 1e de 85 f7 d5 5d
00000080: 6f 83 c5 d0 31 bd 31 49 dd 29 c5 16 16 7d ec 86
00000090: 16 d8 85 e6 e4 50 ab 46 29 00 00 24 98 44 d5 40
000000A0: ef 89 46 f4 55 20 0a 55 73 dc ad 73 dd 2a 6f a8
000000B0: 31 f8 49 05 f5 8e 17 a2 6c cc 01 1f 29 00 00 1c
000000C0: 00 00 40 04 00 00 00 00 00 00 00 00 00 00 00 00
000000D0: 00 00 00 00 00 00 00 00 29 00 00 1c 00 00 40 05
000000E0: 7d 21 24 87 89 d7 95 71 bd a2 2d 22 9d 51 d0 71
000000F0: e9 4e 6f 10 29 00 00 08 00 00 40 2e 00 00 00 0c
00000100: 00 00 40 2f 00 06 00 07
]]>
</sourcecode>
            </li>
          </ol>
<t>Responder's
          <t indent="0" pn="section-appendix.a.2.1-8">Responder's actions:</t>
          <ol type="(%d)" group="data5.txt">
<li> group="data5.txt" start="15" indent="adaptive" spacing="normal" pn="section-appendix.a.2.1-9">
<li pn="section-appendix.a.2.1-9.1" derivedCounter="(15)">
              <t indent="0" pn="section-appendix.a.2.1-9.1.1">
Parses received message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-9.1.2">
IKE SA Init
9280E0822E758778.0000000000000000.00000000 IKEv2 I->R[264] I-&gt;R[264]
  SA[52]{
    P[48](#1:IKE::5#){
      Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
                 ENCR_MAGMA_MGM_KTREE,
      PRF=PRF_HMAC_STREEBOG_512,
      KE=GOST3410_2012_512,
         GOST3410_2012_256}},
  KE[72](GOST3410_2012_256){7DB049...50AB46},
  NONCE[36]{9844D5...CC011F},
  N[28](NAT_DETECTION_SOURCE_IP){000000...000000},
  N[28](NAT_DETECTION_DESTINATION_IP){7D2124...4E6F10},
  N[8](IKEV2_FRAGMENTATION_SUPPORTED),
  N[12](SIGNATURE_HASH_ALGORITHMS){STREEBOG_256, STREEBOG_512}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-9.2" derivedCounter="(16)">
              <t indent="0" pn="section-appendix.a.2.1-9.2.1">
Generates random SPIr for IKE SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-9.2.2">
00000000: db 57 8d 97 de 11 9d 1e
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-9.3" derivedCounter="(17)">
              <t indent="0" pn="section-appendix.a.2.1-9.3.1">
Generates random IKE nonce Nr
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-9.3.2">
00000000: 6c de 24 c1 2c 0a 10 d5 c3 fe 55 e8 7e 90 30 66
00000010: ee 54 5b 24 1c 3c 01 dd b3 98 06 ae d3 b5 00 48
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-9.4" derivedCounter="(18)">
              <t indent="0" pn="section-appendix.a.2.1-9.4.1">
Generates ephemeral private key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-9.4.2">
00000000: 46 fd 19 da 1c 77 e8 4c 12 69 cf c8 a2 2a 0b e9
00000010: 70 db c1 2c 9f 6d 88 0a 70 71 22 03 68 c6 fd 2d
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-9.5" derivedCounter="(19)">
              <t indent="0" pn="section-appendix.a.2.1-9.5.1">
Computes public key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-9.5.2">
00000000: 49 c2 40 f6 ac 35 f1 70 a7 c2 37 5e 9a 78 3c 09
00000010: 59 8d 55 3b 30 5b 64 58 db 2f 3c 36 f4 b1 db ad
00000020: ff c8 f4 b2 bd 14 cf 96 5b b2 d6 80 51 69 67 06
00000030: bd 16 39 0e 6d 07 83 e4 9d ed fd 04 f1 9e 07 a2
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-9.6" derivedCounter="(20)">
              <t indent="0" pn="section-appendix.a.2.1-9.6.1">
Computes hash of CA public key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-9.6.2">
00000000: 5e 9e 50 5f 58 b0 a5 7a 33 45 83 49 66 0f 1c 3c
00000010: 7a 67 71 98
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-9.7" derivedCounter="(21)">
              <t indent="0" pn="section-appendix.a.2.1-9.7.1">
Creates message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-9.7.2">
IKE SA Init
9280E0822E758778.DB578D97DE119D1E.00000000 IKEv2 I<=R[273] I&lt;=R[273]
  SA[36]{
    P[32](#1:IKE::3#){
      Encryption=ENCR_MAGMA_MGM_KTREE,
      PRF=PRF_HMAC_STREEBOG_512,
      KE=GOST3410_2012_256}},
  KE[72](GOST3410_2012_256){49C240...9E07A2},
  NONCE[36]{6CDE24...B50048},
  N[28](NAT_DETECTION_SOURCE_IP){A4DCA3...2F5B3F},
  N[28](NAT_DETECTION_DESTINATION_IP){BA7D7A...7AB7C9},
  CERTREQ[25](X.509 Cert){5E9E50...677198},
  N[8](IKEV2_FRAGMENTATION_SUPPORTED),
  N[12](SIGNATURE_HASH_ALGORITHMS){STREEBOG_256, STREEBOG_512}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-9.8" derivedCounter="(22)">
              <t indent="0" pn="section-appendix.a.2.1-9.8.1">
Sends message, peer receives message<sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54294<-10.111.15.45:500 message</t>
              <sourcecode type="test-vectors" markers="false" pn="section-appendix.a.2.1-9.8.2">
       10.111.10.171:54294&lt;-10.111.15.45:500 [273]

00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 21 20 22 20 00 00 00 00 00 00 01 11 22 00 00 24
00000020: 00 00 00 20 01 01 00 03 03 00 00 08 01 00 00 21
00000030: 03 00 00 08 02 00 00 09 00 00 00 08 04 00 00 21
00000040: 28 00 00 48 00 21 00 00 49 c2 40 f6 ac 35 f1 70
00000050: a7 c2 37 5e 9a 78 3c 09 59 8d 55 3b 30 5b 64 58
00000060: db 2f 3c 36 f4 b1 db ad ff c8 f4 b2 bd 14 cf 96
00000070: 5b b2 d6 80 51 69 67 06 bd 16 39 0e 6d 07 83 e4
00000080: 9d ed fd 04 f1 9e 07 a2 29 00 00 24 6c de 24 c1
00000090: 2c 0a 10 d5 c3 fe 55 e8 7e 90 30 66 ee 54 5b 24
000000A0: 1c 3c 01 dd b3 98 06 ae d3 b5 00 48 29 00 00 1c
000000B0: 00 00 40 04 a4 dc a3 62 54 e8 4b 53 2b ff e7 d2
000000C0: 26 83 f3 8f 28 2f 5b 3f 26 00 00 1c 00 00 40 05
000000D0: ba 7d 7a b8 48 82 72 f6 30 91 b6 ae 2b dd fb 48
000000E0: ba 7a b7 c9 29 00 00 19 04 5e 9e 50 5f 58 b0 a5
000000F0: 7a 33 45 83 49 66 0f 1c 3c 7a 67 71 98 29 00 00
00000100: 08 00 00 40 2e 00 00 00 0c 00 00 40 2f 00 06 00
00000110: 07
]]>
</sourcecode>
            </li>
          </ol>
<t>Initiator's
          <t indent="0" pn="section-appendix.a.2.1-10">Initiator's actions:</t>
          <ol type="(%d)" group="data5.txt">
<li> group="data5.txt" start="23" indent="adaptive" spacing="normal" pn="section-appendix.a.2.1-11">
<li pn="section-appendix.a.2.1-11.1" derivedCounter="(23)">
              <t indent="0" pn="section-appendix.a.2.1-11.1.1">
Parses received message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.1.2">
IKE SA Init
9280E0822E758778.DB578D97DE119D1E.00000000 IKEv2 R=>I[273] R=&gt;I[273]
  SA[36]{
    P[32](#1:IKE::3#){
      Encryption=ENCR_MAGMA_MGM_KTREE,
      PRF=PRF_HMAC_STREEBOG_512,
      KE=GOST3410_2012_256}},
  KE[72](GOST3410_2012_256){49C240...9E07A2},
  NONCE[36]{6CDE24...B50048},
  N[28](NAT_DETECTION_SOURCE_IP){A4DCA3...2F5B3F},
  N[28](NAT_DETECTION_DESTINATION_IP){BA7D7A...7AB7C9},
  CERTREQ[25](X.509 Cert){5E9E50...677198},
  N[8](IKEV2_FRAGMENTATION_SUPPORTED),
  N[12](SIGNATURE_HASH_ALGORITHMS){STREEBOG_256, STREEBOG_512}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.2" derivedCounter="(24)">
              <t indent="0" pn="section-appendix.a.2.1-11.2.1">
Computes shared key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.2.2">
00000000: bd 04 9d 0f 9c 5f 58 af c7 e4 01 bc 18 59 01 7c
00000010: 88 28 f9 f2 9f 33 01 5d 49 9a 7d 14 74 d4 31 ac
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.3" derivedCounter="(25)">
              <t indent="0" pn="section-appendix.a.2.1-11.3.1">
Computes SKEYSEED
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.3.2">
00000000: 9b ed 6c 79 64 b3 de 3a e4 9e dd 62 04 5a f0 8b
00000010: 43 88 33 d4 e6 9e 73 16 a1 1a 9e b2 b4 19 13 c5
00000020: d0 6d fb 86 40 11 c3 02 bb e5 a3 b5 e4 4a c4 c0
00000030: 9d 18 c6 94 de c3 c5 14 82 e7 a2 51 fe c4 98 ca
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.4" derivedCounter="(26)">
              <t indent="0" pn="section-appendix.a.2.1-11.4.1">
Computes SK_d
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.4.2">
00000000: c2 21 15 fd d3 99 3b 2a 43 60 c4 59 34 b0 be 3f
00000010: 53 ef 6e b1 dd 88 ad 72 55 dd 83 22 5c 6f e1 d6
00000020: 1f 1e ab 06 f9 41 cb c8 ea f9 dc fc 19 a0 2d bf
00000030: 9a 0a 3f 3a 9a 45 1f 08 b6 a9 2c 62 52 b7 26 34
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.5" derivedCounter="(27)">
              <t indent="0" pn="section-appendix.a.2.1-11.5.1">
Computes SK_ei
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.5.2">
00000000: 18 4e 4e 0f 36 28 bf 3c 9c 04 8e 93 bf a0 77 53
00000010: 91 34 12 81 42 e6 4e 62 7f db a5 ed 98 60 50 ff
00000020: b4 e1 3e 23
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.6" derivedCounter="(28)">
              <t indent="0" pn="section-appendix.a.2.1-11.6.1">
Computes SK_er
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.6.2">
00000000: e9 27 59 2f 09 49 68 1e 0e 62 db c6 19 06 73 13
00000010: cf da 5c 02 27 3e 4a b4 78 98 b4 86 d0 e9 34 f4
00000020: a5 bb 18 2f
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.7" derivedCounter="(29)">
              <t indent="0" pn="section-appendix.a.2.1-11.7.1">
Computes SK_pi
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.7.2">
00000000: 30 2c 10 8d 0f 61 47 00 f1 40 4f a9 4f af b5 30
00000010: 11 ba 5f 24 39 32 85 12 4e 7e 71 75 50 15 a6 93
00000020: c3 d0 5e 40 2e 21 8e b1 59 09 cd a4 eb b4 91 68
00000030: 29 42 fe e2 d8 76 8f a6 96 55 1f ab 6c 9b 00 f8
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.8" derivedCounter="(30)">
              <t indent="0" pn="section-appendix.a.2.1-11.8.1">
Computes SK_pr
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.8.2">
00000000: 6f 81 72 cb 96 58 fb 0e 17 70 b6 b9 1f a9 69 a9
00000010: fc c7 27 4f b4 e1 85 90 a0 c7 9f f9 72 11 61 2a
00000020: 35 b7 b7 96 d3 6a bb a5 aa b1 b8 34 8d 99 c6 f3
00000030: 2b fc 32 56 c1 94 71 04 55 bd 89 6a bf c3 8b fe
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.9" derivedCounter="(31)">
              <t indent="0" pn="section-appendix.a.2.1-11.9.1">
Computes prf(SK_pi, IDi)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.9.2">
00000000: ce e8 8b d1 7e 3c 83 32 eb d1 29 08 de dc 71 f4
00000010: 8f ba 09 b8 ca 5b 10 e2 f4 44 29 5c 97 7b 26 01
00000020: a4 ba 83 c8 ea 40 92 0f 88 18 bd e7 e1 c9 45 cf
00000030: ff 99 48 05 0d f4 93 a6 cd 54 46 d7 eb 7a 52 94
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.10" derivedCounter="(32)">
              <t indent="0" pn="section-appendix.a.2.1-11.10.1">
Uses private key for signing (little endian)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.10.2">
00000000: 76 E9 DD B3 F3 A2 08 A2 4E A5 81 9C AE 41 DA B4
00000010: 77 3C 1D D5 DC EB AF E6 58 B1 47 D2 D8 29 CE 71
00000020: 18 A9 85 5D 28 5B 3C E3 23 BD 80 AC 2F 00 CC B6
00000030: 61 4C 42 A1 65 61 02 CF 33 EB 1F 5F 02 CE 8A B9
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.11" derivedCounter="(33)">
              <t indent="0" pn="section-appendix.a.2.1-11.11.1">
Uses random number for signing
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.11.2">
00000000: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
00000010: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
00000020: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
00000030: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.12" derivedCounter="(34)">
              <t indent="0" pn="section-appendix.a.2.1-11.12.1">
Computes signature using algorithm id-tc26-signwithdigest-gost3410-12-512
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.12.2">
00000000: 6a 3e 59 0d 72 1e 55 a3 c0 d1 2f 8a 9b 4e 44 10
00000010: 58 59 bd 62 9e e7 12 31 e5 7d 01 53 f3 84 40 dd
00000020: ac 73 ed 09 3a 10 d9 6e 7f eb 80 6c 11 9e 91 f3
00000030: 7c 3c b0 55 f7 4b ec 0e 78 36 10 95 02 09 86 b3
00000040: 27 04 2a 83 3c 89 36 1b 73 cf 7b c9 e0 df a2 07
00000050: 12 1e 69 52 4d 89 1b de 6e 48 d1 34 fa 21 78 22
00000060: 88 2e 30 86 c0 80 0a 2d 74 af 08 ff 35 75 a5 79
00000070: e3 85 40 22 6b a8 42 f6 72 24 bf 29 87 58 a8 20
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.13" derivedCounter="(35)">
              <t indent="0" pn="section-appendix.a.2.1-11.13.1">
Computes K1i (i1 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.13.2">
00000000: 3c 57 d7 c8 9f 50 98 fc 86 81 d6 8a 4e 5d 83 c6
00000010: 1e 42 e6 e7 60 67 05 8d f5 2e 10 13 12 15 32 58
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.14" derivedCounter="(36)">
              <t indent="0" pn="section-appendix.a.2.1-11.14.1">
Computes K2i (i2 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.14.2">
00000000: 0b 88 0a 1b c8 3e 61 79 82 08 db 13 31 08 63 3c
00000010: 17 62 17 cb 7d 18 ce 70 37 84 85 f4 89 49 d0 06
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.15" derivedCounter="(37)">
              <t indent="0" pn="section-appendix.a.2.1-11.15.1">
Computes K3i (i3 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.15.2">
00000000: 18 63 41 67 49 6e cf 48 56 71 4d aa 42 63 5c 11
00000010: 2e 26 5b e2 7b c7 53 a4 09 82 e5 5a 7e f4 65 4d
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.16" derivedCounter="(38)">
              <t indent="0" pn="section-appendix.a.2.1-11.16.1">
Selects SPI for incoming ESP SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.16.2">
00000000: 6c 0c a5 70
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.17" derivedCounter="(39)">
              <t indent="0" pn="section-appendix.a.2.1-11.17.1">
Computes hash of CA public key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.17.2">
00000000: 5e 9e 50 5f 58 b0 a5 7a 33 45 83 49 66 0f 1c 3c
00000010: 7a 67 71 98
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.18" derivedCounter="(40)">
              <t indent="0" pn="section-appendix.a.2.1-11.18.1">
Creates message splitting it into 4 fragments
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.18.2">
IKE SA Auth
#9280E0822E758778.DB578D97DE119D1E.00000001 IKEv2 R<-I[1847]
  E[1819]->4*EF[...]{ R&lt;-I[1847]
  E[1819]-&gt;4*EF[...]{
    IDi[78](DN){CN=IKE Interop Test Client,O=ELVIS-PLUS,C=RU},
    CERT[1280](X.509 Cert){308204...A6C40A},
    CERTREQ[25](X.509 Cert){5E9E50...677198},
    IDr[78](DN){CN=IKE Interop Test Server,O=ELVIS-PLUS,C=RU},
    AUTH[149](Sig){id-tc26-signwithdigest-gost3410-12-512[12]:
              6A3E59...58A820},
    N[8](INITIAL_CONTACT),
    N[12](SET_WINDOW_SIZE){4},
    CP[16](REQUEST){IP4.Address[0], IP4.DNS[0]},
    SA[56]{
      P[52](#1:ESP:6C0CA570:5#){
        Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
                   ENCR_MAGMA_MGM_KTREE,
                   ENCR_KUZNYECHIK_MGM_MAC_KTREE,
                   ENCR_MAGMA_MGM_MAC_KTREE,
        ESN=Off}},
    TSi[40](2#){10.111.10.171:icmp:8.0, 0.0.0.0-255.255.255.255},
    TSr[40](2#){10.0.0.2:icmp:8.0, 10.0.0.0-10.0.0.255},
    N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
    N[8](NON_FIRST_FRAGMENTS_ALSO)}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.19" derivedCounter="(41)">
              <t indent="0" pn="section-appendix.a.2.1-11.19.1">
Composes MGM nonce (fragment 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.19.2">
00000000: 00 00 00 00 b4 e1 3e 23
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.20" derivedCounter="(42)">
              <t indent="0" pn="section-appendix.a.2.1-11.20.1">
Composes AAD (fragment 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.20.2">
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 08 00 00 00 01 00 00 02 20 23 00 02 04
00000020: 00 01 00 04
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.21" derivedCounter="(43)">
              <t indent="0" pn="section-appendix.a.2.1-11.21.1">
Composes plaintext (fragment 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.21.2">
00000000: 25 00 00 4e 09 00 00 00 30 44 31 20 30 1e 06 03
00000010: 55 04 03 13 17 49 4b 45 20 49 6e 74 65 72 6f 70
00000020: 20 54 65 73 74 20 43 6c 69 65 6e 74 31 13 30 11
00000030: 06 03 55 04 0a 13 0a 45 4c 56 49 53 2d 50 4c 55
00000040: 53 31 0b 30 09 06 03 55 04 06 13 02 52 55 26 00
00000050: 05 00 04 30 82 04 f7 30 82 04 a4 a0 03 02 01 02
00000060: 02 13 7c 00 03 da a8 9e 1e ff 9e 79 05 fb bb 00
00000070: 01 00 03 da a8 30 0a 06 08 2a 85 03 07 01 01 03
00000080: 02 30 82 01 0a 31 18 30 16 06 05 2a 85 03 64 01
00000090: 12 0d 31 32 33 34 35 36 37 38 39 30 31 32 33 31
000000A0: 1a 30 18 06 08 2a 85 03 03 81 03 01 01 12 0c 30
000000B0: 30 31 32 33 34 35 36 37 38 39 30 31 2f 30 2d 06
000000C0: 03 55 04 09 0c 26 d1 83 d0 bb 2e 20 d0 a1 d1 83
000000D0: d1 89 d1 91 d0 b2 d1 81 d0 ba d0 b8 d0 b9 20 d0
000000E0: b2 d0 b0 d0 bb 20 d0 b4 2e 20 31 38 31 0b 30 09
000000F0: 06 03 55 04 06 13 02 52 55 31 19 30 17 06 03 55
00000100: 04 08 0c 10 d0 b3 2e 20 d0 9c d0 be d1 81 d0 ba
00000110: d0 b2 d0 b0 31 15 30 13 06 03 55 04 07 0c 0c d0
00000120: 9c d0 be d1 81 d0 ba d0 b2 d0 b0 31 25 30 23 06
00000130: 03 55 04 0a 0c 1c d0 9e d0 9e d0 9e 20 22 d0 9a
00000140: d0 a0 d0 98 d0 9f d0 a2 d0 9e 2d d0 9f d0 a0 d0
00000150: 9e 22 31 3b 30 39 06 03 55 04 03 0c 32 d0 a2 d0
00000160: b5 d1 81 d1 82 d0 be d0 b2 d1 8b d0 b9 20 d0 a3
00000170: d0 a6 20 d0 9e d0 9e d0 9e 20 22 d0 9a d0 a0 d0
00000180: 98 d0 9f d0 a2 d0 9e 2d d0 9f d0 a0 d0 9e 22 30
00000190: 1e 17 0d 32 31 31 30 30 31 30 36 31 30 31 30 5a
000001A0: 17 0d 32 32 30 31 30 31 30 36 32 30 31 30 5a 30
000001B0: 44 31 20 30 1e 06 03 55 04 03 13 17 49 4b 45 20
000001C0: 49 6e 74 65 72 6f 70 20 54 65 73 74 20 43 6c 69
000001D0: 65 6e 74 31 13 30 11 06 03 55 04 0a 13 0a 45 4c
000001E0: 56 49 53 2d 50 4c 55 53 31 0b 30 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.22" derivedCounter="(44)">
              <t indent="0" pn="section-appendix.a.2.1-11.22.1">
Encrypts plaintext using K3i as K_msg, resulted resulting in ciphertext (fragment 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.22.2">
00000000: 03 45 60 11 15 25 f5 45 bb 0e f4 25 26 e2 14 8c
00000010: a7 01 82 f6 9c 6e 42 f1 a3 9b 9e ac a6 dd 0d 9c
00000020: ff 79 15 ed b9 0c 81 a0 b4 29 61 fb 55 1b c1 73
00000030: 4d de 1f b2 5f 1f cb 84 5d 12 24 85 52 c4 f2 1d
00000040: 01 a7 92 ad 55 4d 90 d0 58 d2 1a 5e f6 dc 4e 73
00000050: d4 9b 08 66 d7 64 de 10 e6 75 69 20 e3 7b 6c f0
00000060: 4b 8b ff 60 39 f1 19 31 72 dd c1 09 33 5b 1d 56
00000070: ee 0c 1c 42 d7 f3 04 d3 5b 9a 6e cf 7f b3 1f ac
00000080: 34 a6 ee e0 ac 87 b8 88 99 75 a6 ae dc b5 30 38
00000090: eb 3d 48 fd cc 69 64 f8 c6 61 ce e9 e1 24 ba aa
000000A0: 25 5e e6 ea 8b 0c ef 20 31 bf a9 ae 6d e2 82 d4
000000B0: ab 2c d7 af ca 62 fe bd 7c 8f a9 dc d3 63 05 d7
000000C0: ba 92 56 66 44 ad 5d 9d 1e 9a 27 2e 22 6e 5b 0c
000000D0: af 84 6b c6 a7 cf ca 72 f8 8e d3 a1 bc d4 7c 5b
000000E0: 7e 26 7f b3 05 d8 62 ef ad d6 07 70 d7 4b 33 e4
000000F0: 26 84 e6 eb 5b 65 5c a7 71 29 45 15 d9 b0 83 6a
00000100: 52 5f a9 d8 dd f1 d8 62 c7 d7 3d e9 69 0e c5 b1
00000110: e1 de 20 6c 3d 5f f7 f7 9f f6 a5 7b 4d a5 4e e9
00000120: b4 c4 c2 7d cc 43 62 77 57 37 d3 40 48 b2 c0 5b
00000130: 48 ab d0 94 79 ef 3d 04 e3 d8 6d 42 56 ed cd 94
00000140: b4 23 2c fa f0 6b 39 ad 41 a3 b3 8f ec b8 6c ef
00000150: e1 98 3a b2 fb a8 fd 21 96 8a bf 3a 65 47 8a e9
00000160: 69 60 44 02 2c ec 7a 86 74 fe 1d 9b 08 5e b8 5e
00000170: f8 ca 37 20 5f a7 74 8c 12 88 f2 d8 9e d4 94 29
00000180: c2 db f9 fb 35 a0 cf 21 2b da 8b 9e cc 52 84 eb
00000190: c4 12 39 3e e6 18 fb f7 57 6c b5 1e 10 3d 11 9c
000001A0: 29 9c 41 73 69 d8 d0 9d 71 2b 77 66 87 65 51 19
000001B0: db 27 a0 dd aa 64 ba fd c0 5f e1 4e da 7c 20 fc
000001C0: 8c 13 ab 2d c2 9c 37 9d 7e 51 cb 29 03 10 52 dc
000001D0: f8 09 61 cc 12 9a a0 8e 1b e4 52 f8 72 bd 7a 86
000001E0: db 93 7c 55 b8 1e 7f 21 d4 e6 02 f2
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.23" derivedCounter="(45)">
              <t indent="0" pn="section-appendix.a.2.1-11.23.1">
Computes ICV using K3i as K_msg (fragment 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.23.2">
00000000: b1 51 cd e6 dc 64 12 1c
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.24" derivedCounter="(46)">
              <t indent="0" pn="section-appendix.a.2.1-11.24.1">
Composes IV (fragment 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.24.2">
00000000: 00 00 00 00 00 00 00 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.25" derivedCounter="(47)">
              <t indent="0" pn="section-appendix.a.2.1-11.25.1">
Composes MGM nonce (fragment 2)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.25.2">
00000000: 00 00 00 01 b4 e1 3e 23
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.26" derivedCounter="(48)">
              <t indent="0" pn="section-appendix.a.2.1-11.26.1">
Composes AAD (fragment 2)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.26.2">
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 08 00 00 00 01 00 00 02 20 00 00 02 04
00000020: 00 02 00 04
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.27" derivedCounter="(49)">
              <t indent="0" pn="section-appendix.a.2.1-11.27.1">
Composes plaintext (fragment 2)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.27.2">
00000000: 09 06 03 55 04 06 13 02 52 55 30 81 aa 30 21 06
00000010: 08 2a 85 03 07 01 01 01 02 30 15 06 09 2a 85 03
00000020: 07 01 02 01 02 01 06 08 2a 85 03 07 01 01 02 03
00000030: 03 81 84 00 04 81 80 ee 2f 0a 0e 09 1e 7e 04 ef
00000040: ba 5b 62 a2 52 86 e1 9c 24 50 30 50 b0 b4 8a 37
00000050: 35 b5 fc af 28 94 ec b5 9b 92 41 5b 69 e2 c9 ba
00000060: 24 de 6a 72 c4 ef 44 bb 89 a1 05 14 1b 87 3d 6a
00000070: a3 72 3e 17 ca 7f 39 28 ce 16 8b dd 07 52 87 6a
00000080: 0d 77 42 6d 99 2b 46 2c fd 4b b2 7c d7 c7 17 08
00000090: 12 54 63 47 9d 14 3d 61 ed f2 95 ab 11 80 69 02
000000A0: a7 66 60 50 7e a4 53 6d ad 01 49 b2 16 8a 95 1d
000000B0: cf 1a 57 93 56 14 5e a3 82 02 59 30 82 02 55 30
000000C0: 0e 06 03 55 1d 0f 01 01 ff 04 04 03 02 05 a0 30
000000D0: 13 06 03 55 1d 25 04 0c 30 0a 06 08 2b 06 01 05
000000E0: 05 07 03 11 30 1d 06 03 55 1d 0e 04 16 04 14 40
000000F0: 81 b1 d1 18 75 f0 da 6b 3c 50 5f cd 73 1d d9 77
00000100: f2 d7 c1 30 1f 06 03 55 1d 23 04 18 30 16 80 14
00000110: 9b 85 5e fb 81 dc 4d 59 07 51 63 cf be df da 2c
00000120: 7f c9 44 3c 30 82 01 0f 06 03 55 1d 1f 04 82 01
00000130: 06 30 82 01 02 30 81 ff a0 81 fc a0 81 f9 86 81
00000140: b5 68 74 74 70 3a 2f 2f 74 65 73 74 67 6f 73 74
00000150: 32 30 31 32 2e 63 72 79 70 74 6f 70 72 6f 2e 72
00000160: 75 2f 43 65 72 74 45 6e 72 6f 6c 6c 2f 21 30 34
00000170: 32 32 21 30 34 33 35 21 30 34 34 31 21 30 34 34
00000180: 32 21 30 34 33 65 21 30 34 33 32 21 30 34 34 62
00000190: 21 30 34 33 39 25 32 30 21 30 34 32 33 21 30 34
000001A0: 32 36 25 32 30 21 30 34 31 65 21 30 34 31 65 21
000001B0: 30 34 31 65 25 32 30 21 30 30 32 32 21 30 34 31
000001C0: 61 21 30 34 32 30 21 30 34 31 38 21 30 34 31 66
000001D0: 21 30 34 32 32 21 30 34 31 65 2d 21 30 34 31 66
000001E0: 21 30 34 32 30 21 30 34 31 65 21 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.28" derivedCounter="(50)">
              <t indent="0" pn="section-appendix.a.2.1-11.28.1">
Encrypts plaintext using K3i as K_msg, resulted resulting in ciphertext (fragment 2)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.28.2">
00000000: 3c b1 b4 aa 04 56 27 1b 45 04 f7 70 1b 17 16 16
00000010: 85 16 ee b3 88 7d 08 64 2d 24 b8 1d 7e ac c9 72
00000020: 73 07 d3 d9 ef 5d 08 8b 47 97 5a 98 53 00 ec 13
00000030: cc 5a 46 7b 16 a2 14 6a f1 ea 17 71 9b 75 1d 46
00000040: 9d 6d 8c 3a a2 b2 75 c5 c9 4c 16 56 73 03 16 40
00000050: 42 fe a2 5a cc c7 ed 37 91 b1 eb e5 56 2a 01 bc
00000060: a2 83 ac 05 f1 a7 56 e5 f2 bb f4 18 7f 05 82 14
00000070: 70 de af 44 d4 cc a9 0a 95 6d c1 96 11 3d cf e1
00000080: aa 27 f1 87 60 d2 32 c1 1e 91 bf 60 00 5f d3 fb
00000090: a4 55 2e f0 0b 08 14 ed a3 63 54 4c b8 7b 5c 71
000000A0: 69 d1 3b 0c 6c 93 f3 99 2e fe 36 98 90 a1 05 ee
000000B0: 35 d2 da f8 81 59 f5 17 23 33 40 99 99 42 37 b0
000000C0: 0d 94 0a bd 00 cf 1c be 0e d0 13 93 e2 27 5a a5
000000D0: c5 e8 a0 25 5a 2d ad 6c b4 bc 64 37 05 ac cd 22
000000E0: 92 13 83 ab e8 87 93 29 82 dc 47 b4 1c 92 4d 36
000000F0: ef ba 10 3d 42 2d d6 2c d5 6b 95 99 2d 17 61 c4
00000100: c5 13 ed 55 a5 e5 b2 65 ac 25 24 21 c4 25 7f 6f
00000110: 68 fb ce 8f 17 60 e9 ac 9c 52 9f d5 d4 a7 14 35
00000120: 89 a4 1f de 21 a9 51 3c 1d 73 00 10 ba a6 7c 24
00000130: fb b9 20 21 5e df 63 8a c8 1f b1 55 05 5a 70 a8
00000140: b5 f4 23 9e 22 c0 2a 7c a5 11 01 c3 5e 3d 52 2a
00000150: b8 1d c5 19 b5 55 cc 8e f0 8d 6e 93 36 10 cd e3
00000160: c8 a5 a6 2e 90 53 fa 92 64 16 6c 4f da 9b e5 f8
00000170: 91 c5 ea b4 60 64 db ed d5 bc fc 3a 73 62 ce b2
00000180: ff 7a 15 95 0d 77 00 ee 5c a8 c5 89 2f 39 13 59
00000190: dd 52 ea 11 ae 28 82 36 be aa 29 68 4c f6 63 d5
000001A0: 93 a5 54 3d 8f 13 26 0a 87 34 b9 81 1c 2c cd d5
000001B0: 79 3a 65 6d 1c 6e 32 be b0 77 b7 b3 e4 ae b8 72
000001C0: f9 44 59 e9 14 46 67 56 93 ca 70 d1 ac 25 05 62
000001D0: f7 55 c2 9e 2e 11 a7 29 01 24 77 4a 6f 1c ba f6
000001E0: 4a 4f 83 75 29 1e c7 a9 68 29 02 d0
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.29" derivedCounter="(51)">
              <t indent="0" pn="section-appendix.a.2.1-11.29.1">
Computes ICV using K3i as K_msg (fragment 2)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.29.2">
00000000: b4 68 c7 4d eb dd bd 92
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.30" derivedCounter="(52)">
              <t indent="0" pn="section-appendix.a.2.1-11.30.1">
Composes IV (fragment 2)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.30.2">
00000000: 00 00 00 00 00 00 00 01
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.31" derivedCounter="(53)">
              <t indent="0" pn="section-appendix.a.2.1-11.31.1">
Composes MGM nonce (fragment 3)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.31.2">
00000000: 00 00 00 02 b4 e1 3e 23
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.32" derivedCounter="(54)">
              <t indent="0" pn="section-appendix.a.2.1-11.32.1">
Composes AAD (fragment 3)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.32.2">
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 08 00 00 00 01 00 00 02 20 00 00 02 04
00000020: 00 03 00 04
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.33" derivedCounter="(55)">
              <t indent="0" pn="section-appendix.a.2.1-11.33.1">
Composes plaintext (fragment 3)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.33.2">
00000000: 30 30 32 32 28 31 29 2e 63 72 6c 86 3f 68 74 74
00000010: 70 3a 2f 2f 74 65 73 74 67 6f 73 74 32 30 31 32
00000020: 2e 63 72 79 70 74 6f 70 72 6f 2e 72 75 2f 43 65
00000030: 72 74 45 6e 72 6f 6c 6c 2f 74 65 73 74 67 6f 73
00000040: 74 32 30 31 32 28 31 29 2e 63 72 6c 30 81 da 06
00000050: 08 2b 06 01 05 05 07 01 01 04 81 cd 30 81 ca 30
00000060: 44 06 08 2b 06 01 05 05 07 30 02 86 38 68 74 74
00000070: 70 3a 2f 2f 74 65 73 74 67 6f 73 74 32 30 31 32
00000080: 2e 63 72 79 70 74 6f 70 72 6f 2e 72 75 2f 43 65
00000090: 72 74 45 6e 72 6f 6c 6c 2f 72 6f 6f 74 32 30 31
000000A0: 38 2e 63 72 74 30 3f 06 08 2b 06 01 05 05 07 30
000000B0: 01 86 33 68 74 74 70 3a 2f 2f 74 65 73 74 67 6f
000000C0: 73 74 32 30 31 32 2e 63 72 79 70 74 6f 70 72 6f
000000D0: 2e 72 75 2f 6f 63 73 70 32 30 31 32 67 2f 6f 63
000000E0: 73 70 2e 73 72 66 30 41 06 08 2b 06 01 05 05 07
000000F0: 30 01 86 35 68 74 74 70 3a 2f 2f 74 65 73 74 67
00000100: 6f 73 74 32 30 31 32 2e 63 72 79 70 74 6f 70 72
00000110: 6f 2e 72 75 2f 6f 63 73 70 32 30 31 32 67 73 74
00000120: 2f 6f 63 73 70 2e 73 72 66 30 0a 06 08 2a 85 03
00000130: 07 01 01 03 02 03 41 00 21 ee 3b e1 fd 0f 36 90
00000140: 92 c4 a2 35 26 e8 dc 4e b8 ef 89 40 70 d2 91 39
00000150: bc 79 a6 e2 f7 c1 06 bd d5 d6 ff 72 a5 6c f2 c0
00000160: c3 75 e9 ca 67 81 c1 93 96 b4 bd 18 12 4c 37 f7
00000170: d9 73 d6 4c 8a a6 c4 0a 24 00 00 19 04 5e 9e 50
00000180: 5f 58 b0 a5 7a 33 45 83 49 66 0f 1c 3c 7a 67 71
00000190: 98 27 00 00 4e 09 00 00 00 30 44 31 20 30 1e 06
000001A0: 03 55 04 03 13 17 49 4b 45 20 49 6e 74 65 72 6f
000001B0: 70 20 54 65 73 74 20 53 65 72 76 65 72 31 13 30
000001C0: 11 06 03 55 04 0a 13 0a 45 4c 56 49 53 2d 50 4c
000001D0: 55 53 31 0b 30 09 06 03 55 04 06 13 02 52 55 29
000001E0: 00 00 95 0e 00 00 00 0c 30 0a 06 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.34" derivedCounter="(56)">
              <t indent="0" pn="section-appendix.a.2.1-11.34.1">
Encrypts plaintext using K3i as K_msg, resulted resulting in ciphertext (fragment 3)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.34.2">
00000000: e7 72 d9 51 90 b1 a2 bc 81 8d d6 56 bf 7a 81 e0
00000010: 1a a1 70 8b 35 a0 7e 5f e8 df 58 3d 75 5d d2 4c
00000020: 4c ce 17 77 3f 28 9c ca 7a a4 23 23 f0 c7 ff ff
00000030: 98 ee e3 1a 27 39 4d 90 1a b7 5b 44 11 16 11 3a
00000040: ea bf 83 66 da 92 2a 3a 3d bd b5 40 c8 bc f6 ed
00000050: cb 1d 5a 8e 30 f0 06 72 dc 6c da c1 45 7b e8 25
00000060: ca 93 2a b2 fe 4a db 00 90 e3 31 78 26 8d ae c8
00000070: 39 66 80 7d e5 01 5f 21 d6 c3 40 46 19 e4 43 9d
00000080: 23 c6 c1 18 06 49 bd f5 dc 8c 1b 19 b0 60 0c a3
00000090: ad f5 5c 57 e8 8e 37 e6 ea b6 79 11 b8 f1 16 ba
000000A0: a6 d9 09 1f 0d e0 3c 07 b8 ce 9d 11 a3 c6 f7 e4
000000B0: 62 e8 94 7b ad b9 8a 6b 9c f1 f8 43 cf 7e fc 5e
000000C0: 44 ab bf b1 88 f5 67 1e 84 5f 82 63 f3 13 89 55
000000D0: f5 ef 86 c3 db 48 37 f8 26 3c c4 6d a5 fc b5 69
000000E0: 56 0d 2d f3 c0 98 dd e7 53 da 0a 28 87 2f 38 ab
000000F0: a9 ec 60 a6 c4 54 c6 68 e7 6b e3 4b 54 bf b5 82
00000100: 44 c9 b9 45 bc 9e f5 58 d8 76 63 92 cd 52 ec 82
00000110: 80 d6 43 86 10 16 eb 7b 32 e4 ee ba ec 09 b6 4f
00000120: 35 1a bf da d7 de 40 fa b5 d2 40 f2 73 09 2d 52
00000130: 83 bd 56 a6 6b d3 9f 8a c2 c5 66 c6 6b 22 fb 6a
00000140: 00 b2 8a ac 9d 8b fc 8d 41 af 80 92 16 51 e2 cb
00000150: 89 62 9b 77 2b 1e 38 01 df fc 1f 81 2d 95 8b 9e
00000160: 1d 1e ad 9c c0 0d fc 77 6e 35 13 16 26 28 1a 29
00000170: 19 7f f8 08 5a 0f 09 4f 6f ba 7f 4c 5b cd 0c c2
00000180: 71 ab ea 82 a2 d2 d1 1b 17 fd dc c3 54 03 85 14
00000190: f4 90 47 2e 67 d7 93 c3 67 7e 8a f7 43 1a b3 41
000001A0: 32 f7 b0 58 38 6e 24 c8 96 d9 94 d3 54 89 2d 61
000001B0: 10 a9 9c 22 51 52 02 c9 b7 8d cc 5b 28 6d cb 55
000001C0: 5d 2f 97 8a 8f 3f 27 56 73 eb ec 5d e4 64 91 49
000001D0: 3b 88 f2 0a fc ed a5 67 a9 e3 71 ef 31 ce a0 33
000001E0: fc d8 ea 4d 1e 3f dc 89 c8 89 e2 c3
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.35" derivedCounter="(57)">
              <t indent="0" pn="section-appendix.a.2.1-11.35.1">
Computes ICV using K3i as K_msg (fragment 3)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.35.2">
00000000: 54 4f 9b aa dd af bd ca
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.36" derivedCounter="(58)">
              <t indent="0" pn="section-appendix.a.2.1-11.36.1">
Composes IV (fragment 3)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.36.2">
00000000: 00 00 00 00 00 00 00 02
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.37" derivedCounter="(59)">
              <t indent="0" pn="section-appendix.a.2.1-11.37.1">
Composes MGM nonce (fragment 4)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.37.2">
00000000: 00 00 00 03 b4 e1 3e 23
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.38" derivedCounter="(60)">
              <t indent="0" pn="section-appendix.a.2.1-11.38.1">
Composes AAD (fragment 4)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.38.2">
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 08 00 00 00 01 00 00 01 7a 00 00 01 5e
00000020: 00 04 00 04
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.39" derivedCounter="(61)">
              <t indent="0" pn="section-appendix.a.2.1-11.39.1">
Composes plaintext (fragment 4)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.39.2">
00000000: 08 2a 85 03 07 01 01 03 03 6a 3e 59 0d 72 1e 55
00000010: a3 c0 d1 2f 8a 9b 4e 44 10 58 59 bd 62 9e e7 12
00000020: 31 e5 7d 01 53 f3 84 40 dd ac 73 ed 09 3a 10 d9
00000030: 6e 7f eb 80 6c 11 9e 91 f3 7c 3c b0 55 f7 4b ec
00000040: 0e 78 36 10 95 02 09 86 b3 27 04 2a 83 3c 89 36
00000050: 1b 73 cf 7b c9 e0 df a2 07 12 1e 69 52 4d 89 1b
00000060: de 6e 48 d1 34 fa 21 78 22 88 2e 30 86 c0 80 0a
00000070: 2d 74 af 08 ff 35 75 a5 79 e3 85 40 22 6b a8 42
00000080: f6 72 24 bf 29 87 58 a8 20 29 00 00 08 00 00 40
00000090: 00 2f 00 00 0c 00 00 40 01 00 00 00 04 21 00 00
000000A0: 10 01 00 00 00 00 01 00 00 00 03 00 00 2c 00 00
000000B0: 38 00 00 00 34 01 03 04 05 6c 0c a5 70 03 00 00
000000C0: 08 01 00 00 20 03 00 00 08 01 00 00 21 03 00 00
000000D0: 08 01 00 00 22 03 00 00 08 01 00 00 23 00 00 00
000000E0: 08 05 00 00 00 2d 00 00 28 02 00 00 00 07 01 00
000000F0: 10 08 00 08 00 0a 6f 0a ab 0a 6f 0a ab 07 00 00
00000100: 10 00 00 ff ff 00 00 00 00 ff ff ff ff 29 00 00
00000110: 28 02 00 00 00 07 01 00 10 08 00 08 00 0a 00 00
00000120: 02 0a 00 00 02 07 00 00 10 00 00 ff ff 0a 00 00
00000130: 00 0a 00 00 ff 29 00 00 08 00 00 40 0a 00 00 00
00000140: 08 00 00 40 0b 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.40" derivedCounter="(62)">
              <t indent="0" pn="section-appendix.a.2.1-11.40.1">
Encrypts plaintext using K3i as K_msg, resulted resulting in ciphertext (fragment 4)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.40.2">
00000000: e0 8a 0b 04 ee f8 47 c2 52 96 71 9f 9d 39 0c 91
00000010: ea 6a 16 7c 80 31 a0 fd 76 cc c4 f1 8f 1a d3 be
00000020: fa 78 6b df c1 c6 73 83 be 36 69 c4 8a 87 ed 11
00000030: 90 31 a8 fd f9 0a 5c e4 d4 23 c9 e6 b3 96 ac b6
00000040: 8e bd fc 27 58 79 9f cc 8b ac 6b 59 e4 70 4b 05
00000050: 23 16 ed 49 25 f3 de 02 2e ce ae 86 e8 b4 ca b4
00000060: 96 ad 5b f6 2b c2 47 33 6f da f3 97 3c 13 ed 1f
00000070: 7a da 93 b5 69 6a b5 10 93 38 75 ea b7 34 a3 87
00000080: b6 83 c7 da 8a a1 d9 2a 0b 22 e2 ab 63 2b 57 2b
00000090: 88 e3 ea be 7b fc dc 26 ac b8 bb 15 96 f9 c2 f4
000000A0: 60 17 e4 09 18 ae 78 b8 73 02 6b 0e 20 cc b1 cd
000000B0: b4 4d 94 7f f3 16 28 9a d2 bd 26 77 4b a5 85 56
000000C0: b1 81 8b 9c c3 0a 7f 67 fe 6a 61 15 f1 45 66 f3
000000D0: 36 fc a5 bb 1f d7 6d e7 1d 9f 3f b5 cc 60 19 48
000000E0: 17 f7 08 28 1c 58 9f 2b 7a 0b b9 50 bd 02 ea b8
000000F0: 1e 03 1f 52 6a 7a fc e5 b4 6b 00 cf 0d 83 1f d2
00000100: 3f f2 ad 43 d4 86 6e c1 88 d2 87 d6 1f ac a3 30
00000110: 7b c1 5b 6a 3d 4c 20 72 5d 2c ca bf 87 a2 ce 1d
00000120: b3 fa c7 7c 22 cd 66 fc be 49 22 32 17 ee 6e 5e
00000130: 62 c1 ca 12 2b 5d 3d 7b ae b5 3e 53 c5 98 05 1f
00000140: 42 53 49 d1 2c c2
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.41" derivedCounter="(63)">
              <t indent="0" pn="section-appendix.a.2.1-11.41.1">
Computes ICV using K3i as K_msg (fragment 4)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.41.2">
00000000: d2 25 f1 d0 38 65 b7 b6
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.42" derivedCounter="(64)">
              <t indent="0" pn="section-appendix.a.2.1-11.42.1">
Composes IV (fragment 4)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.42.2">
00000000: 00 00 00 00 00 00 00 03
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.43" derivedCounter="(65)">
              <t indent="0" pn="section-appendix.a.2.1-11.43.1">
Sends message fragment (1)
, (1), peer receives message fragment (1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54295->10.111.15.45:4500 type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.43.2">
       10.111.10.171:54295-&gt;10.111.15.45:4500 [548]

00000000: 00 00 00 00 92 80 e0 82 2e 75 87 78 db 57 8d 97
00000010: de 11 9d 1e 35 20 23 08 00 00 00 01 00 00 02 20
00000020: 23 00 02 04 00 01 00 04 00 00 00 00 00 00 00 00
00000030: 03 45 60 11 15 25 f5 45 bb 0e f4 25 26 e2 14 8c
00000040: a7 01 82 f6 9c 6e 42 f1 a3 9b 9e ac a6 dd 0d 9c
00000050: ff 79 15 ed b9 0c 81 a0 b4 29 61 fb 55 1b c1 73
00000060: 4d de 1f b2 5f 1f cb 84 5d 12 24 85 52 c4 f2 1d
00000070: 01 a7 92 ad 55 4d 90 d0 58 d2 1a 5e f6 dc 4e 73
00000080: d4 9b 08 66 d7 64 de 10 e6 75 69 20 e3 7b 6c f0
00000090: 4b 8b ff 60 39 f1 19 31 72 dd c1 09 33 5b 1d 56
000000A0: ee 0c 1c 42 d7 f3 04 d3 5b 9a 6e cf 7f b3 1f ac
000000B0: 34 a6 ee e0 ac 87 b8 88 99 75 a6 ae dc b5 30 38
000000C0: eb 3d 48 fd cc 69 64 f8 c6 61 ce e9 e1 24 ba aa
000000D0: 25 5e e6 ea 8b 0c ef 20 31 bf a9 ae 6d e2 82 d4
000000E0: ab 2c d7 af ca 62 fe bd 7c 8f a9 dc d3 63 05 d7
000000F0: ba 92 56 66 44 ad 5d 9d 1e 9a 27 2e 22 6e 5b 0c
00000100: af 84 6b c6 a7 cf ca 72 f8 8e d3 a1 bc d4 7c 5b
00000110: 7e 26 7f b3 05 d8 62 ef ad d6 07 70 d7 4b 33 e4
00000120: 26 84 e6 eb 5b 65 5c a7 71 29 45 15 d9 b0 83 6a
00000130: 52 5f a9 d8 dd f1 d8 62 c7 d7 3d e9 69 0e c5 b1
00000140: e1 de 20 6c 3d 5f f7 f7 9f f6 a5 7b 4d a5 4e e9
00000150: b4 c4 c2 7d cc 43 62 77 57 37 d3 40 48 b2 c0 5b
00000160: 48 ab d0 94 79 ef 3d 04 e3 d8 6d 42 56 ed cd 94
00000170: b4 23 2c fa f0 6b 39 ad 41 a3 b3 8f ec b8 6c ef
00000180: e1 98 3a b2 fb a8 fd 21 96 8a bf 3a 65 47 8a e9
00000190: 69 60 44 02 2c ec 7a 86 74 fe 1d 9b 08 5e b8 5e
000001A0: f8 ca 37 20 5f a7 74 8c 12 88 f2 d8 9e d4 94 29
000001B0: c2 db f9 fb 35 a0 cf 21 2b da 8b 9e cc 52 84 eb
000001C0: c4 12 39 3e e6 18 fb f7 57 6c b5 1e 10 3d 11 9c
000001D0: 29 9c 41 73 69 d8 d0 9d 71 2b 77 66 87 65 51 19
000001E0: db 27 a0 dd aa 64 ba fd c0 5f e1 4e da 7c 20 fc
000001F0: 8c 13 ab 2d c2 9c 37 9d 7e 51 cb 29 03 10 52 dc
00000200: f8 09 61 cc 12 9a a0 8e 1b e4 52 f8 72 bd 7a 86
00000210: db 93 7c 55 b8 1e 7f 21 d4 e6 02 f2 b1 51 cd e6
00000220: dc 64 12 1c
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.44" derivedCounter="(66)">
              <t indent="0" pn="section-appendix.a.2.1-11.44.1">
Sends message fragment (2)
, (2), peer receives message fragment (2)
</t>
              <sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54295->10.111.15.45:4500 type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.44.2">
       10.111.10.171:54295-&gt;10.111.15.45:4500 [548]

00000000: 00 00 00 00 92 80 e0 82 2e 75 87 78 db 57 8d 97
00000010: de 11 9d 1e 35 20 23 08 00 00 00 01 00 00 02 20
00000020: 00 00 02 04 00 02 00 04 00 00 00 00 00 00 00 01
00000030: 3c b1 b4 aa 04 56 27 1b 45 04 f7 70 1b 17 16 16
00000040: 85 16 ee b3 88 7d 08 64 2d 24 b8 1d 7e ac c9 72
00000050: 73 07 d3 d9 ef 5d 08 8b 47 97 5a 98 53 00 ec 13
00000060: cc 5a 46 7b 16 a2 14 6a f1 ea 17 71 9b 75 1d 46
00000070: 9d 6d 8c 3a a2 b2 75 c5 c9 4c 16 56 73 03 16 40
00000080: 42 fe a2 5a cc c7 ed 37 91 b1 eb e5 56 2a 01 bc
00000090: a2 83 ac 05 f1 a7 56 e5 f2 bb f4 18 7f 05 82 14
000000A0: 70 de af 44 d4 cc a9 0a 95 6d c1 96 11 3d cf e1
000000B0: aa 27 f1 87 60 d2 32 c1 1e 91 bf 60 00 5f d3 fb
000000C0: a4 55 2e f0 0b 08 14 ed a3 63 54 4c b8 7b 5c 71
000000D0: 69 d1 3b 0c 6c 93 f3 99 2e fe 36 98 90 a1 05 ee
000000E0: 35 d2 da f8 81 59 f5 17 23 33 40 99 99 42 37 b0
000000F0: 0d 94 0a bd 00 cf 1c be 0e d0 13 93 e2 27 5a a5
00000100: c5 e8 a0 25 5a 2d ad 6c b4 bc 64 37 05 ac cd 22
00000110: 92 13 83 ab e8 87 93 29 82 dc 47 b4 1c 92 4d 36
00000120: ef ba 10 3d 42 2d d6 2c d5 6b 95 99 2d 17 61 c4
00000130: c5 13 ed 55 a5 e5 b2 65 ac 25 24 21 c4 25 7f 6f
00000140: 68 fb ce 8f 17 60 e9 ac 9c 52 9f d5 d4 a7 14 35
00000150: 89 a4 1f de 21 a9 51 3c 1d 73 00 10 ba a6 7c 24
00000160: fb b9 20 21 5e df 63 8a c8 1f b1 55 05 5a 70 a8
00000170: b5 f4 23 9e 22 c0 2a 7c a5 11 01 c3 5e 3d 52 2a
00000180: b8 1d c5 19 b5 55 cc 8e f0 8d 6e 93 36 10 cd e3
00000190: c8 a5 a6 2e 90 53 fa 92 64 16 6c 4f da 9b e5 f8
000001A0: 91 c5 ea b4 60 64 db ed d5 bc fc 3a 73 62 ce b2
000001B0: ff 7a 15 95 0d 77 00 ee 5c a8 c5 89 2f 39 13 59
000001C0: dd 52 ea 11 ae 28 82 36 be aa 29 68 4c f6 63 d5
000001D0: 93 a5 54 3d 8f 13 26 0a 87 34 b9 81 1c 2c cd d5
000001E0: 79 3a 65 6d 1c 6e 32 be b0 77 b7 b3 e4 ae b8 72
000001F0: f9 44 59 e9 14 46 67 56 93 ca 70 d1 ac 25 05 62
00000200: f7 55 c2 9e 2e 11 a7 29 01 24 77 4a 6f 1c ba f6
00000210: 4a 4f 83 75 29 1e c7 a9 68 29 02 d0 b4 68 c7 4d
00000220: eb dd bd 92
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.45" derivedCounter="(67)">
              <t indent="0" pn="section-appendix.a.2.1-11.45.1">
Sends message fragment (3)
, (3), peer receives message fragment (3)
</t>
              <sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54295->10.111.15.45:4500 type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.45.2">
       10.111.10.171:54295-&gt;10.111.15.45:4500 [548]

00000000: 00 00 00 00 92 80 e0 82 2e 75 87 78 db 57 8d 97
00000010: de 11 9d 1e 35 20 23 08 00 00 00 01 00 00 02 20
00000020: 00 00 02 04 00 03 00 04 00 00 00 00 00 00 00 02
00000030: e7 72 d9 51 90 b1 a2 bc 81 8d d6 56 bf 7a 81 e0
00000040: 1a a1 70 8b 35 a0 7e 5f e8 df 58 3d 75 5d d2 4c
00000050: 4c ce 17 77 3f 28 9c ca 7a a4 23 23 f0 c7 ff ff
00000060: 98 ee e3 1a 27 39 4d 90 1a b7 5b 44 11 16 11 3a
00000070: ea bf 83 66 da 92 2a 3a 3d bd b5 40 c8 bc f6 ed
00000080: cb 1d 5a 8e 30 f0 06 72 dc 6c da c1 45 7b e8 25
00000090: ca 93 2a b2 fe 4a db 00 90 e3 31 78 26 8d ae c8
000000A0: 39 66 80 7d e5 01 5f 21 d6 c3 40 46 19 e4 43 9d
000000B0: 23 c6 c1 18 06 49 bd f5 dc 8c 1b 19 b0 60 0c a3
000000C0: ad f5 5c 57 e8 8e 37 e6 ea b6 79 11 b8 f1 16 ba
000000D0: a6 d9 09 1f 0d e0 3c 07 b8 ce 9d 11 a3 c6 f7 e4
000000E0: 62 e8 94 7b ad b9 8a 6b 9c f1 f8 43 cf 7e fc 5e
000000F0: 44 ab bf b1 88 f5 67 1e 84 5f 82 63 f3 13 89 55
00000100: f5 ef 86 c3 db 48 37 f8 26 3c c4 6d a5 fc b5 69
00000110: 56 0d 2d f3 c0 98 dd e7 53 da 0a 28 87 2f 38 ab
00000120: a9 ec 60 a6 c4 54 c6 68 e7 6b e3 4b 54 bf b5 82
00000130: 44 c9 b9 45 bc 9e f5 58 d8 76 63 92 cd 52 ec 82
00000140: 80 d6 43 86 10 16 eb 7b 32 e4 ee ba ec 09 b6 4f
00000150: 35 1a bf da d7 de 40 fa b5 d2 40 f2 73 09 2d 52
00000160: 83 bd 56 a6 6b d3 9f 8a c2 c5 66 c6 6b 22 fb 6a
00000170: 00 b2 8a ac 9d 8b fc 8d 41 af 80 92 16 51 e2 cb
00000180: 89 62 9b 77 2b 1e 38 01 df fc 1f 81 2d 95 8b 9e
00000190: 1d 1e ad 9c c0 0d fc 77 6e 35 13 16 26 28 1a 29
000001A0: 19 7f f8 08 5a 0f 09 4f 6f ba 7f 4c 5b cd 0c c2
000001B0: 71 ab ea 82 a2 d2 d1 1b 17 fd dc c3 54 03 85 14
000001C0: f4 90 47 2e 67 d7 93 c3 67 7e 8a f7 43 1a b3 41
000001D0: 32 f7 b0 58 38 6e 24 c8 96 d9 94 d3 54 89 2d 61
000001E0: 10 a9 9c 22 51 52 02 c9 b7 8d cc 5b 28 6d cb 55
000001F0: 5d 2f 97 8a 8f 3f 27 56 73 eb ec 5d e4 64 91 49
00000200: 3b 88 f2 0a fc ed a5 67 a9 e3 71 ef 31 ce a0 33
00000210: fc d8 ea 4d 1e 3f dc 89 c8 89 e2 c3 54 4f 9b aa
00000220: dd af bd ca
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-11.46" derivedCounter="(68)">
              <t indent="0" pn="section-appendix.a.2.1-11.46.1">
Sends message fragment (4)
, (4), peer receives message fragment (4)
</t>
              <sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54295->10.111.15.45:4500 type="test-vectors" markers="false" pn="section-appendix.a.2.1-11.46.2">
       10.111.10.171:54295-&gt;10.111.15.45:4500 [382]

00000000: 00 00 00 00 92 80 e0 82 2e 75 87 78 db 57 8d 97
00000010: de 11 9d 1e 35 20 23 08 00 00 00 01 00 00 01 7a
00000020: 00 00 01 5e 00 04 00 04 00 00 00 00 00 00 00 03
00000030: e0 8a 0b 04 ee f8 47 c2 52 96 71 9f 9d 39 0c 91
00000040: ea 6a 16 7c 80 31 a0 fd 76 cc c4 f1 8f 1a d3 be
00000050: fa 78 6b df c1 c6 73 83 be 36 69 c4 8a 87 ed 11
00000060: 90 31 a8 fd f9 0a 5c e4 d4 23 c9 e6 b3 96 ac b6
00000070: 8e bd fc 27 58 79 9f cc 8b ac 6b 59 e4 70 4b 05
00000080: 23 16 ed 49 25 f3 de 02 2e ce ae 86 e8 b4 ca b4
00000090: 96 ad 5b f6 2b c2 47 33 6f da f3 97 3c 13 ed 1f
000000A0: 7a da 93 b5 69 6a b5 10 93 38 75 ea b7 34 a3 87
000000B0: b6 83 c7 da 8a a1 d9 2a 0b 22 e2 ab 63 2b 57 2b
000000C0: 88 e3 ea be 7b fc dc 26 ac b8 bb 15 96 f9 c2 f4
000000D0: 60 17 e4 09 18 ae 78 b8 73 02 6b 0e 20 cc b1 cd
000000E0: b4 4d 94 7f f3 16 28 9a d2 bd 26 77 4b a5 85 56
000000F0: b1 81 8b 9c c3 0a 7f 67 fe 6a 61 15 f1 45 66 f3
00000100: 36 fc a5 bb 1f d7 6d e7 1d 9f 3f b5 cc 60 19 48
00000110: 17 f7 08 28 1c 58 9f 2b 7a 0b b9 50 bd 02 ea b8
00000120: 1e 03 1f 52 6a 7a fc e5 b4 6b 00 cf 0d 83 1f d2
00000130: 3f f2 ad 43 d4 86 6e c1 88 d2 87 d6 1f ac a3 30
00000140: 7b c1 5b 6a 3d 4c 20 72 5d 2c ca bf 87 a2 ce 1d
00000150: b3 fa c7 7c 22 cd 66 fc be 49 22 32 17 ee 6e 5e
00000160: 62 c1 ca 12 2b 5d 3d 7b ae b5 3e 53 c5 98 05 1f
00000170: 42 53 49 d1 2c c2 d2 25 f1 d0 38 65 b7 b6
]]>
</sourcecode>
            </li>
          </ol>
<t>Responder's
          <t indent="0" pn="section-appendix.a.2.1-12">Responder's actions:</t>
          <ol type="(%d)" group="data5.txt">
<li> group="data5.txt" start="69" indent="adaptive" spacing="normal" pn="section-appendix.a.2.1-13">
<li pn="section-appendix.a.2.1-13.1" derivedCounter="(69)">
              <t indent="0" pn="section-appendix.a.2.1-13.1.1">
Computes shared key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.1.2">
00000000: bd 04 9d 0f 9c 5f 58 af c7 e4 01 bc 18 59 01 7c
00000010: 88 28 f9 f2 9f 33 01 5d 49 9a 7d 14 74 d4 31 ac
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.2" derivedCounter="(70)">
              <t indent="0" pn="section-appendix.a.2.1-13.2.1">
Computes SKEYSEED
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.2.2">
00000000: 9b ed 6c 79 64 b3 de 3a e4 9e dd 62 04 5a f0 8b
00000010: 43 88 33 d4 e6 9e 73 16 a1 1a 9e b2 b4 19 13 c5
00000020: d0 6d fb 86 40 11 c3 02 bb e5 a3 b5 e4 4a c4 c0
00000030: 9d 18 c6 94 de c3 c5 14 82 e7 a2 51 fe c4 98 ca
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.3" derivedCounter="(71)">
              <t indent="0" pn="section-appendix.a.2.1-13.3.1">
Computes SK_d
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.3.2">
00000000: c2 21 15 fd d3 99 3b 2a 43 60 c4 59 34 b0 be 3f
00000010: 53 ef 6e b1 dd 88 ad 72 55 dd 83 22 5c 6f e1 d6
00000020: 1f 1e ab 06 f9 41 cb c8 ea f9 dc fc 19 a0 2d bf
00000030: 9a 0a 3f 3a 9a 45 1f 08 b6 a9 2c 62 52 b7 26 34
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.4" derivedCounter="(72)">
              <t indent="0" pn="section-appendix.a.2.1-13.4.1">
Computes SK_ei
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.4.2">
00000000: 18 4e 4e 0f 36 28 bf 3c 9c 04 8e 93 bf a0 77 53
00000010: 91 34 12 81 42 e6 4e 62 7f db a5 ed 98 60 50 ff
00000020: b4 e1 3e 23
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.5" derivedCounter="(73)">
              <t indent="0" pn="section-appendix.a.2.1-13.5.1">
Computes SK_er
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.5.2">
00000000: e9 27 59 2f 09 49 68 1e 0e 62 db c6 19 06 73 13
00000010: cf da 5c 02 27 3e 4a b4 78 98 b4 86 d0 e9 34 f4
00000020: a5 bb 18 2f
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.6" derivedCounter="(74)">
              <t indent="0" pn="section-appendix.a.2.1-13.6.1">
Computes SK_pi
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.6.2">
00000000: 30 2c 10 8d 0f 61 47 00 f1 40 4f a9 4f af b5 30
00000010: 11 ba 5f 24 39 32 85 12 4e 7e 71 75 50 15 a6 93
00000020: c3 d0 5e 40 2e 21 8e b1 59 09 cd a4 eb b4 91 68
00000030: 29 42 fe e2 d8 76 8f a6 96 55 1f ab 6c 9b 00 f8
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.7" derivedCounter="(75)">
              <t indent="0" pn="section-appendix.a.2.1-13.7.1">
Computes SK_pr
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.7.2">
00000000: 6f 81 72 cb 96 58 fb 0e 17 70 b6 b9 1f a9 69 a9
00000010: fc c7 27 4f b4 e1 85 90 a0 c7 9f f9 72 11 61 2a
00000020: 35 b7 b7 96 d3 6a bb a5 aa b1 b8 34 8d 99 c6 f3
00000030: 2b fc 32 56 c1 94 71 04 55 bd 89 6a bf c3 8b fe
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.8" derivedCounter="(76)">
              <t indent="0" pn="section-appendix.a.2.1-13.8.1">
Extracts IV from message (fragment 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.8.2">
00000000: 00 00 00 00 00 00 00 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.9" derivedCounter="(77)">
              <t indent="0" pn="section-appendix.a.2.1-13.9.1">
Computes K1i (i1 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.9.2">
00000000: 3c 57 d7 c8 9f 50 98 fc 86 81 d6 8a 4e 5d 83 c6
00000010: 1e 42 e6 e7 60 67 05 8d f5 2e 10 13 12 15 32 58
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.10" derivedCounter="(78)">
              <t indent="0" pn="section-appendix.a.2.1-13.10.1">
Computes K2i (i2 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.10.2">
00000000: 0b 88 0a 1b c8 3e 61 79 82 08 db 13 31 08 63 3c
00000010: 17 62 17 cb 7d 18 ce 70 37 84 85 f4 89 49 d0 06
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.11" derivedCounter="(79)">
              <t indent="0" pn="section-appendix.a.2.1-13.11.1">
Computes K3i (i3 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.11.2">
00000000: 18 63 41 67 49 6e cf 48 56 71 4d aa 42 63 5c 11
00000010: 2e 26 5b e2 7b c7 53 a4 09 82 e5 5a 7e f4 65 4d
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.12" derivedCounter="(80)">
              <t indent="0" pn="section-appendix.a.2.1-13.12.1">
Composes MGM nonce (fragment 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.12.2">
00000000: 00 00 00 00 b4 e1 3e 23
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.13" derivedCounter="(81)">
              <t indent="0" pn="section-appendix.a.2.1-13.13.1">
Extracts ICV from message (fragment 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.13.2">
00000000: b1 51 cd e6 dc 64 12 1c
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.14" derivedCounter="(82)">
              <t indent="0" pn="section-appendix.a.2.1-13.14.1">
Extracts AAD from message (fragment 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.14.2">
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 08 00 00 00 01 00 00 02 20 23 00 02 04
00000020: 00 01 00 04
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.15" derivedCounter="(83)">
              <t indent="0" pn="section-appendix.a.2.1-13.15.1">
Extracts ciphertext from message (fragment 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.15.2">
00000000: 03 45 60 11 15 25 f5 45 bb 0e f4 25 26 e2 14 8c
00000010: a7 01 82 f6 9c 6e 42 f1 a3 9b 9e ac a6 dd 0d 9c
00000020: ff 79 15 ed b9 0c 81 a0 b4 29 61 fb 55 1b c1 73
00000030: 4d de 1f b2 5f 1f cb 84 5d 12 24 85 52 c4 f2 1d
00000040: 01 a7 92 ad 55 4d 90 d0 58 d2 1a 5e f6 dc 4e 73
00000050: d4 9b 08 66 d7 64 de 10 e6 75 69 20 e3 7b 6c f0
00000060: 4b 8b ff 60 39 f1 19 31 72 dd c1 09 33 5b 1d 56
00000070: ee 0c 1c 42 d7 f3 04 d3 5b 9a 6e cf 7f b3 1f ac
00000080: 34 a6 ee e0 ac 87 b8 88 99 75 a6 ae dc b5 30 38
00000090: eb 3d 48 fd cc 69 64 f8 c6 61 ce e9 e1 24 ba aa
000000A0: 25 5e e6 ea 8b 0c ef 20 31 bf a9 ae 6d e2 82 d4
000000B0: ab 2c d7 af ca 62 fe bd 7c 8f a9 dc d3 63 05 d7
000000C0: ba 92 56 66 44 ad 5d 9d 1e 9a 27 2e 22 6e 5b 0c
000000D0: af 84 6b c6 a7 cf ca 72 f8 8e d3 a1 bc d4 7c 5b
000000E0: 7e 26 7f b3 05 d8 62 ef ad d6 07 70 d7 4b 33 e4
000000F0: 26 84 e6 eb 5b 65 5c a7 71 29 45 15 d9 b0 83 6a
00000100: 52 5f a9 d8 dd f1 d8 62 c7 d7 3d e9 69 0e c5 b1
00000110: e1 de 20 6c 3d 5f f7 f7 9f f6 a5 7b 4d a5 4e e9
00000120: b4 c4 c2 7d cc 43 62 77 57 37 d3 40 48 b2 c0 5b
00000130: 48 ab d0 94 79 ef 3d 04 e3 d8 6d 42 56 ed cd 94
00000140: b4 23 2c fa f0 6b 39 ad 41 a3 b3 8f ec b8 6c ef
00000150: e1 98 3a b2 fb a8 fd 21 96 8a bf 3a 65 47 8a e9
00000160: 69 60 44 02 2c ec 7a 86 74 fe 1d 9b 08 5e b8 5e
00000170: f8 ca 37 20 5f a7 74 8c 12 88 f2 d8 9e d4 94 29
00000180: c2 db f9 fb 35 a0 cf 21 2b da 8b 9e cc 52 84 eb
00000190: c4 12 39 3e e6 18 fb f7 57 6c b5 1e 10 3d 11 9c
000001A0: 29 9c 41 73 69 d8 d0 9d 71 2b 77 66 87 65 51 19
000001B0: db 27 a0 dd aa 64 ba fd c0 5f e1 4e da 7c 20 fc
000001C0: 8c 13 ab 2d c2 9c 37 9d 7e 51 cb 29 03 10 52 dc
000001D0: f8 09 61 cc 12 9a a0 8e 1b e4 52 f8 72 bd 7a 86
000001E0: db 93 7c 55 b8 1e 7f 21 d4 e6 02 f2
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.16" derivedCounter="(84)">
              <t indent="0" pn="section-appendix.a.2.1-13.16.1">
Decrypts ciphertext and verifies ICV using K3i as K_msg, resulted resulting in plaintext (fragment 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.16.2">
00000000: 25 00 00 4e 09 00 00 00 30 44 31 20 30 1e 06 03
00000010: 55 04 03 13 17 49 4b 45 20 49 6e 74 65 72 6f 70
00000020: 20 54 65 73 74 20 43 6c 69 65 6e 74 31 13 30 11
00000030: 06 03 55 04 0a 13 0a 45 4c 56 49 53 2d 50 4c 55
00000040: 53 31 0b 30 09 06 03 55 04 06 13 02 52 55 26 00
00000050: 05 00 04 30 82 04 f7 30 82 04 a4 a0 03 02 01 02
00000060: 02 13 7c 00 03 da a8 9e 1e ff 9e 79 05 fb bb 00
00000070: 01 00 03 da a8 30 0a 06 08 2a 85 03 07 01 01 03
00000080: 02 30 82 01 0a 31 18 30 16 06 05 2a 85 03 64 01
00000090: 12 0d 31 32 33 34 35 36 37 38 39 30 31 32 33 31
000000A0: 1a 30 18 06 08 2a 85 03 03 81 03 01 01 12 0c 30
000000B0: 30 31 32 33 34 35 36 37 38 39 30 31 2f 30 2d 06
000000C0: 03 55 04 09 0c 26 d1 83 d0 bb 2e 20 d0 a1 d1 83
000000D0: d1 89 d1 91 d0 b2 d1 81 d0 ba d0 b8 d0 b9 20 d0
000000E0: b2 d0 b0 d0 bb 20 d0 b4 2e 20 31 38 31 0b 30 09
000000F0: 06 03 55 04 06 13 02 52 55 31 19 30 17 06 03 55
00000100: 04 08 0c 10 d0 b3 2e 20 d0 9c d0 be d1 81 d0 ba
00000110: d0 b2 d0 b0 31 15 30 13 06 03 55 04 07 0c 0c d0
00000120: 9c d0 be d1 81 d0 ba d0 b2 d0 b0 31 25 30 23 06
00000130: 03 55 04 0a 0c 1c d0 9e d0 9e d0 9e 20 22 d0 9a
00000140: d0 a0 d0 98 d0 9f d0 a2 d0 9e 2d d0 9f d0 a0 d0
00000150: 9e 22 31 3b 30 39 06 03 55 04 03 0c 32 d0 a2 d0
00000160: b5 d1 81 d1 82 d0 be d0 b2 d1 8b d0 b9 20 d0 a3
00000170: d0 a6 20 d0 9e d0 9e d0 9e 20 22 d0 9a d0 a0 d0
00000180: 98 d0 9f d0 a2 d0 9e 2d d0 9f d0 a0 d0 9e 22 30
00000190: 1e 17 0d 32 31 31 30 30 31 30 36 31 30 31 30 5a
000001A0: 17 0d 32 32 30 31 30 31 30 36 32 30 31 30 5a 30
000001B0: 44 31 20 30 1e 06 03 55 04 03 13 17 49 4b 45 20
000001C0: 49 6e 74 65 72 6f 70 20 54 65 73 74 20 43 6c 69
000001D0: 65 6e 74 31 13 30 11 06 03 55 04 0a 13 0a 45 4c
000001E0: 56 49 53 2d 50 4c 55 53 31 0b 30 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.17" derivedCounter="(85)">
              <t indent="0" pn="section-appendix.a.2.1-13.17.1">
Extracts IV from message (fragment 2)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.17.2">
00000000: 00 00 00 00 00 00 00 01
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.18" derivedCounter="(86)">
              <t indent="0" pn="section-appendix.a.2.1-13.18.1">
Uses previously computed key K3i
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.18.2">
00000000: 18 63 41 67 49 6e cf 48 56 71 4d aa 42 63 5c 11
00000010: 2e 26 5b e2 7b c7 53 a4 09 82 e5 5a 7e f4 65 4d
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.19" derivedCounter="(87)">
              <t indent="0" pn="section-appendix.a.2.1-13.19.1">
Composes MGM nonce (fragment 2)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.19.2">
00000000: 00 00 00 01 b4 e1 3e 23
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.20" derivedCounter="(88)">
              <t indent="0" pn="section-appendix.a.2.1-13.20.1">
Extracts ICV from message (fragment 2)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.20.2">
00000000: b4 68 c7 4d eb dd bd 92
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.21" derivedCounter="(89)">
              <t indent="0" pn="section-appendix.a.2.1-13.21.1">
Extracts AAD from message (fragment 2)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.21.2">
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 08 00 00 00 01 00 00 02 20 00 00 02 04
00000020: 00 02 00 04
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.22" derivedCounter="(90)">
              <t indent="0" pn="section-appendix.a.2.1-13.22.1">
Extracts ciphertext from message (fragment 2)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.22.2">
00000000: 3c b1 b4 aa 04 56 27 1b 45 04 f7 70 1b 17 16 16
00000010: 85 16 ee b3 88 7d 08 64 2d 24 b8 1d 7e ac c9 72
00000020: 73 07 d3 d9 ef 5d 08 8b 47 97 5a 98 53 00 ec 13
00000030: cc 5a 46 7b 16 a2 14 6a f1 ea 17 71 9b 75 1d 46
00000040: 9d 6d 8c 3a a2 b2 75 c5 c9 4c 16 56 73 03 16 40
00000050: 42 fe a2 5a cc c7 ed 37 91 b1 eb e5 56 2a 01 bc
00000060: a2 83 ac 05 f1 a7 56 e5 f2 bb f4 18 7f 05 82 14
00000070: 70 de af 44 d4 cc a9 0a 95 6d c1 96 11 3d cf e1
00000080: aa 27 f1 87 60 d2 32 c1 1e 91 bf 60 00 5f d3 fb
00000090: a4 55 2e f0 0b 08 14 ed a3 63 54 4c b8 7b 5c 71
000000A0: 69 d1 3b 0c 6c 93 f3 99 2e fe 36 98 90 a1 05 ee
000000B0: 35 d2 da f8 81 59 f5 17 23 33 40 99 99 42 37 b0
000000C0: 0d 94 0a bd 00 cf 1c be 0e d0 13 93 e2 27 5a a5
000000D0: c5 e8 a0 25 5a 2d ad 6c b4 bc 64 37 05 ac cd 22
000000E0: 92 13 83 ab e8 87 93 29 82 dc 47 b4 1c 92 4d 36
000000F0: ef ba 10 3d 42 2d d6 2c d5 6b 95 99 2d 17 61 c4
00000100: c5 13 ed 55 a5 e5 b2 65 ac 25 24 21 c4 25 7f 6f
00000110: 68 fb ce 8f 17 60 e9 ac 9c 52 9f d5 d4 a7 14 35
00000120: 89 a4 1f de 21 a9 51 3c 1d 73 00 10 ba a6 7c 24
00000130: fb b9 20 21 5e df 63 8a c8 1f b1 55 05 5a 70 a8
00000140: b5 f4 23 9e 22 c0 2a 7c a5 11 01 c3 5e 3d 52 2a
00000150: b8 1d c5 19 b5 55 cc 8e f0 8d 6e 93 36 10 cd e3
00000160: c8 a5 a6 2e 90 53 fa 92 64 16 6c 4f da 9b e5 f8
00000170: 91 c5 ea b4 60 64 db ed d5 bc fc 3a 73 62 ce b2
00000180: ff 7a 15 95 0d 77 00 ee 5c a8 c5 89 2f 39 13 59
00000190: dd 52 ea 11 ae 28 82 36 be aa 29 68 4c f6 63 d5
000001A0: 93 a5 54 3d 8f 13 26 0a 87 34 b9 81 1c 2c cd d5
000001B0: 79 3a 65 6d 1c 6e 32 be b0 77 b7 b3 e4 ae b8 72
000001C0: f9 44 59 e9 14 46 67 56 93 ca 70 d1 ac 25 05 62
000001D0: f7 55 c2 9e 2e 11 a7 29 01 24 77 4a 6f 1c ba f6
000001E0: 4a 4f 83 75 29 1e c7 a9 68 29 02 d0
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.23" derivedCounter="(91)">
              <t indent="0" pn="section-appendix.a.2.1-13.23.1">
Decrypts ciphertext and verifies ICV using K3i as K_msg, resulted resulting in plaintext (fragment 2)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.23.2">
00000000: 09 06 03 55 04 06 13 02 52 55 30 81 aa 30 21 06
00000010: 08 2a 85 03 07 01 01 01 02 30 15 06 09 2a 85 03
00000020: 07 01 02 01 02 01 06 08 2a 85 03 07 01 01 02 03
00000030: 03 81 84 00 04 81 80 ee 2f 0a 0e 09 1e 7e 04 ef
00000040: ba 5b 62 a2 52 86 e1 9c 24 50 30 50 b0 b4 8a 37
00000050: 35 b5 fc af 28 94 ec b5 9b 92 41 5b 69 e2 c9 ba
00000060: 24 de 6a 72 c4 ef 44 bb 89 a1 05 14 1b 87 3d 6a
00000070: a3 72 3e 17 ca 7f 39 28 ce 16 8b dd 07 52 87 6a
00000080: 0d 77 42 6d 99 2b 46 2c fd 4b b2 7c d7 c7 17 08
00000090: 12 54 63 47 9d 14 3d 61 ed f2 95 ab 11 80 69 02
000000A0: a7 66 60 50 7e a4 53 6d ad 01 49 b2 16 8a 95 1d
000000B0: cf 1a 57 93 56 14 5e a3 82 02 59 30 82 02 55 30
000000C0: 0e 06 03 55 1d 0f 01 01 ff 04 04 03 02 05 a0 30
000000D0: 13 06 03 55 1d 25 04 0c 30 0a 06 08 2b 06 01 05
000000E0: 05 07 03 11 30 1d 06 03 55 1d 0e 04 16 04 14 40
000000F0: 81 b1 d1 18 75 f0 da 6b 3c 50 5f cd 73 1d d9 77
00000100: f2 d7 c1 30 1f 06 03 55 1d 23 04 18 30 16 80 14
00000110: 9b 85 5e fb 81 dc 4d 59 07 51 63 cf be df da 2c
00000120: 7f c9 44 3c 30 82 01 0f 06 03 55 1d 1f 04 82 01
00000130: 06 30 82 01 02 30 81 ff a0 81 fc a0 81 f9 86 81
00000140: b5 68 74 74 70 3a 2f 2f 74 65 73 74 67 6f 73 74
00000150: 32 30 31 32 2e 63 72 79 70 74 6f 70 72 6f 2e 72
00000160: 75 2f 43 65 72 74 45 6e 72 6f 6c 6c 2f 21 30 34
00000170: 32 32 21 30 34 33 35 21 30 34 34 31 21 30 34 34
00000180: 32 21 30 34 33 65 21 30 34 33 32 21 30 34 34 62
00000190: 21 30 34 33 39 25 32 30 21 30 34 32 33 21 30 34
000001A0: 32 36 25 32 30 21 30 34 31 65 21 30 34 31 65 21
000001B0: 30 34 31 65 25 32 30 21 30 30 32 32 21 30 34 31
000001C0: 61 21 30 34 32 30 21 30 34 31 38 21 30 34 31 66
000001D0: 21 30 34 32 32 21 30 34 31 65 2d 21 30 34 31 66
000001E0: 21 30 34 32 30 21 30 34 31 65 21 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.24" derivedCounter="(92)">
              <t indent="0" pn="section-appendix.a.2.1-13.24.1">
Extracts IV from message (fragment 3)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.24.2">
00000000: 00 00 00 00 00 00 00 02
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.25" derivedCounter="(93)">
              <t indent="0" pn="section-appendix.a.2.1-13.25.1">
Uses previously computed key K3i
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.25.2">
00000000: 18 63 41 67 49 6e cf 48 56 71 4d aa 42 63 5c 11
00000010: 2e 26 5b e2 7b c7 53 a4 09 82 e5 5a 7e f4 65 4d
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.26" derivedCounter="(94)">
              <t indent="0" pn="section-appendix.a.2.1-13.26.1">
Composes MGM nonce (fragment 3)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.26.2">
00000000: 00 00 00 02 b4 e1 3e 23
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.27" derivedCounter="(95)">
              <t indent="0" pn="section-appendix.a.2.1-13.27.1">
Extracts ICV from message (fragment 3)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.27.2">
00000000: 54 4f 9b aa dd af bd ca
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.28" derivedCounter="(96)">
              <t indent="0" pn="section-appendix.a.2.1-13.28.1">
Extracts AAD from message (fragment 3)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.28.2">
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 08 00 00 00 01 00 00 02 20 00 00 02 04
00000020: 00 03 00 04
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.29" derivedCounter="(97)">
              <t indent="0" pn="section-appendix.a.2.1-13.29.1">
Extracts ciphertext from message (fragment 3)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.29.2">
00000000: e7 72 d9 51 90 b1 a2 bc 81 8d d6 56 bf 7a 81 e0
00000010: 1a a1 70 8b 35 a0 7e 5f e8 df 58 3d 75 5d d2 4c
00000020: 4c ce 17 77 3f 28 9c ca 7a a4 23 23 f0 c7 ff ff
00000030: 98 ee e3 1a 27 39 4d 90 1a b7 5b 44 11 16 11 3a
00000040: ea bf 83 66 da 92 2a 3a 3d bd b5 40 c8 bc f6 ed
00000050: cb 1d 5a 8e 30 f0 06 72 dc 6c da c1 45 7b e8 25
00000060: ca 93 2a b2 fe 4a db 00 90 e3 31 78 26 8d ae c8
00000070: 39 66 80 7d e5 01 5f 21 d6 c3 40 46 19 e4 43 9d
00000080: 23 c6 c1 18 06 49 bd f5 dc 8c 1b 19 b0 60 0c a3
00000090: ad f5 5c 57 e8 8e 37 e6 ea b6 79 11 b8 f1 16 ba
000000A0: a6 d9 09 1f 0d e0 3c 07 b8 ce 9d 11 a3 c6 f7 e4
000000B0: 62 e8 94 7b ad b9 8a 6b 9c f1 f8 43 cf 7e fc 5e
000000C0: 44 ab bf b1 88 f5 67 1e 84 5f 82 63 f3 13 89 55
000000D0: f5 ef 86 c3 db 48 37 f8 26 3c c4 6d a5 fc b5 69
000000E0: 56 0d 2d f3 c0 98 dd e7 53 da 0a 28 87 2f 38 ab
000000F0: a9 ec 60 a6 c4 54 c6 68 e7 6b e3 4b 54 bf b5 82
00000100: 44 c9 b9 45 bc 9e f5 58 d8 76 63 92 cd 52 ec 82
00000110: 80 d6 43 86 10 16 eb 7b 32 e4 ee ba ec 09 b6 4f
00000120: 35 1a bf da d7 de 40 fa b5 d2 40 f2 73 09 2d 52
00000130: 83 bd 56 a6 6b d3 9f 8a c2 c5 66 c6 6b 22 fb 6a
00000140: 00 b2 8a ac 9d 8b fc 8d 41 af 80 92 16 51 e2 cb
00000150: 89 62 9b 77 2b 1e 38 01 df fc 1f 81 2d 95 8b 9e
00000160: 1d 1e ad 9c c0 0d fc 77 6e 35 13 16 26 28 1a 29
00000170: 19 7f f8 08 5a 0f 09 4f 6f ba 7f 4c 5b cd 0c c2
00000180: 71 ab ea 82 a2 d2 d1 1b 17 fd dc c3 54 03 85 14
00000190: f4 90 47 2e 67 d7 93 c3 67 7e 8a f7 43 1a b3 41
000001A0: 32 f7 b0 58 38 6e 24 c8 96 d9 94 d3 54 89 2d 61
000001B0: 10 a9 9c 22 51 52 02 c9 b7 8d cc 5b 28 6d cb 55
000001C0: 5d 2f 97 8a 8f 3f 27 56 73 eb ec 5d e4 64 91 49
000001D0: 3b 88 f2 0a fc ed a5 67 a9 e3 71 ef 31 ce a0 33
000001E0: fc d8 ea 4d 1e 3f dc 89 c8 89 e2 c3
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.30" derivedCounter="(98)">
              <t indent="0" pn="section-appendix.a.2.1-13.30.1">
Decrypts ciphertext and verifies ICV using K3i as K_msg, resulted resulting in plaintext (fragment 3)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.30.2">
00000000: 30 30 32 32 28 31 29 2e 63 72 6c 86 3f 68 74 74
00000010: 70 3a 2f 2f 74 65 73 74 67 6f 73 74 32 30 31 32
00000020: 2e 63 72 79 70 74 6f 70 72 6f 2e 72 75 2f 43 65
00000030: 72 74 45 6e 72 6f 6c 6c 2f 74 65 73 74 67 6f 73
00000040: 74 32 30 31 32 28 31 29 2e 63 72 6c 30 81 da 06
00000050: 08 2b 06 01 05 05 07 01 01 04 81 cd 30 81 ca 30
00000060: 44 06 08 2b 06 01 05 05 07 30 02 86 38 68 74 74
00000070: 70 3a 2f 2f 74 65 73 74 67 6f 73 74 32 30 31 32
00000080: 2e 63 72 79 70 74 6f 70 72 6f 2e 72 75 2f 43 65
00000090: 72 74 45 6e 72 6f 6c 6c 2f 72 6f 6f 74 32 30 31
000000A0: 38 2e 63 72 74 30 3f 06 08 2b 06 01 05 05 07 30
000000B0: 01 86 33 68 74 74 70 3a 2f 2f 74 65 73 74 67 6f
000000C0: 73 74 32 30 31 32 2e 63 72 79 70 74 6f 70 72 6f
000000D0: 2e 72 75 2f 6f 63 73 70 32 30 31 32 67 2f 6f 63
000000E0: 73 70 2e 73 72 66 30 41 06 08 2b 06 01 05 05 07
000000F0: 30 01 86 35 68 74 74 70 3a 2f 2f 74 65 73 74 67
00000100: 6f 73 74 32 30 31 32 2e 63 72 79 70 74 6f 70 72
00000110: 6f 2e 72 75 2f 6f 63 73 70 32 30 31 32 67 73 74
00000120: 2f 6f 63 73 70 2e 73 72 66 30 0a 06 08 2a 85 03
00000130: 07 01 01 03 02 03 41 00 21 ee 3b e1 fd 0f 36 90
00000140: 92 c4 a2 35 26 e8 dc 4e b8 ef 89 40 70 d2 91 39
00000150: bc 79 a6 e2 f7 c1 06 bd d5 d6 ff 72 a5 6c f2 c0
00000160: c3 75 e9 ca 67 81 c1 93 96 b4 bd 18 12 4c 37 f7
00000170: d9 73 d6 4c 8a a6 c4 0a 24 00 00 19 04 5e 9e 50
00000180: 5f 58 b0 a5 7a 33 45 83 49 66 0f 1c 3c 7a 67 71
00000190: 98 27 00 00 4e 09 00 00 00 30 44 31 20 30 1e 06
000001A0: 03 55 04 03 13 17 49 4b 45 20 49 6e 74 65 72 6f
000001B0: 70 20 54 65 73 74 20 53 65 72 76 65 72 31 13 30
000001C0: 11 06 03 55 04 0a 13 0a 45 4c 56 49 53 2d 50 4c
000001D0: 55 53 31 0b 30 09 06 03 55 04 06 13 02 52 55 29
000001E0: 00 00 95 0e 00 00 00 0c 30 0a 06 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.31" derivedCounter="(99)">
              <t indent="0" pn="section-appendix.a.2.1-13.31.1">
Extracts IV from message (fragment 4)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.31.2">
00000000: 00 00 00 00 00 00 00 03
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.32" derivedCounter="(100)">
              <t indent="0" pn="section-appendix.a.2.1-13.32.1">
Uses previously computed key K3i
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.32.2">
00000000: 18 63 41 67 49 6e cf 48 56 71 4d aa 42 63 5c 11
00000010: 2e 26 5b e2 7b c7 53 a4 09 82 e5 5a 7e f4 65 4d
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.33" derivedCounter="(101)">
              <t indent="0" pn="section-appendix.a.2.1-13.33.1">
Composes MGM nonce (fragment 4)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.33.2">
00000000: 00 00 00 03 b4 e1 3e 23
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.34" derivedCounter="(102)">
              <t indent="0" pn="section-appendix.a.2.1-13.34.1">
Extracts ICV from message (fragment 4)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.34.2">
00000000: d2 25 f1 d0 38 65 b7 b6
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.35" derivedCounter="(103)">
              <t indent="0" pn="section-appendix.a.2.1-13.35.1">
Extracts AAD from message (fragment 4)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.35.2">
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 08 00 00 00 01 00 00 01 7a 00 00 01 5e
00000020: 00 04 00 04
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.36" derivedCounter="(104)">
              <t indent="0" pn="section-appendix.a.2.1-13.36.1">
Extracts ciphertext from message (fragment 4)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.36.2">
00000000: e0 8a 0b 04 ee f8 47 c2 52 96 71 9f 9d 39 0c 91
00000010: ea 6a 16 7c 80 31 a0 fd 76 cc c4 f1 8f 1a d3 be
00000020: fa 78 6b df c1 c6 73 83 be 36 69 c4 8a 87 ed 11
00000030: 90 31 a8 fd f9 0a 5c e4 d4 23 c9 e6 b3 96 ac b6
00000040: 8e bd fc 27 58 79 9f cc 8b ac 6b 59 e4 70 4b 05
00000050: 23 16 ed 49 25 f3 de 02 2e ce ae 86 e8 b4 ca b4
00000060: 96 ad 5b f6 2b c2 47 33 6f da f3 97 3c 13 ed 1f
00000070: 7a da 93 b5 69 6a b5 10 93 38 75 ea b7 34 a3 87
00000080: b6 83 c7 da 8a a1 d9 2a 0b 22 e2 ab 63 2b 57 2b
00000090: 88 e3 ea be 7b fc dc 26 ac b8 bb 15 96 f9 c2 f4
000000A0: 60 17 e4 09 18 ae 78 b8 73 02 6b 0e 20 cc b1 cd
000000B0: b4 4d 94 7f f3 16 28 9a d2 bd 26 77 4b a5 85 56
000000C0: b1 81 8b 9c c3 0a 7f 67 fe 6a 61 15 f1 45 66 f3
000000D0: 36 fc a5 bb 1f d7 6d e7 1d 9f 3f b5 cc 60 19 48
000000E0: 17 f7 08 28 1c 58 9f 2b 7a 0b b9 50 bd 02 ea b8
000000F0: 1e 03 1f 52 6a 7a fc e5 b4 6b 00 cf 0d 83 1f d2
00000100: 3f f2 ad 43 d4 86 6e c1 88 d2 87 d6 1f ac a3 30
00000110: 7b c1 5b 6a 3d 4c 20 72 5d 2c ca bf 87 a2 ce 1d
00000120: b3 fa c7 7c 22 cd 66 fc be 49 22 32 17 ee 6e 5e
00000130: 62 c1 ca 12 2b 5d 3d 7b ae b5 3e 53 c5 98 05 1f
00000140: 42 53 49 d1 2c c2
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.37" derivedCounter="(105)">
              <t indent="0" pn="section-appendix.a.2.1-13.37.1">
Decrypts ciphertext and verifies ICV using K3i as K_msg, resulted resulting in plaintext (fragment 4)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.37.2">
00000000: 08 2a 85 03 07 01 01 03 03 6a 3e 59 0d 72 1e 55
00000010: a3 c0 d1 2f 8a 9b 4e 44 10 58 59 bd 62 9e e7 12
00000020: 31 e5 7d 01 53 f3 84 40 dd ac 73 ed 09 3a 10 d9
00000030: 6e 7f eb 80 6c 11 9e 91 f3 7c 3c b0 55 f7 4b ec
00000040: 0e 78 36 10 95 02 09 86 b3 27 04 2a 83 3c 89 36
00000050: 1b 73 cf 7b c9 e0 df a2 07 12 1e 69 52 4d 89 1b
00000060: de 6e 48 d1 34 fa 21 78 22 88 2e 30 86 c0 80 0a
00000070: 2d 74 af 08 ff 35 75 a5 79 e3 85 40 22 6b a8 42
00000080: f6 72 24 bf 29 87 58 a8 20 29 00 00 08 00 00 40
00000090: 00 2f 00 00 0c 00 00 40 01 00 00 00 04 21 00 00
000000A0: 10 01 00 00 00 00 01 00 00 00 03 00 00 2c 00 00
000000B0: 38 00 00 00 34 01 03 04 05 6c 0c a5 70 03 00 00
000000C0: 08 01 00 00 20 03 00 00 08 01 00 00 21 03 00 00
000000D0: 08 01 00 00 22 03 00 00 08 01 00 00 23 00 00 00
000000E0: 08 05 00 00 00 2d 00 00 28 02 00 00 00 07 01 00
000000F0: 10 08 00 08 00 0a 6f 0a ab 0a 6f 0a ab 07 00 00
00000100: 10 00 00 ff ff 00 00 00 00 ff ff ff ff 29 00 00
00000110: 28 02 00 00 00 07 01 00 10 08 00 08 00 0a 00 00
00000120: 02 0a 00 00 02 07 00 00 10 00 00 ff ff 0a 00 00
00000130: 00 0a 00 00 ff 29 00 00 08 00 00 40 0a 00 00 00
00000140: 08 00 00 40 0b 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.38" derivedCounter="(106)">
              <t indent="0" pn="section-appendix.a.2.1-13.38.1">
Reassembles message from received fragments and parses it
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.38.2">
IKE SA Auth
#9280E0822E758778.DB578D97DE119D1E.00000001 IKEv2 I->R[1847]
  4*EF[...]->E[1819]{ I-&gt;R[1847]
  4*EF[...]-&gt;E[1819]{
    IDi[78](DN){CN=IKE Interop Test Client,O=ELVIS-PLUS,C=RU},
    CERT[1280](X.509 Cert){308204...A6C40A},
    CERTREQ[25](X.509 Cert){5E9E50...677198},
    IDr[78](DN){CN=IKE Interop Test Server,O=ELVIS-PLUS,C=RU},
    AUTH[149](Sig){id-tc26-signwithdigest-gost3410-12-512[12]:
              6A3E59...58A820},
    N[8](INITIAL_CONTACT),
    N[12](SET_WINDOW_SIZE){4},
    CP[16](REQUEST){IP4.Address[0], IP4.DNS[0]},
    SA[56]{
      P[52](#1:ESP:6C0CA570:5#){
        Encryption=ENCR_KUZNYECHIK_MGM_KTREE,
                   ENCR_MAGMA_MGM_KTREE,
                   ENCR_KUZNYECHIK_MGM_MAC_KTREE,
                   ENCR_MAGMA_MGM_MAC_KTREE,
        ESN=Off}},
    TSi[40](2#){10.111.10.171:icmp:8.0, 0.0.0.0-255.255.255.255},
    TSr[40](2#){10.0.0.2:icmp:8.0, 10.0.0.0-10.0.0.255},
    N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
    N[8](NON_FIRST_FRAGMENTS_ALSO)}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.39" derivedCounter="(107)">
              <t indent="0" pn="section-appendix.a.2.1-13.39.1">
Computes prf(SK_pi, IDi)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.39.2">
00000000: ce e8 8b d1 7e 3c 83 32 eb d1 29 08 de dc 71 f4
00000010: 8f ba 09 b8 ca 5b 10 e2 f4 44 29 5c 97 7b 26 01
00000020: a4 ba 83 c8 ea 40 92 0f 88 18 bd e7 e1 c9 45 cf
00000030: ff 99 48 05 0d f4 93 a6 cd 54 46 d7 eb 7a 52 94
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.40" derivedCounter="(108)">
              <t indent="0" pn="section-appendix.a.2.1-13.40.1">
Uses initiator's public key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.40.2">
00000010: EE 2F 0A 0E 09 1E 7E 04 EF BA 5B 62 A2 52 86 E1
00000020: 9C 24 50 30 50 B0 B4 8A 37 35 B5 FC AF 28 94 EC
00000030: B5 9B 92 41 5B 69 E2 C9 BA 24 DE 6A 72 C4 EF 44
00000040: BB 89 A1 05 14 1B 87 3D 6A A3 72 3E 17 CA 7F 39
00000050: 28 CE 16 8B DD 07 52 87 6A 0D 77 42 6D 99 2B 46
00000060: 2C FD 4B B2 7C D7 C7 17 08 12 54 63 47 9D 14 3D
00000070: 61 ED F2 95 AB 11 80 69 02 A7 66 60 50 7E A4 53
00000080: 6D AD 01 49 B2 16 8A 95 1D CF 1A 57 93 56 14 5E

]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.41" derivedCounter="(109)">
              <t indent="0" pn="section-appendix.a.2.1-13.41.1">
Verifies signature from AUTH payload using algorithm id-tc26-signwithdigest-gost3410-12-512
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.41.2">
00000000: 6a 3e 59 0d 72 1e 55 a3 c0 d1 2f 8a 9b 4e 44 10
00000010: 58 59 bd 62 9e e7 12 31 e5 7d 01 53 f3 84 40 dd
00000020: ac 73 ed 09 3a 10 d9 6e 7f eb 80 6c 11 9e 91 f3
00000030: 7c 3c b0 55 f7 4b ec 0e 78 36 10 95 02 09 86 b3
00000040: 27 04 2a 83 3c 89 36 1b 73 cf 7b c9 e0 df a2 07
00000050: 12 1e 69 52 4d 89 1b de 6e 48 d1 34 fa 21 78 22
00000060: 88 2e 30 86 c0 80 0a 2d 74 af 08 ff 35 75 a5 79
00000070: e3 85 40 22 6b a8 42 f6 72 24 bf 29 87 58 a8 20
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.42" derivedCounter="(110)">
              <t indent="0" pn="section-appendix.a.2.1-13.42.1">
Computes keys for ESP SAs
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.42.2">
00000000: 98 ab 7e db 78 03 a1 e6 c7 21 43 ee b9 7f 5f 56
00000010: 45 bb 51 cd 0b b7 09 a1 af 34 02 87 69 4d 7b a0
00000020: 1d 14 a0 cc
00000000: 70 31 4d 57 94 8b 7e 5c 6f 29 d5 68 1b fd 43 2b
00000010: 19 4e 64 6d 8f 8a 8d 1e ba 72 24 59 c7 0c de 81
00000020: e2 04 84 af
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.43" derivedCounter="(111)">
              <t indent="0" pn="section-appendix.a.2.1-13.43.1">
Computes prf(SK_pr,IDr)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.43.2">
00000000: 7d c8 6a 33 12 02 5c 21 1f ab dc 83 0b 01 a5 27
00000010: 82 a2 f2 1f 64 c6 e9 5e 0e c0 4c e5 d9 11 8d 8e
00000020: b9 5c ef fa b0 a3 37 75 94 20 7c e4 60 60 ed 9d
00000030: fa 5e cb 7e e7 79 05 ab fb 51 1b 03 a8 2c c5 6a
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.44" derivedCounter="(112)">
              <t indent="0" pn="section-appendix.a.2.1-13.44.1">
Uses private key for signing (little endian)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.44.2">
00000000: CB 73 0C 81 6F AC 6D 81 9F 82 AE 15 A9 08 12 17
00000010: D3 1B 97 64 B7 1C 34 0D D3 DD 90 1F 15 8C 9B 06
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.45" derivedCounter="(113)">
              <t indent="0" pn="section-appendix.a.2.1-13.45.1">
Uses random number for signing
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.45.2">
00000000: 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
00000010: 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.46" derivedCounter="(114)">
              <t indent="0" pn="section-appendix.a.2.1-13.46.1">
Computes signature using algorithm id-tc26-signwithdigest-gost3410-12-256
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.46.2">
00000000: c8 40 af f7 46 6f 7b eb d2 b9 1c 5a 80 d0 00 93
00000010: c2 5e 44 16 40 47 f7 8e 61 9c da a5 16 94 83 c5
00000020: 68 5f e8 4d 03 e7 c2 cd 08 07 b8 f3 46 66 6d 05
00000030: 76 c0 d5 e7 60 1d 59 49 09 45 52 c4 95 a7 5a d3
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.47" derivedCounter="(115)">
              <t indent="0" pn="section-appendix.a.2.1-13.47.1">
Computes K1r (i1 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.47.2">
00000000: 35 e4 d1 65 2e ec 24 89 e4 c9 58 b1 b9 05 1b 83
00000010: 62 5e 65 d7 61 73 d9 1c cf 84 60 64 b9 f2 e7 51
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.48" derivedCounter="(116)">
              <t indent="0" pn="section-appendix.a.2.1-13.48.1">
Computes K2r (i2 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.48.2">
00000000: 86 8c 89 42 41 d7 30 da 1a 4a 67 69 3a 32 4d 38
00000010: f3 54 02 9f f7 7d b7 bc 5a ee 3b 60 2b 3f 05 56
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.49" derivedCounter="(117)">
              <t indent="0" pn="section-appendix.a.2.1-13.49.1">
Computes K3r (i3 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.49.2">
00000000: 31 95 e8 c6 67 af 42 d8 ce f1 e8 99 c6 8b 2a c2
00000010: 29 aa 3d c0 ff 18 5f 3d 79 4a 14 6b 9f ac d0 bb
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.50" derivedCounter="(118)">
              <t indent="0" pn="section-appendix.a.2.1-13.50.1">
Selects SPI for incoming ESP SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.50.2">
00000000: 34 ff 8a 25
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.51" derivedCounter="(119)">
              <t indent="0" pn="section-appendix.a.2.1-13.51.1">
Creates message splitting it into 4 fragments
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.51.2">
IKE SA Auth
#9280E0822E758778.DB578D97DE119D1E.00000001 IKEv2 I<=R[1563]
  E[1535]->4*EF[...]{ I&lt;=R[1563]
  E[1535]-&gt;4*EF[...]{
    IDr[78](DN){CN=IKE Interop Test Server,O=ELVIS-PLUS,C=RU},
    CERT[1211](X.509 Cert){308204...FB346D},
    AUTH[85](Sig){id-tc26-signwithdigest-gost3410-12-256[12]:
             C840AF...A75AD3},
    N[8](INITIAL_CONTACT),
    N[12](SET_WINDOW_SIZE){64},
    CP[16](REPLY){IP4.Address[4]=10.1.1.3},
    SA[32]{
      P[28](#1:ESP:34FF8A25:2#){
        Encryption=ENCR_MAGMA_MGM_KTREE,
        ESN=Off}},
    TSi[24](1#){10.1.1.3},
    TSr[24](1#){10.0.0.0-10.0.0.255},
    N[8](ADDITIONAL_TS_POSSIBLE),
    N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
    N[8](NON_FIRST_FRAGMENTS_ALSO)}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.52" derivedCounter="(120)">
              <t indent="0" pn="section-appendix.a.2.1-13.52.1">
Composes MGM nonce (fragment 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.52.2">
00000000: 00 00 00 00 a5 bb 18 2f
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.53" derivedCounter="(121)">
              <t indent="0" pn="section-appendix.a.2.1-13.53.1">
Composes AAD (fragment 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.53.2">
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 20 00 00 00 01 00 00 02 20 24 00 02 04
00000020: 00 01 00 04
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.54" derivedCounter="(122)">
              <t indent="0" pn="section-appendix.a.2.1-13.54.1">
Composes plaintext (fragment 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.54.2">
00000000: 25 00 00 4e 09 00 00 00 30 44 31 20 30 1e 06 03
00000010: 55 04 03 13 17 49 4b 45 20 49 6e 74 65 72 6f 70
00000020: 20 54 65 73 74 20 53 65 72 76 65 72 31 13 30 11
00000030: 06 03 55 04 0a 13 0a 45 4c 56 49 53 2d 50 4c 55
00000040: 53 31 0b 30 09 06 03 55 04 06 13 02 52 55 27 00
00000050: 04 bb 04 30 82 04 b2 30 82 04 5f a0 03 02 01 02
00000060: 02 13 7c 00 03 d9 02 ec f9 34 3e c8 aa d6 59 00
00000070: 01 00 03 d9 02 30 0a 06 08 2a 85 03 07 01 01 03
00000080: 02 30 82 01 0a 31 18 30 16 06 05 2a 85 03 64 01
00000090: 12 0d 31 32 33 34 35 36 37 38 39 30 31 32 33 31
000000A0: 1a 30 18 06 08 2a 85 03 03 81 03 01 01 12 0c 30
000000B0: 30 31 32 33 34 35 36 37 38 39 30 31 2f 30 2d 06
000000C0: 03 55 04 09 0c 26 d1 83 d0 bb 2e 20 d0 a1 d1 83
000000D0: d1 89 d1 91 d0 b2 d1 81 d0 ba d0 b8 d0 b9 20 d0
000000E0: b2 d0 b0 d0 bb 20 d0 b4 2e 20 31 38 31 0b 30 09
000000F0: 06 03 55 04 06 13 02 52 55 31 19 30 17 06 03 55
00000100: 04 08 0c 10 d0 b3 2e 20 d0 9c d0 be d1 81 d0 ba
00000110: d0 b2 d0 b0 31 15 30 13 06 03 55 04 07 0c 0c d0
00000120: 9c d0 be d1 81 d0 ba d0 b2 d0 b0 31 25 30 23 06
00000130: 03 55 04 0a 0c 1c d0 9e d0 9e d0 9e 20 22 d0 9a
00000140: d0 a0 d0 98 d0 9f d0 a2 d0 9e 2d d0 9f d0 a0 d0
00000150: 9e 22 31 3b 30 39 06 03 55 04 03 0c 32 d0 a2 d0
00000160: b5 d1 81 d1 82 d0 be d0 b2 d1 8b d0 b9 20 d0 a3
00000170: d0 a6 20 d0 9e d0 9e d0 9e 20 22 d0 9a d0 a0 d0
00000180: 98 d0 9f d0 a2 d0 9e 2d d0 9f d0 a0 d0 9e 22 30
00000190: 1e 17 0d 32 31 30 39 33 30 31 33 32 34 30 36 5a
000001A0: 17 0d 32 31 31 32 33 30 31 33 33 34 30 36 5a 30
000001B0: 44 31 20 30 1e 06 03 55 04 03 13 17 49 4b 45 20
000001C0: 49 6e 74 65 72 6f 70 20 54 65 73 74 20 53 65 72
000001D0: 76 65 72 31 13 30 11 06 03 55 04 0a 13 0a 45 4c
000001E0: 56 49 53 2d 50 4c 55 53 31 0b 30 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.55" derivedCounter="(123)">
              <t indent="0" pn="section-appendix.a.2.1-13.55.1">
Encrypts plaintext using K3r as K_msg, resulted resulting in ciphertext (fragment 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.55.2">
00000000: 73 f2 45 3e fb 6a 26 28 67 7d 14 e3 bf 0a 90 74
00000010: c9 95 6a 40 d5 4e a6 77 cf 58 2e b8 ae 52 f4 25
00000020: f7 82 bc d9 f0 74 4e 38 51 90 07 70 27 f8 01 27
00000030: 17 da f4 ba bc 1e 02 0b 73 ec cc 7b f8 b3 68 64
00000040: f3 48 65 33 3b ab ac 19 11 d3 f7 78 b4 f8 d1 3f
00000050: 6d 46 93 37 a6 58 48 3a 7d d0 8a 9c 84 ab de eb
00000060: 0d d4 8d ab 75 20 18 27 42 fe 24 ee ba c4 a4 6e
00000070: db 80 68 3c 84 7e d6 36 50 d4 1b 1c bc c5 9f 18
00000080: 41 af 48 52 c1 7e a2 f0 e4 bc 0a 3c 64 34 81 ca
00000090: df 96 ba 51 91 f1 06 13 b2 04 23 c8 70 3a ea 64
000000A0: e9 ea ce c2 db aa 12 90 28 0c 9d f9 89 02 a8 5e
000000B0: 66 f5 6e ce dd e7 2c 4a 45 54 de 5e b8 76 73 67
000000C0: 2d a3 a0 52 91 74 ff b7 eb e4 ea d1 2b 04 76 f7
000000D0: ff 4b 1c b8 45 7e 8a 60 e7 1e ec 13 3e c1 d8 d0
000000E0: 78 be f4 79 77 06 ce 76 04 64 ad e7 10 19 65 2b
000000F0: 45 66 23 3d 34 7a 40 6c 36 c0 20 73 47 d8 7a b6
00000100: 2b 0f 56 04 7a c0 41 ab 18 23 11 78 7f 4f d4 f5
00000110: 7d 2e 06 a5 15 ee de 84 9f c2 0a f6 c8 1e a4 30
00000120: 70 42 07 c8 5e 97 08 69 12 27 58 c3 c7 b7 db 7a
00000130: 8c 50 3a 3a 5c bf 3a a7 73 40 8f 9c 18 f6 13 77
00000140: 63 c1 60 06 36 a1 43 ab 88 08 c9 cc ad f2 88 ca
00000150: 84 bd 45 e0 8e d9 27 a3 07 f2 63 79 b0 a8 62 9f
00000160: 5f ba dc a7 f5 54 b8 4f 4f bb 1e a2 16 4b 4f 2d
00000170: d4 08 4e 45 c2 c0 60 3b 73 df 6b 35 3a fe 38 2e
00000180: 25 75 fc be 89 4c d2 7a 9c 1f b4 41 a6 31 d3 3d
00000190: 39 a6 d1 c4 47 94 44 30 3a 2b 23 22 ba c0 a9 df
000001A0: dc 1c 90 8d d1 e8 13 f9 08 68 5a 94 98 c7 3f 47
000001B0: 77 79 b5 bb fb 22 56 4b 38 55 48 e8 14 d4 01 eb
000001C0: 63 e9 17 da 24 69 9a 6d dc 1e 25 06 ef 77 10 46
000001D0: ad 99 ad 9c 54 4f d4 68 64 ea 05 1d ef 29 ea 0e
000001E0: 3c 1c 7e 27 cf 59 76 42 5b 02 04 b8
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.56" derivedCounter="(124)">
              <t indent="0" pn="section-appendix.a.2.1-13.56.1">
Computes ICV using K3r as K_msg (fragment 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.56.2">
00000000: 96 08 17 ed ef 01 4d a0
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.57" derivedCounter="(125)">
              <t indent="0" pn="section-appendix.a.2.1-13.57.1">
Composes IV (fragment 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.57.2">
00000000: 00 00 00 00 00 00 00 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.58" derivedCounter="(126)">
              <t indent="0" pn="section-appendix.a.2.1-13.58.1">
Composes MGM nonce (fragment 2)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.58.2">
00000000: 00 00 00 01 a5 bb 18 2f
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.59" derivedCounter="(127)">
              <t indent="0" pn="section-appendix.a.2.1-13.59.1">
Composes AAD (fragment 2)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.59.2">
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 20 00 00 00 01 00 00 02 20 00 00 02 04
00000020: 00 02 00 04
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.60" derivedCounter="(128)">
              <t indent="0" pn="section-appendix.a.2.1-13.60.1">
Composes plaintext (fragment 2)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.60.2">
00000000: 09 06 03 55 04 06 13 02 52 55 30 66 30 1f 06 08
00000010: 2a 85 03 07 01 01 01 01 30 13 06 07 2a 85 03 02
00000020: 02 24 00 06 08 2a 85 03 07 01 01 02 02 03 43 00
00000030: 04 40 5b b3 14 3e f4 70 c1 70 d7 f3 27 25 d8 53
00000040: 7c e6 de 6d 8c 29 f6 b2 32 64 56 dc b1 77 f2 3d
00000050: fa f4 2a 5c f3 74 86 7f 04 72 51 c1 cf b3 43 36
00000060: f5 95 a2 af 05 47 57 1a 55 c0 78 a4 9d 64 26 b8
00000070: 61 14 a3 82 02 59 30 82 02 55 30 0e 06 03 55 1d
00000080: 0f 01 01 ff 04 04 03 02 05 a0 30 13 06 03 55 1d
00000090: 25 04 0c 30 0a 06 08 2b 06 01 05 05 07 03 11 30
000000A0: 1d 06 03 55 1d 0e 04 16 04 14 e0 d3 f0 09 ad ce
000000B0: 6c a5 47 ba 9b f7 a6 a5 1b 06 14 ba a5 43 30 1f
000000C0: 06 03 55 1d 23 04 18 30 16 80 14 9b 85 5e fb 81
000000D0: dc 4d 59 07 51 63 cf be df da 2c 7f c9 44 3c 30
000000E0: 82 01 0f 06 03 55 1d 1f 04 82 01 06 30 82 01 02
000000F0: 30 81 ff a0 81 fc a0 81 f9 86 81 b5 68 74 74 70
00000100: 3a 2f 2f 74 65 73 74 67 6f 73 74 32 30 31 32 2e
00000110: 63 72 79 70 74 6f 70 72 6f 2e 72 75 2f 43 65 72
00000120: 74 45 6e 72 6f 6c 6c 2f 21 30 34 32 32 21 30 34
00000130: 33 35 21 30 34 34 31 21 30 34 34 32 21 30 34 33
00000140: 65 21 30 34 33 32 21 30 34 34 62 21 30 34 33 39
00000150: 25 32 30 21 30 34 32 33 21 30 34 32 36 25 32 30
00000160: 21 30 34 31 65 21 30 34 31 65 21 30 34 31 65 25
00000170: 32 30 21 30 30 32 32 21 30 34 31 61 21 30 34 32
00000180: 30 21 30 34 31 38 21 30 34 31 66 21 30 34 32 32
00000190: 21 30 34 31 65 2d 21 30 34 31 66 21 30 34 32 30
000001A0: 21 30 34 31 65 21 30 30 32 32 28 31 29 2e 63 72
000001B0: 6c 86 3f 68 74 74 70 3a 2f 2f 74 65 73 74 67 6f
000001C0: 73 74 32 30 31 32 2e 63 72 79 70 74 6f 70 72 6f
000001D0: 2e 72 75 2f 43 65 72 74 45 6e 72 6f 6c 6c 2f 74
000001E0: 65 73 74 67 6f 73 74 32 30 31 32 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.61" derivedCounter="(129)">
              <t indent="0" pn="section-appendix.a.2.1-13.61.1">
Encrypts plaintext using K3r as K_msg, resulted resulting in ciphertext (fragment 2)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.61.2">
00000000: b1 c8 8d ae d9 6f 91 7e 5a 6a 2d 8c e0 d6 28 3e
00000010: 10 59 46 12 a1 1e fa 53 c3 58 ec 4e a9 a5 92 0c
00000020: fa 5e cf a3 33 4a 8b b7 56 66 54 d9 9c 64 2e b6
00000030: 4d 03 3f 77 a8 17 88 f6 23 e0 2e 56 a6 a2 4c 4d
00000040: 6e e3 09 8a 2e 31 a1 85 1c cf ce 95 e7 73 93 8e
00000050: 9c 5a 7b 3b 49 75 96 69 d4 b0 46 f7 74 b0 0d 5d
00000060: 91 3b 6d 2b a4 46 cc 5c d9 a8 38 c0 6b ad 73 35
00000070: 09 aa c7 4c 91 8a 84 1c dd 3f e1 44 f7 c5 9c 61
00000080: 0e b7 03 6b 84 cc 8e 93 5b d5 f6 7e 71 3a f4 2c
00000090: 98 14 ad 47 e3 c3 70 dc e3 3e c0 a5 e0 e4 6d 01
000000A0: 44 78 7f e3 b7 6c cb 44 29 59 96 e9 84 6d 9d 18
000000B0: 89 66 16 07 46 a4 cd 72 a6 0e bd d2 a7 1c f7 21
000000C0: f0 d1 67 a9 0d 1c c4 c8 30 bd 26 1f 53 7d 61 8b
000000D0: ad 6f ef 3e 2c 6e 7e 69 b9 92 72 66 65 b6 06 22
000000E0: 49 a1 a8 f1 2f 02 dd 41 bf f5 d1 f6 7c 93 25 6e
000000F0: 52 8b a9 3f b5 40 97 02 bb 7c f5 33 a6 60 52 b8
00000100: 4f 3e 80 6c 38 cf e4 8b 15 fd d0 66 75 c1 bf bb
00000110: ac fc ac 01 c3 11 8e 0b 3e e9 2c 1b 5d b9 9f f6
00000120: 2f d7 e8 3c c7 a9 25 8b aa 6e c6 49 6d 6f df 42
00000130: 53 0e ba 70 54 d2 af c3 4d 02 e1 48 42 c5 45 53
00000140: 25 59 66 25 c7 3c c6 c2 e2 99 e2 bb 47 a4 a7 be
00000150: 6c 92 0d 3b 4c ab 6e d7 23 05 ea 73 07 62 e8 c0
00000160: e8 78 47 af 54 c8 67 8f dd 32 59 8d 87 ac 42 0e
00000170: 21 15 c4 f7 66 dc 02 cf 55 c2 e3 4d 8e 91 7a fd
00000180: d7 4d 20 b0 6f 67 78 58 08 9c ba 05 8b b0 9c 16
00000190: 20 51 75 12 96 e2 d5 28 ac 3e 50 26 04 6f 59 02
000001A0: 28 e0 ec 2c da 70 4a 9c 15 5a 2e 52 01 e6 4e 1e
000001B0: 10 6d 8d 5d 2a 81 69 0e 54 d0 5e 13 82 82 84 9a
000001C0: ac a6 0e 69 4e 17 5c c1 8a 71 f8 b4 80 3b 7a e5
000001D0: b8 1f 09 4a 02 14 24 07 af 6a 14 d9 52 8e da d3
000001E0: 58 23 68 71 27 b2 9a 03 09 f7 80 51
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.62" derivedCounter="(130)">
              <t indent="0" pn="section-appendix.a.2.1-13.62.1">
Computes ICV using K3r as K_msg (fragment 2)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.62.2">
00000000: 89 bd 07 12 fc 3f 15 8d
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.63" derivedCounter="(131)">
              <t indent="0" pn="section-appendix.a.2.1-13.63.1">
Composes IV (fragment 2)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.63.2">
00000000: 00 00 00 00 00 00 00 01
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.64" derivedCounter="(132)">
              <t indent="0" pn="section-appendix.a.2.1-13.64.1">
Composes MGM nonce (fragment 3)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.64.2">
00000000: 00 00 00 02 a5 bb 18 2f
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.65" derivedCounter="(133)">
              <t indent="0" pn="section-appendix.a.2.1-13.65.1">
Composes AAD (fragment 3)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.65.2">
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 20 00 00 00 01 00 00 02 20 00 00 02 04
00000020: 00 03 00 04
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.66" derivedCounter="(134)">
              <t indent="0" pn="section-appendix.a.2.1-13.66.1">
Composes plaintext (fragment 3)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.66.2">
00000000: 28 31 29 2e 63 72 6c 30 81 da 06 08 2b 06 01 05
00000010: 05 07 01 01 04 81 cd 30 81 ca 30 44 06 08 2b 06
00000020: 01 05 05 07 30 02 86 38 68 74 74 70 3a 2f 2f 74
00000030: 65 73 74 67 6f 73 74 32 30 31 32 2e 63 72 79 70
00000040: 74 6f 70 72 6f 2e 72 75 2f 43 65 72 74 45 6e 72
00000050: 6f 6c 6c 2f 72 6f 6f 74 32 30 31 38 2e 63 72 74
00000060: 30 3f 06 08 2b 06 01 05 05 07 30 01 86 33 68 74
00000070: 74 70 3a 2f 2f 74 65 73 74 67 6f 73 74 32 30 31
00000080: 32 2e 63 72 79 70 74 6f 70 72 6f 2e 72 75 2f 6f
00000090: 63 73 70 32 30 31 32 67 2f 6f 63 73 70 2e 73 72
000000A0: 66 30 41 06 08 2b 06 01 05 05 07 30 01 86 35 68
000000B0: 74 74 70 3a 2f 2f 74 65 73 74 67 6f 73 74 32 30
000000C0: 31 32 2e 63 72 79 70 74 6f 70 72 6f 2e 72 75 2f
000000D0: 6f 63 73 70 32 30 31 32 67 73 74 2f 6f 63 73 70
000000E0: 2e 73 72 66 30 0a 06 08 2a 85 03 07 01 01 03 02
000000F0: 03 41 00 a5 39 5f ca 48 e1 c2 93 c1 e0 8a 64 74
00000100: 0f 6b 86 a2 15 9b 46 29 d0 42 71 4f ce e7 52 d7
00000110: d7 3d aa 47 ce cf 52 63 8f 26 b2 17 5f ad 96 57
00000120: 76 ea 5f d0 87 bb 12 29 e4 06 0e e1 5f fd 59 81
00000130: fb 34 6d 29 00 00 55 0e 00 00 00 0c 30 0a 06 08
00000140: 2a 85 03 07 01 01 03 02 c8 40 af f7 46 6f 7b eb
00000150: d2 b9 1c 5a 80 d0 00 93 c2 5e 44 16 40 47 f7 8e
00000160: 61 9c da a5 16 94 83 c5 68 5f e8 4d 03 e7 c2 cd
00000170: 08 07 b8 f3 46 66 6d 05 76 c0 d5 e7 60 1d 59 49
00000180: 09 45 52 c4 95 a7 5a d3 29 00 00 08 00 00 40 00
00000190: 2f 00 00 0c 00 00 40 01 00 00 00 40 21 00 00 10
000001A0: 02 00 00 00 00 01 00 04 0a 01 01 03 2c 00 00 20
000001B0: 00 00 00 1c 01 03 04 02 34 ff 8a 25 03 00 00 08
000001C0: 01 00 00 21 00 00 00 08 05 00 00 00 2d 00 00 18
000001D0: 01 00 00 00 07 00 00 10 00 00 ff ff 0a 01 01 03
000001E0: 0a 01 01 03 29 00 00 18 01 00 00 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.67" derivedCounter="(135)">
              <t indent="0" pn="section-appendix.a.2.1-13.67.1">
Encrypts plaintext using K3r as K_msg, resulted resulting in ciphertext (fragment 3)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.67.2">
00000000: 08 e0 86 04 1f 8a c9 b5 68 cd 96 10 ab 59 99 3a
00000010: 54 7b a9 fa d7 60 46 ec c3 bf bd 8f fa 03 ed 41
00000020: 49 13 ca 8c 9c b8 0c df 81 25 e2 30 ca cb 65 b9
00000030: 16 55 8e 67 f4 b3 7c b8 91 66 76 7c a4 15 98 a3
00000040: 3a c9 48 64 e4 ce 9f 64 67 5d bb 7c 03 23 9e c9
00000050: 81 3f da 48 ee a6 2a d8 fb ac 77 ce ed c2 a4 d9
00000060: 24 d3 71 99 fc 71 2b 6c 10 d3 c3 4b b5 37 e2 55
00000070: 5f d5 ee c0 d6 ff 66 15 8c e5 63 26 96 cd 3f 49
00000080: 2b da 51 94 55 6e 2e e5 2e d1 b4 91 81 50 85 8a
00000090: 84 bd fe 52 ec ce 1b 6b bd 7d 12 b4 de a5 88 c4
000000A0: b7 78 d3 3d 2d 46 ef dc 0f 91 43 be 08 7a ba fa
000000B0: b3 2a c2 17 30 99 79 ae 3a 00 f0 3f 47 4a 9b 11
000000C0: 4d 7b 1b 28 0a 44 5b 1a af 35 4d c3 2b 6b be 11
000000D0: 89 03 b9 de cf 37 57 53 1e a4 f3 3f ce 52 a6 d8
000000E0: 7e 9d d8 d4 2f 9f f5 8f 3c c6 cb 2f 56 e0 97 2d
000000F0: b2 0e 10 66 3b 3c ec 34 50 99 a3 7d 42 ec 96 eb
00000100: 87 48 72 2c 0a 6d af b9 4b 62 48 89 36 01 21 ab
00000110: 8e 79 10 54 9c 83 ab a9 8a 6c 37 c7 ac dc a1 7e
00000120: 41 0e 58 de da aa 95 71 fb 34 50 8a ef 37 0b c4
00000130: 56 ca 4b 2c 75 b7 c7 d9 74 22 c2 65 1a e4 4f 94
00000140: 20 f6 e9 44 f1 69 5e d2 18 d3 30 2e 85 74 25 be
00000150: 2a 88 e2 ce fe 75 ca fa 25 f9 2e 88 8c ed 6f dd
00000160: c3 c5 53 2e da 14 fd 96 28 4a b7 81 3a b3 d5 44
00000170: 26 e2 84 21 f2 5c 0a ed bf c4 34 1c a4 91 5e f3
00000180: 47 ef 0e 9e fb ee 34 95 5d 21 72 43 c9 63 af b4
00000190: f2 98 4a 36 57 77 fc e7 57 52 b2 4d bf 34 2a 98
000001A0: ea 70 cd d7 a9 da 4c 0d 19 05 d4 1e dd 36 c7 c4
000001B0: 31 54 18 2a ef 0e 30 44 97 31 15 57 cd d4 88 52
000001C0: 4e 42 c8 20 89 8d 35 7b 8e 03 96 b4 74 fb ec 3b
000001D0: 14 c2 64 49 92 f2 1f 3d ff 84 2d 92 4c b9 01 04
000001E0: 3d 0a 2a 28 33 de 43 44 6b cf 79 0e
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.68" derivedCounter="(136)">
              <t indent="0" pn="section-appendix.a.2.1-13.68.1">
Computes ICV using K3r as K_msg (fragment 3)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.68.2">
00000000: 7d 7c 57 8f 91 d0 c9 eb
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.69" derivedCounter="(137)">
              <t indent="0" pn="section-appendix.a.2.1-13.69.1">
Composes IV (fragment 3)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.69.2">
00000000: 00 00 00 00 00 00 00 02
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.70" derivedCounter="(138)">
              <t indent="0" pn="section-appendix.a.2.1-13.70.1">
Composes MGM nonce (fragment 4)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.70.2">
00000000: 00 00 00 03 a5 bb 18 2f
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.71" derivedCounter="(139)">
              <t indent="0" pn="section-appendix.a.2.1-13.71.1">
Composes AAD (fragment 4)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.71.2">
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 20 00 00 00 01 00 00 00 5e 00 00 00 42
00000020: 00 04 00 04
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.72" derivedCounter="(140)">
              <t indent="0" pn="section-appendix.a.2.1-13.72.1">
Composes plaintext (fragment 4)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.72.2">
00000000: 00 07 00 00 10 00 00 ff ff 0a 00 00 00 0a 00 00
00000010: ff 29 00 00 08 00 00 40 02 29 00 00 08 00 00 40
00000020: 0a 00 00 00 08 00 00 40 0b 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.73" derivedCounter="(141)">
              <t indent="0" pn="section-appendix.a.2.1-13.73.1">
Encrypts plaintext using K3r as K_msg, resulted resulting in ciphertext (fragment 4)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.73.2">
00000000: 81 fa 5d 7a 67 13 b7 93 f4 2c 01 b8 d1 02 8c ab
00000010: 8e 80 47 25 6e c5 69 e3 0c 84 cd 35 9a 0f 7a cc
00000020: 0a 92 7a 74 77 dc ba 60 ac 4a
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.74" derivedCounter="(142)">
              <t indent="0" pn="section-appendix.a.2.1-13.74.1">
Computes ICV using K3r as K_msg (fragment 4)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.74.2">
00000000: 6c 27 70 e0 8a 82 bd 4b
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.75" derivedCounter="(143)">
              <t indent="0" pn="section-appendix.a.2.1-13.75.1">
Composes IV (fragment 4)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.75.2">
00000000: 00 00 00 00 00 00 00 03
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.76" derivedCounter="(144)">
              <t indent="0" pn="section-appendix.a.2.1-13.76.1">
Sends message fragment (1)
, (1), peer receives message fragment (1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54295<-10.111.15.45:4500 type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.76.2">
       10.111.10.171:54295&lt;-10.111.15.45:4500 [548]

00000000: 00 00 00 00 92 80 e0 82 2e 75 87 78 db 57 8d 97
00000010: de 11 9d 1e 35 20 23 20 00 00 00 01 00 00 02 20
00000020: 24 00 02 04 00 01 00 04 00 00 00 00 00 00 00 00
00000030: 73 f2 45 3e fb 6a 26 28 67 7d 14 e3 bf 0a 90 74
00000040: c9 95 6a 40 d5 4e a6 77 cf 58 2e b8 ae 52 f4 25
00000050: f7 82 bc d9 f0 74 4e 38 51 90 07 70 27 f8 01 27
00000060: 17 da f4 ba bc 1e 02 0b 73 ec cc 7b f8 b3 68 64
00000070: f3 48 65 33 3b ab ac 19 11 d3 f7 78 b4 f8 d1 3f
00000080: 6d 46 93 37 a6 58 48 3a 7d d0 8a 9c 84 ab de eb
00000090: 0d d4 8d ab 75 20 18 27 42 fe 24 ee ba c4 a4 6e
000000A0: db 80 68 3c 84 7e d6 36 50 d4 1b 1c bc c5 9f 18
000000B0: 41 af 48 52 c1 7e a2 f0 e4 bc 0a 3c 64 34 81 ca
000000C0: df 96 ba 51 91 f1 06 13 b2 04 23 c8 70 3a ea 64
000000D0: e9 ea ce c2 db aa 12 90 28 0c 9d f9 89 02 a8 5e
000000E0: 66 f5 6e ce dd e7 2c 4a 45 54 de 5e b8 76 73 67
000000F0: 2d a3 a0 52 91 74 ff b7 eb e4 ea d1 2b 04 76 f7
00000100: ff 4b 1c b8 45 7e 8a 60 e7 1e ec 13 3e c1 d8 d0
00000110: 78 be f4 79 77 06 ce 76 04 64 ad e7 10 19 65 2b
00000120: 45 66 23 3d 34 7a 40 6c 36 c0 20 73 47 d8 7a b6
00000130: 2b 0f 56 04 7a c0 41 ab 18 23 11 78 7f 4f d4 f5
00000140: 7d 2e 06 a5 15 ee de 84 9f c2 0a f6 c8 1e a4 30
00000150: 70 42 07 c8 5e 97 08 69 12 27 58 c3 c7 b7 db 7a
00000160: 8c 50 3a 3a 5c bf 3a a7 73 40 8f 9c 18 f6 13 77
00000170: 63 c1 60 06 36 a1 43 ab 88 08 c9 cc ad f2 88 ca
00000180: 84 bd 45 e0 8e d9 27 a3 07 f2 63 79 b0 a8 62 9f
00000190: 5f ba dc a7 f5 54 b8 4f 4f bb 1e a2 16 4b 4f 2d
000001A0: d4 08 4e 45 c2 c0 60 3b 73 df 6b 35 3a fe 38 2e
000001B0: 25 75 fc be 89 4c d2 7a 9c 1f b4 41 a6 31 d3 3d
000001C0: 39 a6 d1 c4 47 94 44 30 3a 2b 23 22 ba c0 a9 df
000001D0: dc 1c 90 8d d1 e8 13 f9 08 68 5a 94 98 c7 3f 47
000001E0: 77 79 b5 bb fb 22 56 4b 38 55 48 e8 14 d4 01 eb
000001F0: 63 e9 17 da 24 69 9a 6d dc 1e 25 06 ef 77 10 46
00000200: ad 99 ad 9c 54 4f d4 68 64 ea 05 1d ef 29 ea 0e
00000210: 3c 1c 7e 27 cf 59 76 42 5b 02 04 b8 96 08 17 ed
00000220: ef 01 4d a0
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.77" derivedCounter="(145)">
              <t indent="0" pn="section-appendix.a.2.1-13.77.1">
Sends message fragment (2)
, (2), peer receives message fragment (2)
</t>
              <sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54295<-10.111.15.45:4500 type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.77.2">
       10.111.10.171:54295&lt;-10.111.15.45:4500 [548]

00000000: 00 00 00 00 92 80 e0 82 2e 75 87 78 db 57 8d 97
00000010: de 11 9d 1e 35 20 23 20 00 00 00 01 00 00 02 20
00000020: 00 00 02 04 00 02 00 04 00 00 00 00 00 00 00 01
00000030: b1 c8 8d ae d9 6f 91 7e 5a 6a 2d 8c e0 d6 28 3e
00000040: 10 59 46 12 a1 1e fa 53 c3 58 ec 4e a9 a5 92 0c
00000050: fa 5e cf a3 33 4a 8b b7 56 66 54 d9 9c 64 2e b6
00000060: 4d 03 3f 77 a8 17 88 f6 23 e0 2e 56 a6 a2 4c 4d
00000070: 6e e3 09 8a 2e 31 a1 85 1c cf ce 95 e7 73 93 8e
00000080: 9c 5a 7b 3b 49 75 96 69 d4 b0 46 f7 74 b0 0d 5d
00000090: 91 3b 6d 2b a4 46 cc 5c d9 a8 38 c0 6b ad 73 35
000000A0: 09 aa c7 4c 91 8a 84 1c dd 3f e1 44 f7 c5 9c 61
000000B0: 0e b7 03 6b 84 cc 8e 93 5b d5 f6 7e 71 3a f4 2c
000000C0: 98 14 ad 47 e3 c3 70 dc e3 3e c0 a5 e0 e4 6d 01
000000D0: 44 78 7f e3 b7 6c cb 44 29 59 96 e9 84 6d 9d 18
000000E0: 89 66 16 07 46 a4 cd 72 a6 0e bd d2 a7 1c f7 21
000000F0: f0 d1 67 a9 0d 1c c4 c8 30 bd 26 1f 53 7d 61 8b
00000100: ad 6f ef 3e 2c 6e 7e 69 b9 92 72 66 65 b6 06 22
00000110: 49 a1 a8 f1 2f 02 dd 41 bf f5 d1 f6 7c 93 25 6e
00000120: 52 8b a9 3f b5 40 97 02 bb 7c f5 33 a6 60 52 b8
00000130: 4f 3e 80 6c 38 cf e4 8b 15 fd d0 66 75 c1 bf bb
00000140: ac fc ac 01 c3 11 8e 0b 3e e9 2c 1b 5d b9 9f f6
00000150: 2f d7 e8 3c c7 a9 25 8b aa 6e c6 49 6d 6f df 42
00000160: 53 0e ba 70 54 d2 af c3 4d 02 e1 48 42 c5 45 53
00000170: 25 59 66 25 c7 3c c6 c2 e2 99 e2 bb 47 a4 a7 be
00000180: 6c 92 0d 3b 4c ab 6e d7 23 05 ea 73 07 62 e8 c0
00000190: e8 78 47 af 54 c8 67 8f dd 32 59 8d 87 ac 42 0e
000001A0: 21 15 c4 f7 66 dc 02 cf 55 c2 e3 4d 8e 91 7a fd
000001B0: d7 4d 20 b0 6f 67 78 58 08 9c ba 05 8b b0 9c 16
000001C0: 20 51 75 12 96 e2 d5 28 ac 3e 50 26 04 6f 59 02
000001D0: 28 e0 ec 2c da 70 4a 9c 15 5a 2e 52 01 e6 4e 1e
000001E0: 10 6d 8d 5d 2a 81 69 0e 54 d0 5e 13 82 82 84 9a
000001F0: ac a6 0e 69 4e 17 5c c1 8a 71 f8 b4 80 3b 7a e5
00000200: b8 1f 09 4a 02 14 24 07 af 6a 14 d9 52 8e da d3
00000210: 58 23 68 71 27 b2 9a 03 09 f7 80 51 89 bd 07 12
00000220: fc 3f 15 8d
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.78" derivedCounter="(146)">
              <t indent="0" pn="section-appendix.a.2.1-13.78.1">
Sends message fragment (3)
, (3), peer receives message fragment (3)
</t>
              <sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54295<-10.111.15.45:4500 type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.78.2">
       10.111.10.171:54295&lt;-10.111.15.45:4500 [548]

00000000: 00 00 00 00 92 80 e0 82 2e 75 87 78 db 57 8d 97
00000010: de 11 9d 1e 35 20 23 20 00 00 00 01 00 00 02 20
00000020: 00 00 02 04 00 03 00 04 00 00 00 00 00 00 00 02
00000030: 08 e0 86 04 1f 8a c9 b5 68 cd 96 10 ab 59 99 3a
00000040: 54 7b a9 fa d7 60 46 ec c3 bf bd 8f fa 03 ed 41
00000050: 49 13 ca 8c 9c b8 0c df 81 25 e2 30 ca cb 65 b9
00000060: 16 55 8e 67 f4 b3 7c b8 91 66 76 7c a4 15 98 a3
00000070: 3a c9 48 64 e4 ce 9f 64 67 5d bb 7c 03 23 9e c9
00000080: 81 3f da 48 ee a6 2a d8 fb ac 77 ce ed c2 a4 d9
00000090: 24 d3 71 99 fc 71 2b 6c 10 d3 c3 4b b5 37 e2 55
000000A0: 5f d5 ee c0 d6 ff 66 15 8c e5 63 26 96 cd 3f 49
000000B0: 2b da 51 94 55 6e 2e e5 2e d1 b4 91 81 50 85 8a
000000C0: 84 bd fe 52 ec ce 1b 6b bd 7d 12 b4 de a5 88 c4
000000D0: b7 78 d3 3d 2d 46 ef dc 0f 91 43 be 08 7a ba fa
000000E0: b3 2a c2 17 30 99 79 ae 3a 00 f0 3f 47 4a 9b 11
000000F0: 4d 7b 1b 28 0a 44 5b 1a af 35 4d c3 2b 6b be 11
00000100: 89 03 b9 de cf 37 57 53 1e a4 f3 3f ce 52 a6 d8
00000110: 7e 9d d8 d4 2f 9f f5 8f 3c c6 cb 2f 56 e0 97 2d
00000120: b2 0e 10 66 3b 3c ec 34 50 99 a3 7d 42 ec 96 eb
00000130: 87 48 72 2c 0a 6d af b9 4b 62 48 89 36 01 21 ab
00000140: 8e 79 10 54 9c 83 ab a9 8a 6c 37 c7 ac dc a1 7e
00000150: 41 0e 58 de da aa 95 71 fb 34 50 8a ef 37 0b c4
00000160: 56 ca 4b 2c 75 b7 c7 d9 74 22 c2 65 1a e4 4f 94
00000170: 20 f6 e9 44 f1 69 5e d2 18 d3 30 2e 85 74 25 be
00000180: 2a 88 e2 ce fe 75 ca fa 25 f9 2e 88 8c ed 6f dd
00000190: c3 c5 53 2e da 14 fd 96 28 4a b7 81 3a b3 d5 44
000001A0: 26 e2 84 21 f2 5c 0a ed bf c4 34 1c a4 91 5e f3
000001B0: 47 ef 0e 9e fb ee 34 95 5d 21 72 43 c9 63 af b4
000001C0: f2 98 4a 36 57 77 fc e7 57 52 b2 4d bf 34 2a 98
000001D0: ea 70 cd d7 a9 da 4c 0d 19 05 d4 1e dd 36 c7 c4
000001E0: 31 54 18 2a ef 0e 30 44 97 31 15 57 cd d4 88 52
000001F0: 4e 42 c8 20 89 8d 35 7b 8e 03 96 b4 74 fb ec 3b
00000200: 14 c2 64 49 92 f2 1f 3d ff 84 2d 92 4c b9 01 04
00000210: 3d 0a 2a 28 33 de 43 44 6b cf 79 0e 7d 7c 57 8f
00000220: 91 d0 c9 eb
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-13.79" derivedCounter="(147)">
              <t indent="0" pn="section-appendix.a.2.1-13.79.1">
Sends message fragment (4)
, (4), peer receives message fragment (4)
</t>
              <sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54295<-10.111.15.45:4500 type="test-vectors" markers="false" pn="section-appendix.a.2.1-13.79.2">
       10.111.10.171:54295&lt;-10.111.15.45:4500 [98]

00000000: 00 00 00 00 92 80 e0 82 2e 75 87 78 db 57 8d 97
00000010: de 11 9d 1e 35 20 23 20 00 00 00 01 00 00 00 5e
00000020: 00 00 00 42 00 04 00 04 00 00 00 00 00 00 00 03
00000030: 81 fa 5d 7a 67 13 b7 93 f4 2c 01 b8 d1 02 8c ab
00000040: 8e 80 47 25 6e c5 69 e3 0c 84 cd 35 9a 0f 7a cc
00000050: 0a 92 7a 74 77 dc ba 60 ac 4a 6c 27 70 e0 8a 82
00000060: bd 4b
]]>
</sourcecode>
            </li>
          </ol>
<t>Initiator's
          <t indent="0" pn="section-appendix.a.2.1-14">Initiator's actions:</t>
          <ol type="(%d)" group="data5.txt">
<li> group="data5.txt" start="148" indent="adaptive" spacing="normal" pn="section-appendix.a.2.1-15">
<li pn="section-appendix.a.2.1-15.1" derivedCounter="(148)">
              <t indent="0" pn="section-appendix.a.2.1-15.1.1">
Extracts IV from message (fragment 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.1.2">
00000000: 00 00 00 00 00 00 00 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.2" derivedCounter="(149)">
              <t indent="0" pn="section-appendix.a.2.1-15.2.1">
Computes K1r (i1 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.2.2">
00000000: 35 e4 d1 65 2e ec 24 89 e4 c9 58 b1 b9 05 1b 83
00000010: 62 5e 65 d7 61 73 d9 1c cf 84 60 64 b9 f2 e7 51
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.3" derivedCounter="(150)">
              <t indent="0" pn="section-appendix.a.2.1-15.3.1">
Computes K2r (i2 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.3.2">
00000000: 86 8c 89 42 41 d7 30 da 1a 4a 67 69 3a 32 4d 38
00000010: f3 54 02 9f f7 7d b7 bc 5a ee 3b 60 2b 3f 05 56
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.4" derivedCounter="(151)">
              <t indent="0" pn="section-appendix.a.2.1-15.4.1">
Computes K3r (i3 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.4.2">
00000000: 31 95 e8 c6 67 af 42 d8 ce f1 e8 99 c6 8b 2a c2
00000010: 29 aa 3d c0 ff 18 5f 3d 79 4a 14 6b 9f ac d0 bb
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.5" derivedCounter="(152)">
              <t indent="0" pn="section-appendix.a.2.1-15.5.1">
Composes MGM nonce (fragment 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.5.2">
00000000: 00 00 00 00 a5 bb 18 2f
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.6" derivedCounter="(153)">
              <t indent="0" pn="section-appendix.a.2.1-15.6.1">
Extracts ICV from message (fragment 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.6.2">
00000000: 96 08 17 ed ef 01 4d a0
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.7" derivedCounter="(154)">
              <t indent="0" pn="section-appendix.a.2.1-15.7.1">
Extracts AAD from message (fragment 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.7.2">
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 20 00 00 00 01 00 00 02 20 24 00 02 04
00000020: 00 01 00 04
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.8" derivedCounter="(155)">
              <t indent="0" pn="section-appendix.a.2.1-15.8.1">
Extracts ciphertext from message (fragment 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.8.2">
00000000: 73 f2 45 3e fb 6a 26 28 67 7d 14 e3 bf 0a 90 74
00000010: c9 95 6a 40 d5 4e a6 77 cf 58 2e b8 ae 52 f4 25
00000020: f7 82 bc d9 f0 74 4e 38 51 90 07 70 27 f8 01 27
00000030: 17 da f4 ba bc 1e 02 0b 73 ec cc 7b f8 b3 68 64
00000040: f3 48 65 33 3b ab ac 19 11 d3 f7 78 b4 f8 d1 3f
00000050: 6d 46 93 37 a6 58 48 3a 7d d0 8a 9c 84 ab de eb
00000060: 0d d4 8d ab 75 20 18 27 42 fe 24 ee ba c4 a4 6e
00000070: db 80 68 3c 84 7e d6 36 50 d4 1b 1c bc c5 9f 18
00000080: 41 af 48 52 c1 7e a2 f0 e4 bc 0a 3c 64 34 81 ca
00000090: df 96 ba 51 91 f1 06 13 b2 04 23 c8 70 3a ea 64
000000A0: e9 ea ce c2 db aa 12 90 28 0c 9d f9 89 02 a8 5e
000000B0: 66 f5 6e ce dd e7 2c 4a 45 54 de 5e b8 76 73 67
000000C0: 2d a3 a0 52 91 74 ff b7 eb e4 ea d1 2b 04 76 f7
000000D0: ff 4b 1c b8 45 7e 8a 60 e7 1e ec 13 3e c1 d8 d0
000000E0: 78 be f4 79 77 06 ce 76 04 64 ad e7 10 19 65 2b
000000F0: 45 66 23 3d 34 7a 40 6c 36 c0 20 73 47 d8 7a b6
00000100: 2b 0f 56 04 7a c0 41 ab 18 23 11 78 7f 4f d4 f5
00000110: 7d 2e 06 a5 15 ee de 84 9f c2 0a f6 c8 1e a4 30
00000120: 70 42 07 c8 5e 97 08 69 12 27 58 c3 c7 b7 db 7a
00000130: 8c 50 3a 3a 5c bf 3a a7 73 40 8f 9c 18 f6 13 77
00000140: 63 c1 60 06 36 a1 43 ab 88 08 c9 cc ad f2 88 ca
00000150: 84 bd 45 e0 8e d9 27 a3 07 f2 63 79 b0 a8 62 9f
00000160: 5f ba dc a7 f5 54 b8 4f 4f bb 1e a2 16 4b 4f 2d
00000170: d4 08 4e 45 c2 c0 60 3b 73 df 6b 35 3a fe 38 2e
00000180: 25 75 fc be 89 4c d2 7a 9c 1f b4 41 a6 31 d3 3d
00000190: 39 a6 d1 c4 47 94 44 30 3a 2b 23 22 ba c0 a9 df
000001A0: dc 1c 90 8d d1 e8 13 f9 08 68 5a 94 98 c7 3f 47
000001B0: 77 79 b5 bb fb 22 56 4b 38 55 48 e8 14 d4 01 eb
000001C0: 63 e9 17 da 24 69 9a 6d dc 1e 25 06 ef 77 10 46
000001D0: ad 99 ad 9c 54 4f d4 68 64 ea 05 1d ef 29 ea 0e
000001E0: 3c 1c 7e 27 cf 59 76 42 5b 02 04 b8
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.9" derivedCounter="(156)">
              <t indent="0" pn="section-appendix.a.2.1-15.9.1">
Decrypts ciphertext and verifies ICV using K3r as K_msg, resulted resulting in plaintext (fragment 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.9.2">
00000000: 25 00 00 4e 09 00 00 00 30 44 31 20 30 1e 06 03
00000010: 55 04 03 13 17 49 4b 45 20 49 6e 74 65 72 6f 70
00000020: 20 54 65 73 74 20 53 65 72 76 65 72 31 13 30 11
00000030: 06 03 55 04 0a 13 0a 45 4c 56 49 53 2d 50 4c 55
00000040: 53 31 0b 30 09 06 03 55 04 06 13 02 52 55 27 00
00000050: 04 bb 04 30 82 04 b2 30 82 04 5f a0 03 02 01 02
00000060: 02 13 7c 00 03 d9 02 ec f9 34 3e c8 aa d6 59 00
00000070: 01 00 03 d9 02 30 0a 06 08 2a 85 03 07 01 01 03
00000080: 02 30 82 01 0a 31 18 30 16 06 05 2a 85 03 64 01
00000090: 12 0d 31 32 33 34 35 36 37 38 39 30 31 32 33 31
000000A0: 1a 30 18 06 08 2a 85 03 03 81 03 01 01 12 0c 30
000000B0: 30 31 32 33 34 35 36 37 38 39 30 31 2f 30 2d 06
000000C0: 03 55 04 09 0c 26 d1 83 d0 bb 2e 20 d0 a1 d1 83
000000D0: d1 89 d1 91 d0 b2 d1 81 d0 ba d0 b8 d0 b9 20 d0
000000E0: b2 d0 b0 d0 bb 20 d0 b4 2e 20 31 38 31 0b 30 09
000000F0: 06 03 55 04 06 13 02 52 55 31 19 30 17 06 03 55
00000100: 04 08 0c 10 d0 b3 2e 20 d0 9c d0 be d1 81 d0 ba
00000110: d0 b2 d0 b0 31 15 30 13 06 03 55 04 07 0c 0c d0
00000120: 9c d0 be d1 81 d0 ba d0 b2 d0 b0 31 25 30 23 06
00000130: 03 55 04 0a 0c 1c d0 9e d0 9e d0 9e 20 22 d0 9a
00000140: d0 a0 d0 98 d0 9f d0 a2 d0 9e 2d d0 9f d0 a0 d0
00000150: 9e 22 31 3b 30 39 06 03 55 04 03 0c 32 d0 a2 d0
00000160: b5 d1 81 d1 82 d0 be d0 b2 d1 8b d0 b9 20 d0 a3
00000170: d0 a6 20 d0 9e d0 9e d0 9e 20 22 d0 9a d0 a0 d0
00000180: 98 d0 9f d0 a2 d0 9e 2d d0 9f d0 a0 d0 9e 22 30
00000190: 1e 17 0d 32 31 30 39 33 30 31 33 32 34 30 36 5a
000001A0: 17 0d 32 31 31 32 33 30 31 33 33 34 30 36 5a 30
000001B0: 44 31 20 30 1e 06 03 55 04 03 13 17 49 4b 45 20
000001C0: 49 6e 74 65 72 6f 70 20 54 65 73 74 20 53 65 72
000001D0: 76 65 72 31 13 30 11 06 03 55 04 0a 13 0a 45 4c
000001E0: 56 49 53 2d 50 4c 55 53 31 0b 30 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.10" derivedCounter="(157)">
              <t indent="0" pn="section-appendix.a.2.1-15.10.1">
Extracts IV from message (fragment 2)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.10.2">
00000000: 00 00 00 00 00 00 00 01
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.11" derivedCounter="(158)">
              <t indent="0" pn="section-appendix.a.2.1-15.11.1">
Uses previously computed key K3r
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.11.2">
00000000: 31 95 e8 c6 67 af 42 d8 ce f1 e8 99 c6 8b 2a c2
00000010: 29 aa 3d c0 ff 18 5f 3d 79 4a 14 6b 9f ac d0 bb
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.12" derivedCounter="(159)">
              <t indent="0" pn="section-appendix.a.2.1-15.12.1">
Composes MGM nonce (fragment 2)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.12.2">
00000000: 00 00 00 01 a5 bb 18 2f
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.13" derivedCounter="(160)">
              <t indent="0" pn="section-appendix.a.2.1-15.13.1">
Extracts ICV from message (fragment 2)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.13.2">
00000000: 89 bd 07 12 fc 3f 15 8d
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.14" derivedCounter="(161)">
              <t indent="0" pn="section-appendix.a.2.1-15.14.1">
Extracts AAD from message (fragment 2)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.14.2">
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 20 00 00 00 01 00 00 02 20 00 00 02 04
00000020: 00 02 00 04
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.15" derivedCounter="(162)">
              <t indent="0" pn="section-appendix.a.2.1-15.15.1">
Extracts ciphertext from message (fragment 2)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.15.2">
00000000: b1 c8 8d ae d9 6f 91 7e 5a 6a 2d 8c e0 d6 28 3e
00000010: 10 59 46 12 a1 1e fa 53 c3 58 ec 4e a9 a5 92 0c
00000020: fa 5e cf a3 33 4a 8b b7 56 66 54 d9 9c 64 2e b6
00000030: 4d 03 3f 77 a8 17 88 f6 23 e0 2e 56 a6 a2 4c 4d
00000040: 6e e3 09 8a 2e 31 a1 85 1c cf ce 95 e7 73 93 8e
00000050: 9c 5a 7b 3b 49 75 96 69 d4 b0 46 f7 74 b0 0d 5d
00000060: 91 3b 6d 2b a4 46 cc 5c d9 a8 38 c0 6b ad 73 35
00000070: 09 aa c7 4c 91 8a 84 1c dd 3f e1 44 f7 c5 9c 61
00000080: 0e b7 03 6b 84 cc 8e 93 5b d5 f6 7e 71 3a f4 2c
00000090: 98 14 ad 47 e3 c3 70 dc e3 3e c0 a5 e0 e4 6d 01
000000A0: 44 78 7f e3 b7 6c cb 44 29 59 96 e9 84 6d 9d 18
000000B0: 89 66 16 07 46 a4 cd 72 a6 0e bd d2 a7 1c f7 21
000000C0: f0 d1 67 a9 0d 1c c4 c8 30 bd 26 1f 53 7d 61 8b
000000D0: ad 6f ef 3e 2c 6e 7e 69 b9 92 72 66 65 b6 06 22
000000E0: 49 a1 a8 f1 2f 02 dd 41 bf f5 d1 f6 7c 93 25 6e
000000F0: 52 8b a9 3f b5 40 97 02 bb 7c f5 33 a6 60 52 b8
00000100: 4f 3e 80 6c 38 cf e4 8b 15 fd d0 66 75 c1 bf bb
00000110: ac fc ac 01 c3 11 8e 0b 3e e9 2c 1b 5d b9 9f f6
00000120: 2f d7 e8 3c c7 a9 25 8b aa 6e c6 49 6d 6f df 42
00000130: 53 0e ba 70 54 d2 af c3 4d 02 e1 48 42 c5 45 53
00000140: 25 59 66 25 c7 3c c6 c2 e2 99 e2 bb 47 a4 a7 be
00000150: 6c 92 0d 3b 4c ab 6e d7 23 05 ea 73 07 62 e8 c0
00000160: e8 78 47 af 54 c8 67 8f dd 32 59 8d 87 ac 42 0e
00000170: 21 15 c4 f7 66 dc 02 cf 55 c2 e3 4d 8e 91 7a fd
00000180: d7 4d 20 b0 6f 67 78 58 08 9c ba 05 8b b0 9c 16
00000190: 20 51 75 12 96 e2 d5 28 ac 3e 50 26 04 6f 59 02
000001A0: 28 e0 ec 2c da 70 4a 9c 15 5a 2e 52 01 e6 4e 1e
000001B0: 10 6d 8d 5d 2a 81 69 0e 54 d0 5e 13 82 82 84 9a
000001C0: ac a6 0e 69 4e 17 5c c1 8a 71 f8 b4 80 3b 7a e5
000001D0: b8 1f 09 4a 02 14 24 07 af 6a 14 d9 52 8e da d3
000001E0: 58 23 68 71 27 b2 9a 03 09 f7 80 51
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.16" derivedCounter="(163)">
              <t indent="0" pn="section-appendix.a.2.1-15.16.1">
Decrypts ciphertext and verifies ICV using K3r as K_msg, resulted resulting in plaintext (fragment 2)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.16.2">
00000000: 09 06 03 55 04 06 13 02 52 55 30 66 30 1f 06 08
00000010: 2a 85 03 07 01 01 01 01 30 13 06 07 2a 85 03 02
00000020: 02 24 00 06 08 2a 85 03 07 01 01 02 02 03 43 00
00000030: 04 40 5b b3 14 3e f4 70 c1 70 d7 f3 27 25 d8 53
00000040: 7c e6 de 6d 8c 29 f6 b2 32 64 56 dc b1 77 f2 3d
00000050: fa f4 2a 5c f3 74 86 7f 04 72 51 c1 cf b3 43 36
00000060: f5 95 a2 af 05 47 57 1a 55 c0 78 a4 9d 64 26 b8
00000070: 61 14 a3 82 02 59 30 82 02 55 30 0e 06 03 55 1d
00000080: 0f 01 01 ff 04 04 03 02 05 a0 30 13 06 03 55 1d
00000090: 25 04 0c 30 0a 06 08 2b 06 01 05 05 07 03 11 30
000000A0: 1d 06 03 55 1d 0e 04 16 04 14 e0 d3 f0 09 ad ce
000000B0: 6c a5 47 ba 9b f7 a6 a5 1b 06 14 ba a5 43 30 1f
000000C0: 06 03 55 1d 23 04 18 30 16 80 14 9b 85 5e fb 81
000000D0: dc 4d 59 07 51 63 cf be df da 2c 7f c9 44 3c 30
000000E0: 82 01 0f 06 03 55 1d 1f 04 82 01 06 30 82 01 02
000000F0: 30 81 ff a0 81 fc a0 81 f9 86 81 b5 68 74 74 70
00000100: 3a 2f 2f 74 65 73 74 67 6f 73 74 32 30 31 32 2e
00000110: 63 72 79 70 74 6f 70 72 6f 2e 72 75 2f 43 65 72
00000120: 74 45 6e 72 6f 6c 6c 2f 21 30 34 32 32 21 30 34
00000130: 33 35 21 30 34 34 31 21 30 34 34 32 21 30 34 33
00000140: 65 21 30 34 33 32 21 30 34 34 62 21 30 34 33 39
00000150: 25 32 30 21 30 34 32 33 21 30 34 32 36 25 32 30
00000160: 21 30 34 31 65 21 30 34 31 65 21 30 34 31 65 25
00000170: 32 30 21 30 30 32 32 21 30 34 31 61 21 30 34 32
00000180: 30 21 30 34 31 38 21 30 34 31 66 21 30 34 32 32
00000190: 21 30 34 31 65 2d 21 30 34 31 66 21 30 34 32 30
000001A0: 21 30 34 31 65 21 30 30 32 32 28 31 29 2e 63 72
000001B0: 6c 86 3f 68 74 74 70 3a 2f 2f 74 65 73 74 67 6f
000001C0: 73 74 32 30 31 32 2e 63 72 79 70 74 6f 70 72 6f
000001D0: 2e 72 75 2f 43 65 72 74 45 6e 72 6f 6c 6c 2f 74
000001E0: 65 73 74 67 6f 73 74 32 30 31 32 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.17" derivedCounter="(164)">
              <t indent="0" pn="section-appendix.a.2.1-15.17.1">
Extracts IV from message (fragment 3)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.17.2">
00000000: 00 00 00 00 00 00 00 02
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.18" derivedCounter="(165)">
              <t indent="0" pn="section-appendix.a.2.1-15.18.1">
Uses previously computed key K3r
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.18.2">
00000000: 31 95 e8 c6 67 af 42 d8 ce f1 e8 99 c6 8b 2a c2
00000010: 29 aa 3d c0 ff 18 5f 3d 79 4a 14 6b 9f ac d0 bb
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.19" derivedCounter="(166)">
              <t indent="0" pn="section-appendix.a.2.1-15.19.1">
Composes MGM nonce (fragment 3)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.19.2">
00000000: 00 00 00 02 a5 bb 18 2f
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.20" derivedCounter="(167)">
              <t indent="0" pn="section-appendix.a.2.1-15.20.1">
Extracts ICV from message (fragment 3)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.20.2">
00000000: 7d 7c 57 8f 91 d0 c9 eb
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.21" derivedCounter="(168)">
              <t indent="0" pn="section-appendix.a.2.1-15.21.1">
Extracts AAD from message (fragment 3)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.21.2">
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 20 00 00 00 01 00 00 02 20 00 00 02 04
00000020: 00 03 00 04
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.22" derivedCounter="(169)">
              <t indent="0" pn="section-appendix.a.2.1-15.22.1">
Extracts ciphertext from message (fragment 3)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.22.2">
00000000: 08 e0 86 04 1f 8a c9 b5 68 cd 96 10 ab 59 99 3a
00000010: 54 7b a9 fa d7 60 46 ec c3 bf bd 8f fa 03 ed 41
00000020: 49 13 ca 8c 9c b8 0c df 81 25 e2 30 ca cb 65 b9
00000030: 16 55 8e 67 f4 b3 7c b8 91 66 76 7c a4 15 98 a3
00000040: 3a c9 48 64 e4 ce 9f 64 67 5d bb 7c 03 23 9e c9
00000050: 81 3f da 48 ee a6 2a d8 fb ac 77 ce ed c2 a4 d9
00000060: 24 d3 71 99 fc 71 2b 6c 10 d3 c3 4b b5 37 e2 55
00000070: 5f d5 ee c0 d6 ff 66 15 8c e5 63 26 96 cd 3f 49
00000080: 2b da 51 94 55 6e 2e e5 2e d1 b4 91 81 50 85 8a
00000090: 84 bd fe 52 ec ce 1b 6b bd 7d 12 b4 de a5 88 c4
000000A0: b7 78 d3 3d 2d 46 ef dc 0f 91 43 be 08 7a ba fa
000000B0: b3 2a c2 17 30 99 79 ae 3a 00 f0 3f 47 4a 9b 11
000000C0: 4d 7b 1b 28 0a 44 5b 1a af 35 4d c3 2b 6b be 11
000000D0: 89 03 b9 de cf 37 57 53 1e a4 f3 3f ce 52 a6 d8
000000E0: 7e 9d d8 d4 2f 9f f5 8f 3c c6 cb 2f 56 e0 97 2d
000000F0: b2 0e 10 66 3b 3c ec 34 50 99 a3 7d 42 ec 96 eb
00000100: 87 48 72 2c 0a 6d af b9 4b 62 48 89 36 01 21 ab
00000110: 8e 79 10 54 9c 83 ab a9 8a 6c 37 c7 ac dc a1 7e
00000120: 41 0e 58 de da aa 95 71 fb 34 50 8a ef 37 0b c4
00000130: 56 ca 4b 2c 75 b7 c7 d9 74 22 c2 65 1a e4 4f 94
00000140: 20 f6 e9 44 f1 69 5e d2 18 d3 30 2e 85 74 25 be
00000150: 2a 88 e2 ce fe 75 ca fa 25 f9 2e 88 8c ed 6f dd
00000160: c3 c5 53 2e da 14 fd 96 28 4a b7 81 3a b3 d5 44
00000170: 26 e2 84 21 f2 5c 0a ed bf c4 34 1c a4 91 5e f3
00000180: 47 ef 0e 9e fb ee 34 95 5d 21 72 43 c9 63 af b4
00000190: f2 98 4a 36 57 77 fc e7 57 52 b2 4d bf 34 2a 98
000001A0: ea 70 cd d7 a9 da 4c 0d 19 05 d4 1e dd 36 c7 c4
000001B0: 31 54 18 2a ef 0e 30 44 97 31 15 57 cd d4 88 52
000001C0: 4e 42 c8 20 89 8d 35 7b 8e 03 96 b4 74 fb ec 3b
000001D0: 14 c2 64 49 92 f2 1f 3d ff 84 2d 92 4c b9 01 04
000001E0: 3d 0a 2a 28 33 de 43 44 6b cf 79 0e
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.23" derivedCounter="(170)">
              <t indent="0" pn="section-appendix.a.2.1-15.23.1">
Decrypts ciphertext and verifies ICV using K3r as K_msg, resulted resulting in plaintext (fragment 3)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.23.2">
00000000: 28 31 29 2e 63 72 6c 30 81 da 06 08 2b 06 01 05
00000010: 05 07 01 01 04 81 cd 30 81 ca 30 44 06 08 2b 06
00000020: 01 05 05 07 30 02 86 38 68 74 74 70 3a 2f 2f 74
00000030: 65 73 74 67 6f 73 74 32 30 31 32 2e 63 72 79 70
00000040: 74 6f 70 72 6f 2e 72 75 2f 43 65 72 74 45 6e 72
00000050: 6f 6c 6c 2f 72 6f 6f 74 32 30 31 38 2e 63 72 74
00000060: 30 3f 06 08 2b 06 01 05 05 07 30 01 86 33 68 74
00000070: 74 70 3a 2f 2f 74 65 73 74 67 6f 73 74 32 30 31
00000080: 32 2e 63 72 79 70 74 6f 70 72 6f 2e 72 75 2f 6f
00000090: 63 73 70 32 30 31 32 67 2f 6f 63 73 70 2e 73 72
000000A0: 66 30 41 06 08 2b 06 01 05 05 07 30 01 86 35 68
000000B0: 74 74 70 3a 2f 2f 74 65 73 74 67 6f 73 74 32 30
000000C0: 31 32 2e 63 72 79 70 74 6f 70 72 6f 2e 72 75 2f
000000D0: 6f 63 73 70 32 30 31 32 67 73 74 2f 6f 63 73 70
000000E0: 2e 73 72 66 30 0a 06 08 2a 85 03 07 01 01 03 02
000000F0: 03 41 00 a5 39 5f ca 48 e1 c2 93 c1 e0 8a 64 74
00000100: 0f 6b 86 a2 15 9b 46 29 d0 42 71 4f ce e7 52 d7
00000110: d7 3d aa 47 ce cf 52 63 8f 26 b2 17 5f ad 96 57
00000120: 76 ea 5f d0 87 bb 12 29 e4 06 0e e1 5f fd 59 81
00000130: fb 34 6d 29 00 00 55 0e 00 00 00 0c 30 0a 06 08
00000140: 2a 85 03 07 01 01 03 02 c8 40 af f7 46 6f 7b eb
00000150: d2 b9 1c 5a 80 d0 00 93 c2 5e 44 16 40 47 f7 8e
00000160: 61 9c da a5 16 94 83 c5 68 5f e8 4d 03 e7 c2 cd
00000170: 08 07 b8 f3 46 66 6d 05 76 c0 d5 e7 60 1d 59 49
00000180: 09 45 52 c4 95 a7 5a d3 29 00 00 08 00 00 40 00
00000190: 2f 00 00 0c 00 00 40 01 00 00 00 40 21 00 00 10
000001A0: 02 00 00 00 00 01 00 04 0a 01 01 03 2c 00 00 20
000001B0: 00 00 00 1c 01 03 04 02 34 ff 8a 25 03 00 00 08
000001C0: 01 00 00 21 00 00 00 08 05 00 00 00 2d 00 00 18
000001D0: 01 00 00 00 07 00 00 10 00 00 ff ff 0a 01 01 03
000001E0: 0a 01 01 03 29 00 00 18 01 00 00 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.24" derivedCounter="(171)">
              <t indent="0" pn="section-appendix.a.2.1-15.24.1">
Extracts IV from message (fragment 4)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.24.2">
00000000: 00 00 00 00 00 00 00 03
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.25" derivedCounter="(172)">
              <t indent="0" pn="section-appendix.a.2.1-15.25.1">
Uses previously computed key K3r
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.25.2">
00000000: 31 95 e8 c6 67 af 42 d8 ce f1 e8 99 c6 8b 2a c2
00000010: 29 aa 3d c0 ff 18 5f 3d 79 4a 14 6b 9f ac d0 bb
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.26" derivedCounter="(173)">
              <t indent="0" pn="section-appendix.a.2.1-15.26.1">
Composes MGM nonce (fragment 4)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.26.2">
00000000: 00 00 00 03 a5 bb 18 2f
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.27" derivedCounter="(174)">
              <t indent="0" pn="section-appendix.a.2.1-15.27.1">
Extracts ICV from message (fragment 4)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.27.2">
00000000: 6c 27 70 e0 8a 82 bd 4b
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.28" derivedCounter="(175)">
              <t indent="0" pn="section-appendix.a.2.1-15.28.1">
Extracts AAD from message (fragment 4)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.28.2">
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 35 20 23 20 00 00 00 01 00 00 00 5e 00 00 00 42
00000020: 00 04 00 04
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.29" derivedCounter="(176)">
              <t indent="0" pn="section-appendix.a.2.1-15.29.1">
Extracts ciphertext from message (fragment 4)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.29.2">
00000000: 81 fa 5d 7a 67 13 b7 93 f4 2c 01 b8 d1 02 8c ab
00000010: 8e 80 47 25 6e c5 69 e3 0c 84 cd 35 9a 0f 7a cc
00000020: 0a 92 7a 74 77 dc ba 60 ac 4a
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.30" derivedCounter="(177)">
              <t indent="0" pn="section-appendix.a.2.1-15.30.1">
Decrypts ciphertext and verifies ICV using K3r as K_msg, resulted resulting in plaintext (fragment 4)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.30.2">
00000000: 00 07 00 00 10 00 00 ff ff 0a 00 00 00 0a 00 00
00000010: ff 29 00 00 08 00 00 40 02 29 00 00 08 00 00 40
00000020: 0a 00 00 00 08 00 00 40 0b 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.31" derivedCounter="(178)">
              <t indent="0" pn="section-appendix.a.2.1-15.31.1">
Reassembles message from received fragments and parses it
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.31.2">
IKE SA Auth
#9280E0822E758778.DB578D97DE119D1E.00000001 IKEv2 R=>I[1563]
  4*EF[...]->E[1535]{ R=&gt;I[1563]
  4*EF[...]-&gt;E[1535]{
    IDr[78](DN){CN=IKE Interop Test Server,O=ELVIS-PLUS,C=RU},
    CERT[1211](X.509 Cert){308204...FB346D},
    AUTH[85](Sig){id-tc26-signwithdigest-gost3410-12-256[12]:
             C840AF...A75AD3},
    N[8](INITIAL_CONTACT),
    N[12](SET_WINDOW_SIZE){64},
    CP[16](REPLY){IP4.Address[4]=10.1.1.3},
    SA[32]{
      P[28](#1:ESP:34FF8A25:2#){
        Encryption=ENCR_MAGMA_MGM_KTREE,
        ESN=Off}},
    TSi[24](1#){10.1.1.3},
    TSr[24](1#){10.0.0.0-10.0.0.255},
    N[8](ADDITIONAL_TS_POSSIBLE),
    N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
    N[8](NON_FIRST_FRAGMENTS_ALSO)}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.32" derivedCounter="(179)">
              <t indent="0" pn="section-appendix.a.2.1-15.32.1">
Computes prf(SK_pr, IDr)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.32.2">
00000000: 7d c8 6a 33 12 02 5c 21 1f ab dc 83 0b 01 a5 27
00000010: 82 a2 f2 1f 64 c6 e9 5e 0e c0 4c e5 d9 11 8d 8e
00000020: b9 5c ef fa b0 a3 37 75 94 20 7c e4 60 60 ed 9d
00000030: fa 5e cb 7e e7 79 05 ab fb 51 1b 03 a8 2c c5 6a
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.33" derivedCounter="(180)">
              <t indent="0" pn="section-appendix.a.2.1-15.33.1">
Uses responder's public key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.33.2">
00000000: 5B B3 14 3E F4 70 C1 70 D7 F3 27 25 D8 53 7C E6
00000010: DE 6D 8C 29 F6 B2 32 64 56 DC B1 77 F2 3D FA F4
00000020: 2A 5C F3 74 86 7F 04 72 51 C1 CF B3 43 36 F5 95
00000030: A2 AF 05 47 57 1A 55 C0 78 A4 9D 64 26 B8 61 14

]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.34" derivedCounter="(181)">
              <t indent="0" pn="section-appendix.a.2.1-15.34.1">
Verifies signature from AUTH payload using algorithm id-tc26-signwithdigest-gost3410-12-256
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.34.2">
00000000: c8 40 af f7 46 6f 7b eb d2 b9 1c 5a 80 d0 00 93
00000010: c2 5e 44 16 40 47 f7 8e 61 9c da a5 16 94 83 c5
00000020: 68 5f e8 4d 03 e7 c2 cd 08 07 b8 f3 46 66 6d 05
00000030: 76 c0 d5 e7 60 1d 59 49 09 45 52 c4 95 a7 5a d3
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.1-15.35" derivedCounter="(182)">
              <t indent="0" pn="section-appendix.a.2.1-15.35.1">
Computes keys for ESP SAs
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.1-15.35.2">
00000000: 98 ab 7e db 78 03 a1 e6 c7 21 43 ee b9 7f 5f 56
00000010: 45 bb 51 cd 0b b7 09 a1 af 34 02 87 69 4d 7b a0
00000020: 1d 14 a0 cc
00000000: 70 31 4d 57 94 8b 7e 5c 6f 29 d5 68 1b fd 43 2b
00000010: 19 4e 64 6d 8f 8a 8d 1e ba 72 24 59 c7 0c de 81
00000020: e2 04 84 af
]]>
</sourcecode>
            </li>
          </ol>

<t><br/><br/></t>

            <ol group="scenario2"  type="Sub-scenario %d:">
              <li>
        </section>
        <section anchor="scenario2-2" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a.2.2">
          <name slugifiedName="name-sub-scenario-2-ike-sa-rekeyi">Sub-Scenario 2: IKE SA rekeying using Rekeying Using the CREATE_CHILD_SA exchange.
                <sourcecode type="test-vectors">
<![CDATA[ Exchange</name>
          <artwork type="" align="left" pn="section-appendix.a.2.2-1">
Initiator                             Responder

HDR, SK {SAi, Ni, KEi [,N+]}  --->
                              <---  ---&gt;
                              &lt;---    HDR, SK {SAr, Nr, KEr [,N+]}
]]>
                </sourcecode>
              </li>
            </ol>

<t>Initiator's
</artwork>
          <t indent="0" pn="section-appendix.a.2.2-2">Initiator's actions:</t>
          <ol start="1" type="(%d)" group="data6.txt">
<li> group="data6.txt" indent="adaptive" spacing="normal" pn="section-appendix.a.2.2-3">
<li pn="section-appendix.a.2.2-3.1" derivedCounter="(1)">
              <t indent="0" pn="section-appendix.a.2.2-3.1.1">
Generates random SPIi for new IKE SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-3.1.2">
00000000: fd d9 35 89 50 d5 db 22
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-3.2" derivedCounter="(2)">
              <t indent="0" pn="section-appendix.a.2.2-3.2.1">
Generates random IKE nonce Ni
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-3.2.2">
00000000: 2e 98 99 76 4a 67 1e d9 17 27 32 f2 6d 3a 93 3c
00000010: 7f 21 2b 0e 59 90 cf 2a 7f 85 53 c5 ed 8a ec 37
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-3.3" derivedCounter="(3)">
              <t indent="0" pn="section-appendix.a.2.2-3.3.1">
Generates ephemeral private key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-3.3.2">
00000000: 29 2c 72 52 e0 6c fd 39 1d 55 04 e9 cf af 82 29
00000010: 89 09 ff 1c ab b2 dd a5 88 f0 34 fd 2c 57 d2 28
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-3.4" derivedCounter="(4)">
              <t indent="0" pn="section-appendix.a.2.2-3.4.1">
Computes public key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-3.4.2">
00000000: 13 78 88 b1 0f 09 65 43 94 53 b7 26 5d 2a 8b 29
00000010: 5f a9 d6 73 a2 d0 64 6c 98 0f 02 44 d5 5a 1d 13
00000020: 7b b4 4d 18 81 c3 ee 48 35 18 a7 71 ce 4f fa 45
00000030: b0 e9 74 63 37 58 32 7c ff a5 e4 98 b5 02 d4 ef
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-3.5" derivedCounter="(5)">
              <t indent="0" pn="section-appendix.a.2.2-3.5.1">
Creates message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-3.5.2">
Create Child SA
#9280E0822E758778.DB578D97DE119D1E.00000002 IKEv2 R<-I[213] R&lt;-I[213]
  E[185]{
    SA[44]{
      P[40](#1:IKE:FDD9358950D5DB22:3#){
        Encryption=ENCR_MAGMA_MGM_KTREE,
        PRF=PRF_HMAC_STREEBOG_512,
        KE=GOST3410_2012_256}},
    NONCE[36]{2E9899...8AEC37},
    KE[72](GOST3410_2012_256){137888...02D4EF},
    N[12](SET_WINDOW_SIZE){4}}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-3.6" derivedCounter="(6)">
              <t indent="0" pn="section-appendix.a.2.2-3.6.1">
Computes K3i (i3 = 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-3.6.2">
00000000: da 26 f7 b5 4c 4c 97 23 3f e2 cb 53 23 82 1b 2a
00000010: 40 3c 95 e1 78 2a 8f 3d 1b 0f a4 d3 ab c3 98 3d
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-3.7" derivedCounter="(7)">
              <t indent="0" pn="section-appendix.a.2.2-3.7.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-3.7.2">
00000000: 00 00 00 00 b4 e1 3e 23
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-3.8" derivedCounter="(8)">
              <t indent="0" pn="section-appendix.a.2.2-3.8.1">
Composes AAD
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-3.8.2">
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 2e 20 24 08 00 00 00 02 00 00 00 d5 21 00 00 b9
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-3.9" derivedCounter="(9)">
              <t indent="0" pn="section-appendix.a.2.2-3.9.1">
Composes plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-3.9.2">
00000000: 28 00 00 2c 00 00 00 28 01 01 08 03 fd d9 35 89
00000010: 50 d5 db 22 03 00 00 08 01 00 00 21 03 00 00 08
00000020: 02 00 00 09 00 00 00 08 04 00 00 21 22 00 00 24
00000030: 2e 98 99 76 4a 67 1e d9 17 27 32 f2 6d 3a 93 3c
00000040: 7f 21 2b 0e 59 90 cf 2a 7f 85 53 c5 ed 8a ec 37
00000050: 29 00 00 48 00 21 00 00 13 78 88 b1 0f 09 65 43
00000060: 94 53 b7 26 5d 2a 8b 29 5f a9 d6 73 a2 d0 64 6c
00000070: 98 0f 02 44 d5 5a 1d 13 7b b4 4d 18 81 c3 ee 48
00000080: 35 18 a7 71 ce 4f fa 45 b0 e9 74 63 37 58 32 7c
00000090: ff a5 e4 98 b5 02 d4 ef 00 00 00 0c 00 00 40 01
000000A0: 00 00 00 04 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-3.10" derivedCounter="(10)">
              <t indent="0" pn="section-appendix.a.2.2-3.10.1">
Encrypts plaintext using K3i as K_msg, resulted resulting in ciphertext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-3.10.2">
00000000: f4 d1 2b 1e 51 65 d1 0b 7f 38 c6 16 3f 6e 5e f7
00000010: e0 48 24 15 6a 45 50 51 1a 6e fb 1c 1d b8 52 75
00000020: 80 56 e4 da fb e5 fe 42 08 71 79 99 ef 17 7a 03
00000030: fc c3 c6 b0 15 a5 72 a4 1b de e2 b5 e6 46 56 73
00000040: 3f 78 57 9e 6b b4 05 4c 86 91 c3 61 00 2d 9b 89
00000050: c0 0c 8b 11 0b 41 e7 92 16 7f f8 f6 5d ef f4 29
00000060: 27 ef ba 8c 5f 30 fd a9 12 4c 5f 8d e9 39 97 48
00000070: 9a e1 6a 91 01 c7 8c 94 aa 3b 89 bb 54 40 3b f1
00000080: 8d 2b 0e 75 d8 f6 98 d2 74 e4 b7 2f f5 ac a0 41
00000090: df 73 7f 1c 37 18 b9 79 8e 9d 6f ea e5 8a b6 9f
000000A0: 35 d9 d4 b3 cd
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-3.11" derivedCounter="(11)">
              <t indent="0" pn="section-appendix.a.2.2-3.11.1">
Computes ICV using K3i as K_msg
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-3.11.2">
00000000: 49 96 ac 4c 3f c4 fc 1d
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-3.12" derivedCounter="(12)">
              <t indent="0" pn="section-appendix.a.2.2-3.12.1">
Composes IV
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-3.12.2">
00000000: 00 00 00 00 01 00 00 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-3.13" derivedCounter="(13)">
              <t indent="0" pn="section-appendix.a.2.2-3.13.1">
Sends message, peer receives message<sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54295->10.111.15.45:4500 message</t>
              <sourcecode type="test-vectors" markers="false" pn="section-appendix.a.2.2-3.13.2">
       10.111.10.171:54295-&gt;10.111.15.45:4500 [217]

00000000: 00 00 00 00 92 80 e0 82 2e 75 87 78 db 57 8d 97
00000010: de 11 9d 1e 2e 20 24 08 00 00 00 02 00 00 00 d5
00000020: 21 00 00 b9 00 00 00 00 01 00 00 00 f4 d1 2b 1e
00000030: 51 65 d1 0b 7f 38 c6 16 3f 6e 5e f7 e0 48 24 15
00000040: 6a 45 50 51 1a 6e fb 1c 1d b8 52 75 80 56 e4 da
00000050: fb e5 fe 42 08 71 79 99 ef 17 7a 03 fc c3 c6 b0
00000060: 15 a5 72 a4 1b de e2 b5 e6 46 56 73 3f 78 57 9e
00000070: 6b b4 05 4c 86 91 c3 61 00 2d 9b 89 c0 0c 8b 11
00000080: 0b 41 e7 92 16 7f f8 f6 5d ef f4 29 27 ef ba 8c
00000090: 5f 30 fd a9 12 4c 5f 8d e9 39 97 48 9a e1 6a 91
000000A0: 01 c7 8c 94 aa 3b 89 bb 54 40 3b f1 8d 2b 0e 75
000000B0: d8 f6 98 d2 74 e4 b7 2f f5 ac a0 41 df 73 7f 1c
000000C0: 37 18 b9 79 8e 9d 6f ea e5 8a b6 9f 35 d9 d4 b3
000000D0: cd 49 96 ac 4c 3f c4 fc 1d
]]>
</sourcecode>
            </li>
          </ol>
<t>Responder's
          <t indent="0" pn="section-appendix.a.2.2-4">Responder's actions:</t>
          <ol type="(%d)" group="data6.txt">
<li> group="data6.txt" start="14" indent="adaptive" spacing="normal" pn="section-appendix.a.2.2-5">
<li pn="section-appendix.a.2.2-5.1" derivedCounter="(14)">
              <t indent="0" pn="section-appendix.a.2.2-5.1.1">
Extracts IV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-5.1.2">
00000000: 00 00 00 00 01 00 00 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-5.2" derivedCounter="(15)">
              <t indent="0" pn="section-appendix.a.2.2-5.2.1">
Computes K3i (I = 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-5.2.2">
00000000: da 26 f7 b5 4c 4c 97 23 3f e2 cb 53 23 82 1b 2a
00000010: 40 3c 95 e1 78 2a 8f 3d 1b 0f a4 d3 ab c3 98 3d
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-5.3" derivedCounter="(16)">
              <t indent="0" pn="section-appendix.a.2.2-5.3.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-5.3.2">
00000000: 00 00 00 00 b4 e1 3e 23
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-5.4" derivedCounter="(17)">
              <t indent="0" pn="section-appendix.a.2.2-5.4.1">
Extracts ICV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-5.4.2">
00000000: 49 96 ac 4c 3f c4 fc 1d
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-5.5" derivedCounter="(18)">
              <t indent="0" pn="section-appendix.a.2.2-5.5.1">
Extracts AAD from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-5.5.2">
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 2e 20 24 08 00 00 00 02 00 00 00 d5 21 00 00 b9
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-5.6" derivedCounter="(19)">
              <t indent="0" pn="section-appendix.a.2.2-5.6.1">
Extracts ciphertext from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-5.6.2">
00000000: f4 d1 2b 1e 51 65 d1 0b 7f 38 c6 16 3f 6e 5e f7
00000010: e0 48 24 15 6a 45 50 51 1a 6e fb 1c 1d b8 52 75
00000020: 80 56 e4 da fb e5 fe 42 08 71 79 99 ef 17 7a 03
00000030: fc c3 c6 b0 15 a5 72 a4 1b de e2 b5 e6 46 56 73
00000040: 3f 78 57 9e 6b b4 05 4c 86 91 c3 61 00 2d 9b 89
00000050: c0 0c 8b 11 0b 41 e7 92 16 7f f8 f6 5d ef f4 29
00000060: 27 ef ba 8c 5f 30 fd a9 12 4c 5f 8d e9 39 97 48
00000070: 9a e1 6a 91 01 c7 8c 94 aa 3b 89 bb 54 40 3b f1
00000080: 8d 2b 0e 75 d8 f6 98 d2 74 e4 b7 2f f5 ac a0 41
00000090: df 73 7f 1c 37 18 b9 79 8e 9d 6f ea e5 8a b6 9f
000000A0: 35 d9 d4 b3 cd
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-5.7" derivedCounter="(20)">
              <t indent="0" pn="section-appendix.a.2.2-5.7.1">
Decrypts ciphertext and verifies ICV using K3i as K_msg, resulted resulting in plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-5.7.2">
00000000: 28 00 00 2c 00 00 00 28 01 01 08 03 fd d9 35 89
00000010: 50 d5 db 22 03 00 00 08 01 00 00 21 03 00 00 08
00000020: 02 00 00 09 00 00 00 08 04 00 00 21 22 00 00 24
00000030: 2e 98 99 76 4a 67 1e d9 17 27 32 f2 6d 3a 93 3c
00000040: 7f 21 2b 0e 59 90 cf 2a 7f 85 53 c5 ed 8a ec 37
00000050: 29 00 00 48 00 21 00 00 13 78 88 b1 0f 09 65 43
00000060: 94 53 b7 26 5d 2a 8b 29 5f a9 d6 73 a2 d0 64 6c
00000070: 98 0f 02 44 d5 5a 1d 13 7b b4 4d 18 81 c3 ee 48
00000080: 35 18 a7 71 ce 4f fa 45 b0 e9 74 63 37 58 32 7c
00000090: ff a5 e4 98 b5 02 d4 ef 00 00 00 0c 00 00 40 01
000000A0: 00 00 00 04 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-5.8" derivedCounter="(21)">
              <t indent="0" pn="section-appendix.a.2.2-5.8.1">
Parses received message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-5.8.2">
Create Child SA
#9280E0822E758778.DB578D97DE119D1E.00000002 IKEv2 I->R[213] I-&gt;R[213]
  E[185]{
    SA[44]{
      P[40](#1:IKE:FDD9358950D5DB22:3#){
        Encryption=ENCR_MAGMA_MGM_KTREE,
        PRF=PRF_HMAC_STREEBOG_512,
        KE=GOST3410_2012_256}},
    NONCE[36]{2E9899...8AEC37},
    KE[72](GOST3410_2012_256){137888...02D4EF},
    N[12](SET_WINDOW_SIZE){4}}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-5.9" derivedCounter="(22)">
              <t indent="0" pn="section-appendix.a.2.2-5.9.1">
Generates random SPIr for new IKE SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-5.9.2">
00000000: 81 27 5d a2 98 90 1a 06
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-5.10" derivedCounter="(23)">
              <t indent="0" pn="section-appendix.a.2.2-5.10.1">
Generates random IKE nonce Nr
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-5.10.2">
00000000: cf 8e 80 0f 84 c9 d8 50 06 a4 02 b5 19 2a 0f a0
00000010: d7 f4 db 70 ca f1 2b 9b 02 ce 92 8d 97 20 43 96
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-5.11" derivedCounter="(24)">
              <t indent="0" pn="section-appendix.a.2.2-5.11.1">
Generates ephemeral private key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-5.11.2">
00000000: af 9a 62 7d d3 b8 23 d2 49 7f f9 0a 9d f2 55 8c
00000010: ae 9c 48 ad f5 a4 ee a5 f6 24 5f 48 3c f8 42 0d
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-5.12" derivedCounter="(25)">
              <t indent="0" pn="section-appendix.a.2.2-5.12.1">
Computes public key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-5.12.2">
00000000: ba 9c bb 8d c4 51 68 1c 63 50 9c 5b 78 c2 93 be
00000010: 52 9b 7a a0 6b 14 1e 0f 52 d4 a3 0e 71 d7 5b 4c
00000020: aa 58 af 26 21 d9 b2 92 87 1c d9 7a 89 6f c2 7d
00000030: 7d 95 96 39 a2 36 37 8f f4 b9 1d 2f a8 b7 f5 c9
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-5.13" derivedCounter="(26)">
              <t indent="0" pn="section-appendix.a.2.2-5.13.1">
Computes shared key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-5.13.2">
00000000: ae 27 a3 df af 7d bb ad f4 5c 19 64 c9 27 eb 41
00000010: 14 fc 1a f8 25 cc 93 50 a2 64 5f 04 67 0a 74 cb
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-5.14" derivedCounter="(27)">
              <t indent="0" pn="section-appendix.a.2.2-5.14.1">
Computes SKEYSEED for new SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-5.14.2">
00000000: 31 2b 7f 6a 24 23 8f ed b6 ac 40 a7 58 2e 28 54
00000010: 47 53 76 20 05 c7 00 c8 87 c1 51 68 93 40 7e 2d
00000020: ed 14 c4 78 9a f4 12 e7 f0 19 4d 4d 12 45 0d 42
00000030: e4 b2 29 e5 57 b4 90 cc cf d5 94 84 b4 59 5e b9
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-5.15" derivedCounter="(28)">
              <t indent="0" pn="section-appendix.a.2.2-5.15.1">
Computes SK_d for new SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-5.15.2">
00000000: 38 ec b5 1c 33 77 f8 62 29 9f 00 d9 98 5f a4 4c
00000010: ea c7 97 31 01 b9 39 ce 16 2c 1c 30 dd 53 d8 97
00000020: 48 49 cd ca 82 7b 57 55 e4 5a 33 1c 80 e6 b9 1f
00000030: 2c 80 b2 e5 48 8a 23 9d 8e 42 32 ed 4f 63 3a f1
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-5.16" derivedCounter="(29)">
              <t indent="0" pn="section-appendix.a.2.2-5.16.1">
Computes SK_ei for new SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-5.16.2">
00000000: 17 1c 7c 08 bd 1a 3d 50 58 e1 13 58 9d c4 21 c6
00000010: a3 44 e5 c1 f5 14 e8 22 ed 94 03 2e 76 47 b1 8d
00000020: 2b 3d 3b 2f
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-5.17" derivedCounter="(30)">
              <t indent="0" pn="section-appendix.a.2.2-5.17.1">
Computes SK_er for new SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-5.17.2">
00000000: 4a a9 b7 36 1d 2c e1 e0 dc 55 b6 45 0a 38 f1 9a
00000010: 83 cb 8f 79 57 5e df d8 5f 5e 22 a8 36 bd 3a 4a
00000020: d2 f6 27 21
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-5.18" derivedCounter="(31)">
              <t indent="0" pn="section-appendix.a.2.2-5.18.1">
Creates message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-5.18.2">
Create Child SA
#9280E0822E758778.DB578D97DE119D1E.00000002 IKEv2 I<=R[213] I&lt;=R[213]
  E[185]{
    SA[44]{
      P[40](#1:IKE:81275DA298901A06:3#){
        Encryption=ENCR_MAGMA_MGM_KTREE,
        PRF=PRF_HMAC_STREEBOG_512,
        KE=GOST3410_2012_256}},
    NONCE[36]{CF8E80...204396},
    KE[72](GOST3410_2012_256){BA9CBB...B7F5C9},
    N[12](SET_WINDOW_SIZE){64}}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-5.19" derivedCounter="(32)">
              <t indent="0" pn="section-appendix.a.2.2-5.19.1">
Computes K3r (i3 = 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-5.19.2">
00000000: 9b 6c de 40 b4 63 c4 85 db 09 b7 24 f4 60 fa d0
00000010: 1f d3 f3 fa e9 f8 e9 03 0c 34 cb 51 52 51 5b 56
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-5.20" derivedCounter="(33)">
              <t indent="0" pn="section-appendix.a.2.2-5.20.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-5.20.2">
00000000: 00 00 00 00 a5 bb 18 2f
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-5.21" derivedCounter="(34)">
              <t indent="0" pn="section-appendix.a.2.2-5.21.1">
Composes AAD
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-5.21.2">
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 2e 20 24 20 00 00 00 02 00 00 00 d5 21 00 00 b9
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-5.22" derivedCounter="(35)">
              <t indent="0" pn="section-appendix.a.2.2-5.22.1">
Composes plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-5.22.2">
00000000: 28 00 00 2c 00 00 00 28 01 01 08 03 81 27 5d a2
00000010: 98 90 1a 06 03 00 00 08 01 00 00 21 03 00 00 08
00000020: 02 00 00 09 00 00 00 08 04 00 00 21 22 00 00 24
00000030: cf 8e 80 0f 84 c9 d8 50 06 a4 02 b5 19 2a 0f a0
00000040: d7 f4 db 70 ca f1 2b 9b 02 ce 92 8d 97 20 43 96
00000050: 29 00 00 48 00 21 00 00 ba 9c bb 8d c4 51 68 1c
00000060: 63 50 9c 5b 78 c2 93 be 52 9b 7a a0 6b 14 1e 0f
00000070: 52 d4 a3 0e 71 d7 5b 4c aa 58 af 26 21 d9 b2 92
00000080: 87 1c d9 7a 89 6f c2 7d 7d 95 96 39 a2 36 37 8f
00000090: f4 b9 1d 2f a8 b7 f5 c9 00 00 00 0c 00 00 40 01
000000A0: 00 00 00 40 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-5.23" derivedCounter="(36)">
              <t indent="0" pn="section-appendix.a.2.2-5.23.1">
Encrypts plaintext using K3r as K_msg, resulted resulting in ciphertext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-5.23.2">
00000000: 6e a0 bc 5e 58 16 91 db 1f e0 22 20 b6 75 fd e6
00000010: e0 01 a7 86 0c 9c a6 77 ef cd f6 be e4 c8 31 18
00000020: c7 7f 68 58 d8 85 75 6c 1d 4a 0e 66 09 86 7c 84
00000030: 30 a7 2e f0 26 2b 19 da c5 25 34 5b 19 f0 97 86
00000040: 54 ca 08 92 65 9c e3 92 4d ee 92 0a a0 86 d7 3f
00000050: 4d d9 f2 7e 32 48 b3 9f ea 54 d2 96 99 42 30 6b
00000060: b0 b4 fe 5d 4a fc 8c ff 54 f6 2f b7 ca 7b 83 01
00000070: 36 85 57 78 b3 74 84 72 9d 94 2f 6f ae 4e 26 bb
00000080: 6e 06 84 2b ac f8 99 29 31 ad 7b dc db c0 0f 19
00000090: 5f 06 42 2d 90 d2 6a 05 8a 41 ee 24 e2 49 a5 b6
000000A0: 61 e8 cb 46 3c
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-5.24" derivedCounter="(37)">
              <t indent="0" pn="section-appendix.a.2.2-5.24.1">
Computes ICV using K3r as K_msg
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-5.24.2">
00000000: dc c4 ca 6d 07 cf 31 a8
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-5.25" derivedCounter="(38)">
              <t indent="0" pn="section-appendix.a.2.2-5.25.1">
Composes IV
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-5.25.2">
00000000: 00 00 00 00 01 00 00 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-5.26" derivedCounter="(39)">
              <t indent="0" pn="section-appendix.a.2.2-5.26.1">
Sends message, peer receives message<sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54295<-10.111.15.45:4500 message</t>
              <sourcecode type="test-vectors" markers="false" pn="section-appendix.a.2.2-5.26.2">
       10.111.10.171:54295&lt;-10.111.15.45:4500 [217]

00000000: 00 00 00 00 92 80 e0 82 2e 75 87 78 db 57 8d 97
00000010: de 11 9d 1e 2e 20 24 20 00 00 00 02 00 00 00 d5
00000020: 21 00 00 b9 00 00 00 00 01 00 00 00 6e a0 bc 5e
00000030: 58 16 91 db 1f e0 22 20 b6 75 fd e6 e0 01 a7 86
00000040: 0c 9c a6 77 ef cd f6 be e4 c8 31 18 c7 7f 68 58
00000050: d8 85 75 6c 1d 4a 0e 66 09 86 7c 84 30 a7 2e f0
00000060: 26 2b 19 da c5 25 34 5b 19 f0 97 86 54 ca 08 92
00000070: 65 9c e3 92 4d ee 92 0a a0 86 d7 3f 4d d9 f2 7e
00000080: 32 48 b3 9f ea 54 d2 96 99 42 30 6b b0 b4 fe 5d
00000090: 4a fc 8c ff 54 f6 2f b7 ca 7b 83 01 36 85 57 78
000000A0: b3 74 84 72 9d 94 2f 6f ae 4e 26 bb 6e 06 84 2b
000000B0: ac f8 99 29 31 ad 7b dc db c0 0f 19 5f 06 42 2d
000000C0: 90 d2 6a 05 8a 41 ee 24 e2 49 a5 b6 61 e8 cb 46
000000D0: 3c dc c4 ca 6d 07 cf 31 a8
]]>
</sourcecode>
            </li>
          </ol>
<t>Initiator's
          <t indent="0" pn="section-appendix.a.2.2-6">Initiator's actions:</t>
          <ol type="(%d)" group="data6.txt">
<li> group="data6.txt" start="40" indent="adaptive" spacing="normal" pn="section-appendix.a.2.2-7">
<li pn="section-appendix.a.2.2-7.1" derivedCounter="(40)">
              <t indent="0" pn="section-appendix.a.2.2-7.1.1">
Extracts IV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-7.1.2">
00000000: 00 00 00 00 01 00 00 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-7.2" derivedCounter="(41)">
              <t indent="0" pn="section-appendix.a.2.2-7.2.1">
Computes K3r (i3 = 1)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-7.2.2">
00000000: 9b 6c de 40 b4 63 c4 85 db 09 b7 24 f4 60 fa d0
00000010: 1f d3 f3 fa e9 f8 e9 03 0c 34 cb 51 52 51 5b 56
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-7.3" derivedCounter="(42)">
              <t indent="0" pn="section-appendix.a.2.2-7.3.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-7.3.2">
00000000: 00 00 00 00 a5 bb 18 2f
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-7.4" derivedCounter="(43)">
              <t indent="0" pn="section-appendix.a.2.2-7.4.1">
Extracts ICV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-7.4.2">
00000000: dc c4 ca 6d 07 cf 31 a8
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-7.5" derivedCounter="(44)">
              <t indent="0" pn="section-appendix.a.2.2-7.5.1">
Extracts AAD from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-7.5.2">
00000000: 92 80 e0 82 2e 75 87 78 db 57 8d 97 de 11 9d 1e
00000010: 2e 20 24 20 00 00 00 02 00 00 00 d5 21 00 00 b9
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-7.6" derivedCounter="(45)">
              <t indent="0" pn="section-appendix.a.2.2-7.6.1">
Extracts ciphertext from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-7.6.2">
00000000: 6e a0 bc 5e 58 16 91 db 1f e0 22 20 b6 75 fd e6
00000010: e0 01 a7 86 0c 9c a6 77 ef cd f6 be e4 c8 31 18
00000020: c7 7f 68 58 d8 85 75 6c 1d 4a 0e 66 09 86 7c 84
00000030: 30 a7 2e f0 26 2b 19 da c5 25 34 5b 19 f0 97 86
00000040: 54 ca 08 92 65 9c e3 92 4d ee 92 0a a0 86 d7 3f
00000050: 4d d9 f2 7e 32 48 b3 9f ea 54 d2 96 99 42 30 6b
00000060: b0 b4 fe 5d 4a fc 8c ff 54 f6 2f b7 ca 7b 83 01
00000070: 36 85 57 78 b3 74 84 72 9d 94 2f 6f ae 4e 26 bb
00000080: 6e 06 84 2b ac f8 99 29 31 ad 7b dc db c0 0f 19
00000090: 5f 06 42 2d 90 d2 6a 05 8a 41 ee 24 e2 49 a5 b6
000000A0: 61 e8 cb 46 3c
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-7.7" derivedCounter="(46)">
              <t indent="0" pn="section-appendix.a.2.2-7.7.1">
Decrypts ciphertext and verifies ICV using K3r as K_msg, resulted resulting in plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-7.7.2">
00000000: 28 00 00 2c 00 00 00 28 01 01 08 03 81 27 5d a2
00000010: 98 90 1a 06 03 00 00 08 01 00 00 21 03 00 00 08
00000020: 02 00 00 09 00 00 00 08 04 00 00 21 22 00 00 24
00000030: cf 8e 80 0f 84 c9 d8 50 06 a4 02 b5 19 2a 0f a0
00000040: d7 f4 db 70 ca f1 2b 9b 02 ce 92 8d 97 20 43 96
00000050: 29 00 00 48 00 21 00 00 ba 9c bb 8d c4 51 68 1c
00000060: 63 50 9c 5b 78 c2 93 be 52 9b 7a a0 6b 14 1e 0f
00000070: 52 d4 a3 0e 71 d7 5b 4c aa 58 af 26 21 d9 b2 92
00000080: 87 1c d9 7a 89 6f c2 7d 7d 95 96 39 a2 36 37 8f
00000090: f4 b9 1d 2f a8 b7 f5 c9 00 00 00 0c 00 00 40 01
000000A0: 00 00 00 40 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-7.8" derivedCounter="(47)">
              <t indent="0" pn="section-appendix.a.2.2-7.8.1">
Parses received message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-7.8.2">
Create Child SA
#9280E0822E758778.DB578D97DE119D1E.00000002 IKEv2 R=>I[213] R=&gt;I[213]
  E[185]{
    SA[44]{
      P[40](#1:IKE:81275DA298901A06:3#){
        Encryption=ENCR_MAGMA_MGM_KTREE,
        PRF=PRF_HMAC_STREEBOG_512,
        KE=GOST3410_2012_256}},
    NONCE[36]{CF8E80...204396},
    KE[72](GOST3410_2012_256){BA9CBB...B7F5C9},
    N[12](SET_WINDOW_SIZE){64}}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-7.9" derivedCounter="(48)">
              <t indent="0" pn="section-appendix.a.2.2-7.9.1">
Computes shared key
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-7.9.2">
00000000: ae 27 a3 df af 7d bb ad f4 5c 19 64 c9 27 eb 41
00000010: 14 fc 1a f8 25 cc 93 50 a2 64 5f 04 67 0a 74 cb
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-7.10" derivedCounter="(49)">
              <t indent="0" pn="section-appendix.a.2.2-7.10.1">
Computes SKEYSEED for new SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-7.10.2">
00000000: 31 2b 7f 6a 24 23 8f ed b6 ac 40 a7 58 2e 28 54
00000010: 47 53 76 20 05 c7 00 c8 87 c1 51 68 93 40 7e 2d
00000020: ed 14 c4 78 9a f4 12 e7 f0 19 4d 4d 12 45 0d 42
00000030: e4 b2 29 e5 57 b4 90 cc cf d5 94 84 b4 59 5e b9
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-7.11" derivedCounter="(50)">
              <t indent="0" pn="section-appendix.a.2.2-7.11.1">
Computes SK_d for new SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-7.11.2">
00000000: 38 ec b5 1c 33 77 f8 62 29 9f 00 d9 98 5f a4 4c
00000010: ea c7 97 31 01 b9 39 ce 16 2c 1c 30 dd 53 d8 97
00000020: 48 49 cd ca 82 7b 57 55 e4 5a 33 1c 80 e6 b9 1f
00000030: 2c 80 b2 e5 48 8a 23 9d 8e 42 32 ed 4f 63 3a f1
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-7.12" derivedCounter="(51)">
              <t indent="0" pn="section-appendix.a.2.2-7.12.1">
Computes SK_ei for new SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-7.12.2">
00000000: 17 1c 7c 08 bd 1a 3d 50 58 e1 13 58 9d c4 21 c6
00000010: a3 44 e5 c1 f5 14 e8 22 ed 94 03 2e 76 47 b1 8d
00000020: 2b 3d 3b 2f
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.2-7.13" derivedCounter="(52)">
              <t indent="0" pn="section-appendix.a.2.2-7.13.1">
Computes SK_er for new SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.2-7.13.2">
00000000: 4a a9 b7 36 1d 2c e1 e0 dc 55 b6 45 0a 38 f1 9a
00000010: 83 cb 8f 79 57 5e df d8 5f 5e 22 a8 36 bd 3a 4a
00000020: d2 f6 27 21
]]>
</sourcecode>
            </li>
          </ol>

<t><br/><br/></t>

            <ol group="scenario2"  type="Sub-scenario %d:">
              <li>
        </section>
        <section anchor="scenario2-3" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a.2.3">
          <name slugifiedName="name-sub-scenario-3-esp-sas-rekey">Sub-Scenario 3: ESP SAs rekeying Rekeying without PFS using Using the CREATE_CHILD_SA exchange.
                <sourcecode type="test-vectors">
<![CDATA[ Exchange</name>
          <artwork type="" align="left" pn="section-appendix.a.2.3-1">
Initiator                             Responder

HDR, SK {N(REKEY_SA), SAi, Ni,
     TSi, TSr [,N+]}          --->
                              <---          ---&gt;
                              &lt;---    HDR, SK {SAr, Nr,
                                           TSi, TSr [,N+]}
]]>
                </sourcecode>
              </li>
            </ol>

<t>Initiator's
</artwork>
          <t indent="0" pn="section-appendix.a.2.3-2">Initiator's actions:</t>
          <ol start="1" type="(%d)" group="data7.txt">
<li> group="data7.txt" indent="adaptive" spacing="normal" pn="section-appendix.a.2.3-3">
<li pn="section-appendix.a.2.3-3.1" derivedCounter="(1)">
              <t indent="0" pn="section-appendix.a.2.3-3.1.1">
Generates random IKE nonce Ni
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-3.1.2">
00000000: b5 48 18 7d 30 d8 ea 49 20 d0 9d 42 de 9e 91 ce
00000010: b3 1c 41 85 37 66 d8 9e c6 a6 f8 08 93 f4 48 23
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-3.2" derivedCounter="(2)">
              <t indent="0" pn="section-appendix.a.2.3-3.2.1">
Computes K1i (i1 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-3.2.2">
00000000: 28 b9 3c 93 ea db 74 38 64 87 8a 28 8d e0 38 5c
00000010: 14 cb ea 9f 67 58 a6 ee e2 2d c9 37 bb c8 41 69
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-3.3" derivedCounter="(3)">
              <t indent="0" pn="section-appendix.a.2.3-3.3.1">
Computes K2i (i2 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-3.3.2">
00000000: 75 11 35 65 e6 29 70 2a d9 7d 38 a8 3a e3 aa 8a
00000010: 9e fb 80 af f5 52 71 be c9 c6 c3 4b 4b 40 96 44
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-3.4" derivedCounter="(4)">
              <t indent="0" pn="section-appendix.a.2.3-3.4.1">
Computes K3i (i3 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-3.4.2">
00000000: 45 6f 03 f7 ad 75 eb e9 52 b8 8f 0d e8 36 47 69
00000010: 4d 2e f2 ba 15 e6 8c 89 1c 99 62 64 fb 0e 70 0a
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-3.5" derivedCounter="(5)">
              <t indent="0" pn="section-appendix.a.2.3-3.5.1">
Selects SPI for new incoming ESP SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-3.5.2">
00000000: 9a 8c 6a 9b
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-3.6" derivedCounter="(6)">
              <t indent="0" pn="section-appendix.a.2.3-3.6.1">
Creates message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-3.6.2">
Create Child SA
#FDD9358950D5DB22.81275DA298901A06.00000000 IKEv2 R<-I[193] R&lt;-I[193]
  E[165]{
    N[12](ESP:6C0CA570:REKEY_SA),
    SA[32]{
      P[28](#1:ESP:9A8C6A9B:2#){
        Encryption=ENCR_MAGMA_MGM_KTREE,
        ESN=Off}},
    NONCE[36]{B54818...F44823},
    TSi[24](1#){10.1.1.3},
    TSr[24](1#){10.0.0.0-10.0.0.255},
    N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
    N[8](NON_FIRST_FRAGMENTS_ALSO)}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-3.7" derivedCounter="(7)">
              <t indent="0" pn="section-appendix.a.2.3-3.7.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-3.7.2">
00000000: 00 00 00 00 2b 3d 3b 2f
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-3.8" derivedCounter="(8)">
              <t indent="0" pn="section-appendix.a.2.3-3.8.1">
Composes AAD
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-3.8.2">
00000000: fd d9 35 89 50 d5 db 22 81 27 5d a2 98 90 1a 06
00000010: 2e 20 24 08 00 00 00 00 00 00 00 c1 29 00 00 a5
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-3.9" derivedCounter="(9)">
              <t indent="0" pn="section-appendix.a.2.3-3.9.1">
Composes plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-3.9.2">
00000000: 21 00 00 0c 03 04 40 09 6c 0c a5 70 28 00 00 20
00000010: 00 00 00 1c 01 03 04 02 9a 8c 6a 9b 03 00 00 08
00000020: 01 00 00 21 00 00 00 08 05 00 00 00 2c 00 00 24
00000030: b5 48 18 7d 30 d8 ea 49 20 d0 9d 42 de 9e 91 ce
00000040: b3 1c 41 85 37 66 d8 9e c6 a6 f8 08 93 f4 48 23
00000050: 2d 00 00 18 01 00 00 00 07 00 00 10 00 00 ff ff
00000060: 0a 01 01 03 0a 01 01 03 29 00 00 18 01 00 00 00
00000070: 07 00 00 10 00 00 ff ff 0a 00 00 00 0a 00 00 ff
00000080: 29 00 00 08 00 00 40 0a 00 00 00 08 00 00 40 0b
00000090: 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-3.10" derivedCounter="(10)">
              <t indent="0" pn="section-appendix.a.2.3-3.10.1">
Encrypts plaintext using K3i as K_msg, resulted resulting in ciphertext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-3.10.2">
00000000: 47 71 bb 57 2a 1a 58 a6 44 cb 60 d4 8e 5c cc 0a
00000010: b9 34 0f 34 80 cf a2 38 54 f6 70 3b 98 4e 8f 9f
00000020: 3b 5c 5a 04 06 dc e9 d4 d3 54 c6 4d 73 09 10 c5
00000030: 4e 26 c4 27 fd cb 54 e1 cf e0 fd b4 9f f8 00 41
00000040: 41 c8 58 b2 c9 3a d8 e0 19 40 a3 89 ee 26 d4 84
00000050: 69 e9 52 68 d5 e1 ee f0 89 6e d3 95 34 62 ad 2e
00000060: e6 77 17 b8 6c 25 52 7f d8 70 9c 36 0b c8 1d 1a
00000070: 43 50 82 2a be b6 31 ff 2f 43 11 f7 d0 60 bf 62
00000080: b9 08 c3 09 a3 78 fb 5e 76 57 91 5d 48 1c aa d2
00000090: a3
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-3.11" derivedCounter="(11)">
              <t indent="0" pn="section-appendix.a.2.3-3.11.1">
Computes ICV using K3i as K_msg
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-3.11.2">
00000000: b3 05 bd 43 2f 87 0c 3f
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-3.12" derivedCounter="(12)">
              <t indent="0" pn="section-appendix.a.2.3-3.12.1">
Composes IV
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-3.12.2">
00000000: 00 00 00 00 00 00 00 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-3.13" derivedCounter="(13)">
              <t indent="0" pn="section-appendix.a.2.3-3.13.1">
Sends message, peer receives message<sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54295->10.111.15.45:4500 message</t>
              <sourcecode type="test-vectors" markers="false" pn="section-appendix.a.2.3-3.13.2">
       10.111.10.171:54295-&gt;10.111.15.45:4500 [197]

00000000: 00 00 00 00 fd d9 35 89 50 d5 db 22 81 27 5d a2
00000010: 98 90 1a 06 2e 20 24 08 00 00 00 00 00 00 00 c1
00000020: 29 00 00 a5 00 00 00 00 00 00 00 00 47 71 bb 57
00000030: 2a 1a 58 a6 44 cb 60 d4 8e 5c cc 0a b9 34 0f 34
00000040: 80 cf a2 38 54 f6 70 3b 98 4e 8f 9f 3b 5c 5a 04
00000050: 06 dc e9 d4 d3 54 c6 4d 73 09 10 c5 4e 26 c4 27
00000060: fd cb 54 e1 cf e0 fd b4 9f f8 00 41 41 c8 58 b2
00000070: c9 3a d8 e0 19 40 a3 89 ee 26 d4 84 69 e9 52 68
00000080: d5 e1 ee f0 89 6e d3 95 34 62 ad 2e e6 77 17 b8
00000090: 6c 25 52 7f d8 70 9c 36 0b c8 1d 1a 43 50 82 2a
000000A0: be b6 31 ff 2f 43 11 f7 d0 60 bf 62 b9 08 c3 09
000000B0: a3 78 fb 5e 76 57 91 5d 48 1c aa d2 a3 b3 05 bd
000000C0: 43 2f 87 0c 3f
]]>
</sourcecode>
            </li>
          </ol>
<t>Responder's
          <t indent="0" pn="section-appendix.a.2.3-4">Responder's actions:</t>
          <ol type="(%d)" group="data7.txt">
<li> group="data7.txt" start="14" indent="adaptive" spacing="normal" pn="section-appendix.a.2.3-5">
<li pn="section-appendix.a.2.3-5.1" derivedCounter="(14)">
              <t indent="0" pn="section-appendix.a.2.3-5.1.1">
Extracts IV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-5.1.2">
00000000: 00 00 00 00 00 00 00 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-5.2" derivedCounter="(15)">
              <t indent="0" pn="section-appendix.a.2.3-5.2.1">
Computes K1i (i1 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-5.2.2">
00000000: 28 b9 3c 93 ea db 74 38 64 87 8a 28 8d e0 38 5c
00000010: 14 cb ea 9f 67 58 a6 ee e2 2d c9 37 bb c8 41 69
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-5.3" derivedCounter="(16)">
              <t indent="0" pn="section-appendix.a.2.3-5.3.1">
Computes K2i (i2 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-5.3.2">
00000000: 75 11 35 65 e6 29 70 2a d9 7d 38 a8 3a e3 aa 8a
00000010: 9e fb 80 af f5 52 71 be c9 c6 c3 4b 4b 40 96 44
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-5.4" derivedCounter="(17)">
              <t indent="0" pn="section-appendix.a.2.3-5.4.1">
Computes K3i (i3 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-5.4.2">
00000000: 45 6f 03 f7 ad 75 eb e9 52 b8 8f 0d e8 36 47 69
00000010: 4d 2e f2 ba 15 e6 8c 89 1c 99 62 64 fb 0e 70 0a
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-5.5" derivedCounter="(18)">
              <t indent="0" pn="section-appendix.a.2.3-5.5.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-5.5.2">
00000000: 00 00 00 00 2b 3d 3b 2f
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-5.6" derivedCounter="(19)">
              <t indent="0" pn="section-appendix.a.2.3-5.6.1">
Extracts ICV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-5.6.2">
00000000: b3 05 bd 43 2f 87 0c 3f
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-5.7" derivedCounter="(20)">
              <t indent="0" pn="section-appendix.a.2.3-5.7.1">
Extracts AAD from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-5.7.2">
00000000: fd d9 35 89 50 d5 db 22 81 27 5d a2 98 90 1a 06
00000010: 2e 20 24 08 00 00 00 00 00 00 00 c1 29 00 00 a5
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-5.8" derivedCounter="(21)">
              <t indent="0" pn="section-appendix.a.2.3-5.8.1">
Extracts ciphertext from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-5.8.2">
00000000: 47 71 bb 57 2a 1a 58 a6 44 cb 60 d4 8e 5c cc 0a
00000010: b9 34 0f 34 80 cf a2 38 54 f6 70 3b 98 4e 8f 9f
00000020: 3b 5c 5a 04 06 dc e9 d4 d3 54 c6 4d 73 09 10 c5
00000030: 4e 26 c4 27 fd cb 54 e1 cf e0 fd b4 9f f8 00 41
00000040: 41 c8 58 b2 c9 3a d8 e0 19 40 a3 89 ee 26 d4 84
00000050: 69 e9 52 68 d5 e1 ee f0 89 6e d3 95 34 62 ad 2e
00000060: e6 77 17 b8 6c 25 52 7f d8 70 9c 36 0b c8 1d 1a
00000070: 43 50 82 2a be b6 31 ff 2f 43 11 f7 d0 60 bf 62
00000080: b9 08 c3 09 a3 78 fb 5e 76 57 91 5d 48 1c aa d2
00000090: a3
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-5.9" derivedCounter="(22)">
              <t indent="0" pn="section-appendix.a.2.3-5.9.1">
Decrypts ciphertext and verifies ICV using K3i as K_msg, resulted resulting in plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-5.9.2">
00000000: 21 00 00 0c 03 04 40 09 6c 0c a5 70 28 00 00 20
00000010: 00 00 00 1c 01 03 04 02 9a 8c 6a 9b 03 00 00 08
00000020: 01 00 00 21 00 00 00 08 05 00 00 00 2c 00 00 24
00000030: b5 48 18 7d 30 d8 ea 49 20 d0 9d 42 de 9e 91 ce
00000040: b3 1c 41 85 37 66 d8 9e c6 a6 f8 08 93 f4 48 23
00000050: 2d 00 00 18 01 00 00 00 07 00 00 10 00 00 ff ff
00000060: 0a 01 01 03 0a 01 01 03 29 00 00 18 01 00 00 00
00000070: 07 00 00 10 00 00 ff ff 0a 00 00 00 0a 00 00 ff
00000080: 29 00 00 08 00 00 40 0a 00 00 00 08 00 00 40 0b
00000090: 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-5.10" derivedCounter="(23)">
              <t indent="0" pn="section-appendix.a.2.3-5.10.1">
Parses received message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-5.10.2">
Create Child SA
#FDD9358950D5DB22.81275DA298901A06.00000000 IKEv2 I->R[193] I-&gt;R[193]
  E[165]{
    N[12](ESP:6C0CA570:REKEY_SA),
    SA[32]{
      P[28](#1:ESP:9A8C6A9B:2#){
        Encryption=ENCR_MAGMA_MGM_KTREE,
        ESN=Off}},
    NONCE[36]{B54818...F44823},
    TSi[24](1#){10.1.1.3},
    TSr[24](1#){10.0.0.0-10.0.0.255},
    N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
    N[8](NON_FIRST_FRAGMENTS_ALSO)}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-5.11" derivedCounter="(24)">
              <t indent="0" pn="section-appendix.a.2.3-5.11.1">
Generates random IKE nonce Nr
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-5.11.2">
00000000: 41 5e a7 ed 7e 65 d3 ff d3 df ed 5f b5 c8 5c 60
00000010: 2b 9c 15 14 eb 52 97 b7 fc aa 33 c4 64 f3 58 06
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-5.12" derivedCounter="(25)">
              <t indent="0" pn="section-appendix.a.2.3-5.12.1">
Selects SPI for new incoming ESP SA
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-5.12.2">
00000000: 15 4f 35 39
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-5.13" derivedCounter="(26)">
              <t indent="0" pn="section-appendix.a.2.3-5.13.1">
Computes keys for new ESP SAs
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-5.13.2">
00000000: 6a b6 a0 e7 05 d3 51 16 6f 4f b9 d6 59 0c c8 69
00000010: 43 70 cf 6f 0d 32 c3 7d 92 75 00 4b 0a 76 35 67
00000020: 64 0e 3a fe
00000000: 65 56 1c 79 27 cb c6 d6 8c b8 69 0f 40 00 d2 0a
00000010: c1 49 1c d1 86 88 db 88 ae f3 be 82 0c 71 b7 c9
00000020: 6c cf a3 64
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-5.14" derivedCounter="(27)">
              <t indent="0" pn="section-appendix.a.2.3-5.14.1">
Creates message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-5.14.2">
Create Child SA
#FDD9358950D5DB22.81275DA298901A06.00000000 IKEv2 I<=R[189] I&lt;=R[189]
  E[161]{
    SA[32]{
      P[28](#1:ESP:154F3539:2#){
        Encryption=ENCR_MAGMA_MGM_KTREE,
        ESN=Off}},
    NONCE[36]{415EA7...F35806},
    TSi[24](1#){10.1.1.3},
    TSr[24](1#){10.0.0.0-10.0.0.255},
    N[8](ADDITIONAL_TS_POSSIBLE),
    N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
    N[8](NON_FIRST_FRAGMENTS_ALSO)}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-5.15" derivedCounter="(28)">
              <t indent="0" pn="section-appendix.a.2.3-5.15.1">
Computes K1r (i1 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-5.15.2">
00000000: 51 49 d5 41 33 91 45 dd ff 04 f5 05 e5 21 39 f2
00000010: 3a 71 1c 18 ef 39 94 1e dd 0c 70 e5 14 12 43 0a
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-5.16" derivedCounter="(29)">
              <t indent="0" pn="section-appendix.a.2.3-5.16.1">
Computes K2r (i2 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-5.16.2">
00000000: 0e 8f 21 54 2e fc 81 79 57 c4 c9 0b e0 25 9a 59
00000010: 29 26 0e 86 20 bf d4 e6 00 32 23 43 ae f0 11 52
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-5.17" derivedCounter="(30)">
              <t indent="0" pn="section-appendix.a.2.3-5.17.1">
Computes K3r (i3 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-5.17.2">
00000000: 92 b8 b2 d6 7a 2d e1 db 5f e1 39 d2 57 c8 24 5f
00000010: f6 22 54 de fc 35 35 c9 24 cf a5 4a e1 5d 75 71
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-5.18" derivedCounter="(31)">
              <t indent="0" pn="section-appendix.a.2.3-5.18.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-5.18.2">
00000000: 00 00 00 00 d2 f6 27 21
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-5.19" derivedCounter="(32)">
              <t indent="0" pn="section-appendix.a.2.3-5.19.1">
Composes AAD
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-5.19.2">
00000000: fd d9 35 89 50 d5 db 22 81 27 5d a2 98 90 1a 06
00000010: 2e 20 24 20 00 00 00 00 00 00 00 bd 21 00 00 a1
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-5.20" derivedCounter="(33)">
              <t indent="0" pn="section-appendix.a.2.3-5.20.1">
Composes plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-5.20.2">
00000000: 28 00 00 20 00 00 00 1c 01 03 04 02 15 4f 35 39
00000010: 03 00 00 08 01 00 00 21 00 00 00 08 05 00 00 00
00000020: 2c 00 00 24 41 5e a7 ed 7e 65 d3 ff d3 df ed 5f
00000030: b5 c8 5c 60 2b 9c 15 14 eb 52 97 b7 fc aa 33 c4
00000040: 64 f3 58 06 2d 00 00 18 01 00 00 00 07 00 00 10
00000050: 00 00 ff ff 0a 01 01 03 0a 01 01 03 29 00 00 18
00000060: 01 00 00 00 07 00 00 10 00 00 ff ff 0a 00 00 00
00000070: 0a 00 00 ff 29 00 00 08 00 00 40 02 29 00 00 08
00000080: 00 00 40 0a 00 00 00 08 00 00 40 0b 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-5.21" derivedCounter="(34)">
              <t indent="0" pn="section-appendix.a.2.3-5.21.1">
Encrypts plaintext using K3r as K_msg, resulted resulting in ciphertext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-5.21.2">
00000000: 2e c7 13 73 4c cc f8 f3 51 71 ac d9 7a 6e 20 2c
00000010: 68 70 bb 8f 82 42 2a 14 e3 8d b8 25 10 9a 1f b6
00000020: 51 ef c5 35 50 bf df 8e 96 bc 94 5a e5 4d 9d 99
00000030: 9a 14 36 d1 4b 61 e1 de 3b 0d 12 94 e5 72 60 00
00000040: 0f 9d dd 2b e1 97 25 4c 5c ee 48 2e 9b f7 d8 9e
00000050: 01 6b 1d 92 b7 c1 7f 16 81 0f e2 e3 14 1c 27 c7
00000060: 35 e9 e3 fd b8 fc 5d fb a2 ee 2f f9 b0 17 39 ca
00000070: f1 2e b1 13 99 e0 da 10 1a 29 74 26 a3 63 ce 09
00000080: 6a f9 1b 67 4a f2 fb 0f 17 5e 48 1a 93
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-5.22" derivedCounter="(35)">
              <t indent="0" pn="section-appendix.a.2.3-5.22.1">
Computes ICV using K3r as K_msg
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-5.22.2">
00000000: 57 b4 30 41 07 50 b1 cc
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-5.23" derivedCounter="(36)">
              <t indent="0" pn="section-appendix.a.2.3-5.23.1">
Composes IV
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-5.23.2">
00000000: 00 00 00 00 00 00 00 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-5.24" derivedCounter="(37)">
              <t indent="0" pn="section-appendix.a.2.3-5.24.1">
Sends message, peer receives message<sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54295<-10.111.15.45:4500 message</t>
              <sourcecode type="test-vectors" markers="false" pn="section-appendix.a.2.3-5.24.2">
       10.111.10.171:54295&lt;-10.111.15.45:4500 [193]

00000000: 00 00 00 00 fd d9 35 89 50 d5 db 22 81 27 5d a2
00000010: 98 90 1a 06 2e 20 24 20 00 00 00 00 00 00 00 bd
00000020: 21 00 00 a1 00 00 00 00 00 00 00 00 2e c7 13 73
00000030: 4c cc f8 f3 51 71 ac d9 7a 6e 20 2c 68 70 bb 8f
00000040: 82 42 2a 14 e3 8d b8 25 10 9a 1f b6 51 ef c5 35
00000050: 50 bf df 8e 96 bc 94 5a e5 4d 9d 99 9a 14 36 d1
00000060: 4b 61 e1 de 3b 0d 12 94 e5 72 60 00 0f 9d dd 2b
00000070: e1 97 25 4c 5c ee 48 2e 9b f7 d8 9e 01 6b 1d 92
00000080: b7 c1 7f 16 81 0f e2 e3 14 1c 27 c7 35 e9 e3 fd
00000090: b8 fc 5d fb a2 ee 2f f9 b0 17 39 ca f1 2e b1 13
000000A0: 99 e0 da 10 1a 29 74 26 a3 63 ce 09 6a f9 1b 67
000000B0: 4a f2 fb 0f 17 5e 48 1a 93 57 b4 30 41 07 50 b1
000000C0: cc
]]>
</sourcecode>
            </li>
          </ol>
<t>Initiator's
          <t indent="0" pn="section-appendix.a.2.3-6">Initiator's actions:</t>
          <ol type="(%d)" group="data7.txt">
<li> group="data7.txt" start="38" indent="adaptive" spacing="normal" pn="section-appendix.a.2.3-7">
<li pn="section-appendix.a.2.3-7.1" derivedCounter="(38)">
              <t indent="0" pn="section-appendix.a.2.3-7.1.1">
Extracts IV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-7.1.2">
00000000: 00 00 00 00 00 00 00 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-7.2" derivedCounter="(39)">
              <t indent="0" pn="section-appendix.a.2.3-7.2.1">
Computes K1r (i1 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-7.2.2">
00000000: 51 49 d5 41 33 91 45 dd ff 04 f5 05 e5 21 39 f2
00000010: 3a 71 1c 18 ef 39 94 1e dd 0c 70 e5 14 12 43 0a
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-7.3" derivedCounter="(40)">
              <t indent="0" pn="section-appendix.a.2.3-7.3.1">
Computes K2r (i2 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-7.3.2">
00000000: 0e 8f 21 54 2e fc 81 79 57 c4 c9 0b e0 25 9a 59
00000010: 29 26 0e 86 20 bf d4 e6 00 32 23 43 ae f0 11 52
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-7.4" derivedCounter="(41)">
              <t indent="0" pn="section-appendix.a.2.3-7.4.1">
Computes K3r (i3 = 0)
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-7.4.2">
00000000: 92 b8 b2 d6 7a 2d e1 db 5f e1 39 d2 57 c8 24 5f
00000010: f6 22 54 de fc 35 35 c9 24 cf a5 4a e1 5d 75 71
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-7.5" derivedCounter="(42)">
              <t indent="0" pn="section-appendix.a.2.3-7.5.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-7.5.2">
00000000: 00 00 00 00 d2 f6 27 21
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-7.6" derivedCounter="(43)">
              <t indent="0" pn="section-appendix.a.2.3-7.6.1">
Extracts ICV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-7.6.2">
00000000: 57 b4 30 41 07 50 b1 cc
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-7.7" derivedCounter="(44)">
              <t indent="0" pn="section-appendix.a.2.3-7.7.1">
Extracts AAD from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-7.7.2">
00000000: fd d9 35 89 50 d5 db 22 81 27 5d a2 98 90 1a 06
00000010: 2e 20 24 20 00 00 00 00 00 00 00 bd 21 00 00 a1
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-7.8" derivedCounter="(45)">
              <t indent="0" pn="section-appendix.a.2.3-7.8.1">
Extracts ciphertext from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-7.8.2">
00000000: 2e c7 13 73 4c cc f8 f3 51 71 ac d9 7a 6e 20 2c
00000010: 68 70 bb 8f 82 42 2a 14 e3 8d b8 25 10 9a 1f b6
00000020: 51 ef c5 35 50 bf df 8e 96 bc 94 5a e5 4d 9d 99
00000030: 9a 14 36 d1 4b 61 e1 de 3b 0d 12 94 e5 72 60 00
00000040: 0f 9d dd 2b e1 97 25 4c 5c ee 48 2e 9b f7 d8 9e
00000050: 01 6b 1d 92 b7 c1 7f 16 81 0f e2 e3 14 1c 27 c7
00000060: 35 e9 e3 fd b8 fc 5d fb a2 ee 2f f9 b0 17 39 ca
00000070: f1 2e b1 13 99 e0 da 10 1a 29 74 26 a3 63 ce 09
00000080: 6a f9 1b 67 4a f2 fb 0f 17 5e 48 1a 93
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-7.9" derivedCounter="(46)">
              <t indent="0" pn="section-appendix.a.2.3-7.9.1">
Decrypts ciphertext and verifies ICV using K3r as K_msg, resulted resulting in plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-7.9.2">
00000000: 28 00 00 20 00 00 00 1c 01 03 04 02 15 4f 35 39
00000010: 03 00 00 08 01 00 00 21 00 00 00 08 05 00 00 00
00000020: 2c 00 00 24 41 5e a7 ed 7e 65 d3 ff d3 df ed 5f
00000030: b5 c8 5c 60 2b 9c 15 14 eb 52 97 b7 fc aa 33 c4
00000040: 64 f3 58 06 2d 00 00 18 01 00 00 00 07 00 00 10
00000050: 00 00 ff ff 0a 01 01 03 0a 01 01 03 29 00 00 18
00000060: 01 00 00 00 07 00 00 10 00 00 ff ff 0a 00 00 00
00000070: 0a 00 00 ff 29 00 00 08 00 00 40 02 29 00 00 08
00000080: 00 00 40 0a 00 00 00 08 00 00 40 0b 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-7.10" derivedCounter="(47)">
              <t indent="0" pn="section-appendix.a.2.3-7.10.1">
Parses received message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-7.10.2">
Create Child SA
#FDD9358950D5DB22.81275DA298901A06.00000000 IKEv2 R=>I[189] R=&gt;I[189]
  E[161]{
    SA[32]{
      P[28](#1:ESP:154F3539:2#){
        Encryption=ENCR_MAGMA_MGM_KTREE,
        ESN=Off}},
    NONCE[36]{415EA7...F35806},
    TSi[24](1#){10.1.1.3},
    TSr[24](1#){10.0.0.0-10.0.0.255},
    N[8](ADDITIONAL_TS_POSSIBLE),
    N[8](ESP_TFC_PADDING_NOT_SUPPORTED),
    N[8](NON_FIRST_FRAGMENTS_ALSO)}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.3-7.11" derivedCounter="(48)">
              <t indent="0" pn="section-appendix.a.2.3-7.11.1">
Computes keys for new ESP SAs
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.3-7.11.2">
00000000: 6a b6 a0 e7 05 d3 51 16 6f 4f b9 d6 59 0c c8 69
00000010: 43 70 cf 6f 0d 32 c3 7d 92 75 00 4b 0a 76 35 67
00000020: 64 0e 3a fe
00000000: 65 56 1c 79 27 cb c6 d6 8c b8 69 0f 40 00 d2 0a
00000010: c1 49 1c d1 86 88 db 88 ae f3 be 82 0c 71 b7 c9
00000020: 6c cf a3 64
]]>
</sourcecode>
            </li>
          </ol>

<t><br/><br/></t>

            <ol group="scenario2"  type="Sub-scenario %d:">
              <li>
        </section>
        <section anchor="scenario2-4" numbered="true" removeInRFC="false" toc="include" pn="section-appendix.a.2.4">
          <name slugifiedName="name-sub-scenario-4-ike-sa-deleti">Sub-Scenario 4: IKE SA deletion using Deletion Using the INFORMATIONAL exchange.
                <sourcecode type="test-vectors">
<![CDATA[ Exchange</name>
          <artwork type="" align="left" pn="section-appendix.a.2.4-1">
Initiator                             Responder

HDR, SK {D}           --->
                      <---           ---&gt;
                      &lt;---            HDR, SK { }
]]>
                </sourcecode>

              </li>
            </ol>

<t>Initiator's
</artwork>
          <t indent="0" pn="section-appendix.a.2.4-2">Initiator's actions:</t>
          <ol start="1" type="(%d)" group="data8.txt">
<li> group="data8.txt" indent="adaptive" spacing="normal" pn="section-appendix.a.2.4-3">
<li pn="section-appendix.a.2.4-3.1" derivedCounter="(1)">
              <t indent="0" pn="section-appendix.a.2.4-3.1.1">
Creates message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-3.1.2">
Informational
#FDD9358950D5DB22.81275DA298901A06.00000003 IKEv2 R<-I[57] R&lt;-I[57]
  E[29]{
    D[8](IKE)}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-3.2" derivedCounter="(2)">
              <t indent="0" pn="section-appendix.a.2.4-3.2.1">
Uses previously computed key K3i
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-3.2.2">
00000000: 45 6f 03 f7 ad 75 eb e9 52 b8 8f 0d e8 36 47 69
00000010: 4d 2e f2 ba 15 e6 8c 89 1c 99 62 64 fb 0e 70 0a
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-3.3" derivedCounter="(3)">
              <t indent="0" pn="section-appendix.a.2.4-3.3.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-3.3.2">
00000000: 00 00 00 03 2b 3d 3b 2f
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-3.4" derivedCounter="(4)">
              <t indent="0" pn="section-appendix.a.2.4-3.4.1">
Composes AAD
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-3.4.2">
00000000: fd d9 35 89 50 d5 db 22 81 27 5d a2 98 90 1a 06
00000010: 2e 20 25 08 00 00 00 03 00 00 00 39 2a 00 00 1d
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-3.5" derivedCounter="(5)">
              <t indent="0" pn="section-appendix.a.2.4-3.5.1">
Composes plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-3.5.2">
00000000: 00 00 00 08 01 00 00 00 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-3.6" derivedCounter="(6)">
              <t indent="0" pn="section-appendix.a.2.4-3.6.1">
Encrypts plaintext using K3i as K_msg, resulted resulting in ciphertext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-3.6.2">
00000000: 4f ff 67 66 41 9c d3 ec 8e
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-3.7" derivedCounter="(7)">
              <t indent="0" pn="section-appendix.a.2.4-3.7.1">
Computes ICV using K3i as K_msg
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-3.7.2">
00000000: d2 bf 0e b7 8f c5 53 03
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-3.8" derivedCounter="(8)">
              <t indent="0" pn="section-appendix.a.2.4-3.8.1">
Composes IV
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-3.8.2">
00000000: 00 00 00 00 00 00 00 03
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-3.9" derivedCounter="(9)">
              <t indent="0" pn="section-appendix.a.2.4-3.9.1">
Sends message, peer receives message<sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54295->10.111.15.45:4500 message</t>
              <sourcecode type="test-vectors" markers="false" pn="section-appendix.a.2.4-3.9.2">
       10.111.10.171:54295-&gt;10.111.15.45:4500 [61]

00000000: 00 00 00 00 fd d9 35 89 50 d5 db 22 81 27 5d a2
00000010: 98 90 1a 06 2e 20 25 08 00 00 00 03 00 00 00 39
00000020: 2a 00 00 1d 00 00 00 00 00 00 00 03 4f ff 67 66
00000030: 41 9c d3 ec 8e d2 bf 0e b7 8f c5 53 03
]]>
</sourcecode>
            </li>
          </ol>
<t>Responder's
          <t indent="0" pn="section-appendix.a.2.4-4">Responder's actions:</t>
          <ol type="(%d)" group="data8.txt">
<li> group="data8.txt" start="10" indent="adaptive" spacing="normal" pn="section-appendix.a.2.4-5">
<li pn="section-appendix.a.2.4-5.1" derivedCounter="(10)">
              <t indent="0" pn="section-appendix.a.2.4-5.1.1">
Extracts IV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-5.1.2">
00000000: 00 00 00 00 00 00 00 03
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-5.2" derivedCounter="(11)">
              <t indent="0" pn="section-appendix.a.2.4-5.2.1">
Uses previously computed key K3i
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-5.2.2">
00000000: 45 6f 03 f7 ad 75 eb e9 52 b8 8f 0d e8 36 47 69
00000010: 4d 2e f2 ba 15 e6 8c 89 1c 99 62 64 fb 0e 70 0a
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-5.3" derivedCounter="(12)">
              <t indent="0" pn="section-appendix.a.2.4-5.3.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-5.3.2">
00000000: 00 00 00 03 2b 3d 3b 2f
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-5.4" derivedCounter="(13)">
              <t indent="0" pn="section-appendix.a.2.4-5.4.1">
Extracts ICV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-5.4.2">
00000000: d2 bf 0e b7 8f c5 53 03
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-5.5" derivedCounter="(14)">
              <t indent="0" pn="section-appendix.a.2.4-5.5.1">
Extracts AAD from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-5.5.2">
00000000: fd d9 35 89 50 d5 db 22 81 27 5d a2 98 90 1a 06
00000010: 2e 20 25 08 00 00 00 03 00 00 00 39 2a 00 00 1d
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-5.6" derivedCounter="(15)">
              <t indent="0" pn="section-appendix.a.2.4-5.6.1">
Extracts ciphertext from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-5.6.2">
00000000: 4f ff 67 66 41 9c d3 ec 8e
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-5.7" derivedCounter="(16)">
              <t indent="0" pn="section-appendix.a.2.4-5.7.1">
Decrypts ciphertext and verifies ICV using K3i as K_msg, resulted resulting in plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-5.7.2">
00000000: 00 00 00 08 01 00 00 00 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-5.8" derivedCounter="(17)">
              <t indent="0" pn="section-appendix.a.2.4-5.8.1">
Parses received message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-5.8.2">
Informational
#FDD9358950D5DB22.81275DA298901A06.00000003 IKEv2 I->R[57] I-&gt;R[57]
  E[29]{
    D[8](IKE)}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-5.9" derivedCounter="(18)">
              <t indent="0" pn="section-appendix.a.2.4-5.9.1">
Creates message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-5.9.2">
Informational
#FDD9358950D5DB22.81275DA298901A06.00000003 IKEv2 I<=R[49] I&lt;=R[49]
  E[21]{}
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-5.10" derivedCounter="(19)">
              <t indent="0" pn="section-appendix.a.2.4-5.10.1">
Uses previously computed key K3r
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-5.10.2">
00000000: 92 b8 b2 d6 7a 2d e1 db 5f e1 39 d2 57 c8 24 5f
00000010: f6 22 54 de fc 35 35 c9 24 cf a5 4a e1 5d 75 71
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-5.11" derivedCounter="(20)">
              <t indent="0" pn="section-appendix.a.2.4-5.11.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-5.11.2">
00000000: 00 00 00 03 d2 f6 27 21
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-5.12" derivedCounter="(21)">
              <t indent="0" pn="section-appendix.a.2.4-5.12.1">
Composes AAD
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-5.12.2">
00000000: fd d9 35 89 50 d5 db 22 81 27 5d a2 98 90 1a 06
00000010: 2e 20 25 20 00 00 00 03 00 00 00 31 00 00 00 15
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-5.13" derivedCounter="(22)">
              <t indent="0" pn="section-appendix.a.2.4-5.13.1">
Composes plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-5.13.2">
00000000: 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-5.14" derivedCounter="(23)">
              <t indent="0" pn="section-appendix.a.2.4-5.14.1">
Encrypts plaintext using K3r as K_msg, resulted resulting in ciphertext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-5.14.2">
00000000: a8
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-5.15" derivedCounter="(24)">
              <t indent="0" pn="section-appendix.a.2.4-5.15.1">
Computes ICV using K3r as K_msg
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-5.15.2">
00000000: ef 77 21 c9 8b c1 eb 98
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-5.16" derivedCounter="(25)">
              <t indent="0" pn="section-appendix.a.2.4-5.16.1">
Composes IV
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-5.16.2">
00000000: 00 00 00 00 00 00 00 03
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-5.17" derivedCounter="(26)">
              <t indent="0" pn="section-appendix.a.2.4-5.17.1">
Sends message, peer receives message<sourcecode type="test-vectors">
<![CDATA[
       10.111.10.171:54295<-10.111.15.45:4500 message</t>
              <sourcecode type="test-vectors" markers="false" pn="section-appendix.a.2.4-5.17.2">
       10.111.10.171:54295&lt;-10.111.15.45:4500 [53]

00000000: 00 00 00 00 fd d9 35 89 50 d5 db 22 81 27 5d a2
00000010: 98 90 1a 06 2e 20 25 20 00 00 00 03 00 00 00 31
00000020: 00 00 00 15 00 00 00 00 00 00 00 03 a8 ef 77 21
00000030: c9 8b c1 eb 98
]]>
</sourcecode>
            </li>
          </ol>
<t>Initiator's
          <t indent="0" pn="section-appendix.a.2.4-6">Initiator's actions:</t>
          <ol type="(%d)" group="data8.txt">
<li> group="data8.txt" start="27" indent="adaptive" spacing="normal" pn="section-appendix.a.2.4-7">
<li pn="section-appendix.a.2.4-7.1" derivedCounter="(27)">
              <t indent="0" pn="section-appendix.a.2.4-7.1.1">
Extracts IV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-7.1.2">
00000000: 00 00 00 00 00 00 00 03
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-7.2" derivedCounter="(28)">
              <t indent="0" pn="section-appendix.a.2.4-7.2.1">
Uses previously computed key K3r
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-7.2.2">
00000000: 92 b8 b2 d6 7a 2d e1 db 5f e1 39 d2 57 c8 24 5f
00000010: f6 22 54 de fc 35 35 c9 24 cf a5 4a e1 5d 75 71
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-7.3" derivedCounter="(29)">
              <t indent="0" pn="section-appendix.a.2.4-7.3.1">
Composes MGM nonce
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-7.3.2">
00000000: 00 00 00 03 d2 f6 27 21
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-7.4" derivedCounter="(30)">
              <t indent="0" pn="section-appendix.a.2.4-7.4.1">
Extracts ICV from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-7.4.2">
00000000: ef 77 21 c9 8b c1 eb 98
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-7.5" derivedCounter="(31)">
              <t indent="0" pn="section-appendix.a.2.4-7.5.1">
Extracts AAD from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-7.5.2">
00000000: fd d9 35 89 50 d5 db 22 81 27 5d a2 98 90 1a 06
00000010: 2e 20 25 20 00 00 00 03 00 00 00 31 00 00 00 15
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-7.6" derivedCounter="(32)">
              <t indent="0" pn="section-appendix.a.2.4-7.6.1">
Extracts ciphertext from message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-7.6.2">
00000000: a8
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-7.7" derivedCounter="(33)">
              <t indent="0" pn="section-appendix.a.2.4-7.7.1">
Decrypts ciphertext and verifies ICV using K3r as K_msg, resulted resulting in plaintext
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-7.7.2">
00000000: 00
]]>
</sourcecode>
            </li>
<li>
            <li pn="section-appendix.a.2.4-7.8" derivedCounter="(34)">
              <t indent="0" pn="section-appendix.a.2.4-7.8.1">
Parses received message
</t>
              <sourcecode type="test-vectors">
<![CDATA[ type="test-vectors" markers="false" pn="section-appendix.a.2.4-7.8.2">
Informational
#FDD9358950D5DB22.81275DA298901A06.00000003 IKEv2 R=>I[49] R=&gt;I[49]
  E[21]{}
]]>
</sourcecode>
            </li>
          </ol>
        </section>
      </section>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-address">Author's Address</name>
      <author initials="V." surname="Smyslov" fullname="Valery Smyslov">
        <organization showOnFrontPage="true">ELVIS-PLUS</organization>
        <address>
          <postal>
            <street>PO Box 81</street>
            <city>Moscow (Zelenograd)</city>
            <code>124460</code>
            <country>Russian Federation</country>
          </postal>
          <phone>+7 495 276 0211</phone>
          <email>svan@elvis.ru</email>
        </address>
      </author>
    </section>
  </back>
</rfc>