<?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.8 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-mattsson-cfrg-aes-gcm-sst-03" category="info" consensus="true" submissionType="IRTF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.20.1 -->
  <front>
    <title abbrev="GCM-SST">Galois Counter Mode with Secure Short Tags (GCM-SST)</title>
    <seriesInfo name="Internet-Draft" value="draft-mattsson-cfrg-aes-gcm-sst-03"/>
    <author initials="M." surname="Campagna" fullname="Matthew Campagna">
      <organization>Amazon Web Services</organization>
      <address>
        <postal>
          <country>Canada</country>
        </postal>
        <email>campagna@amazon.com</email>
      </address>
    </author>
    <author initials="A." surname="Maximov" fullname="Alexander Maximov">
      <organization abbrev="Ericsson">Ericsson AB</organization>
      <address>
        <postal>
          <country>Sweden</country>
        </postal>
        <email>alexander.maximov@ericsson.com</email>
      </address>
    </author>
    <author initials="J." surname="Preuß Mattsson" fullname="John Preuß Mattsson">
      <organization abbrev="Ericsson">Ericsson AB</organization>
      <address>
        <postal>
          <country>Sweden</country>
        </postal>
        <email>john.mattsson@ericsson.com</email>
      </address>
    </author>
    <date year="2024" month="March" day="16"/>
    <area>IRTF</area>
    <workgroup>Crypto Forum</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 195?>

<t>This document defines the Galois Counter Mode with Secure Short Tags (GCM-SST) Authenticated Encryption with Associated Data (AEAD) algorithm. GCM-SST can be used with any keystream generator, not just a block cipher. The main differences compared to GCM <xref target="GCM"/> is that GCM-SST uses an additional subkey Q, that fresh subkeys H and Q are derived for each nonce, and that the POLYVAL function from AES-GCM-SIV is used instead of GHASH. This enables short tags with forgery probabilities close to ideal. This document also registers several instances of Advanced Encryption Standard (AES) with Galois Counter Mode with Secure Short Tags (AES-GCM-SST).</t>
      <t>This document is the product of the Crypto Forum Research Group.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://emanjon.github.io/draft-mattsson-cfrg-aes-gcm-sst/draft-mattsson-cfrg-aes-gcm-sst.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-mattsson-cfrg-aes-gcm-sst/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Crypto Forum Research Group mailing list (<eref target="mailto:cfrg@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/search/?email_list=cfrg"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/cfrg/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/emanjon/draft-mattsson-cfrg-aes-gcm-sst"/>.</t>
    </note>
  </front>
  <middle>
    <?line 201?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Advanced Encryption Standard (AES) in Galois Counter Mode (AES-GCM) <xref target="GCM"/> is a widely used AEAD algorithm <xref target="RFC5116"/> due to its attractive performance in both software and hardware as well as its provable security. During the NIST standardization, Ferguson pointed out two weaknesses in the GCM authentication function <xref target="Ferguson"/>. The weaknesses are especially concerning when GCM is used with short tags. The first weakness significantly increases the probability of successful forgery. The second weakness reveals the subkey H if the attacker manages to create successful forgeries. With knowledge of the subkey H, the attacker always succeeds with subsequent forgeries. The probability of multiple successful forgeries is therefore significantly increased.</t>
      <t>As a comment to NIST, Nyberg et al. <xref target="Nyberg"/> explained how small changes based on proven theoretical constructions mitigate these weaknesses. Unfortunately, NIST did not follow the advice from Nyberg et al. and instead specified additional requirements for use with short tags in Appendix C of <xref target="GCM"/>. NIST did not give any motivations for the specific choice of parameters, or for that matter the security levels they were assumed to give. As shown by Mattsson et al. <xref target="Mattsson"/>, an attacker can almost always gain feedback on success or failure of forgery attempts, contradicting NIST's assumptions for short tags. NIST also appears to have used non-optimal attacks to calculate the parameters. A detailed evaluation of GCM and other block cipher modes of operation is given by <xref target="Rogaway"/>. Rogaway is critical of GCM with short tags and recommends disallowing GCM with tags shorter than 96-bits. NIST is planning to remove support for GCM with tags shorter than 96-bits <xref target="Revise"/>. While Counter with CBC-MAC (CCM) <xref target="RFC5116"/> with short tags has forgery probabilities close to ideal, CCM has lower performance than GCM.</t>
      <t>32-bit tags are standard in most radio link layers including 5G, 64-bit tags are very common in transport and application layers of the Internet of Things, and 32-, 64-, and 80-bit tags are common in media-encryption applications. Audio packets are small, numerous, and ephemeral, so on the one hand, they are very sensitive in percentage terms to crypto overhead, and on the other hand, forgery of individual packets is not a big concern. Due to its weaknesses, GCM is typically not used with short tags. The result is either decreased performance from larger than needed tags <xref target="MoQ"/>, or decreased performance from using much slower constructions such as AES-CTR combined with HMAC <xref target="RFC3711"/><xref target="I-D.ietf-sframe-enc"/>. Short tags are also useful to protect packets transporting a signed payload such as a firmware update.</t>
      <t>This document defines the Galois Counter Mode with Secure Short Tags (GCM-SST) Authenticated Encryption with Associated Data (AEAD) algorithm following the recommendations from Nyberg et al. <xref target="Nyberg"/>. GCM-SST is defined with a general interface so that it can be used with any keystream generator, not just a 128-bit block cipher. The main differences compared to GCM <xref target="GCM"/> is that GCM-SST uses an additional subkey Q, that fresh subkeys H and Q are derived for each nonce, and that the POLYVAL function from AES-GCM-SIV <xref target="RFC8452"/> is used instead of GHASH, see <xref target="GCM-SST"/>. This enables short tags with forgery probability close to ideal and significantly decreases the probability of multiple successful forgeries, see <xref target="Security"/>. The performance of GCM-SST is very similar to GCM <xref target="GCM"/>. The two additional AES invocations are compensated by the use of POLYVAL, the ”little-endian version” of GHASH, which is faster on little-endian architectures. GCM-SST maintains the additive encryption characteristic of GCM, which enables efficient implementations on modern processor architectures, see <xref target="Gueron"/> and Section 2.4 of <xref target="GCM-Update"/>. This document also registers several instances of Advanced Encryption Standard (AES) with Galois Counter Mode with Secure Short Tags (AES-GCM-SST) where AES <xref target="AES"/> in counter mode is used as the keystream generator. See <xref target="AES-GCM-SST"/>. GCM-SST has been standardized for use with AES-256 and SNOW 5G <xref target="SNOW"/> in 3GPP 5G Advance.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>Primitives:</t>
      <ul spacing="normal">
        <li>
          <t>K is the key as defined in <xref target="RFC5116"/></t>
        </li>
        <li>
          <t>N is the nonce as defined in <xref target="RFC5116"/></t>
        </li>
        <li>
          <t>A is the associated data as defined in <xref target="RFC5116"/></t>
        </li>
        <li>
          <t>P is the plaintext as defined in <xref target="RFC5116"/></t>
        </li>
        <li>
          <t>= is the assignment operator</t>
        </li>
        <li>
          <t>!= is the inequality operator</t>
        </li>
        <li>
          <t>x || y is concatenation of the octet strings x and y</t>
        </li>
        <li>
          <t>XOR is the bitwise exclusive OR operator</t>
        </li>
        <li>
          <t>len(x) is the length of x in bits.</t>
        </li>
        <li>
          <t>zeropad(x) right pads an octet string x with zeroes to a multiple of 128 bits</t>
        </li>
        <li>
          <t>truncate(x, t) is the truncation operation.  The first t bits of x are kept</t>
        </li>
        <li>
          <t>n is the number of 128-bit chunks in zeropad(P)</t>
        </li>
        <li>
          <t>m is the number of 128-bit chunks in zeropad(A)</t>
        </li>
        <li>
          <t>POLYVAL is defined in <xref target="RFC8452"/></t>
        </li>
        <li>
          <t>BE32(x) is the big-endian encoding of 32-bit integer x</t>
        </li>
        <li>
          <t>LE64(x) is the little-endian encoding of 64-bit integer x</t>
        </li>
        <li>
          <t>V[y] is the 128-bit chunk with index y in the array V; the first chunk has index 0.</t>
        </li>
        <li>
          <t>V[x:y] are the range of chunks x to y in the array V</t>
        </li>
      </ul>
    </section>
    <section anchor="GCM-SST">
      <name>Galois Counter Mode with Secure Short Tags (GCM-SST)</name>
      <t>This section defines the Galois Counter Mode with Secure Short Tags (GCM-SST) AEAD algorithm following the recommendations from Nyberg et al. <xref target="Nyberg"/>. GCM-SST is defined with a general interface so that it can be used with any keystream generator, not just a 128-bit block cipher.</t>
      <t>GCM-SST adheres to an AEAD interface <xref target="RFC5116"/> and the encryption function takes four variable-length octet string parameters. A secret key K, a nonce N, the associated data A, and a plaintext P. The keystream generator is instantiated with K and N. The keystream <bcp14>MAY</bcp14> depend on P and A. The minimum and maximum lengths of all parameters depend on the keystream generator. The keystream generator produces a keystream Z consisting of 128-bit chunks where the first three chunks Z[0], Z[1], and Z[2] are used as the three subkeys H, Q, and M. The following keystream chunks Z[3], Z[4], ..., Z[n + 2] are used to encrypt the plaintext. Instead of GHASH <xref target="GCM"/>, GCM-SST makes use of the POLYVAL function from AES-GCM-SIV <xref target="RFC8452"/>, which results in more efficient software implementations on little-endian architectures. GHASH and POLYVAL can be defined in terms of one another <xref target="RFC8452"/>. The subkeys H and Q are field elements used in POLYVAL while the subkey M is used for the final masking of the tag. Both encryption and decryption are only defined on inputs that are a whole number of octets.</t>
      <t>Figures illustrating the GCM-SST encryption and decryption functions are shown in <xref target="SST1"/><xref target="SST2"/>.</t>
      <section anchor="authenticated-encryption-function">
        <name>Authenticated Encryption Function</name>
        <t>Encrypt(K, N, A, P)</t>
        <t>The encryption function encrypts a plaintext and returns the ciphertext along with an authentication tag that verifies the authenticity of the plaintext and associated data, if provided.</t>
        <t>Prerequisites and security:</t>
        <ul spacing="normal">
          <li>
            <t>The key <bcp14>MUST</bcp14> be randomly chosen from a uniform distribution.</t>
          </li>
          <li>
            <t>For a given key, the nonce <bcp14>MUST NOT</bcp14> be reused under any circumstances.</t>
          </li>
          <li>
            <t>Supported tag_length associated with the key.</t>
          </li>
          <li>
            <t>Definitions of supported input-output lengths.</t>
          </li>
        </ul>
        <t>Inputs:</t>
        <ul spacing="normal">
          <li>
            <t>Key K (variable-length octet string)</t>
          </li>
          <li>
            <t>Nonce N (variable-length octet string)</t>
          </li>
          <li>
            <t>Associated data A (variable-length octet string)</t>
          </li>
          <li>
            <t>Plaintext P (variable-length octet string)</t>
          </li>
        </ul>
        <t>Outputs:</t>
        <ul spacing="normal">
          <li>
            <t>Ciphertext ct (variable-length octet string)</t>
          </li>
          <li>
            <t>Tag tag (octet string with length tag_length)</t>
          </li>
        </ul>
        <t>Steps:</t>
        <ol spacing="normal" type="1"><li>
            <t>If the lengths of K, N, A, P are not supported return error and abort</t>
          </li>
          <li>
            <t>Initiate keystream generator with K and N</t>
          </li>
          <li>
            <t>Let H = Z[0], Q = Z[1], M = Z[2]</t>
          </li>
          <li>
            <t>Let ct = P XOR truncate(Z[3:n + 2], len(P))</t>
          </li>
          <li>
            <t>Let S = zeropad(A) || zeropad(ct)</t>
          </li>
          <li>
            <t>Let L = LE64(len(ct)) || LE64(len(A))</t>
          </li>
          <li>
            <t>Let X = POLYVAL(H, S[0], S[1], ...)</t>
          </li>
          <li>
            <t>Let full_tag = POLYVAL(Q, X XOR L) XOR M</t>
          </li>
          <li>
            <t>Let tag = truncate(full_tag, tag_length)</t>
          </li>
          <li>
            <t>Return (ct, tag)</t>
          </li>
        </ol>
      </section>
      <section anchor="authenticated-decryption-function">
        <name>Authenticated Decryption Function</name>
        <t>Decrypt(K, N, A, ct, tag)</t>
        <t>The decryption function decrypts a ciphertext, verifies that the authentication tag is correct, and returns the plaintext on success or an error if tag verification failed.</t>
        <t>Prerequisites and security:</t>
        <ul spacing="normal">
          <li>
            <t>The calculation of the plaintext P (step 10) <bcp14>MAY</bcp14> be done in parallel with the tag verification (step 3-9). If tag verification fails, the plaintext P and the expected_tag <bcp14>MUST NOT</bcp14> be given as output.</t>
          </li>
          <li>
            <t>The comparison of the input tag with the expected_tag <bcp14>MUST</bcp14> be done in constant time.</t>
          </li>
          <li>
            <t>Supported tag_length associated with the key.</t>
          </li>
          <li>
            <t>Definitions of supported input-output lengths.</t>
          </li>
        </ul>
        <t>Inputs:</t>
        <ul spacing="normal">
          <li>
            <t>Key K (variable-length octet string)</t>
          </li>
          <li>
            <t>Nonce N (variable-length octet string)</t>
          </li>
          <li>
            <t>Associated data A (variable-length octet string)</t>
          </li>
          <li>
            <t>Ciphertext ct (variable-length octet string)</t>
          </li>
          <li>
            <t>Tag tag (octet string with length tag_length)</t>
          </li>
        </ul>
        <t>Outputs:</t>
        <ul spacing="normal">
          <li>
            <t>Plaintext P (variable-length octet string) or an error indicating that the authentication tag is invalid for the given inputs.</t>
          </li>
        </ul>
        <t>Steps:</t>
        <ol spacing="normal" type="1"><li>
            <t>If the lengths of K, N, A, or ct are not supported, or if len(tag) != tag_length return error and abort</t>
          </li>
          <li>
            <t>Initiate keystream generator with K and N</t>
          </li>
          <li>
            <t>Let H = Z[0], Q = Z[1], M = Z[2]</t>
          </li>
          <li>
            <t>Let S = zeropad(A) || zeropad(ct)</t>
          </li>
          <li>
            <t>Let L = LE64(len(ct)) || LE64(len(A))</t>
          </li>
          <li>
            <t>Let X = POLYVAL(H, S[0], S[1], ...)</t>
          </li>
          <li>
            <t>Let full_tag = POLYVAL(Q, X XOR L) XOR M</t>
          </li>
          <li>
            <t>Let expected_tag = truncate(full_tag, tag_length)</t>
          </li>
          <li>
            <t>If tag != expected_tag, return error and abort</t>
          </li>
          <li>
            <t>Let P = ct XOR truncate(Z[3:n + 2], len(ct))</t>
          </li>
          <li>
            <t>Return P</t>
          </li>
        </ol>
      </section>
      <section anchor="encoding-ct-tag-tuples">
        <name>Encoding (ct, tag) Tuples</name>
        <t>Applications <bcp14>MAY</bcp14> keep the ciphertext and the authentication tag in distinct structures or encode both as a single octet string C. In the latter case, the tag <bcp14>MUST</bcp14> immediately follow the ciphertext ct:</t>
        <t>C = ct || tag</t>
      </section>
    </section>
    <section anchor="AES-GCM-SST">
      <name>AES with Galois Counter Mode with Secure Short Tags</name>
      <t>This section defines Advanced Encryption Standard (AES) with Galois Counter Mode with Secure Short Tags (AES-GCM-SST). When GCM-SSM is instantiated with AES, the keystream generator is AES in counter mode</t>
      <t>Z[i] = AES-ENC(K, N || BE32(i))</t>
      <t>where AES-ENC is the AES encrypt function <xref target="AES"/>.</t>
      <section anchor="instances">
        <name>AES-GCM-SST AEAD Instances</name>
        <t>We define six AEAD instances, in the format of <xref target="RFC5116"/>, that use AES-GCM-SST. They differ only in key length (K_LEN) and tag length. The tag lengths 32, 64, and 80 have been chosen to align with secure media frames <xref target="I-D.ietf-sframe-enc"/>. The key length and tag length are related to different security properties, and an application encrypting audio packets with small tags might require 256-bit confidentiality.</t>
        <table anchor="iana-algs">
          <name>AEAD Algorithms</name>
          <thead>
            <tr>
              <th align="right">Numeric ID</th>
              <th align="left">Name</th>
              <th align="right">K_LEN (bytes)</th>
              <th align="right">tag_length (bits)</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">TBD1</td>
              <td align="left">AEAD_AES_128_GCM_SST_4</td>
              <td align="right">16</td>
              <td align="right">32</td>
            </tr>
            <tr>
              <td align="right">TBD2</td>
              <td align="left">AEAD_AES_128_GCM_SST_8</td>
              <td align="right">16</td>
              <td align="right">64</td>
            </tr>
            <tr>
              <td align="right">TBD3</td>
              <td align="left">AEAD_AES_128_GCM_SST_10</td>
              <td align="right">16</td>
              <td align="right">80</td>
            </tr>
            <tr>
              <td align="right">TBD4</td>
              <td align="left">AEAD_AES_256_GCM_SST_4</td>
              <td align="right">32</td>
              <td align="right">32</td>
            </tr>
            <tr>
              <td align="right">TBD5</td>
              <td align="left">AEAD_AES_256_GCM_SST_8</td>
              <td align="right">32</td>
              <td align="right">64</td>
            </tr>
            <tr>
              <td align="right">TBD6</td>
              <td align="left">AEAD_AES_256_GCM_SST_10</td>
              <td align="right">32</td>
              <td align="right">80</td>
            </tr>
          </tbody>
        </table>
        <t>Common parameters for the six AEAD instances:</t>
        <ul spacing="normal">
          <li>
            <t>P_MAX (maximum size of the plaintext) is 2<sup>36</sup> - 48 octets.</t>
          </li>
          <li>
            <t>A_MAX (maximum size of the associated data) is 2<sup>36</sup> octets.</t>
          </li>
          <li>
            <t>N_MIN and N_MAX (minimum and maximum size of the nonce) are both 12 octets</t>
          </li>
          <li>
            <t>C_MAX (maximum size of the ciphertext and tag) is P_MAX + tag_length (in bytes)</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="Security">
      <name>Security Considerations</name>
      <t>GCM-SST uses an additional subkey Q and that new subkeys H, Q are derived for each nonce. The use of an additional subkey Q enables short tags with forgery probabilities close to ideal. Deriving new subkeys H, Q for each nonce significantly decreases the probability of multiple successful forgeries. These changes are based on proven theoretical constructions and follows the recommendations in <xref target="Nyberg"/>. See <xref target="Nyberg"/> for details and references to security proofs for the construction.</t>
      <t>GCM-SST <bcp14>MUST</bcp14> be used in a nonce-respecting setting: for a given key, a nonce <bcp14>MUST</bcp14> only be used once. The nonce <bcp14>MAY</bcp14> be public or predictable.  It can be a counter, the output of a permutation, or a generator with a long period. Every key <bcp14>MUST</bcp14> be randomly chosen from a uniform distribution. Implementations <bcp14>SHOULD</bcp14> randomize the nonce by mixing a unique number like a sequence number with a per-key random salt. This improves security against pre-computation attacks and multi-key attacks <xref target="Bellare"/>.</t>
      <t>The GCM-SST tag_length <bcp14>SHOULD NOT</bcp14> be smaller than 4 bytes and cannot be larger than 16 bytes. For short tags of length t &lt; 128 - log2(n + m + 1) bits, the worst-case forgery probability is bounded by ≈ 2<sup>-t</sup> <xref target="Nyberg"/>. With the constraints listed in <xref target="instances"/>, n + m + 1 &lt; 2<sup>33</sup> 128-bit blocks, and tags of length up to 95 bits therefore have an almost perfect security level. This is significantly better than GCM where the security level is only t – log2(n + m + 1) bits <xref target="GCM"/>. As one can note, for 128-bit tags and long messages, the forgery probability is not close to ideal and similar to GCM <xref target="GCM"/>. If tag verification fails, the plaintext and expected_tag <bcp14>MUST NOT</bcp14> be given as output. The full_tag in GCM-SST does not depend on the tag length. An application can make the tag dependent on the tag length by including tag_length in the nonces.</t>
      <t>The confidentiality offered by AES-GCM-SST against passive attackers is equal to AES-GCM <xref target="GCM"/> and given by the birthday bound. The maximum size of the plaintext (P_MAX) has been adjusted from GCM <xref target="RFC5116"/> as there is now three subkeys instead of two.</t>
      <t>For the AES-GCM-SST algorithms in <xref target="iana-algs"/> the worst-case forgery probability is bounded by ≈ 2<sup>-t</sup> where t is the tag length in bits <xref target="Nyberg"/>. This is true for all allowed plaintext and associated data lengths. The maximum size of the associated data (A_MAX) has been lowered from GCM <xref target="RFC5116"/> to enable forgery probability close to ideal for 80-bit tags even with maximum size plaintexts and associated data. Just like <xref target="RFC5116"/> AES-GCM-SST only allows 96-bit nonces.</t>
      <t>If r random nonces are used with the same key, the collision probability for AES-GCM-SST is ≈ r<sup>2</sup> / 2<sup>97</sup>. As an attacker can test r nonces for collisions with complexity r, the security of AES-GCM-SST with random nonces is only ≈ 2<sup>97</sup> / r. It is therefore <bcp14>NOT RECOMMENDED</bcp14> to use AES-GCM-SST with random nonces.</t>
      <t>In general, there is a very small possibility in GCM-SST that either or both of the subkeys H and Q are zero, so called weak keys. If both keys are zero, the resulting tag will not depend on the message. There are no obvious ways to detect this condition for an attacker, and the specification admits this possibility in favor of complicating the flow with additional checks and regeneration of values. In AES-GCM-SST, H and Q are generated with the AES-ENC permutation on different input, so H and Q cannot both be zero.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to assign the entries in the first two columns of <xref target="iana-algs"/> to the "AEAD Algorithms" registry under the "Authenticated Encryption with Associated Data (AEAD) Parameters" heading with this document as reference.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC5116">
          <front>
            <title>An Interface and Algorithms for Authenticated Encryption</title>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <date month="January" year="2008"/>
            <abstract>
              <t>This document defines algorithms for Authenticated Encryption with Associated Data (AEAD), and defines a uniform interface and a registry for such algorithms. The interface and registry can be used as an application-independent set of cryptoalgorithm suites. This approach provides advantages in efficiency and security, and promotes the reuse of crypto implementations. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5116"/>
          <seriesInfo name="DOI" value="10.17487/RFC5116"/>
        </reference>
        <reference anchor="RFC8452">
          <front>
            <title>AES-GCM-SIV: Nonce Misuse-Resistant Authenticated Encryption</title>
            <author fullname="S. Gueron" initials="S." surname="Gueron"/>
            <author fullname="A. Langley" initials="A." surname="Langley"/>
            <author fullname="Y. Lindell" initials="Y." surname="Lindell"/>
            <date month="April" year="2019"/>
            <abstract>
              <t>This memo specifies two authenticated encryption algorithms that are nonce misuse resistant -- that is, they do not fail catastrophically if a nonce is repeated.</t>
              <t>This document is the product of the Crypto Forum Research Group.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8452"/>
          <seriesInfo name="DOI" value="10.17487/RFC8452"/>
        </reference>
        <reference anchor="AES" target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.197-upd1.pdf">
          <front>
            <title>ADVANCED ENCRYPTION STANDARD (AES)</title>
            <author>
              <organization/>
            </author>
            <date year="2001" month="November"/>
          </front>
          <seriesInfo name="NIST" value="Federal Information Processing Standards Publication 197"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC3711">
          <front>
            <title>The Secure Real-time Transport Protocol (SRTP)</title>
            <author fullname="M. Baugher" initials="M." surname="Baugher"/>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <author fullname="M. Naslund" initials="M." surname="Naslund"/>
            <author fullname="E. Carrara" initials="E." surname="Carrara"/>
            <author fullname="K. Norrman" initials="K." surname="Norrman"/>
            <date month="March" year="2004"/>
            <abstract>
              <t>This document describes the Secure Real-time Transport Protocol (SRTP), a profile of the Real-time Transport Protocol (RTP), which can provide confidentiality, message authentication, and replay protection to the RTP traffic and to the control traffic for RTP, the Real-time Transport Control Protocol (RTCP). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3711"/>
          <seriesInfo name="DOI" value="10.17487/RFC3711"/>
        </reference>
        <reference anchor="I-D.ietf-sframe-enc">
          <front>
            <title>Secure Frame (SFrame)</title>
            <author fullname="Emad Omara" initials="E." surname="Omara">
              <organization>Apple</organization>
            </author>
            <author fullname="Justin Uberti" initials="J." surname="Uberti">
              <organization>Google</organization>
            </author>
            <author fullname="Sergio Garcia Murillo" initials="S. G." surname="Murillo">
              <organization>CoSMo Software</organization>
            </author>
            <author fullname="Richard Barnes" initials="R." surname="Barnes">
              <organization>Cisco</organization>
            </author>
            <author fullname="Youenn Fablet" initials="Y." surname="Fablet">
              <organization>Apple</organization>
            </author>
            <date day="29" month="February" year="2024"/>
            <abstract>
              <t>   This document describes the Secure Frame (SFrame) end-to-end
   encryption and authentication mechanism for media frames in a
   multiparty conference call, in which central media servers (selective
   forwarding units or SFUs) can access the media metadata needed to
   make forwarding decisions without having access to the actual media.

   The proposed mechanism differs from the Secure Real-Time Protocol
   (SRTP) in that it is independent of RTP (thus compatible with non-RTP
   media transport) and can be applied to whole media frames in order to
   be more bandwidth efficient.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-sframe-enc-07"/>
        </reference>
        <reference anchor="I-D.irtf-cfrg-aegis-aead">
          <front>
            <title>The AEGIS Family of Authenticated Encryption Algorithms</title>
            <author fullname="Frank Denis" initials="F." surname="Denis">
              <organization>Fastly Inc.</organization>
            </author>
            <author fullname="Samuel Lucas" initials="S." surname="Lucas">
              <organization>Individual Contributor</organization>
            </author>
            <date day="20" month="January" year="2024"/>
            <abstract>
              <t>   This document describes the AEGIS-128L, AEGIS-256, AEGIS-128X, and
   AEGIS-256X AES-based authenticated encryption algorithms designed for
   high-performance applications.

   The document is a product of the Crypto Forum Research Group (CFRG).
   It is not an IETF product and is not a standard.

Discussion Venues

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

   Source for this draft and an issue tracker can be found at
   https://github.com/cfrg/draft-irtf-cfrg-aegis-aead.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-irtf-cfrg-aegis-aead-10"/>
        </reference>
        <reference anchor="MoQ" target="https://datatracker.ietf.org/wg/moq/about/">
          <front>
            <title>Media Over QUIC</title>
            <author initials="" surname="IETF">
              <organization/>
            </author>
            <date year="2022" month="September"/>
          </front>
        </reference>
        <reference anchor="Revise" target="https://csrc.nist.gov/news/2023/proposal-to-revise-sp-800-38d">
          <front>
            <title>Announcement of Proposal to Revise SP 800-38D</title>
            <author initials="" surname="NIST">
              <organization/>
            </author>
            <date year="2023" month="August"/>
          </front>
        </reference>
        <reference anchor="SNOW" target="https://eprint.iacr.org/2021/236">
          <front>
            <title>SNOW-Vi: an extreme performance variant of SNOW-V for lower grade CPUs</title>
            <author initials="P." surname="Ekdahl">
              <organization/>
            </author>
            <author initials="T." surname="Johansson">
              <organization/>
            </author>
            <author initials="A." surname="Maximov">
              <organization/>
            </author>
            <author initials="J." surname="Yang">
              <organization/>
            </author>
            <date year="2021" month="March"/>
          </front>
        </reference>
        <reference anchor="SST1" target="https://csrc.nist.gov/csrc/media/Events/2023/third-workshop-on-block-cipher-modes-of-operation/documents/accepted-papers/Galois%20Counter%20Mode%20with%20Secure%20Short%20Tags.pdf">
          <front>
            <title>Galois Counter Mode with Secure Short Tags (GCM-SST)</title>
            <author initials="M." surname="Campagna">
              <organization/>
            </author>
            <author initials="A." surname="Maximov">
              <organization/>
            </author>
            <author initials="J." surname="Preuß Mattsson">
              <organization/>
            </author>
            <date year="2023" month="October"/>
          </front>
        </reference>
        <reference anchor="SST2" target="https://csrc.nist.gov/csrc/media/Presentations/2023/galois-counter-mode-with-secure-short-tags/images-media/sess-5-mattsson-bcm-workshop-2023.pdf">
          <front>
            <title>Galois Counter Mode with Secure Short Tags (GCM-SST)</title>
            <author initials="M." surname="Campagna">
              <organization/>
            </author>
            <author initials="A." surname="Maximov">
              <organization/>
            </author>
            <author initials="J." surname="Preuß Mattsson">
              <organization/>
            </author>
            <date year="2023" month="October"/>
          </front>
        </reference>
        <reference anchor="GCM" target="https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf">
          <front>
            <title>Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC</title>
            <author initials="M." surname="Dworkin">
              <organization/>
            </author>
            <date year="2007" month="November"/>
          </front>
          <seriesInfo name="NIST" value="Special Publication 800-38D"/>
        </reference>
        <reference anchor="GCM-Update" target="https://csrc.nist.gov/csrc/media/projects/block-cipher-techniques/documents/bcm/comments/cwc-gcm/gcm-update.pdf">
          <front>
            <title>GCM Update</title>
            <author initials="D." surname="McGrew">
              <organization/>
            </author>
            <author initials="J." surname="Viega">
              <organization/>
            </author>
            <date year="2005" month="May"/>
          </front>
        </reference>
        <reference anchor="Gueron" target="https://csrc.nist.gov/csrc/media/Presentations/2023/constructions-based-on-the-aes-round/images-media/sess-5-gueron-bcm-workshop-2023.pdf">
          <front>
            <title>Constructions based on the AES Round and Polynomial Multiplication that are Efficient on Modern Processor Architectures</title>
            <author initials="S." surname="Gueron">
              <organization/>
            </author>
            <date year="2023" month="October"/>
          </front>
        </reference>
        <reference anchor="Ferguson" target="https://csrc.nist.gov/CSRC/media/Projects/Block-Cipher-Techniques/documents/BCM/Comments/CWC-GCM/Ferguson2.pdf">
          <front>
            <title>Authentication weaknesses in GCM</title>
            <author initials="N." surname="Ferguson">
              <organization/>
            </author>
            <date year="2005" month="May"/>
          </front>
        </reference>
        <reference anchor="Nyberg" target="https://csrc.nist.gov/CSRC/media/Projects/Block-Cipher-Techniques/documents/BCM/Comments/general-comments/papers/Nyberg_Gilbert_and_Robshaw.pdf">
          <front>
            <title>Galois MAC with forgery probability close to ideal</title>
            <author initials="K." surname="Nyberg">
              <organization/>
            </author>
            <author initials="H." surname="Gilbert">
              <organization/>
            </author>
            <author initials="M." surname="Robshaw">
              <organization/>
            </author>
            <date year="2005" month="June"/>
          </front>
        </reference>
        <reference anchor="Mattsson" target="https://eprint.iacr.org/2015/477.pdf">
          <front>
            <title>Authentication Key Recovery on Galois/Counter Mode (GCM)</title>
            <author initials="J." surname="Mattsson">
              <organization/>
            </author>
            <author initials="M." surname="Westerlund">
              <organization/>
            </author>
            <date year="2015" month="May"/>
          </front>
        </reference>
        <reference anchor="Rogaway" target="https://www.cryptrec.go.jp/exreport/cryptrec-ex-2012-2010r1.pdf">
          <front>
            <title>Evaluation of Some Blockcipher Modes of Operation</title>
            <author initials="P." surname="Rogaway">
              <organization/>
            </author>
            <date year="2011" month="February"/>
          </front>
        </reference>
        <reference anchor="Bellare" target="https://eprint.iacr.org/2016/564.pdf">
          <front>
            <title>The Multi-User Security of Authenticated Encryption: AES-GCM in TLS 1.3</title>
            <author initials="M." surname="Bellare">
              <organization/>
            </author>
            <author initials="B." surname="Tackmann">
              <organization/>
            </author>
            <date year="2017" month="November"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 404?>

<section anchor="aes-gcm-sst-test-vectors">
      <name>AES-GCM-SST Test Vectors</name>
      <section anchor="aes-gcm-sst-test-1-128-bit-key">
        <name>AES-GCM-SST Test #1 (128-bit key)</name>
        <artwork><![CDATA[
       KEY = { 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f }
     NONCE = { 30 31 32 33 34 35 36 37 38 39 3a 3b }
         H = { 22 ce 92 da cb 50 77 4b ab 0d 18 29 3d 6e ae 7f }
         Q = { 03 13 63 96 74 be fa 86 4d fa fb 80 36 b7 a0 3c }
         M = { 9b 1d 49 ea 42 b0 0a ec b0 bc eb 8d d0 ef c2 b9 }
]]></artwork>
        <section numbered="false" anchor="case-1a">
          <name>Case #1a</name>
          <artwork><![CDATA[
       AAD = { }
 PLAINTEXT = { }
encode-LEN = { 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 }
  full-TAG = { 9b 1d 49 ea 42 b0 0a ec b0 bc eb 8d d0 ef c2 b9 }
       TAG = { 9b 1d 49 ea }
CIPHERTEXT = { }
]]></artwork>
        </section>
        <section numbered="false" anchor="case-1b">
          <name>Case #1b</name>
          <artwork><![CDATA[
       AAD = { 40 41 42 43 44 }
 PLAINTEXT = { }
encode-LEN = { 00 00 00 00 00 00 00 00 28 00 00 00 00 00 00 00 }
  full-TAG = { 7f f3 cb a4 d5 f3 08 a5 70 4e 2f d5 f2 3a e8 f9 }
       TAG = { 7f f3 cb a4 }
CIPHERTEXT = { }
]]></artwork>
        </section>
        <section numbered="false" anchor="case-1c">
          <name>Case #1c</name>
          <artwork><![CDATA[
       AAD = { }
 PLAINTEXT = { 60 61 62 63 64 65 66 67 68 69 6a 6b }
encode-LEN = { 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 }
  full-TAG = { f8 de 17 85 fd 1a 90 d9 81 8f cb 7b 44 69 8a 8b }
       TAG = { f8 de 17 85 }
CIPHERTEXT = { 64 f0 5b ae 1e d2 40 3a 71 25 5e dd }
]]></artwork>
        </section>
        <section numbered="false" anchor="case-1d">
          <name>Case #1d</name>
          <artwork><![CDATA[
       AAD = { 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f }
 PLAINTEXT = { 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
               70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e }
encode-LEN = { f8 00 00 00 00 00 00 00 80 00 00 00 00 00 00 00 }
  full-TAG = { 93 43 56 14 0b 84 48 2c d0 14 c7 40 7e e9 cc b6 }
       TAG = { 93 43 56 14 }
CIPHERTEXT = { 64 f0 5b ae 1e d2 40 3a 71 25 5e dd 53 49 5c e1
               7d c0 cb c7 85 a7 a9 20 db 42 28 ff 63 32 10 }
]]></artwork>
        </section>
        <section numbered="false" anchor="case-1e">
          <name>Case #1e</name>
          <artwork><![CDATA[
       AAD = { 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e }
 PLAINTEXT = { 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
               70 }
encode-LEN = { 88 00 00 00 00 00 00 00 78 00 00 00 00 00 00 00 }
  full-TAG = { f8 50 b7 97 11 43 ab e9 31 5a d7 eb 3b 0a 16 81 }
       TAG = { f8 50 b7 97 }
CIPHERTEXT = { 64 f0 5b ae 1e d2 40 3a 71 25 5e dd 53 49 5c e1
               7d }
]]></artwork>
        </section>
      </section>
      <section anchor="aes-gcm-sst-test-2-128-bit-key">
        <name>AES-GCM-SST Test #2 (128-bit key)</name>
        <artwork><![CDATA[
       KEY = { 29 23 be 84 e1 6c d6 ae 52 90 49 f1 f1 bb e9 eb }
     NONCE = { 9a 50 ee 40 78 36 fd 12 49 32 f6 9e }
       AAD = { 1f 03 5a 7d 09 38 25 1f 5d d4 cb fc 96 f5 45 3b
               13 0d }
 PLAINTEXT = { ad 4f 14 f2 44 40 66 d0 6b c4 30 b7 32 3b a1 22
               f6 22 91 9d }
         H = { 2d 6d 7f 1c 52 a7 a0 6b f2 bc bd 23 75 47 03 88 }
         Q = { 3b fd 00 96 25 84 2a 86 65 71 a4 66 e5 62 05 92 }
         M = { 9e 6c 98 3e e0 6c 1a ab c8 99 b7 8d 57 32 0a f5 }
encode-LEN = { a0 00 00 00 00 00 00 00 90 00 00 00 00 00 00 00 }
  full-TAG = { 45 03 bf b0 96 82 39 b3 67 e9 70 c3 83 c5 10 6f }
       TAG = { 45 03 bf b0 96 82 39 b3 }
CIPHERTEXT = { b8 65 d5 16 07 83 11 73 21 f5 6c b0 75 45 16 b3
               da 9d b8 09 }
]]></artwork>
      </section>
      <section anchor="aes-gcm-sst-test-3-256-bit-key">
        <name>AES-GCM-SST Test #3 (256-bit key)</name>
        <artwork><![CDATA[
       KEY = { 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
               10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f }
     NONCE = { 30 31 32 33 34 35 36 37 38 39 3a 3b }
         H = { 3b d9 9f 8d 38 f0 2e a1 80 96 a4 b0 b1 d9 3b 1b }
         Q = { af 7f 54 00 16 aa b8 bc 91 56 d9 d1 83 59 cc e5 }
         M = { b3 35 31 c0 e9 6f 4a 03 2a 33 8e ec 12 99 3e 68 }
]]></artwork>
        <section numbered="false" anchor="case-3a">
          <name>Case #3a</name>
          <artwork><![CDATA[
       AAD = { }
 PLAINTEXT = { }
encode-LEN = { 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 }
  full-TAG = { b3 35 31 c0 e9 6f 4a 03 2a 33 8e ec 12 99 3e 68 }
       TAG = { b3 35 31 c0 e9 6f 4a 03 }
CIPHERTEXT = { }
]]></artwork>
        </section>
        <section numbered="false" anchor="case-3b">
          <name>Case #3b</name>
          <artwork><![CDATA[
       AAD = { 40 41 42 43 44 }
 PLAINTEXT = { }
encode-LEN = { 00 00 00 00 00 00 00 00 28 00 00 00 00 00 00 00 }
  full-TAG = { 63 ac ca 4d 20 9f b3 90 28 ff c3 17 04 01 67 61 }
       TAG = { 63 ac ca 4d 20 9f b3 90 }
CIPHERTEXT = { }
]]></artwork>
        </section>
        <section numbered="false" anchor="case-3c">
          <name>Case #3c</name>
          <artwork><![CDATA[
       AAD = { }
 PLAINTEXT = { 60 61 62 63 64 65 66 67 68 69 6a 6b }
encode-LEN = { 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 }
  full-TAG = { e1 de bf fd 5f 3a 85 e3 48 bd 6f cc 6e 62 10 90 }
       TAG = { e1 de bf fd 5f 3a 85 e3 }
CIPHERTEXT = { fc 46 2d 34 a7 5b 22 62 4f d7 3b 27 }
]]></artwork>
        </section>
        <section numbered="false" anchor="case-3d">
          <name>Case #3d</name>
          <artwork><![CDATA[
       AAD = { 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f }
 PLAINTEXT = { 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
               70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e }
encode-LEN = { f8 00 00 00 00 00 00 00 80 00 00 00 00 00 00 00 }
  full-TAG = { c3 5e d7 83 9f 21 f7 bb a5 a8 a2 8e 1f 49 ed 04 }
       TAG = { c3 5e d7 83 9f 21 f7 bb }
CIPHERTEXT = { fc 46 2d 34 a7 5b 22 62 4f d7 3b 27 84 de 10 51
               33 11 7e 17 58 b5 ed d0 d6 5d 68 32 06 bb ad }
]]></artwork>
        </section>
        <section numbered="false" anchor="case-3e">
          <name>Case #3e</name>
          <artwork><![CDATA[
       AAD = { 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e }
 PLAINTEXT = { 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
               70 }
encode-LEN = { 88 00 00 00 00 00 00 00 78 00 00 00 00 00 00 00 }
  full-TAG = { 49 7c 14 77 67 a5 3d 57 64 ce fd 03 26 fe e7 b5 }
       TAG = { 49 7c 14 77 67 a5 3d 57 }
CIPHERTEXT = { fc 46 2d 34 a7 5b 22 62 4f d7 3b 27 84 de 10 51
               33 }
]]></artwork>
        </section>
      </section>
      <section anchor="aes-gcm-sst-test-4-256-bit-key">
        <name>AES-GCM-SST Test #4 (256-bit key)</name>
        <artwork><![CDATA[
       KEY = { 29 23 be 84 e1 6c d6 ae 52 90 49 f1 f1 bb e9 eb
               b3 a6 db 3c 87 0c 3e 99 24 5e 0d 1c 06 b7 b3 12 }
     NONCE = { 9a 50 ee 40 78 36 fd 12 49 32 f6 9e }
       AAD = { 1f 03 5a 7d 09 38 25 1f 5d d4 cb fc 96 f5 45 3b
               13 0d }
 PLAINTEXT = { ad 4f 14 f2 44 40 66 d0 6b c4 30 b7 32 3b a1 22
               f6 22 91 9d }
         H = { 13 53 4b f7 8a 91 38 fd f5 41 65 7f c2 39 55 23 }
         Q = { 32 69 75 a3 3a ff ae ac af a8 fb d1 bd 62 66 95 }
         M = { 59 48 44 80 b6 cd 59 06 69 27 5e 7d 81 4a d1 74 }
encode-LEN = { a0 00 00 00 00 00 00 00 90 00 00 00 00 00 00 00 }
  full-TAG = { c4 a1 ca 9a 38 c6 73 af bf 9c 73 49 bf 3c d5 4d }
       TAG = { c4 a1 ca 9a 38 c6 73 af bf 9c }
CIPHERTEXT = { b5 c2 a4 07 f3 3e 99 88 de c1 2f 10 64 7b 3d 4f
               eb 8f f7 cc }
]]></artwork>
      </section>
    </section>
    <section removeInRFC="true" numbered="false" anchor="change-log">
      <name>Change Log</name>
      <t>Changes from -02 to -03:</t>
      <ul spacing="normal">
        <li>
          <t>Added performance information and considerations.</t>
        </li>
        <li>
          <t>Editorial changes.</t>
        </li>
      </ul>
      <t>Changes from -01 to -02:</t>
      <ul spacing="normal">
        <li>
          <t>The length encoding chunk is now called L</t>
        </li>
        <li>
          <t>Use of the notation POLYVAL(H, X_1, X_2, ...) from RFC 8452</t>
        </li>
        <li>
          <t>Removed duplicated text in security considerations.</t>
        </li>
      </ul>
      <t>Changes from -00 to -01:</t>
      <ul spacing="normal">
        <li>
          <t>Link to NIST decision to remove support for GCM with tags shorter than 96-bits based on Mattsson et al.</t>
        </li>
        <li>
          <t>Mention that 3GPP 5G Advance will use GCM-SST with AES-256 and SNOW 5G.</t>
        </li>
        <li>
          <t>Corrected reference to step numbers during decryption</t>
        </li>
        <li>
          <t>Changed T to full_tag to align with tag and expected_tag</t>
        </li>
        <li>
          <t>Link to images from the NIST encryption workshop illustrating the GCM-SST encryption and decryption functions.</t>
        </li>
        <li>
          <t>Updated definitions</t>
        </li>
        <li>
          <t>Editorial changes.</t>
        </li>
      </ul>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors thank <contact fullname="Richard Barnes"/>, <contact fullname="Scott Fluhrer"/>, and <contact fullname="Eric Lagergren"/> for their valuable comments and feedback. Some of the formatting and text were inspired by and borrowed from <xref target="I-D.irtf-cfrg-aegis-aead"/>.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+1923IbSbbdO74iDxUOSz4EiDtAuntmIIiS2C1SbJJ9mz4d
ikRVAqwWUIWpKvAyHDnOo/3sZ4f9LfafzJd4rZ1ZNwCUKKl7Ys6c0zFDglV5
2bmva+/MhOr1ei0N0rk5UDsv9DwKEjWOVmFqYnUc+UZdB+mlOjfeKjbq/DKK
U3WhZ4l6/GJ8XD8/v3iyU9OTSWyu2N0+2ql5OjWzKL49UEE4jWo1P/JCvcAM
fqynaX2h0zRJorDuTeNZXZukPvMW9SRJ681OLVlNFkGSBFGY3i7R5ejs4rlS
j5SeJxHmCELfLA1+hOnOrto5Gj3FryjGJ7TbqYWrxcTEBzUfFBzUvChMTJis
kgOVxitTA5Gdmo6NPsjaX0fx21kcrZZ4Mo5vl2mknkfxarFTe2tu8dI/qKm6
Cs1NqmYmNLFOQRgfrcLAi2L5mCx1/HYehDPlB0kaB5NVanw1N/7MxLUrE65A
iVLbZ1HKrnLnzCRGx96lesF2fLHQwRwvyKM/BCadNqJ4xudsheeXabpMDvb2
2IyPgivTyJrt8cGeHXDv94ZN3sxB25ccjGPMINTVBKPgXfhLFO59QDDsMwdL
k7Q0s+vbsIM1guhDo3zofeMyXcx3ajW9SqFoB7U61CdIA0j+QB03QEKyiq0e
jfViqWehxjP74BhjXprr8gvw4UCNFvrPUai+NxPocHwVeCbBK48KTvUc61D7
bGwstz3X/Q9a+jW8aFGhYlSh4ljfBIvoKidiNDc3GqoZl94IFYdx4HHFavSU
AnT2kj0tE3R+baDaBUE6G7KxsEP+wbheG7R9VaHtNDar//e/hS9uDvv8q+gy
3PLyM8n8BaM2MrlWSQyjGC+gnQc1tD97Pu61Wv0D+3HY7bXl8ejwnI9gDTqe
GShZpmPh1Xy5miSNENrbmEVXe/zAJ3vPj07P906Ozi8a/NRo7Q/qq6Xfaiz9
qR3J+bTRs+9GJ+PDZ+rwZHz24+nF0esTdX4xOnk2OnumHmPiJzvSPgHVJqG/
spQotcPRdzDEcyw21nN1hJeymIgsjKBLCa3+PIWEdOwn6nQ1mQeebQCC7MDi
itRJdGXomlS72WzVakE2VMGXzqDV4tRH9WdiyPVkGkNkdRN6+eMYj53VzIIE
P7Uv3Y+jb7bzD5PrNNbeW2hQ7h2uZ3uL6E97ehKt0r0Ks46NH2j1+gp0fvPt
0dguIDNHy5W6+62getC6o8OL56Vlnptlmq2z3ZaVmasgMdup85LYK4nWXCd7
6NbZW8bRMkr0vJ5G9Vj615Nlfdhs1jtDvyrdMIROemaBeKCiKcUiPRVcrJ1Z
nZ8q2/PZA5ZDkZeWM1rNVknKtXS4lvOT199vX4lZxkGYNgLtxcJi9GjttTv9
CrHsXv8ugFWHChElBtVqaWLRBKxBXek40HYdtqnCKzWPrsHOWawRjMen3yYP
WMVpQx2+9fXlfPvriwbdgA6dVW9pMWqUXNiW91811I86nJU4dSzBi8sWRp1f
tB4icv61t6DS7R0iUqZO/ullEPt1xubkMlrWESom88h7W/eC5aWJ6wvgkqQe
TevR0kXkPSCM1UIG0J5HHfTrS423yZ7FNP+p3XSoBp+Ia/CLyAa/LLbhB6Ib
/Ca+2XAjnwaNPiip40Y5ZH2aJDa9eSaU114aOVvsOLG0P1IsGBwQKhUuO+nM
hBV1z7JCpFEnK+qJsKKekBX1FKzYCxZ6BlHZoRL4y3qvCP8TRP1cxhz5H5Pp
IOxjY9srM9Pe7d75qTxKlsZDiF8WwcV5wg1+nRlEXJiBb0MQvcdTGo4ai+EI
AxO6l9eZ4Rwoy+O9Co/JzCfwUr56cTwafzA+nlsCK+Hv4S4X0nhGNQjKTCyH
y4HjYv3bpYX1H6XAiCW/GA+OoeJCUuNdhsGfViYpuQ4o5J5lIP7wrj3i0j1i
05VMvKme42NlaXrAMp9Bp7wXsbm+V6W+CyD2iku95fJ7svyViSGtz7ZdZkRI
hTx5VJ/oBI4SpgjsLEAcuUfob7XamRDwAJsdl2dQMoOCPmAGojx1xhlEtU6j
+W0YLag4x6t5Gixz3UkvdYo0x6jD6TTwAgntoWhmnAMvqPaIWQ8EmcIVPCQq
njccG99jrM9NjIj/ME6Pz8/GOaedkom51a251S+2KdnT8TGMzSnZ+PtxHVq0
l03b3oSvWBGaZqy5NvptiOXDjIOQRvEQTNPIl3WPdp3cggezv9GabR49r+eW
5gK1JeLNi2CO3+kbqMibs2iSXOrr++ICfJMNB3B0yLVvFWx9oifBPEhvlTeP
AP4AAwPf6PkD2PR1w/Fh++uX0B5L2r1uzJFbYvJXq9DkXM5ixUMRZKu31x0M
PqQRX5tbRb9/RQbg73v9+QNY8FWjGtC2LfJ7k2DcOax4Q5lassyzaKav9e32
VV5fXzc8VkBi40GhGr8s98xNbJaI43vZ87q5gWtptfmjGW9mdIdXer6yiydS
joCiRQW9+4LcwxCzo7u0qudmEq90LEsTWPvUzOfwSw8WYH+v1+9u0H8BVyge
r/4tgqrFMtRYkFySLdzmYSgskTAN30lPQau/eHWuWo3Ow0KrI3n7+6cNgCfv
LbKPe2JvC7G3Xq8rPUmYRaa12sUlDC+zbOWbaQB3JN79U8DavQu2PUfQRCAL
vnqGRJbp+ugZgMl8FoFjl4uGcgMpDynVxKgVo4101eGtemtuQbbRi6x2F8W7
KoxS9QuTOq0EESirNuAE1rDQ4K8fTKcmRtqNhcFJLcE+n46E7L+7w89371SQ
2CiVzb+iRwYN2vcD0o+glqwmIEB9s2tbThGkLt3DRL2UEPiNRDmEteAKUxCu
GY0sKoww9660kK7k7unrVz9+N3qlpsh2LbiLo0WmFfXzo+9Ikiwfkk2N9qlO
L16Ozl9yZXhnQj2Zg0hB54ro/D7fGXDdFe/phsjFzlqsilmCgKQxpLmS+ghn
1sI2qrJ/xc8VoWaVElt3sfN/jNrky4XqNNZ1MbBqiHX4QB8kgX+Wy62qWmRt
WN1eBL4/N7XaI3UUprYza7y1BywgCLeSn9H5pKwuGqvyzfzWComKXOgx2rnC
GNr6K8v4FH1SsTpoR6VOgGknETiURNP0mhpETbkEWfYPCBZGz98cA/y4ouRV
4vwM4DZ+hzNhDyG8Styqgj+Lu9zN4YJaRnBpBHArqMx1tAY/xOphFLoakXIV
vbvLBnr3ztpXqT9JNS61AVc86nwckq5rDCbjZhot6lDorR1qGsQw4mxAlQSz
MABa1GGK0QKIzOjE5CqRwwKoRbLyiCCnq3mm/HZEMCgCI/MhY6g1NF2GcMb8
UgVWrSAZKarBY4QEy5QYp0zN5vCwJ4RNruFtGF3LvkCmndmwu9VB9RyBKLEj
Gd8ZKtomBsAKql4a92JzfQuLprdT4swkNnhi7uGaD8sYUWMdROPiqCi7DiAp
QxfQgHzt31Bac7Ocw3dCWJfRtUoWkKnyLnVI1uQ5AFXRiNpgbqrLXFXyEZhi
GszIQzRJytrSUN+yYJquQryd3+5avfUDX9z5NJrPMauw0GeN3zrHKrG0kcw1
itpNA1BV8tcxmBvEUklMxBevErOuetT60ZL7T8GNGpPZzsIbVYpmNFmGoEUE
67UJmIwpQreze2BQRGIxCmKMXhg6U9nMsi3h+VkrMa5XBhPmUEurlbfgkBh8
Ag8oIYrzNhA2SfI1vMRtjucKmWVP3r3blYiVKR1DqJ4vIoZGq38zRsMpNHCC
FhSgUyghUQdzumcQn0UQ0rpYplgCpArH5QcQK+yZnPnPiSVzWbCibNDCPIkq
GtzVsdjTpb5yER0BsR6hK9TK0WsNTs+91dzpS4mH4ACCagoK0ddU0KK4K2hC
RBuoAAC1yHBjXlWkrZCjwki4aAsQKWz3kQ08CEVU2Y2+rjGcLc7qMgm3CDW1
lYzJm0tD6SPChiD2+/UJvLfjDKaBeYXiHVNG3gUMCdJYEjcLMz88FBcgBXHS
//0leJMHLek4fjquM6F6PLaBqwhI6yu61MmDUMOuwlDS2pawyyFMKAPR8DSd
NulzzKJPymIslE+0kZoUqXkQvlVzfUvAAUc1X/nkRu/Frup3qwNIJkSGU4Jw
N7EOE2EURQH9yusMbjTni4/Ii9AIcgCyCGeJhWCgT+awfw2b1cmKeSQr5m5N
BhZKU1ElV1zFkraWuoXSSwKQwngBR9xsBrq4IJraRXjPCicRskgwzN+1Vp8v
kpvbgcADzA/2eqz2ILpgIQsXkgT9MDm8hOOzU2SDignYYTNxYukBfNtV4K+g
0RmxUD86NQDmYJYFaqKIHKcUjno3C9zp7ZJWgajCrveHcaBihCv2MIEQ5BsX
hCr6Ig59zozLaXUIt0SfRznAp0Xf0J1F7+2+kt26xQr4L7EaWY0+Cd9AW4ne
xhdnFO1EQpoQ/pLGIWbBjbp37+7utmzU0bbOS7ZP70yvhvUzCoNdMBiWrHLe
5tpJ2rQEZNKub+cRA5UjSRPuLATeuVrk31km5mJwBivjSiE62RaPC/BQZHFc
kKwjS+Jc4sbUAiuZaogS3JTQCCP8pKSv1R6KBf9jJX+imNxOt+RtTQThUYyx
iyDZFpN/VGa4XlUTKqsYMrO/rcj7vcg0Iy+rh2Q5Q9mObYzNdMX6wGDBAzBr
MrJdmbKUhML6cxBeRc4nZ/4bcC4RzUaUJ9HEfdxKtky30Pyv//q/sIh0TiuH
mw85N88o4XmJv9eXASQIyqaamTE9bbWXLpesC72n5gGuhInDsL516qVYAizN
TBCMSmCijg/ZhJkATV4uDxbg8iKv/ZOQhS2fL/PyeYWWXDekQA4lomQhCZm8
3ejmUNdtwuTK83dVE2DqGNt9hrs7/KQxhMptVAoHcuPQltdbvAU8uLCiNHDZ
RxHPTAwwYZE1O/PN8wX2bPf6locnr78HSqFe45MlqPPi9JTPHDsarD2Mo5Ab
4FYv0e8Z/aAobkJXL5QqHkhL1M7xt+cXPPzG3+rktXw+O/zm26Ozw2f8fP5y
9OpV/qHmWpy/fP3tq2fFp6Ln+PXx8eHJM9sZT1XlUW3nePTjjvVIO6/lAM3o
1Y7N/ysKEItjmBjrrJdI8YTPNcBqgOSJeCT1dHz6f/9Pqwt+/BM8VrvV2gdP
7B/D1qBLuIkwlAEVOBT7J3FPzeYGHEXSS70MUmjdLmVp8x1KH9z8Lz+RMz8f
qC8m3rLV/Z17wAVXHmY8qzwUnm0+2ehsmbjl0ZZpcm5Wnq9xukrv6MfK3xnf
Sw+/+D0gsVH11vD3v6vVaqdxsBC3kRyAA+rrrB5GvdFFXA3CMrZHw5OsoQSe
9zYdZU11gQZ4wOi9nU7zwhwLBClPUr6v+ZelORBY7LmepbVMvP6n/D26/wkg
VSJL8f5G/ctf/uUvymZmWBBoDPPkT1AvnGiqeEwTAB/NqWe36PjD67NsZKCD
ax4cMjfIMhI6YrwrzTE34eObJ1lr/DWDzWP4GynMMWtDoz/Djy61z4ZxMLsk
4PMFJJQJQBdxGGxsa0i6iJEYEVhFBsR4gKmymsc3MIZ8cvdU1pdlrQ1Vqo+l
0t9SRwN9a5YpRgtzoct5WTeX4CLvchW+lUJHtoTTJ+ix+JgeI/bIQEuwKW0L
VNDm6WGnXeIl8ossUiL2RZLhYSKXIVJ7iP9v0PHVYb9bFkIlypb7uuSw3Pe7
n25/zjpW1mCFwRPGN9QgmybpOEai/91/lT8sU21jBgLbttmQUW8OMK54QSJg
1r5IgOPODaW7Pigd/yeB9btHWWRyeUDiQvXnpwHVwvS/bVhfq2UkaJ+xwZpY
aBdZzF0udljcXcFeOepO9VvD0scqtkf1ALrqmfmXrbpaiUqIiFPxw18jVjk/
e7K71ZOObOTTJW95arHsFgaQsRZfpXYI4dbXMsLJei9EFGWPzhMNnkqjkUt8
gDQWq4U8kmPG+GzXJZ6DwbZYUmmQewHUffTavRkmS6XXf5Q0nLjWWuyaW7GQ
rjC+9DIGPHMv//hT8+dd/Gz9bPn2x5/a1gTLGM/2yJOvXWZlbHzsNhJyFS9o
yofvyPBd/Gw0GvwYqn9W5TmgUE5VqkGuoY7W0q8sNdktwX7qk0s3PjrPy9C/
raAktlzGTZU8C8j3h7akA+/PS4ReOaTjKHI2WXLktsbEcmnIUretJpXIc3sq
W1LeaWDmvjJzV2p3uWo+1bXUJku7I8VGUFZBBxFwHgudvHU6I2LWs4Z6yn2x
cg0OszIlzf5kxTqUNNUuREp3y1WaFIeONCiI5uVAJ8aNqF57HszIIBXMAQxS
hlvnGDOJ3j9zJlJX+hO4KuGQR2VZTeLZTHANIeHR/bWY526UWs09fAyXAlcC
t4EoLXnCNsflniUVv2IL05C4Szutz7Sv5hH34azvXd/eA58ts5DgcRPFwbWs
kUv11xAffVrV1e1yK407QoEvG06nsZEdmAR6aFOgbMdD8GyWAgmQn0h89aMF
Nw4vo8Q4S9G8lsNiQXETh4CI/Z8z43XVfIyzW4K8WW4gwxpRtJXc4mDc8YIY
+Y3LYWWkc1t2t8XHN87/lxZny/CWXOlQSuXs9mPWXzSvHq1S/MocLnociUJa
FM+goR6/L9oQap3YkPLhhqP1cPPhLqdFIPpQ49prWYolfVyok5d+eJoLahX+
/7gSSYWXrkfBbcx0npol52nBz05LOFw4XNiEGBtRQsF0q/LKxDE1gno5wYta
mw47kDi6NXSVQ2ut01CvQORLZCs2An0jnxiFjuVT++da17bB2r8EHUwvcgiP
sHJg48iuJBOnT57Uerb5OVoXKNomM9nfXvqk1rfNXqGZQGB2x3PXMn80wogD
2/QHzm9d62PEvnOh91xoRUh7UhvaZtPVfP6GAihaI0z+IIS/eiK/jmv7tq1t
li8n67pbEVGr2VBnltegUN492eLcnpktzs09LJxbMQD9wBa3mj2TXetc83bL
PsrVUrd4M8kVY4DbdHfDKxY+rLr/qTMV4oEAjGEnyk5AyNbjw5xatolZylGX
ZZMDiFiqVvOJADiGYMZbbvcAkc3nZl74mw0ybN9Off+JtZJtZCa7G1PmEPhm
CZYYX9Si7CStFwW6sq6rkS9F6uVBUqxEPJxMnFO5OWppUbIhwyswabAw/x69
7W/rNcv++eF+varuAIxeBnzea1JBeKXnQQHarNZYtNV4qAdHXy/d9OLyApZH
X0e/wLpQST/+xj7+Q06793Cn3X+Y0x58hNN2Dr5idx/03vu5xwBny11372Mu
/T3nOcXgENl7Ax4XX2u18gBxKoHhMCvb5PFCXayQuCS12qi0lS6O8K2BZ1tH
rc5vbVPHUBBhgGCh7I6v4HjuuXFSY8/TyUYrN4nn1TqhGlNxrI7aAzmeTsxu
7nTFiwULOQDA40nlA0le2aCh7mPLHpE8+rICxO2Kj932uHtU3p64pwj0mx/B
VN+7o3r483h7NQLtd+8rFLCH3ZOr7NHUan/8KfgZfOJchydjgQGWY1IvDKA8
tXynhy2yah4Hy7Lx0ilE2QlymVVBvq0CHeX7U3eP8r0qMPT7LNmFQtxkBSP3
ejcr49k7vHZvLC8huS1fpvWl2SQdvnXbyzYHDSQTyRz146/fvDo8sbeuqFT2
sdvHzP9OVKfN0yjZYRR7SEr2o1wixArXPJi5fXt7Jc+eTVFyTIHHJe45uZDl
WFmUrVAiTjg2cxEtJsk2ytPiZBqv7ULXZS9XHEPlDEyemfKgQ+UwjKVUzgzK
7vNCCubuPJ5q9/q2HhSF04Df+xBI1R/y/Is64dmZwFNHzxT+wFLwS/ioHk9u
AbmeqL+U48JjFsPxDD0vnj5r4SUF+wZietNqD99AVG8gqjddvGj18aPTztq2
72s7zNr2u1nbzn1tW82sMQTnGnfLjbHUChGcv0RE7762w6xtQUT/vrZChDQW
Iu4O1KNAh7qu5+C8XFH4ckfUfZQVgZMd8H6efLkTq7mKVbwD8xjbY0+lsmB+
unHDXCzceHM8+kE9zsqLSfBnswF3pZzf/gJR/ned/hd7/K3qqjssCjDAVPeP
s1Zg2DZaaaCTN8dHJzbWuyG3VEHLw0ux4ImYgUSLVtsNJ9nu/WStRyjGNVBm
GfLPFfXk/pGoLcNCfi+EN+oC3+3u0E/lJySK+vZ7jqAUR0lCc10pg77nAIp1
Bq40ec+4n3ej4BnnpS/YoKpKya92vkSWlJj8WLII8sFHk8lEG9aTrVshUssr
tj7sEYL8ePRUTqbxRGp2IDQ/ZASOlB1oNC1MqUxBaS8jS5qywqnbUqjHcpxe
/GtiUv4+kKEqZS9dLnpJGMpGKsTuWth80147VlK9NzzSS6E3lDrKN2p0Fr1t
oHcZFvWGZ3cWq9TdKrCkVNG2VlJqRLsg8hvqUI70fGqdTx2t1bndhrwdgyZZ
FP0mtwgzN/bQ3UouLGYF33nwlmuyZ+29/LEjF5TWSZ8dUyV6nrqTMMFClCgp
xKl5gDpJyTjedlw6TuRHmMXTyEUw2aR3T+/u3J0twSwXpepyyVUURw3IJImd
2cnIrvUhMjokxLxpYipnJxGCpElDqqIl842medqovpDd5zrkM2s/Jnhf4P+t
J7KfbAV9HcVJWicU3npUDCyZ8LKvPVj11//x350zrqfOGZft5fssjbc6z4CQ
KH5lUbZrXGAzAKycHFDpPHzHDVrZB3Q4ZG1tqyWNbr9nt8aLyxACpYpD8Dx3
xpOa1YP3mbDXb5xMTJqfuJbD2Pm2VbU/e4rZpeqv//o/t3K3OMM2SmR3hXYG
MRo5p5uvMD9dLhYEYJfwIspuBky3yYO6sPUE3/YjdA+uGcnB5YdWi+ymW5a5
BmGu3j7PQJDE6g5jGQyPqoiSjOEmWt4u/26wzc5UwuLceMmUHJYXt5A4i1vD
mlAe+mtR5HIGkRs4D6tcFRd4RD/keAp5ml3dzI6Pklv5tQJ77CFOL319a+0l
O4z6HqCkHgt6eFIcRtM+98EZxukf7WylTW2n5lYHrtd2REvnRNPriNtcLv5U
lpqjQWePGWbE8L+GM3D2kh9sKeTmDtVU3EVmg/xWNxvjeOGN0ZmHp9+37ZRX
/u7l8nqHx6M1XsvZ8ftYLfvBct/uAcdnSXn5QoGhUkigqRCWLyjZtqKG+opH
ICRslSkpS088jrboxd4HKfQdVh5n4cw+LHa38+pqwtwq3zdDOgDfHFjclC+O
qylPCvlQ0LEIuu3kvOcEvz+wD8TJrV9D4hfNgShHDcfNZ3QYk+F0bm44rYMd
SfkadYkKaV5dXuaCCzXMqAF5cYPQpnJLbu2gHuW3lt1vmUVKy9lBl93C/rQ7
tizp7jKC48hMpPCEgtbdfQgsXtKNyo3B6oY6a41yXYQXLoy9wSj1FnHh0lv6
FG3T/OaFc4ZYAMjZdL4urIi1cG9cCrEqmlwF0Qqi4C0x1gKM3GmQ86C8Qxnk
Xz9TkuxuXqDLLsA5NOQvbBzmLacqP6b6KpIdeBF3UXeGcbG+ZiFZkZl4lyaD
VbEpvq6RA/ASGAHPUVgW226Fja5HWe2z+lIJx5IzRe1DytnC+2ykDHKR6xPL
bzngezQ6Ga2lctAQPgwSqXWYxFVW7MlHdwoptZc2w/IJmOuI9rBa2B2ONV8c
ScvNFN4ezYbm2b1t2+hT7nyc5jn/juKlonzHYe04cFJkOe6mNa8RuoJnbjgX
NPXvoD2IHxsVOnn5qKUeZ5gHaozc+L9t/y/7boOvD39UX6o71WyqZks126rZ
Uc2uavZUs6+aA9Ucqua+amrVnKimp5q+ahrVnKp3doCT1yfjQxmg01SdFmsl
nY7qdFWnpzp91RmozlB19lVHq84k68T/Xkqndlshadhvwzcrb6J6TTUYqO5E
6Qlnag1VG1191YcxGTWYlgf4xpLdUa2O6nfgqNWgSx2aajXsq67PD9MJ6zag
YzJQGh+88gDHMsD+RLV81d1HEq26bTVpcq3G44eJpwwGQOBoKgOzwtt9DHAf
QyGPR2rMmP6opWt3BzYVMv6XO1M9TwwLQR+QxQhaSJpA5Omr0dHJxeEPF+6B
rbzXWazLpPUx/+OyiSLrF6MXn7hsR+O2Ad7VxkenLw/PSvQ+hEmTz2JSt6m6
LdLe7ahu9zN4hsTtYTyD/k07VFPdVX6Pn2EcuqcGoMSo9lQetqnqZqimW3hW
HuATeeb9uorVb6p+S/XbtKB+V/V7qt9X/YHqD1V/X/W16k82Gdn/XOWbDhEE
VWughmAYzFyr/aby99WwpYZT8mcwoUhBwRDGPNlkZHmADUZiHdOm6k3oMlpG
+W2qCoQyaKl2T/XwxH8gs/1fU0G7PdWFXxqwRAuz6Wr6ua5HTwXt6U4/TTh9
T/XFP/anhWez/0EtseRBWw06dI0DKGqf7nUwVIN9NdDk8sBTA18NzKaQp/dY
xfDBHqbDhff6qtVl7Bh2ufC2R6+CJ96A/MHEZl95cDv9LR6mNMAnCbnXIaN7
cGetDd74ymtS0zzRIY3wsK/aUMIJBQaPMJ2S64hmreYDlcX87ZTlN9CUDfkP
75H/4KHeEgqEcI7Auz9QrRbXhaAOaQMk9LTyBwwygAQIO60+LX+bkecD/Aby
f69UtwCr9icCKyCYdofABBZgWhSD3yfVvTa9Hgictvi/iTDH5M6uAFb7mnww
RgxmSDRDn9lmV+jntK/2TcG8TJ9aU0IjMBorBX4DCANb8LCHsN6l4k89QqZp
j6rWmazzB5iq6W/qmfbpqGCPCHPU0ib1DAYN9fK6RICQFhEgxAI5tNdHBa0A
fPstte9vgYI+9RMhsuWRN1oQGwbGVEAkE59chA+DTWBh0M4NKIhZwRioItaF
xYLdbYGCsAZoBUIuaDU9WgnALSDnJhQ0lM4+WAy31ORnRCYorTdU+/tcGjBR
TxYIpZ32Nm1G3+Mb9x/qMyELLG4yJQzDKoZtQudJh6YM5YCZelg6EESPbqk/
3bSZ+wbYsJ/JkHwBYGkJysegsFEEinaLK+sLEByIcrD+3VmXJOA6ZDiR3OBj
DamjHme71L9lhrKh0k0uEXYD3YYGt2RlgBBIMlr7lHRrQtUDqIU/af1aCQ6e
AdjsT6k7aAif1TY0jqHIB0pJwN1iG7RsTTa1Wk9pE70ulw+CtSbXYRCwIoRG
9PNblF5PwqjpbWo1pE9SWwx4UCJoDaIJWAjjwEKGhqgfXIGGQ+37w4dFu87f
fYLz8cteM6X7Bvg04N75t5bsAEloT3makAPACBoMhuw3HTaCH4Lp0ApbgjO2
hO/7BvhE/v1DJD6I/zw+N2Wg6k3pMwA+TYcoDwEOKgYbJkIT2Lnf3GTqfQNs
MBXhHQASMRWeCqEUQAmRF+MifAN6wde0Bw9k/H8kQZ+RBMFOiEUlwMICGF0H
hHoaOcdQ6TYdEWINyyg+zWlD4PcN8EkCByRi2gzcvAGIOxYASFLdgzb2SBCQ
HbAqICOYTdTTF9IfmD13/iMhWgN3+9Q0QA+oH0iBCnQET4I+fumSL9EJkByh
aUABbIK7ewb4DXThYzFd9xMx3UcmR+uUIqLoPpP2jqeGA6I/BHOE9HaXVsMK
sidaO2DLVg75/93lVpiSyfCEzmOo2YpY1BcSW5IgSZ0XMLbXo0A2c6s27Qbe
U3cYdIAAICSEd6BT+LHphCiUEaxNove3oFDgU1pul65z0leezycQDUaFMkJY
4OWwRbvGSIPub5BbgYlgHPAIZI7Ve32GBNCPYLrv8TNkjs/QJGRFXX+LK37v
AJsZVo8sBcJHijLtOMUcSuHSa7FazBSuy/jToeTX5ckS/JTy8rz3WqMaywk9
9Sqawd/aLzs8Cs+ej7/c4X7/jtrigsfuUJ/sydeRUaURfnXk6OnI99e+Di4o
/UNOckyqsi3Hb3M49IM0igOdf4tpY2OOlp2jnd/kcucV8m+fsF8T4Y5cuK3Z
V2j7bVI6U+o2FUuXPX540+KPtr3qYWfD4hWvVaP3mfADdrmyO6LcM+RZhyAs
tsDX17NOetOS3hLSX/GLFd03vPJ4pd3Y/+SvmcyPVK598yhmOrZfcGS3t9e+
BMluQHNbvbKlvuWrlDjS2F7XM6WTlHKQkvfdrHYkYJDc3SguC7Kf8MFXF2yd
n0GqHpnnk/UDTSU22X8cw3KSIhS2lS5dZ/86xmddEuca7Rdt+fYagvsmqO2K
ifDlZV8tLHfqt8OUC3c3JorlOiSWc3d3dxbwq8V89VTHIQ/Xvdvl03MvSlP1
fL66jE38zn5TrM8X/Mfg1CtwIJ6B6+/c0VasLohlj11OvmT/soM9NOu+P7Zh
v6nfKb61P3sXIHQaLF9mG4TJMnBHrfhmAknLqR5huLu6sOWfQeNhyf8Pi9r0
s8tyAAA=

-->

</rfc>
