<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.2.3) -->
<?rfc tocompact="yes"?>
<?rfc tocindent="yes"?>
<?rfc compact="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bonica-tcpm-tcp-ao-long-algs-03" category="exp" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="tcp-ao-384-algs">384-bit Cryptographic Algorithms For Use With TCP-AO</title>
    <seriesInfo name="Internet-Draft" value="draft-bonica-tcpm-tcp-ao-long-algs-03"/>
    <author initials="R." surname="Bonica" fullname="Ron Bonica">
      <organization>HPE</organization>
      <address>
        <postal>
          <country>USA</country>
        </postal>
        <email>ronald.bonica@hpe.com</email>
      </address>
    </author>
    <author initials="T." surname="Li" fullname="Tony Li">
      <organization>HPE</organization>
      <address>
        <postal>
          <country>USA</country>
        </postal>
        <email>tony.li@tony.li</email>
      </address>
    </author>
    <date year="2026" month="June" day="02"/>
    <area>Transport</area>
    <workgroup>TCPM Working Group</workgroup>
    <keyword>TCP-AO</keyword>
    <abstract>
      <?line 49?>

<t>RFC5926 creates a list of cryptographic algorithms that can be used with TCP-AO. This document expands that list, adding two Message Authentication Code (MAC) algorithms, HMAC-SHA384 and KMAC384.  For each MAC algorithm, a corresponding Key Derivation Function (KDF) is also added.</t>
      <t>The MAC algorithms described by this document produce 384-bit (i.e., 48-byte) MACs. When 48-byte MACs are encoded in TCP-AO, the TCP-AO consumes 52 bytes. This exceeds TCP's 40-byte option size limitation. Therefore, it depends on a solution that extends TCP Option space.</t>
    </abstract>
  </front>
  <middle>
    <?line 55?>

<section anchor="intro">
      <name>Introduction</name>
      <t><xref target="RFC5926"/> creates a list of cryptographic algorithms that can be used with TCP-AO <xref target="RFC5925"/>. This document expands that list, adding two Message Authentication Code (MAC) algorithms, HMAC-SHA384 and KMAC384.  For each MAC algorithm, a corresponding Key Derivation Function (KDF) is also added.</t>
      <t>The MAC algorithms described by this document produce 384-bit (i.e., 48-byte) MACs. When 48-byte MACs are encoded in TCP-AO, the TCP-AO consumes 52 bytes. This exceeds TCP's <xref target="RFC9293"/> 40-byte option size limitation. Therefore, it depends on a solution that extends TCP Option space.</t>
    </section>
    <section anchor="requirements-language">
      <name>Requirements Language</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="algorithm-classes">
      <name>Algorithm Classes</name>
      <t><xref target="RFC5925"/> requires the following cryptographic algorithm classes:</t>
      <ul spacing="normal">
        <li>
          <t>Key Derivation Functions (KDFs)</t>
        </li>
        <li>
          <t>MAC Algorithms</t>
        </li>
      </ul>
      <t><xref target="kdf"/> of this document addresses KDFs while <xref target="mac"/> addresses MAC algorithms.</t>
      <section anchor="kdf">
        <name>Key Derivation Functions (KDFs)</name>
        <t>A KDF converts Input Keying Material (IKM) into cryptographically secure Output Keying Material (OKM). In the case of TCP-AO, a KDF converts an administratively assigned Master_Key into a Traffic_Key.</t>
        <t>KDFs have the following interface:</t>
        <ul spacing="normal">
          <li>
            <t>Traffic_Key = KDF_alg(Master_Key, Context, Output_Length)</t>
          </li>
        </ul>
        <t>where:</t>
        <ul spacing="normal">
          <li>
            <t>KDF_alg is the KDF algorithm being used.</t>
          </li>
          <li>
            <t>Master_Key is a variable length pre-shared key (PSK).</t>
          </li>
          <li>
            <t>Context is binary string containing information related to the TCP connection, as defined in <xref target="RFC5925"/>, Section 5.2.</t>
          </li>
          <li>
            <t>Output_Length is the desired length of the Traffic_Key. In this document, the Output_Length is always equal to 384 bits.</t>
          </li>
        </ul>
        <t>This document defines two KDFs:</t>
        <ul spacing="normal">
          <li>
            <t>HKDF-SHA384</t>
          </li>
          <li>
            <t>KMAC384-KDF</t>
          </li>
        </ul>
        <t><xref target="HKDFSHA384"/> of this document describes HKDF-SHA384 while <xref target="KMAC384KDF"/> describes KMAC384-KDF.</t>
        <section anchor="HKDFSHA384">
          <name>HKDF-SHA384</name>
          <t>HKDF-SHA384 is as described in <xref target="RFC5869"/>. HKDF-SHA384 executes in the following stages:</t>
          <ul spacing="normal">
            <li>
              <t>Extract</t>
            </li>
            <li>
              <t>Expand</t>
            </li>
          </ul>
          <t>The interface to the Extract stage is:</t>
          <ul spacing="normal">
            <li>
              <t>PRK = HKDF-Extract(salt, IKM)</t>
            </li>
          </ul>
          <t>where:</t>
          <ul spacing="normal">
            <li>
              <t>PRK is a Pseudo-random key, to be used in the Expand stage.</t>
            </li>
            <li>
              <t>salt is an all-zero byte string whose length equals 32 bytes.</t>
            </li>
            <li>
              <t>IKM is the Master_Key argument provided to the KDF interface.</t>
            </li>
          </ul>
          <t>According to <xref target="RFC5869"/>, the goal of the extract stage is to concentrate the possibly dispersed entropy of the input keying material into a short, but cryptographically strong pseudorandom key. Implementations <bcp14>MUST</bcp14> execute the extract stage.</t>
          <t>The interface to the Expand stage is:</t>
          <ul spacing="normal">
            <li>
              <t>OKM = HKDF-Expand(PRK, info, L)</t>
            </li>
          </ul>
          <t>where:</t>
          <ul spacing="normal">
            <li>
              <t>OKM is the Traffic_Key.</t>
            </li>
            <li>
              <t>PRK is the value produced by the Extract stage.</t>
            </li>
            <li>
              <t>info is the Context argument provided to the KDF interface.</t>
            </li>
            <li>
              <t>L is equal to 32 bytes.</t>
            </li>
          </ul>
          <t>The expand stage expands the pseudorandom key to the desired length. The output key length depend on the specific cryptographic algorithms for which the keys are needed. Implementations <bcp14>MUST</bcp14> execute the expand stage.</t>
        </section>
        <section anchor="KMAC384KDF">
          <name>KMAC384-KDF</name>
          <t>KMAC384-KDF is as described in <xref target="DOI.10.6028_NIST.SP.800-185"/> and <xref target="DOI.10.6028_NIST.SP.800-56Cr2"/>. So, the interface to KMAC384-KDF as described in <xref target="DOI.10.6028_NIST.SP.800-56Cr2"/>:</t>
          <ul spacing="normal">
            <li>
              <t>OKM = KMAC384(Z, salt, x, H_outputBits, S)</t>
            </li>
          </ul>
          <t>where:</t>
          <ul spacing="normal">
            <li>
              <t>Z is is the Master_Key argument provided to the KDF interface.</t>
            </li>
            <li>
              <t>salt is an all-zero byte string whose length equals 132 bytes.</t>
            </li>
            <li>
              <t>x is the Context argument provided to the KDF interface.</t>
            </li>
            <li>
              <t>H_outputBits is equal to 384 bits.</t>
            </li>
            <li>
              <t>S is  the byte string 01001011 || 01000100 || 01000110, which represents the sequence of characters "K", "D," and "F" in 8-bit ASCII.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="mac">
        <name>MAC Algorithms</name>
        <t>Each MAC algorithm defined for TCP-AO has the following fixed elements as part of its definition:</t>
        <ul spacing="normal">
          <li>
            <t>KDF_Alg is the name of the KDF algorithm used to generate the Traffic_Key.</t>
          </li>
          <li>
            <t>Key_Length is the length of the Traffic_Key used in this MAC, measured in bits. In this document, the Key_Length is always 384 bits.</t>
          </li>
          <li>
            <t>MAC_Length is the desired length of the MAC to be produced by the algorithm. In this document, the MAC_Length is always 384 bits.</t>
          </li>
        </ul>
        <t>MACs computed for TCP-AO have the following interface:</t>
        <ul spacing="normal">
          <li>
            <t>MAC = MAC_alg(Traffic_Key, Message)</t>
          </li>
        </ul>
        <t>where:</t>
        <ul spacing="normal">
          <li>
            <t>MAC is the value to be encoded in TCP-AO.</t>
          </li>
          <li>
            <t>MAC_alg is MAC Algorithm used.</t>
          </li>
          <li>
            <t>Traffic_Key is the result of KDF.</t>
          </li>
          <li>
            <t>Message is the message to be authenticated, as specified in <xref target="RFC5925"/>, Section 5.1.</t>
          </li>
        </ul>
        <section anchor="the-use-of-hmac-sha384">
          <name>The Use of HMAC-SHA384</name>
          <t>The three fixed elements for HMAC-SHA384 are:</t>
          <ul spacing="normal">
            <li>
              <t>KDF_Alg: HKDF-SHA384.</t>
            </li>
            <li>
              <t>Key_Length:  384 bits.</t>
            </li>
            <li>
              <t>MAC_Length:  384 bits.</t>
            </li>
          </ul>
          <t>For:</t>
          <ul spacing="normal">
            <li>
              <t>MAC = MAC_alg (Traffic_Key, Message)</t>
            </li>
          </ul>
          <t>HMAC-SHA384 for TCP-AO has the following values:</t>
          <ul spacing="normal">
            <li>
              <t>MAC is the value to be encoded in TCP-AO.</t>
            </li>
            <li>
              <t>MAC_alg is HMAC-SHA384.</t>
            </li>
            <li>
              <t>Traffic_Key is the result of the KDF.</t>
            </li>
            <li>
              <t>Message is the message to be authenticated, as specified in <xref target="RFC5925"/>, Section 5.1.</t>
            </li>
          </ul>
        </section>
        <section anchor="the-use-of-kmac384">
          <name>The Use of KMAC384</name>
          <t>The three fixed elements for KMAC384 are:</t>
          <ul spacing="normal">
            <li>
              <t>KDF_Alg: KMAC384-KDF</t>
            </li>
            <li>
              <t>Key_Length:  384 bits.</t>
            </li>
            <li>
              <t>MAC_Length:  384 bits.</t>
            </li>
          </ul>
          <t>For:</t>
          <ul spacing="normal">
            <li>
              <t>MAC = MAC_alg (Traffic_Key, Message)</t>
            </li>
          </ul>
          <t>KMAC384 for TCP-AO has the following values:</t>
          <ul spacing="normal">
            <li>
              <t>MAC is the value to be encoded in TCP-AO.</t>
            </li>
            <li>
              <t>MAC_alg is KMAC384.</t>
            </li>
            <li>
              <t>Traffic_Key is the result of the KDF.</t>
            </li>
            <li>
              <t>Message is the message to be authenticated, as specified in <xref target="RFC5925"/>, Section 5.1.</t>
            </li>
          </ul>
        </section>
      </section>
    </section>
    <section anchor="seccon">
      <name>Security Considerations</name>
      <t>This document inherits all of the security considerations of <xref target="RFC5869"/>, <xref target="RFC5925"/>, <xref target="RFC8702"/>, and <xref target="RFC9688"/>.</t>
      <t>The security of cryptography-based systems depends on both the strength of the cryptographic algorithms chosen and the strength of the keys used with those algorithms.  The security also depends on the engineering of the protocol used by the system to ensure that there are no non-cryptographic ways to bypass the security of the overall system.</t>
      <t>Master_Keys <bcp14>SHOULD</bcp14> have at least 384 bits of entropy. This document RECOMMENDS that operators use Master_Keys generated by a cryptographic random number generator, or similar. However, it is understood that they may not do so.</t>
      <t>TCP-AO Master Key Tuples <bcp14>MUST</bcp14> be rotated at a rate commensurate with the strength of the cryptographic algorithms.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to add the following entries to the "Cryptographic Algorithms for TCP-AO Registration" (https://www.iana.org/assignments/tcp-parameters/tcp-parameters.xhtml#tcp-parameters-3).</t>
      <table anchor="iana">
        <name>IANA Actions</name>
        <thead>
          <tr>
            <th align="left">Algorithm</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">HMAC-SHA384</td>
            <td align="left">This Document</td>
          </tr>
          <tr>
            <td align="left">KMAC384</td>
            <td align="left">This Document</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Thanks to Eric Biggers, Lars Eggert, Gorry Fairhurst, C.M.  Heard, Russ Housley, John Mattsson, Yoshifumi Nishida, Joe Touch, Michael Tuxen, and Magnus Westerlund for their review and comments.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC5869">
        <front>
          <title>HMAC-based Extract-and-Expand Key Derivation Function (HKDF)</title>
          <author fullname="H. Krawczyk" initials="H." surname="Krawczyk"/>
          <author fullname="P. Eronen" initials="P." surname="Eronen"/>
          <date month="May" year="2010"/>
          <abstract>
            <t>This document specifies a simple Hashed Message Authentication Code (HMAC)-based key derivation function (HKDF), which can be used as a building block in various protocols and applications. The key derivation function (KDF) is intended to support a wide range of applications and requirements, and is conservative in its use of cryptographic hash functions. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5869"/>
        <seriesInfo name="DOI" value="10.17487/RFC5869"/>
      </reference>
      <reference anchor="RFC5925">
        <front>
          <title>The TCP Authentication Option</title>
          <author fullname="J. Touch" initials="J." surname="Touch"/>
          <author fullname="A. Mankin" initials="A." surname="Mankin"/>
          <author fullname="R. Bonica" initials="R." surname="Bonica"/>
          <date month="June" year="2010"/>
          <abstract>
            <t>This document specifies the TCP Authentication Option (TCP-AO), which obsoletes the TCP MD5 Signature option of RFC 2385 (TCP MD5). TCP-AO specifies the use of stronger Message Authentication Codes (MACs), protects against replays even for long-lived TCP connections, and provides more details on the association of security with TCP connections than TCP MD5. TCP-AO is compatible with either a static Master Key Tuple (MKT) configuration or an external, out-of-band MKT management mechanism; in either case, TCP-AO also protects connections when using the same MKT across repeated instances of a connection, using traffic keys derived from the MKT, and coordinates MKT changes between endpoints. The result is intended to support current infrastructure uses of TCP MD5, such as to protect long-lived connections (as used, e.g., in BGP and LDP), and to support a larger set of MACs with minimal other system and operational changes. TCP-AO uses a different option identifier than TCP MD5, even though TCP-AO and TCP MD5 are never permitted to be used simultaneously. TCP-AO supports IPv6, and is fully compatible with the proposed requirements for the replacement of TCP MD5. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5925"/>
        <seriesInfo name="DOI" value="10.17487/RFC5925"/>
      </reference>
      <reference anchor="RFC5926">
        <front>
          <title>Cryptographic Algorithms for the TCP Authentication Option (TCP-AO)</title>
          <author fullname="G. Lebovitz" initials="G." surname="Lebovitz"/>
          <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
          <date month="June" year="2010"/>
          <abstract>
            <t>The TCP Authentication Option (TCP-AO) relies on security algorithms to provide authentication between two end-points. There are many such algorithms available, and two TCP-AO systems cannot interoperate unless they are using the same algorithms. This document specifies the algorithms and attributes that can be used in TCP-AO's current manual keying mechanism and provides the interface for future message authentication codes (MACs). [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5926"/>
        <seriesInfo name="DOI" value="10.17487/RFC5926"/>
      </reference>
      <reference anchor="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
      <reference anchor="RFC8702">
        <front>
          <title>Use of the SHAKE One-Way Hash Functions in the Cryptographic Message Syntax (CMS)</title>
          <author fullname="P. Kampanakis" initials="P." surname="Kampanakis"/>
          <author fullname="Q. Dang" initials="Q." surname="Dang"/>
          <date month="January" year="2020"/>
          <abstract>
            <t>This document updates the "Cryptographic Message Syntax (CMS) Algorithms" (RFC 3370) and describes the conventions for using the SHAKE family of hash functions in the Cryptographic Message Syntax as one-way hash functions with the RSA Probabilistic Signature Scheme (RSASSA-PSS) and Elliptic Curve Digital Signature Algorithm (ECDSA). The conventions for the associated signer public keys in CMS are also described.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8702"/>
        <seriesInfo name="DOI" value="10.17487/RFC8702"/>
      </reference>
      <reference anchor="RFC9235">
        <front>
          <title>TCP Authentication Option (TCP-AO) Test Vectors</title>
          <author fullname="J. Touch" initials="J." surname="Touch"/>
          <author fullname="J. Kuusisaari" initials="J." surname="Kuusisaari"/>
          <date month="May" year="2022"/>
          <abstract>
            <t>This document provides test vectors to validate implementations of the two mandatory authentication algorithms specified for the TCP Authentication Option over both IPv4 and IPv6. This includes validation of the key derivation function (KDF) based on a set of test connection parameters as well as validation of the message authentication code (MAC). Vectors are provided for both currently required pairs of KDF and MAC algorithms: KDF_HMAC_SHA1 and HMAC- SHA-1-96, and KDF_AES_128_CMAC and AES-128-CMAC-96. The vectors also validate both whole TCP segments as well as segments whose options are excluded for middlebox traversal.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9235"/>
        <seriesInfo name="DOI" value="10.17487/RFC9235"/>
      </reference>
      <reference anchor="RFC9293">
        <front>
          <title>Transmission Control Protocol (TCP)</title>
          <author fullname="W. Eddy" initials="W." role="editor" surname="Eddy"/>
          <date month="August" year="2022"/>
          <abstract>
            <t>This document specifies the Transmission Control Protocol (TCP). TCP is an important transport-layer protocol in the Internet protocol stack, and it has continuously evolved over decades of use and growth of the Internet. Over this time, a number of changes have been made to TCP as it was specified in RFC 793, though these have only been documented in a piecemeal fashion. This document collects and brings those changes together with the protocol specification from RFC 793. This document obsoletes RFC 793, as well as RFCs 879, 2873, 6093, 6429, 6528, and 6691 that updated parts of RFC 793. It updates RFCs 1011 and 1122, and it should be considered as a replacement for the portions of those documents dealing with TCP requirements. It also updates RFC 5961 by adding a small clarification in reset handling while in the SYN-RECEIVED state. The TCP header control bits from RFC 793 have also been updated based on RFC 3168.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="7"/>
        <seriesInfo name="RFC" value="9293"/>
        <seriesInfo name="DOI" value="10.17487/RFC9293"/>
      </reference>
      <reference anchor="RFC9688">
        <front>
          <title>Use of the SHA3 One-Way Hash Functions in the Cryptographic Message Syntax (CMS)</title>
          <author fullname="R. Housley" initials="R." surname="Housley"/>
          <date month="November" year="2024"/>
          <abstract>
            <t>This document describes the conventions for using the one-way hash functions in the SHA3 family with the Cryptographic Message Syntax (CMS). The SHA3 family can be used as a message digest algorithm, as part of a signature algorithm, as part of a message authentication code, or as part of a Key Derivation Function (KDF).</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9688"/>
        <seriesInfo name="DOI" value="10.17487/RFC9688"/>
      </reference>
      <reference anchor="DOI.10.6028_NIST.SP.800-185">
        <front>
          <title>SHA-3 derived functions: cSHAKE, KMAC, TupleHash and ParallelHash</title>
          <author fullname="John Kelsey" initials="J." surname="Kelsey">
            <organization/>
          </author>
          <author fullname="Shu-jen Change" initials="S." surname="Change">
            <organization/>
          </author>
          <author fullname="Ray Perlner" initials="R." surname="Perlner">
            <organization/>
          </author>
          <date month="December" year="2016"/>
        </front>
        <seriesInfo name="DOI" value="10.6028/nist.sp.800-185"/>
        <refcontent>National Institute of Standards and Technology</refcontent>
      </reference>
      <reference anchor="DOI.10.6028_NIST.SP.800-56Cr2">
        <front>
          <title>Recommendation for Key-Derivation Methods in Key-Establishment Schemes</title>
          <author fullname="Elaine Barker" initials="E." surname="Barker">
            <organization/>
          </author>
          <author fullname="Lily Chen" initials="L." surname="Chen">
            <organization/>
          </author>
          <author fullname="Richard Davis" initials="R." surname="Davis">
            <organization/>
          </author>
          <date month="August" year="2020"/>
        </front>
        <seriesInfo name="DOI" value="10.6028/nist.sp.800-56cr2"/>
        <refcontent>National Institute of Standards and Technology</refcontent>
      </reference>
    </references>
    <?line 267?>

<section anchor="test-vectors">
      <name>Test Vectors</name>
      <t>This appendix provides test vectors to validate the correct implementation of TCP-AO and the cryptographic algorithms defined in this document.  It includes the specification of all endpoint parameters to generate the variety of TCP segments covered by different keys and MAC coverage, i.e., both the default case and the variant where TCP options are ignored for middlebox traversal.</t>
      <section anchor="input-test-vectors">
        <name>Input Test Vectors</name>
        <t>Input test vectors are as described in Section 3 of <xref target="RFC9235"/>.</t>
      </section>
      <section anchor="ipv4-hmac-sha384-output-test-vectors">
        <name>IPv4 HMAC-SHA384 Output Test Vectors</name>
        <t>In the following sections, all values are indicated as 2-digit hexadecimal values with spacing per line representing the contents of 16 consecutive bytes, as is typical for data dumps.  The IP/TCP data indicates the entire IP packet, including the TCP segment and its options (whether covered by TCP-AO or not, as indicated), including TCP-AO.</t>
        <section anchor="hmac-sha384-default-covers-tcp-options">
          <name>HMAC-SHA384 (Default - Covers TCP Options)</name>
          <section anchor="send-client-syn-covers-options">
            <name>Send (Client) SYN (Covers Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Client ISN = 0xfbfbab5a

   Send_SYN_traffic_key:

     TBD

   IPv4/TCP:

     45 e0 00 4c dd 0f 40 00 ff 06 bf 6b 0a 0b 0c 0d
     ac 1b 1c 1d e9 d7 00 b3 fb fb ab 5a 00 00 00 00
     e0 02 ff ff ca c4 00 00 02 04 05 b4 01 03 03 08
     04 02 08 0a 00 15 5a b7 00 00 00 00 1d 10 3d 54
     2e e4 37 c6 f8 ed e6 d7 c4 d6 02 e7

   MAC:

     TBD

]]></sourcecode>
          </section>
          <section anchor="receive-server-syn-ack-covers-options">
            <name>Receive (Server) SYN-ACK (Covers Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Server ISN = 0x11c14261

   Receive_SYN_traffic_key:

     TBD

   IPv4/TCP:

     45 e0 00 4c 65 06 40 00 ff 06 37 75 ac 1b 1c 1d
     0a 0b 0c 0d 00 b3 e9 d7 11 c1 42 61 fb fb ab 5b
     e0 12 ff ff 37 76 00 00 02 04 05 b4 01 03 03 08
     04 02 08 0a 84 a5 0b eb 00 15 5a b7 1d 10 54 3d
     ee ab 0f e2 4c 30 10 81 51 16 b3 be

   MAC:

     TBD
]]></sourcecode>
          </section>
          <section anchor="send-client-non-syn-covers-options">
            <name>Send (Client) Non-SYN (Covers Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Send_other_traffic_key:

     TBD

   IPv4/TCP:

     45 e0 00 87 36 a1 40 00 ff 06 65 9f 0a 0b 0c 0d
     ac 1b 1c 1d e9 d7 00 b3 fb fb ab 5b 11 c1 42 62
     c0 18 01 04 a1 62 00 00 01 01 08 0a 00 15 5a c1
     84 a5 0b eb 1d 10 3d 54 70 64 cf 99 8c c6 c3 15
     c2 c2 e2 bf ff ff ff ff ff ff ff ff ff ff ff ff
     ff ff ff ff 00 43 01 04 da bf 00 b4 0a 0b 0c 0d
     26 02 06 01 04 00 01 00 01 02 02 80 00 02 02 02
     00 02 02 42 00 02 06 41 04 00 00 da bf 02 08 40
     06 00 64 00 01 01 00

   MAC:

     TBD

]]></sourcecode>
          </section>
          <section anchor="receive-server-non-syn-covers-options">
            <name>Receive (Server) Non-SYN (Covers Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Receive_other_traffic_key:

     TBD

   IPv4/TCP:

     45 e0 00 87 1f a9 40 00 ff 06 7c 97 ac 1b 1c 1d
     0a 0b 0c 0d 00 b3 e9 d7 11 c1 42 62 fb fb ab 9e
     c0 18 01 00 40 0c 00 00 01 01 08 0a 84 a5 0b f5
     00 15 5a c1 1d 10 54 3d a6 3f 0e cb bb 2e 63 5c
     95 4d ea c7 ff ff ff ff ff ff ff ff ff ff ff ff
     ff ff ff ff 00 43 01 04 da c0 00 b4 ac 1b 1c 1d
     26 02 06 01 04 00 01 00 01 02 02 80 00 02 02 02
     00 02 02 42 00 02 06 41 04 00 00 da c0 02 08 40
     06 00 64 00 01 01 00

   MAC:

     TBD

]]></sourcecode>
          </section>
        </section>
        <section anchor="hmac-sha384-omits-tcp-options">
          <name>HMAC-SHA384 (Omits TCP Options)</name>
          <section anchor="send-client-syn-omits-options">
            <name>Send (Client) SYN (Omits Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Client ISN = 0xcb0efbee

   Send_SYN_traffic_key:

     TBD

   IPv4/TCP:

     45 e0 00 4c 53 99 40 00 ff 06 48 e2 0a 0b 0c 0d
     ac 1b 1c 1d ff 12 00 b3 cb 0e fb ee 00 00 00 00
     e0 02 ff ff 54 1f 00 00 02 04 05 b4 01 03 03 08
     04 02 08 0a 00 02 4c ce 00 00 00 00 1d 10 3d 54
     80 af 3c fe b8 53 68 93 7b 8f 9e c2

   MAC:

     TBD

]]></sourcecode>
          </section>
          <section anchor="receive-server-syn-ack-omits-options">
            <name>Receive (Server) SYN-ACK (Omits Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Server ISN = 0xacd5b5e1

   Receive_SYN_traffic_key:

     TBD

   IPv4/TCP:

     45 e0 00 4c 32 84 40 00 ff 06 69 f7 ac 1b 1c 1d
     0a 0b 0c 0d 00 b3 ff 12 ac d5 b5 e1 cb 0e fb ef
     e0 12 ff ff 38 8e 00 00 02 04 05 b4 01 03 03 08
     04 02 08 0a 57 67 72 f3 00 02 4c ce 1d 10 54 3d
     09 30 6f 9a ce a6 3a 8c 68 cb 9a 70

   MAC:

     TBD

]]></sourcecode>
          </section>
          <section anchor="send-client-non-syn-omits-options">
            <name>Send (Client) Non-SYN (Omits Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Send_other_traffic_key:

     TBD

   IPv4/TCP:

     45 e0 00 87 a8 f5 40 00 ff 06 f3 4a 0a 0b 0c 0d
     ac 1b 1c 1d ff 12 00 b3 cb 0e fb ef ac d5 b5 e2
     c0 18 01 04 6c 45 00 00 01 01 08 0a 00 02 4c ce
     57 67 72 f3 1d 10 3d 54 71 06 08 cc 69 6c 03 a2
     71 c9 3a a5 ff ff ff ff ff ff ff ff ff ff ff ff
     ff ff ff ff 00 43 01 04 da bf 00 b4 0a 0b 0c 0d
     26 02 06 01 04 00 01 00 01 02 02 80 00 02 02 02
     00 02 02 42 00 02 06 41 04 00 00 da bf 02 08 40
     06 00 64 00 01 01 00

   MAC:

     TBD

]]></sourcecode>
          </section>
          <section anchor="receive-server-non-syn-omits-options">
            <name>Receive (Server) Non-SYN (Omits Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Receive_other_traffic_key:

     TBD

   IPv4/TCP:

     45 e0 00 87 54 37 40 00 ff 06 48 09 ac 1b 1c 1d
     0a 0b 0c 0d 00 b3 ff 12 ac d5 b5 e2 cb 0e fc 32
     c0 18 01 00 46 b6 00 00 01 01 08 0a 57 67 72 f3
     00 02 4c ce 1d 10 54 3d 97 76 6e 48 ac 26 2d e9
     ae 61 b4 f9 ff ff ff ff ff ff ff ff ff ff ff ff
     ff ff ff ff 00 43 01 04 da c0 00 b4 ac 1b 1c 1d
     26 02 06 01 04 00 01 00 01 02 02 80 00 02 02 02
     00 02 02 42 00 02 06 41 04 00 00 da c0 02 08 40
     06 00 64 00 01 01 00

   MAC:

     TBD

]]></sourcecode>
          </section>
        </section>
      </section>
      <section anchor="ipv4-kmac384-output-test-vectors">
        <name>IPv4 KMAC384 Output Test Vectors</name>
        <t>In the following sections, all values are indicated as 2-digit hexadecimal values with spacing per line representing the contents of 16 consecutive bytes, as is typical for data dumps.  The IP/TCP data indicates the entire IP packet, including the TCP segment and its options (whether covered by TCP-AO or not, as indicated), including TCP-AO.</t>
        <section anchor="kmac384-default-covers-tcp-options">
          <name>KMAC384 (Default - Covers TCP Options)</name>
          <section anchor="send-client-syn-covers-options-1">
            <name>Send (Client) SYN (Covers Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Client ISN = 0x787a1ddf

   Send_SYN_traffic_key:

     TBD

   IP/TCP:

     45 e0 00 4c 7b 9f 40 00 ff 06 20 dc 0a 0b 0c 0d
     ac 1b 1c 1d c4 fa 00 b3 78 7a 1d df 00 00 00 00
     e0 02 ff ff 5a 0f 00 00 02 04 05 b4 01 03 03 08
     04 02 08 0a 00 01 7e d0 00 00 00 00 1d 10 3d 54
     e4 77 e9 9c 80 40 76 54 98 e5 50 91

   MAC:

     TBD

]]></sourcecode>
          </section>
          <section anchor="receive-server-syn-ack-covers-options-1">
            <name>Receive (Server) SYN-ACK (Covers Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Server ISN = 0xfadd6de9

   Receive_SYN_traffic_key:

     TBD

   IPv4/TCP:

     45 e0 00 4c 4b ad 40 00 ff 06 50 ce ac 1b 1c 1d
     0a 0b 0c 0d 00 b3 c4 fa fa dd 6d e9 78 7a 1d e0
     e0 12 ff ff f3 f2 00 00 02 04 05 b4 01 03 03 08
     04 02 08 0a 93 f4 e9 e8 00 01 7e d0 1d 10 54 3d
     d6 ad a7 bc 4c dd 53 6d 17 69 db 5f

   MAC:

     TBD

]]></sourcecode>
          </section>
          <section anchor="send-client-non-syn-covers-options-1">
            <name>Send (Client) Non-SYN (Covers Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Send_other_traffic_key:

     TBD 

   IPv4/TCP:

     45 e0 00 87 fb 4f 40 00 ff 06 a0 f0 0a 0b 0c 0d
     ac 1b 1c 1d c4 fa 00 b3 78 7a 1d e0 fa dd 6d ea
     c0 18 01 04 95 05 00 00 01 01 08 0a 00 01 7e d0
     93 f4 e9 e8 1d 10 3d 54 77 41 27 42 fa 4d c4 33
     ef f0 97 3e ff ff ff ff ff ff ff ff ff ff ff ff
     ff ff ff ff 00 43 01 04 da bf 00 b4 0a 0b 0c 0d
     26 02 06 01 04 00 01 00 01 02 02 80 00 02 02 02
     00 02 02 42 00 02 06 41 04 00 00 da bf 02 08 40
     06 00 64 00 01 01 00

   MAC:

     TBD

]]></sourcecode>
          </section>
          <section anchor="receive-server-non-syn-covers-options-1">
            <name>Receive (Server) Non-SYN (Covers Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Receive_other_traffic_key:

     TBD

   IPv4/TCP:

     45 e0 00 87 b9 14 40 00 ff 06 e3 2b ac 1b 1c 1d
     0a 0b 0c 0d 00 b3 c4 fa fa dd 6d ea 78 7a 1e 23
     c0 18 01 00 e7 db 00 00 01 01 08 0a 93 f4 e9 e8
     00 01 7e d0 1d 10 54 3d f6 d9 65 a7 83 82 a7 48
     45 f7 2d ac ff ff ff ff ff ff ff ff ff ff ff ff
     ff ff ff ff 00 43 01 04 da c0 00 b4 ac 1b 1c 1d
     26 02 06 01 04 00 01 00 01 02 02 80 00 02 02 02
     00 02 02 42 00 02 06 41 04 00 00 da c0 02 08 40
     06 00 64 00 01 01 00

   MAC:

     TBD
]]></sourcecode>
          </section>
        </section>
        <section anchor="kmac384-omits-tcp-options">
          <name>KMAC384 (Omits TCP Options)</name>
          <section anchor="send-client-syn-omits-options-1">
            <name>Send (Client) SYN (Omits Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Client ISN = 0x389bed71

   Send_SYN_traffic_key:

     TBD

   IPv4/TCP:

     45 e0 00 4c f2 2e 40 00 ff 06 aa 4c 0a 0b 0c 0d
     ac 1b 1c 1d da 1c 00 b3 38 9b ed 71 00 00 00 00
     e0 02 ff ff 70 bf 00 00 02 04 05 b4 01 03 03 08
     04 02 08 0a 00 01 85 e1 00 00 00 00 1d 10 3d 54
     c4 4e 60 cb 31 f7 c0 b1 de 3d 27 49

   MAC:

     TBD

]]></sourcecode>
          </section>
          <section anchor="receive-server-syn-ack-omits-options-1">
            <name>Receive (Server) SYN-ACK (Omits Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Server ISN = 0xd3844a6f

   Receive_SYN_traffic_key:

     TBD

   IPv4/TCP:

     45 e0 00 4c 6c c0 40 00 ff 06 2f bb ac 1b 1c 1d
     0a 0b 0c 0d 00 b3 da 1c d3 84 4a 6f 38 9b ed 72
     e0 12 ff ff e4 45 00 00 02 04 05 b4 01 03 03 08
     04 02 08 0a ce 45 98 38 00 01 85 e1 1d 10 54 3d
     3a 6a bb 20 7e 49 b1 be 71 36 db 90

   MAC:

     TBD

]]></sourcecode>
          </section>
          <section anchor="send-client-non-syn-omits-options-1">
            <name>Send (Client) Non-SYN (Omits Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Send_other_traffic_key:

     TBD

   IPv4/TCP:

     45 e0 00 87 ee 91 40 00 ff 06 ad ae 0a 0b 0c 0d
     ac 1b 1c 1d da 1c 00 b3 38 9b ed 72 d3 84 4a 70
     c0 18 01 04 88 51 00 00 01 01 08 0a 00 01 85 e1
     ce 45 98 38 1d 10 3d 54 75 85 e9 e9 d5 c3 ec 85
     7b 96 f8 37 ff ff ff ff ff ff ff ff ff ff ff ff
     ff ff ff ff 00 43 01 04 da bf 00 b4 0a 0b 0c 0d
     26 02 06 01 04 00 01 00 01 02 02 80 00 02 02 02
     00 02 02 42 00 02 06 41 04 00 00 da bf 02 08 40
     06 00 64 00 01 01 00

   MAC:

     TBD

]]></sourcecode>
          </section>
          <section anchor="receive-server-non-syn-omits-options-1">
            <name>Receive (Server) Non-SYN (Omits Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Receive_other_traffic_key:

     TBD

   IPv4/TCP:

     45 e0 00 87 6a 21 40 00 ff 06 32 1f ac 1b 1c 1d
     0a 0b 0c 0d 00 b3 da 1c d3 84 4a 70 38 9b ed 72
     c0 18 01 00 04 49 00 00 01 01 08 0a ce 45 98 38
     00 01 85 e1 1d 10 54 3d 5c 04 0f d9 23 33 04 76
     5c 09 82 f4 ff ff ff ff ff ff ff ff ff ff ff ff
     ff ff ff ff 00 43 01 04 da c0 00 b4 ac 1b 1c 1d
     26 02 06 01 04 00 01 00 01 02 02 80 00 02 02 02
     00 02 02 42 00 02 06 41 04 00 00 da c0 02 08 40
     06 00 64 00 01 01 00

   MAC:

     TBD
]]></sourcecode>
          </section>
        </section>
      </section>
      <section anchor="ipv6-hmac-sha384-output-test-vectors">
        <name>IPv6 HMAC-SHA384 Output Test Vectors</name>
        <section anchor="hmac-sha384-default-covers-tcp-options-1">
          <name>HMAC-SHA384 (Default - Covers TCP Options)</name>
          <section anchor="send-client-syn-covers-options-2">
            <name>Send (Client) SYN (Covers Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Client ISN = 0x176a833f

   Send_SYN_traffic_key:

     TBD

   IPv6/TCP:

     6e 08 91 dc 00 38 06 40 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 01 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 02 f7 e4 00 b3 17 6a 83 3f
     00 00 00 00 e0 02 ff ff 47 21 00 00 02 04 05 a0
     01 03 03 08 04 02 08 0a 00 41 d0 87 00 00 00 00
     1d 10 3d 54 90 33 ec 3d 73 34 b6 4c 5e dd 03 9f

   MAC:

     TBD

]]></sourcecode>
          </section>
          <section anchor="receive-server-syn-ack-covers-options-2">
            <name>Receive (Server) SYN-ACK (Covers Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Server ISN = 0x3f51994b

   Receive_SYN_traffic_key:

     TBD

   IPv6/TCP:

     6e 01 00 9e 00 38 06 40 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 02 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 01 00 b3 f7 e4 3f 51 99 4b
     17 6a 83 40 e0 12 ff ff bf ec 00 00 02 04 05 a0
     01 03 03 08 04 02 08 0a bd 33 12 9b 00 41 d0 87
     1d 10 54 3d f1 cb a3 46 c3 52 61 63 f7 1f 1f 55

   MAC:

     TBD

]]></sourcecode>
          </section>
          <section anchor="send-client-non-syn-covers-options-2">
            <name>Send (Client) Non-SYN (Covers Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Send_other_traffic_key:

     TBD

   IPv6/TCP:

     6e 08 91 dc 00 73 06 40 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 01 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 02 f7 e4 00 b3 17 6a 83 40
     3f 51 99 4c c0 18 01 00 32 9c 00 00 01 01 08 0a
     00 41 d0 91 bd 33 12 9b 1d 10 3d 54 bf 08 05 fe
     b4 ac 7b 16 3d 6f cd f2 ff ff ff ff ff ff ff ff
     ff ff ff ff ff ff ff ff 00 43 01 04 fd e8 00 b4
     01 01 01 79 26 02 06 01 04 00 01 00 01 02 02 80
     00 02 02 02 00 02 02 42 00 02 06 41 04 00 00 fd
     e8 02 08 40 06 00 64 00 01 01 00

   MAC:

     TBD

]]></sourcecode>
          </section>
          <section anchor="receive-server-non-syn-covers-options-2">
            <name>Receive (Server) Non-SYN (Covers Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Receive_other_traffic_key:

     TBD

   IPv6/TCP:

     6e 01 00 9e 00 73 06 40 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 02 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 01 00 b3 f7 e4 3f 51 99 4c
     17 6a 83 83 c0 18 01 00 ee 6e 00 00 01 01 08 0a
     bd 33 12 a5 00 41 d0 91 1d 10 54 3d 6c 48 12 5c
     11 33 5b ab 9a 07 a7 97 ff ff ff ff ff ff ff ff
     ff ff ff ff ff ff ff ff 00 43 01 04 fd e8 00 b4
     01 01 01 7a 26 02 06 01 04 00 01 00 01 02 02 80
     00 02 02 02 00 02 02 42 00 02 06 41 04 00 00 fd
     e8 02 08 40 06 00 64 00 01 01 00

   MAC:

     TBD

]]></sourcecode>
          </section>
        </section>
        <section anchor="hmac-sha384-omits-tcp-options-1">
          <name>HMAC-SHA384 (Omits TCP Options)</name>
          <section anchor="send-client-syn-omits-options-2">
            <name>Send (Client) SYN (Omits Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Client ISN = 0x020c1e69

   Send_SYN_traffic_key:

     TBD

   IPv6/TCP:

     6e 07 8f cd 00 38 06 40 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 01 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 02 c6 cd 00 b3 02 0c 1e 69
     00 00 00 00 e0 02 ff ff a4 1a 00 00 02 04 05 a0
     01 03 03 08 04 02 08 0a 00 9d b9 5b 00 00 00 00
     1d 10 3d 54 88 56 98 b0 53 0e d4 d5 a1 5f 83 46

   MAC:

     TBD
]]></sourcecode>
          </section>
          <section anchor="receive-server-syn-ack-omits-options-2">
            <name>Receive (Server) SYN-ACK (Omits Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Server ISN = 0xeba3734d

   Receive_SYN_traffic_key:

     TBD

   IPv6/TCP:

     6e 0a 7e 1f 00 38 06 40 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 02 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 01 00 b3 c6 cd eb a3 73 4d
     02 0c 1e 6a e0 12 ff ff 77 4d 00 00 02 04 05 a0
     01 03 03 08 04 02 08 0a 5e c9 9b 70 00 9d b9 5b
     1d 10 54 3d 3c 54 6b ad 97 43 f1 2d f8 b8 01 0d

   MAC:

     TBD
]]></sourcecode>
          </section>
          <section anchor="send-client-non-syn-omits-options-2">
            <name>Send (Client) Non-SYN (Omits Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Send_other_traffic_key:

     TBD

   IPv6/TCP:

     6e 07 8f cd 00 73 06 40 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 01 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 02 c6 cd 00 b3 02 0c 1e 6a
     eb a3 73 4e c0 18 01 00 83 e6 00 00 01 01 08 0a
     00 9d b9 65 5e c9 9b 70 1d 10 3d 54 48 bd 09 3b
     19 24 e0 01 19 2f 5b f0 ff ff ff ff ff ff ff ff
     ff ff ff ff ff ff ff ff 00 43 01 04 fd e8 00 b4
     01 01 01 79 26 02 06 01 04 00 01 00 01 02 02 80
     00 02 02 02 00 02 02 42 00 02 06 41 04 00 00 fd
     e8 02 08 40 06 00 64 00 01 01 00

   MAC:

     TBD

]]></sourcecode>
          </section>
          <section anchor="receive-server-non-syn-omits-options-2">
            <name>Receive (Server) Non-SYN (Omits Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Receive_other_traffic_key:

     TBD

   IPv6/TCP:

     6e 0a 7e 1f 00 73 06 40 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 02 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 01 00 b3 c6 cd eb a3 73 4e
     02 0c 1e ad c0 18 01 00 71 6a 00 00 01 01 08 0a
     5e c9 9b 7a 00 9d b9 65 1d 10 54 3d 55 9a 81 94
     45 b4 fd e9 8d 9e 13 17 ff ff ff ff ff ff ff ff
     ff ff ff ff ff ff ff ff 00 43 01 04 fd e8 00 b4
     01 01 01 7a 26 02 06 01 04 00 01 00 01 02 02 80
     00 02 02 02 00 02 02 42 00 02 06 41 04 00 00 fd
     e8 02 08 40 06 00 64 00 01 01 00

   MAC:

     TBD

]]></sourcecode>
          </section>
        </section>
      </section>
      <section anchor="ipv6-kmac384-output-test-vectors">
        <name>IPv6 KMAC384 Output Test Vectors</name>
        <section anchor="kmac384-default-covers-tcp-options-1">
          <name>KMAC384 (Default - Covers TCP Options)</name>
          <section anchor="send-client-syn-covers-options-3">
            <name>Send (Client) SYN (Covers Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Client ISN = 0x193cccec

   Send_SYN_traffic_key:

     TBD

   IP/TCP:

     6e 04 a7 06 00 38 06 40 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 01 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 02 f8 5a 00 b3 19 3c cc ec
     00 00 00 00 e0 02 ff ff de 5d 00 00 02 04 05 a0
     01 03 03 08 04 02 08 0a 13 e4 ab 99 00 00 00 00
     1d 10 3d 54 59 b5 88 10 74 81 ac 6d c3 92 70 40

   MAC:

     TBD

]]></sourcecode>
          </section>
          <section anchor="receive-server-syn-ack-covers-options-3">
            <name>Receive (Server) SYN-ACK (Covers Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Server ISN = 0xa6744ecb

   Receive_SYN_traffic_key:

     TBD

   IPv6/TCP:

     6e 06 15 20 00 38 06 40 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 02 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 01 00 b3 f8 5a a6 74 4e cb
     19 3c cc ed e0 12 ff ff ea bb 00 00 02 04 05 a0
     01 03 03 08 04 02 08 0a 71 da ab c8 13 e4 ab 99
     1d 10 54 3d dc 28 43 a8 4e 78 a6 bc fd c5 ed 80

   MAC:

     TBD

]]></sourcecode>
          </section>
          <section anchor="send-client-non-syn-covers-options-3">
            <name>Send (Client) Non-SYN (Covers Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Send_other_traffic_key:

     TBD

   IPv6/TCP:

     6e 04 a7 06 00 73 06 40 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 01 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 02 f8 5a 00 b3 19 3c cc ed
     a6 74 4e cc c0 18 01 00 32 80 00 00 01 01 08 0a
     13 e4 ab a3 71 da ab c8 1d 10 3d 54 7b 6a 45 5c
     0d 4f 5f 01 83 5b aa b3 ff ff ff ff ff ff ff ff
     ff ff ff ff ff ff ff ff 00 43 01 04 fd e8 00 b4
     01 01 01 79 26 02 06 01 04 00 01 00 01 02 02 80
     00 02 02 02 00 02 02 42 00 02 06 41 04 00 00 fd
     e8 02 08 40 06 00 64 00 01 01 00

   MAC:

     TBD

]]></sourcecode>
          </section>
          <section anchor="receive-server-non-syn-covers-options-3">
            <name>Receive (Server) Non-SYN (Covers Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Receive_other_traffic_key:

     TBD

   IPv6/TCP:

     6e 06 15 20 00 73 06 40 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 02 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 01 00 b3 f8 5a a6 74 4e cc
     19 3c cd 30 c0 18 01 00 52 f4 00 00 01 01 08 0a
     71 da ab d3 13 e4 ab a3 1d 10 54 3d c1 06 9b 7d
     fd 3d 69 3a 6d f3 f2 89 ff ff ff ff ff ff ff ff
     ff ff ff ff ff ff ff ff 00 43 01 04 fd e8 00 b4
     01 01 01 7a 26 02 06 01 04 00 01 00 01 02 02 80
     00 02 02 02 00 02 02 42 00 02 06 41 04 00 00 fd
     e8 02 08 40 06 00 64 00 01 01 00

   MAC:

     TBD

]]></sourcecode>
          </section>
        </section>
        <section anchor="kmac384-omits-tcp-options-1">
          <name>KMAC384 (Omits TCP Options)</name>
          <section anchor="send-client-syn-omits-options-3">
            <name>Send (Client) SYN (Omits Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Client ISN = 0xb01da74a

   Send_SYN_traffic_key:

     TBD

   IPv6/TCP:

     6e 09 3d 76 00 38 06 40 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 01 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 02 f2 88 00 b3 b0 1d a7 4a
     00 00 00 00 e0 02 ff ff 75 ff 00 00 02 04 05 a0
     01 03 03 08 04 02 08 0a 14 27 5b 3b 00 00 00 00
     1d 10 3d 54 3d 45 b4 34 2d e8 bb 15 30 84 78 98

   MAC:

     TBD

]]></sourcecode>
          </section>
          <section anchor="receive-server-syn-ack-omits-options-3">
            <name>Receive (Server) SYN-ACK (Omits Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Server ISN = 0xa6246145

   Receive_SYN_traffic_key:

     TBD

   IPv6/TCP:

     6e 0c 60 0a 00 38 06 40 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 02 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 01 00 b3 f2 88 a6 24 61 45
     b0 1d a7 4b e0 12 ff ff a7 0c 00 00 02 04 05 a0
     01 03 03 08 04 02 08 0a 17 82 24 5b 14 27 5b 3b
     1d 10 54 3d 1d 01 f6 c8 7c 6f 93 ac ff a9 d4 b5

   MAC:

     TBD

]]></sourcecode>
          </section>
          <section anchor="send-client-non-syn-omits-options-3">
            <name>Send (Client) Non-SYN (Omits Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Send_other_traffic_key:

     TBD

   IPv6/TCP:

     6e 09 3d 76 00 73 06 40 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 01 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 02 f2 88 00 b3 b0 1d a7 4b
     a6 24 61 46 c0 18 01 00 c3 6d 00 00 01 01 08 0a
     14 27 5b 4f 17 82 24 5b 1d 10 3d 54 29 0c f4 14
     cc b4 7a 33 32 76 e7 f8 ff ff ff ff ff ff ff ff
     ff ff ff ff ff ff ff ff 00 43 01 04 fd e8 00 b4
     01 01 01 79 26 02 06 01 04 00 01 00 01 02 02 80
     00 02 02 02 00 02 02 42 00 02 06 41 04 00 00 fd
     e8 02 08 40 06 00 64 00 01 01 00

   MAC:

     TBD

]]></sourcecode>
          </section>
          <section anchor="receive-server-non-syn-omits-options-3">
            <name>Receive (Server) Non-SYN (Omits Options)</name>
            <sourcecode type="asvg"><![CDATA[
   Receive_other_traffic_key:

     TBD

   IPv6/TCP:

     6e 0c 60 0a 00 73 06 40 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 02 fd 00 00 00 00 00 00 00
     00 00 00 00 00 00 00 01 00 b3 f2 88 a6 24 61 46
     b0 1d a7 8e c0 18 01 00 34 51 00 00 01 01 08 0a
     17 82 24 65 14 27 5b 4f 1d 10 54 3d 99 51 5f fc
     d5 40 34 99 f6 19 fd 1b ff ff ff ff ff ff ff ff
     ff ff ff ff ff ff ff ff 00 43 01 04 fd e8 00 b4
     01 01 01 7a 26 02 06 01 04 00 01 00 01 02 02 80
     00 02 02 02 00 02 02 42 00 02 06 41 04 00 00 fd
     e8 02 08 40 06 00 64 00 01 01 00

   MAC:

     TBD
]]></sourcecode>
          </section>
        </section>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
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
jOzo1yuowLWd/wPUWOZY/W0AAA==

-->

</rfc>
