<?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.21 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-mattsson-cfrg-aes-gcm-sst-09" category="info" consensus="true" submissionType="IRTF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.25.0 -->
  <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-09"/>
    <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</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</organization>
      <address>
        <postal>
          <country>Sweden</country>
        </postal>
        <email>john.mattsson@ericsson.com</email>
      </address>
    </author>
    <date year="2024" month="December" day="12"/>
    <area>IRTF</area>
    <workgroup>Crypto Forum</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 367?>

<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 128-bit block ciphers. The main differences from GCM are the use of an additional subkey Q, the derivation of fresh subkeys H and for each nonce, and the replacement of the GHASH function with the POLYVAL function from AES-GCM-SIV. This enables truncated tags with near-ideal forgery probabilities, even against multiple forgery attacks, which are significant security improvements over GCM. GCM-SST is designed for unicast security protocols with replay protection and addresses the strong industry demand for fast encryption with less overhead and secure short tags. This document registers several instances of GCM-SST using Advanced Encryption Standard (AES) and Rijndael-256-256.</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 371?>

<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"/>, particularly problematic when short tags are used. The first weakness significantly increases the probability of successful forgery. The second weakness reveals the subkey H if an attacker succeeds in creating forgeries. Once H is known, the attacker can consistently forge subsequent messages, drastically increasing the probability of multiple successful forgeries.</t>
      <t>In 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 parameter choices or the assumed security levels. Mattsson et al. <xref target="Mattsson"/> later demonstrated that attackers can almost always obtain feedback on the success or failure of forgery attempts, contradicting the assumptions NIST made for short tags. Furthermore, NIST appears to have relied on non-optimal attacks when calculating the parameters. Rogaway <xref target="Rogaway"/> criticizes the use of GCM with short tags and recommends prohibiting tags shorter than 96 bits. Reflecting the critique, 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, its performance is lower than that of GCM.</t>
      <t>Short tags are widely used, 32-bit tags are standard in most radio link layers including 5G <xref target="Sec5G"/>, 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. As such, they are highly sensitive to cryptographic overhead, but forgery of individual packets is not a big concern as it typically is barely noticeable as each packet often only encodes 20 ms of audio. 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="RFC9605"/>. Short tags are also useful to protect packets whose payloads are secured at higher layers, protocols where the security is given by the sum of the tag lengths, and in constrained radio networks, where the low bandwidth preclude many repeated trial. For all applications of short tags it is essential that the MAC behaves like an ideal MAC, i.e., the forgery probability is ≈ 2<sup>-tag_length</sup> even after many generated MACs, many forgery attempts, and after a successful forgery. Users and implementors of cryptography expect that MACs behaves like an ideal MACs. For a comprehensive discussion on the use cases and requirements of short tags, see <xref target="Comments38B"/>.</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, allowing it to be used with any keystream generator, not just 128-bit block ciphers. The main differences from GCM <xref target="GCM"/> are the introduction of an additional subkey Q, the derivation of fresh subkeys H and for each nonce, and the replacement of the GHASH function with the POLYVAL function from AES-GCM-SIV <xref target="RFC8452"/>, see <xref target="GCM-SST"/>. These changes enable truncated tags with near-ideal forgery probabilities, even against multiple forgery attacks, see <xref target="Security"/>. GCM-SST is designed for use in unicast security protocols with replay protection, where its authentication tag behaves like an ideal MAC. Its performance is similar to GCM <xref target="GCM"/>, with the two additional AES invocations compensated by the use of POLYVAL, the ”little-endian version” of GHASH, which is faster on little-endian architectures. GCM-SST retains 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"/>.</t>
      <t>This document also registers several GCM-SST instances using Advanced Encryption Standard (AES) <xref target="AES"/> and Rijndael with 256-bit keys and blocks (Rijndael-256-256) <xref target="Rijndael"/> in counter mode as keystream generators and with tag lengths of 32, 64, 96, and 112 bits, see <xref target="AES-GCM-SST"/>. The authentication tags in all registered GCM-SST instances behave like ideal MACs, which is not the case at all for GCM <xref target="GCM"/>. 3GPP has standardized the use of Rijndael-256-256 for authentication and key generation in 3GPP TS 35.234–35.237 <xref target="WID23"/>. NIST is anticipated to standardize Rijndael-256-256 <xref target="Options"/>, although there may be revisions to the key schedule.</t>
      <t>GCM-SST was originally developed by ETSI SAGE, under the name Mac5G, following a request from 3GPP, with several years of discussion and refinement contributing to its design <xref target="SAGE23"/><xref target="SAGE24"/>.  Mac5G is constructed similarly to the integrity algorithms used for SNOW 3G <xref target="UIA2"/> and ZUC <xref target="EIA3"/>. 3GPP has decided to standardize GCM-SST for use with AES-256 <xref target="AES"/>, SNOW 5G <xref target="SNOW"/>, and ZUC-256 <xref target="ZUC"/> in 3GPP TS 35.240–35.248 <xref target="WID24"/>.</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>The following notation is used in the document:</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>Z is the keystream</t>
        </li>
        <li>
          <t>ct is the ciphertext</t>
        </li>
        <li>
          <t>tag is the authentication tag</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 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. Figures illustrating the GCM-SST encryption and decryption functions can be found in <xref target="SST1"/>, <xref target="SST2"/>, and <xref target="Inoue"/>.</t>
      <t>For every computational procedure that is specified in this document, a conforming implementation may replace the given set of steps with any mathematically equivalent set of steps. In other words, different procedures that produce the correct output for every input are permitted.</t>
      <section anchor="authenticated-encryption-function">
        <name>Authenticated Encryption Function</name>
        <t>The encryption function Encrypt(K, N, A, P) 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, a nonce <bcp14>MUST NOT</bcp14> be reused under any circumstances.</t>
          </li>
          <li>
            <t>Each key <bcp14>MUST</bcp14> be restricted to a single tag_length.</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], = 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>The decryption function Decrypt(K, N, A, ct, tag) decrypts a ciphertext, verifies that the authentication tag is correct, and returns the plaintext on success or an error if the 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 the tag verification fails, the plaintext P and the expected_tag <bcp14>MUST NOT</bcp14> be given as output.</t>
          </li>
          <li>
            <t>Each key <bcp14>MUST</bcp14> be restricted to a single tag_length.</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], = 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>If N passes replay protrection, return P</t>
          </li>
        </ol>
        <t>The comparison of tag and expected_tag in step 9 <bcp14>MUST</bcp14> be performed in constant time to prevent any information leakage about the position of the first mismatched byte. For a given key, a plaintext <bcp14>MUST NOT</bcp14> be returned unless it is certain that a plaintext has not been returned for the same nonce. Replay protection can be performed either before step 1 or during step 11.</t>
      </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 and Rijndael-256-256 in GCM-SST</name>
      <t>This section defines Advanced Encryption Standard (AES) and Rijndael with 256-bit keys and blocks (Rijndael-256-256) <xref target="Rijndael"/> in Galois Counter Mode with Secure Short Tags.</t>
      <section anchor="aes-gcm-sst">
        <name>AES-GCM-SST</name>
        <t>When GCM-SSM is instantiated with AES (AES-GCM-SST), the keystream generator is AES in counter mode</t>
        <t>Z[i] = ENC(K, N || BE32(i))</t>
        <t>where ENC is the AES Cipher function <xref target="AES"/>. Big-endian counters align with existing implementations of counter mode.</t>
      </section>
      <section anchor="rijndael-gcm-sst">
        <name>Rijndael-GCM-SST</name>
        <t>When GCM-SST is instantiated with Rijndael-256-256 (Rijndael-GCM-SST), the keystream generator is Rijndael-256-256 in counter mode</t>
        <t>Z[2i]   = ENC(K, N || BE32(i))[0]</t>
        <t>Z[2i+1] = ENC(K, N || BE32(i))[1]</t>
        <t>where ENC is the Rijndael-256-256 Cipher function <xref target="Rijndael"/>.</t>
      </section>
      <section anchor="instances">
        <name>AEAD Instances and Constraints</name>
        <t>We define twelve AEAD instances, in the format of <xref target="RFC5116"/>, that use AES-GCM-SST and Rijndael-GCM-SST with tag lengths of 32, 64, 96, and 112 bits. 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="left">Name</th>
              <th align="right">K_LEN (bytes)</th>
              <th align="right">P_MAX = A_MAX (bytes)</th>
              <th align="right">tag_length (bits)</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">AEAD_AES_128_GCM_SST_4</td>
              <td align="right">16</td>
              <td align="right">2<sup>36</sup> - 48</td>
              <td align="right">32</td>
            </tr>
            <tr>
              <td align="left">AEAD_AES_128_GCM_SST_8</td>
              <td align="right">16</td>
              <td align="right">2<sup>36</sup> - 48</td>
              <td align="right">64</td>
            </tr>
            <tr>
              <td align="left">AEAD_AES_128_GCM_SST_12</td>
              <td align="right">16</td>
              <td align="right">2<sup>35</sup></td>
              <td align="right">96</td>
            </tr>
            <tr>
              <td align="left">AEAD_AES_128_GCM_SST_14</td>
              <td align="right">16</td>
              <td align="right">2<sup>19</sup></td>
              <td align="right">112</td>
            </tr>
            <tr>
              <td align="left">AEAD_AES_256_GCM_SST_4</td>
              <td align="right">32</td>
              <td align="right">2<sup>36</sup> - 48</td>
              <td align="right">32</td>
            </tr>
            <tr>
              <td align="left">AEAD_AES_256_GCM_SST_8</td>
              <td align="right">32</td>
              <td align="right">2<sup>36</sup> - 48</td>
              <td align="right">64</td>
            </tr>
            <tr>
              <td align="left">AEAD_AES_256_GCM_SST_12</td>
              <td align="right">32</td>
              <td align="right">2<sup>35</sup></td>
              <td align="right">96</td>
            </tr>
            <tr>
              <td align="left">AEAD_AES_256_GCM_SST_14</td>
              <td align="right">32</td>
              <td align="right">2<sup>19</sup></td>
              <td align="right">112</td>
            </tr>
            <tr>
              <td align="left">AEAD_RIJNDAEL_GCM_SST_4</td>
              <td align="right">32</td>
              <td align="right">2<sup>36</sup> - 48</td>
              <td align="right">32</td>
            </tr>
            <tr>
              <td align="left">AEAD_RIJNDAEL_GCM_SST_8</td>
              <td align="right">32</td>
              <td align="right">2<sup>36</sup> - 48</td>
              <td align="right">64</td>
            </tr>
            <tr>
              <td align="left">AEAD_RIJNDAEL_GCM_SST_12</td>
              <td align="right">32</td>
              <td align="right">2<sup>35</sup></td>
              <td align="right">96</td>
            </tr>
            <tr>
              <td align="left">AEAD_RIJNDAEL_GCM_SST_14</td>
              <td align="right">32</td>
              <td align="right">2<sup>19</sup></td>
              <td align="right">112</td>
            </tr>
          </tbody>
        </table>
        <t>Common parameters for the six AEAD instances:</t>
        <ul spacing="normal">
          <li>
            <t>N_MIN = N_MAX (minimum and maximum size of the nonce) is 12 octets for AES, while for Rijndael-256-256, it is 28 bytes.</t>
          </li>
          <li>
            <t>C_MAX (maximum size of the ciphertext and tag) is P_MAX + tag_length (in bytes)</t>
          </li>
        </ul>
        <t>The maximum size of the plaintext (P_MAX) and the maximum size of the associated data (A_MAX) have been lowered from GCM <xref target="RFC5116"/>. To enable forgery probability close to ideal, even with maximum size plaintexts and associated data, we set P_MAX = A_MAX = min(2<sup>131 - tag_length</sup>, 2<sup>36</sup> - 48). Just like <xref target="RFC5116"/>, AES-GCM-SST and Rijndael-GCM-SST only allow a fixed nonce length (N_MIN = N_MAX) of 96-bit and 224-bits respectively. For the AEAD algorithms in <xref target="iana-algs"/> the worst-case forgery probability is bounded by ≈ 2<sup>-tag_length</sup> <xref target="Nyberg"/>. This is true for all allowed plaintext and associated data lengths. For a given key, the total number of invocations of the authenticated encryption function shall not exceed 2<sup>32</sup>.</t>
      </section>
    </section>
    <section anchor="Security">
      <name>Security Considerations</name>
      <t>GCM-SST introduces an additional subkey Q, alongside the subkey H. The inclusion of enables truncated tags with forgery probabilities close to ideal. Both and H are derived for each nonce, which significantly decreases the probability of multiple successful forgeries. These changes are based on proven theoretical constructions and follows the recommendations in <xref target="Nyberg"/>. Inoue et al. <xref target="Inoue"/> prove that GCM-SST is a provably secure authenticated encryption mode, with security guaranteed for evaluations under fresh nonces, even if some earlier nonces have been reused.</t>
      <t>GCM-SST is designed for use in unicast security protocols with replay protection. Every key <bcp14>MUST</bcp14> be randomly chosen from a uniform distribution. 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 in the encryption function and only once in a successful decryption function call. 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. GCM-SST <bcp14>MUST NOT</bcp14> be used with random nonces <xref target="Collision"/> and <bcp14>MUST</bcp14> be used with replay protection. Reuse of nonces in successful encryption and decryption function calls enable universal forgery <xref target="Lindell"/><xref target="Inoue"/>. For a given tag length, GCM-SST has stricly better security properties than GCM. GCM allows universal forgery with lower complexity than GCM-SST, even when nonces are not reused. Implementations <bcp14>MAY</bcp14> add randomness to the nonce by XORing a unique number like a sequence number with a per-key random secret salt. This improves security against pre-computation attacks and multi-key attacks <xref target="Bellare"/>. By increasing the nonce length from 96 bits to 224 bits, Rijndael-256-256-GCM-SST can offer significantly greater security against pre-computation and multi-key attacks compared to AES-256-GCM-SST. GCM-SST <bcp14>SHOULD NOT</bcp14> be used in multicast or broadcast scenarios. While GCM-SST offers better security properties than GCM for a given tag length in such contexts, it does not behave like an ideal MAC.</t>
      <t>The GCM-SST tag_length <bcp14>SHOULD NOT</bcp14> be smaller than 4 bytes and cannot be larger than 16 bytes. When tag_length &lt; 128 - log2(n + m + 1) bits, the worst-case forgery probability is bounded by ≈ 2<sup>-tag_length</sup> <xref target="Nyberg"/>. The tags in the AEAD algorithm listed in <xref target="instances"/> therefore have an almost perfect security level. This is significantly better than GCM where the security level is only tag_length - log2(n + m + 1) bits <xref target="GCM"/>. Note that n and m in this context represent the maximum values allowed by the decryption function. For a graph of the forgery probability, refer to Fig. 3 in <xref target="Inoue"/>. 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. In GCM-SST, the full_tag is independent of the specified tag length unless the application explicitly incorporates tag length into the keystream or the nonce.</t>
      <t>When tag_length &lt; 128 - log2(n + m + 1) bits, the expected number of forgeries is ≈ q' ⋅ 2<sup>-tag_length</sup>, where q' is the number of decryption queries, which is ideal. This far outperforms GCM, where the expected number of forgeries is ≈ q'<sup>2</sup> ⋅ (n + m + 1) ⋅ 2<sup>-tag_length</sup> <xref target="Multiple"/>. BSI states that an ideal MAC with a 96-bit tag length is considered acceptable for most applications <xref target="BSI"/>, a requirement that GCM-SST with 96- and 112-bit tags satisfies. Achieving a comparable level of security with GCM, CCM, or Poly1305 is nearly impossible.</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. Regardless of key length, an attacker can mount a distinguishing attack with a complexity of approximately 2<sup>129</sup> / k, where k is the number of invocations of the AES encryption function. In contrast, the confidentiality offered by Rijndael-256-256-GCM-SST against passive attackers is significantly higher. The complexity of distinguishing attacks for Rijndael-256-256-GCM-SST is approximately 2<sup>257</sup> / k, where k is the number of invocations of the Rijndael-256-256 encryption function. While Rijndael-256-256 in counter mode can provide strong confidentiality for plaintexts much larger than 2<sup>36</sup> octets, GHASH and POLYVAL do not offer adequate integrity for long plaintexts. To ensure robust integrity for long plaintexts, an AEAD mode would need to replace POLYVAL with a MAC that has better security properties, such as a Carter-Wegman MAC in a larger field <xref target="Degabriele"/> or other alternatives such as <xref target="SMAC"/>.</t>
      <t>The confidentiality offered by AES-GCM-SST against active attackers is directly linked to the forgery probability. Depending on the protocol and application, forgeries <bcp14>MAY</bcp14> significantly compromise privacy, in addition to affecting integrity and authenticity. It <bcp14>MUST</bcp14> be assumed that attackers always receive feedback on the success or failure of their forgery attempts. Therefore, attacks on integrity, authenticity, and confidentiality <bcp14>MUST</bcp14> all be carefully evaluated when selecting an appropriate tag length.</t>
      <t>In general, there is a very small possibility in GCM-SST that either or both of the subkeys H and are zero, so called weak keys. If H is zero, the authentication tag depends only on the length of P and A and not on their content. If is zero, the authentication tag does not depend on P and A. 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 are generated with a permutation on different input, so H and cannot both be zero.</t>
      <t>The details of the replay protection mechanism is determined by the security protocol utilizing GCM-SST. If the nonce includes a sequence number, it can be used for replay protection. Alternatively, a separate sequence number can be used, provided there is a one-to-one mapping between sequence numbers and nonces. The choice of a replay protection mechanism depends on factors such as the expected degree of packet reordering, as well as protocol and implementation details. For examples of replay protection mechanisms, see <xref target="RFC4303"/> and <xref target="RFC6479"/>.</t>
      <t>A comparision with GCM and Poly1305 in unicast security protocols with replay protection is presented in <xref target="comp1"/>, where q' represents the number of decryption queries, and ℓ is the maximum length of plaintext and associated data in 128-bit chunks, see <xref target="I-D.irtf-cfrg-aead-limits"/><xref target="Multiple"/>. Additionally, <xref target="comp2"/> provides a comparison with GCM and Poly1305 in the context of protocols like QUIC <xref target="RFC9000"/><xref target="RFC9001"/>, where the size of plaintext and associated data is less than ≈ 2<sup>16</sup> bytes, i.e. ℓ ≈ 2<sup>12</sup>. When ℓ ≈ 2<sup>12</sup>, AEAD_AES_128_GCM_SST_14 offers better confidentiality and integrity compared to AEAD_AES_128_GCM <xref target="RFC5116"/>, while also reducing overhead by 2 bytes. Both algorithms provide similar security against passive attackers; however, AEAD_AES_128_GCM_SST_14 significantly enhances security against active attackers by reducing the expected number of successful forgeries. Similarly, AEAD_AES_128_GCM_SST_12 offers superior integrity compared to AEAD_CHACHA20_POLY1305 <xref target="RFC7253"/>, with a 4-byte reduction in overhead. For GCM-SST and Poly1305, the expected number of forgeries are linear in q' when replay protection is employed. For GCM, replay protection does not help, and the expected number of forgeries grows quadratically with q.</t>
      <table anchor="comp1">
        <name>Comparision with GCM and Poly1305. q' is the number of decryption queries, and ℓ is the maximum length of plaintext and associated data, measured in 128-bit chunks.</name>
        <thead>
          <tr>
            <th align="left">Name</th>
            <th align="right">Forgery probability before first forgery</th>
            <th align="right">Forgery probability after first forgery</th>
            <th align="right">Expected number of forgeries</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">GCM_16</td>
            <td align="right">ℓ / 2<sup>127</sup></td>
            <td align="right">1</td>
            <td align="right">q'<sup>2</sup> ⋅ ℓ / 2<sup>128</sup></td>
          </tr>
          <tr>
            <td align="left">POLY1305</td>
            <td align="right">ℓ / 2<sup>103</sup></td>
            <td align="right">ℓ / 2<sup>103</sup></td>
            <td align="right">q' ⋅ ℓ / 2<sup>103</sup></td>
          </tr>
          <tr>
            <td align="left">GCM_SST_14</td>
            <td align="right">1 / 2<sup>112</sup></td>
            <td align="right">1 / 2<sup>112</sup></td>
            <td align="right">q' / 2<sup>112</sup></td>
          </tr>
          <tr>
            <td align="left">GCM_SST_12</td>
            <td align="right">1 / 2<sup>96</sup></td>
            <td align="right">1 / 2<sup>96</sup></td>
            <td align="right">q' / 2<sup>96</sup></td>
          </tr>
        </tbody>
      </table>
      <table anchor="comp2">
        <name>Comparision with GCM and Poly1305 in a protocol like QUIC, where the maximum packet size 65536 bytes.</name>
        <thead>
          <tr>
            <th align="left">Name</th>
            <th align="right">Forgery probability before first forgery</th>
            <th align="right">Forgery probability after first forgery</th>
            <th align="right">Expected number of forgeries</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">GCM_16</td>
            <td align="right">1 / 2<sup>115</sup></td>
            <td align="right">1</td>
            <td align="right">q'<sup>2</sup> / 2<sup>116</sup></td>
          </tr>
          <tr>
            <td align="left">POLY1305</td>
            <td align="right">1 / 2<sup>91</sup></td>
            <td align="right">1 / 2<sup>91</sup></td>
            <td align="right">q' / 2<sup>91</sup></td>
          </tr>
          <tr>
            <td align="left">GCM_SST_14</td>
            <td align="right">1 / 2<sup>112</sup></td>
            <td align="right">1 / 2<sup>112</sup></td>
            <td align="right">q' / 2<sup>112</sup></td>
          </tr>
          <tr>
            <td align="left">GCM_SST_12</td>
            <td align="right">1 / 2<sup>96</sup></td>
            <td align="right">1 / 2<sup>96</sup></td>
            <td align="right">q' / 2<sup>96</sup></td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to assign the entries in the first column 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 anchor="sec-combined-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="2023" month="May"/>
          </front>
          <seriesInfo name="NIST" value="Federal Information Processing Standards Publication 197"/>
        </reference>
        <reference anchor="Rijndael" target="https://csrc.nist.gov/csrc/media/projects/cryptographic-standards-and-guidelines/documents/aes-development/rijndael-ammended.pdf">
          <front>
            <title>AES Proposal: Rijndael</title>
            <author initials="" surname="Joan Daemen">
              <organization/>
            </author>
            <author initials="" surname="Vincent Rijmen">
              <organization/>
            </author>
            <date year="2003" month="September"/>
          </front>
        </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="RFC4303">
          <front>
            <title>IP Encapsulating Security Payload (ESP)</title>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <date month="December" year="2005"/>
            <abstract>
              <t>This document describes an updated version of the Encapsulating Security Payload (ESP) protocol, which is designed to provide a mix of security services in IPv4 and IPv6. ESP is used to provide confidentiality, data origin authentication, connectionless integrity, an anti-replay service (a form of partial sequence integrity), and limited traffic flow confidentiality. This document obsoletes RFC 2406 (November 1998). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4303"/>
          <seriesInfo name="DOI" value="10.17487/RFC4303"/>
        </reference>
        <reference anchor="RFC6479">
          <front>
            <title>IPsec Anti-Replay Algorithm without Bit Shifting</title>
            <author fullname="X. Zhang" initials="X." surname="Zhang"/>
            <author fullname="T. Tsou" initials="T." surname="Tsou"/>
            <date month="January" year="2012"/>
            <abstract>
              <t>This document presents an alternate method to do the anti-replay checks and updates for IP Authentication Header (AH) and Encapsulating Security Protocol (ESP). The method defined in this document obviates the need for bit shifting and it reduces the number of times an anti-replay window is adjusted. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6479"/>
          <seriesInfo name="DOI" value="10.17487/RFC6479"/>
        </reference>
        <reference anchor="RFC7253">
          <front>
            <title>The OCB Authenticated-Encryption Algorithm</title>
            <author fullname="T. Krovetz" initials="T." surname="Krovetz"/>
            <author fullname="P. Rogaway" initials="P." surname="Rogaway"/>
            <date month="May" year="2014"/>
            <abstract>
              <t>This document specifies OCB, a shared-key blockcipher-based encryption scheme that provides confidentiality and authenticity for plaintexts and authenticity for associated data. This document is a product of the Crypto Forum Research Group (CFRG).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7253"/>
          <seriesInfo name="DOI" value="10.17487/RFC7253"/>
        </reference>
        <reference anchor="RFC9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="RFC9001">
          <front>
            <title>Using TLS to Secure QUIC</title>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <author fullname="S. Turner" initials="S." role="editor" surname="Turner"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document describes how Transport Layer Security (TLS) is used to secure QUIC.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9001"/>
          <seriesInfo name="DOI" value="10.17487/RFC9001"/>
        </reference>
        <reference anchor="RFC9605">
          <front>
            <title>Secure Frame (SFrame): Lightweight Authenticated Encryption for Real-Time Media</title>
            <author fullname="E. Omara" initials="E." surname="Omara"/>
            <author fullname="J. Uberti" initials="J." surname="Uberti"/>
            <author fullname="S. G. Murillo" initials="S. G." surname="Murillo"/>
            <author fullname="R. Barnes" initials="R." role="editor" surname="Barnes"/>
            <author fullname="Y. Fablet" initials="Y." surname="Fablet"/>
            <date month="August" 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.</t>
              <t>This 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="RFC" value="9605"/>
          <seriesInfo name="DOI" value="10.17487/RFC9605"/>
        </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="14" month="October" 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-13"/>
        </reference>
        <reference anchor="I-D.irtf-cfrg-aead-limits">
          <front>
            <title>Usage Limits on AEAD Algorithms</title>
            <author fullname="Felix Günther" initials="F." surname="Günther">
              <organization>IBM Research Europe - Zurich</organization>
            </author>
            <author fullname="Martin Thomson" initials="M." surname="Thomson">
              <organization>Mozilla</organization>
            </author>
            <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
              <organization>Cloudflare</organization>
            </author>
            <date day="9" month="October" year="2024"/>
            <abstract>
              <t>   An Authenticated Encryption with Associated Data (AEAD) algorithm
   provides confidentiality and integrity.  Excessive use of the same
   key can give an attacker advantages in breaking these properties.
   This document provides simple guidance for users of common AEAD
   functions about how to limit the use of keys in order to bound the
   advantage given to an attacker.  It considers limits in both single-
   and multi-key settings.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-irtf-cfrg-aead-limits-09"/>
        </reference>
        <reference anchor="UIA2" target="https://www.gsma.com/solutions-and-impact/technologies/security/wp-content/uploads/2019/05/uea2uia2d1v21.pdf">
          <front>
            <title>UEA2 and UIA2 Specification</title>
            <author initials="" surname="ETSI SAGE">
              <organization/>
            </author>
            <date year="2009" month="March"/>
          </front>
        </reference>
        <reference anchor="EIA3" target="https://www.gsma.com/solutions-and-impact/technologies/security/wp-content/uploads/2019/05/EEA3_EIA3_specification_v1_8.pdf">
          <front>
            <title>128-EEA3 and 128-EIA3 Specification</title>
            <author initials="" surname="ETSI SAGE">
              <organization/>
            </author>
            <date year="2019" month="January"/>
          </front>
        </reference>
        <reference anchor="BSI" target="https://www.bsi.bund.de/SharedDocs/Downloads/EN/BSI/Publications/TechGuidelines/TG02102/BSI-TR-02102-1.html">
          <front>
            <title>Cryptographic Mechanisms Recommendations and Key Lengths</title>
            <author>
              <organization/>
            </author>
            <date year="2024" month="February"/>
          </front>
          <seriesInfo name="BSI" value="Technical Guideline TR-02102-1"/>
        </reference>
        <reference anchor="Multiple" target="https://csrc.nist.gov/csrc/media/projects/block-cipher-techniques/documents/bcm/comments/cwc-gcm/multi-forge-01.pdf">
          <front>
            <title>Multiple Forgery Attacks Against Message Authentication Codes</title>
            <author initials="" surname="David McGrew">
              <organization/>
            </author>
            <author initials="" surname="Scott Fluhrer">
              <organization/>
            </author>
            <date year="2024" month="November"/>
          </front>
        </reference>
        <reference anchor="Inoue" target="https://eprint.iacr.org/2024/1928.pdf">
          <front>
            <title>Generic Security of GCM-SST</title>
            <author initials="" surname="Akiko Inoue">
              <organization/>
            </author>
            <author initials="" surname="Ashwin Jha">
              <organization/>
            </author>
            <author initials="" surname="Bart Mennink">
              <organization/>
            </author>
            <author initials="" surname="Kazuhiko Minematsu">
              <organization/>
            </author>
            <date year="2024" month="November"/>
          </front>
        </reference>
        <reference anchor="SAGE23" target="https://www.3gpp.org/ftp/TSG_SA/WG3_Security/TSGS3_110_Athens/docs/S3-230642.zip">
          <front>
            <title>Specification of the 256-bit air interface algorithms</title>
            <author initials="" surname="ETSI SAGE">
              <organization/>
            </author>
            <date year="2023" month="February"/>
          </front>
        </reference>
        <reference anchor="SAGE24" target="https://www.3gpp.org/ftp/tsg_sa/WG3_Security/TSGS3_117_Maastricht/docs/S3-243394.zip">
          <front>
            <title>Version 2.0 of 256-bit Confidentiality and Integrity Algorithms for the Air Interface</title>
            <author initials="" surname="ETSI SAGE">
              <organization/>
            </author>
            <date year="2024" month="August"/>
          </front>
        </reference>
        <reference anchor="WID23" target="https://www.3gpp.org/ftp/tsg_sa/WG3_Security/TSGS3_113_Chicago/Docs/S3-235072.zip">
          <front>
            <title>New WID on Milenage-256 algorithm</title>
            <author initials="" surname="3GPP">
              <organization/>
            </author>
            <date year="2023" month="November"/>
          </front>
        </reference>
        <reference anchor="WID24" target="https://www.3gpp.org/ftp/tsg_sa/TSG_SA/TSGS_103_Maastricht_2024-03/Docs/SP-240476.zip">
          <front>
            <title>New WID on Addition of 256-bit security Algorithms</title>
            <author initials="" surname="3GPP">
              <organization/>
            </author>
            <date year="2024" month="March"/>
          </front>
        </reference>
        <reference anchor="ZUC" target="https://eprint.iacr.org/2021/1439">
          <front>
            <title>An Addendum to the ZUC-256 Stream Cipher</title>
            <author initials="" surname="ZUC Design Team">
              <organization/>
            </author>
            <date year="2024" month="September"/>
          </front>
        </reference>
        <reference anchor="Options" target="https://csrc.nist.gov/csrc/media/Presentations/2024/options-for-encryption-algorithms-and-modes/images-media/sess-3-regenscheid-acm-workshop-2024.pdf">
          <front>
            <title>NIST Options in for Encryption Algorithms and Modes of Operation</title>
            <author initials="" surname="NIST">
              <organization/>
            </author>
            <date year="2024" month="June"/>
          </front>
        </reference>
        <reference anchor="Comments38B" target="https://csrc.nist.gov/csrc/media/Projects/crypto-publication-review-project/documents/initial-comments/sp800-38b-initial-public-comments-2024.pdf">
          <front>
            <title>Public Comments on SP 800-38B</title>
            <author initials="" surname="NIST">
              <organization/>
            </author>
            <date year="2024" month="September"/>
          </front>
        </reference>
        <reference anchor="Sec5G" target="https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=3169">
          <front>
            <title>Security architecture and procedures for 5G System</title>
            <author initials="" surname="3GPP TS 33 501">
              <organization/>
            </author>
            <date year="2024" month="September"/>
          </front>
        </reference>
        <reference anchor="Collision" target="https://eprint.iacr.org/2021/236">
          <front>
            <title>Collision Attacks on Galois/Counter Mode (GCM)</title>
            <author initials="J." surname="Preuß Mattsson">
              <organization/>
            </author>
            <date year="2024" month="September"/>
          </front>
        </reference>
        <reference anchor="Lindell" target="https://mailarchive.ietf.org/arch/browse/cfrg/?gbt=1&amp;index=cWpv0QgX2ltkWhtd3R9pEW7E1CA">
          <front>
            <title>Comment on AES-GCM-SST</title>
            <author initials="Y." surname="Lindell">
              <organization/>
            </author>
            <date year="2024" month="May"/>
          </front>
        </reference>
        <reference anchor="Degabriele" target="https://csrc.nist.gov/csrc/media/Presentations/2024/universal-hash-designs-for-an-accordion-mode/images-media/sess-7-degabriele-acm-workshop-2024.pdf">
          <front>
            <title>Universal Hash Designs for an Accordion Mode</title>
            <author initials="J." surname="Degabriele">
              <organization/>
            </author>
            <author initials="J." surname="Gilcher">
              <organization/>
            </author>
            <author initials="J." surname="Govinden">
              <organization/>
            </author>
            <author initials="K." surname="Paterson">
              <organization/>
            </author>
            <date year="2024" month="June"/>
          </front>
        </reference>
        <reference anchor="SMAC" target="https://eprint.iacr.org/2024/819">
          <front>
            <title>A new stand-alone MAC construct called SMAC</title>
            <author initials="D." surname="Wang">
              <organization/>
            </author>
            <author initials="A." surname="Maximov">
              <organization/>
            </author>
            <author initials="P." surname="Ekdahl">
              <organization/>
            </author>
            <author initials="T." surname="Johansson">
              <organization/>
            </author>
            <date year="2024" month="June"/>
          </front>
        </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 613?>

<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 -07 to -08:</t>
      <ul spacing="normal">
        <li>
          <t>Changed replay requirements to allow replay protection after decryption to align with protocols like QUIC and DTLS 1.3.</t>
        </li>
        <li>
          <t>Added a comparision between GCM_SST_14, GCM_SST_12, GCM_16, POLY1305 in protocols like QUIC</t>
        </li>
        <li>
          <t>Added text on the importance of behaving like an ideal MAC</t>
        </li>
        <li>
          <t>Consideration on replay protection mechanisms</t>
        </li>
        <li>
          <t>Added text and alternative implementations borrowed from NIST</t>
        </li>
        <li>
          <t>Added constrainst of 2^32 encryption invocations aligning with NIST</t>
        </li>
        <li>
          <t>Added text explainting that GCM-SST offer strictly better security than GCM and that "GCM allows universal forgery with lower complexity than GCM-SST, even when nonces are not reused", to avoid any misconceptions that Lindell's attack makes GCM-SST weaker than GCM in any way.</t>
        </li>
      </ul>
      <t>Changes from -06 to -07:</t>
      <ul spacing="normal">
        <li>
          <t>Replaced 80-bit tags with 96- and 112-bit tags.</t>
        </li>
        <li>
          <t>Changed P_MAX and A_MAX and made them tag_length dependent to enable 96- and 112-bit tags with near-ideal security.</t>
        </li>
        <li>
          <t>Clarified that GCM-SST tags have near-ideal forgery probabilities, even against multiple forgery attacks, which is not the case at all for GCM.</t>
        </li>
        <li>
          <t>Added formulas for expeted number of forgeries for GCM-SST (q ⋅ 2<sup>-tag_length</sup>) and GCM (q<sup>2</sup> ⋅ (n + m + 1) ⋅ 2<sup>-tag_length + 1</sup>) and stated that GCM-SST fulfils BSI recommendation of using 96-bit ideal MACs.</t>
        </li>
      </ul>
      <t>Changes from -04 to -06:</t>
      <ul spacing="normal">
        <li>
          <t>Reference to Inoue et al. for security proof, forgery probability graph, and improved attack when GCM-SST is used without replay protection.</t>
        </li>
        <li>
          <t>Editorial changes.</t>
        </li>
      </ul>
      <t>Changes from -03 to -04:</t>
      <ul spacing="normal">
        <li>
          <t>Added that GCM-SST is designed for unicast protocol with replay protection</t>
        </li>
        <li>
          <t>Update info on use cases for short tags</t>
        </li>
        <li>
          <t>Updated info on ETSI and 3GPP standardization of GCM-SST</t>
        </li>
        <li>
          <t>Added Rijndael-256-256</t>
        </li>
        <li>
          <t>Added that replay is required and that random nonces, multicast, and broadcast are forbidden based on attack from Yehuda Lindell</t>
        </li>
        <li>
          <t>Security considerations for active attacks on privacy as suggested by Thomas Bellebaum</t>
        </li>
        <li>
          <t>Improved text on H and Q being zero.</t>
        </li>
        <li>
          <t>Editorial changes.</t>
        </li>
      </ul>
      <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="Thomas Bellebaum"/>, <contact fullname="Scott Fluhrer"/>, <contact fullname="Eric Lagergren"/>, <contact fullname="Yehuda Lindell"/>, and <contact fullname="Erik Thormarker"/> 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:
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
JeUyBDHT81Vu8O8dw5Re5QcN4wVxdiSP5/2Dm1X1siTKZpJjJc3XoszyonJT
XqHkH9TJfcOilBhaU85kItFrZII3yFNg8H8xjPPXy3Gy+ts//cs/mw//9Ef5
0JBftolD2wR6yZZ+o59mJ+tn13MT6NrxtZlBnpSVF7LaY+dTtFzy2G2xXah7
1C9p0HnotJc/5eQhtkg2cej4U3awvnfY7ueZqipMuJfwRZdbRqteks/0r4RR
3cXsfZJNi0zZ6pczpbOerbJFbpUucuvfHhe29+ZCiT5kWDEDDS46sAxn8CaD
hX6v17F7TyVM9EidDt8ON1Jh4KDSwzCxF2mZo1V8x4zZ4E8lrrx0jj2g8fVi
Kem6hVwkCUtsp+jJfWpgx/xGr4PPujvzPMvpO1BkobLTTht3PCWyI6NlJ4De
W0ARBZPYn4VcLujqsK81Q/vNZHj58lFLPbYCCof6SaXy38v/se80+eLkW/VM
3almUzVbqtlWzY5qdhWWtdlXzYFqHqrmkWp6qjlWTV81A9XUqjlRP0kDb9+9
PT7hBjpN1WlRdmSnozpd1ekprG5noDqHqnOkOp7qjG0l+uc1V2q3FRybozbU
jPLHqtdUg4HqjpU3pp5ah6qNqoHqA61oNZi4DXwpw+6oVkf1O7QLPejyWXxP
HfZVN6APk7E6bNI4xgPl4YPvNnDGDRyNVStQ3SOlAS2A15o0V+3Th7GvNBqA
DmwqDb8b3x6hgV0ExXo8Use0F/qo5UGORD/p4NnBBAhRE09/Yi2G4EIaEwZ5
/mZ4+vbi5JsL80BOmNQom9qu1kP+o2lTVKh2MXz1mdM2Yyxr4KfK8en565P3
znj3IdL4ZxGp21TdFo2921Hd7s+gWftwT5qB/yYdYlOvq4IefYZweD01wEi0
ak/4YZtYXR+qSQnN3AY+k2b+n5ex+k3Vb6l+mySo34VKVv2+6g9U/1D1j1Tf
U/3xNiH7P5f5JocAKao1UIcgGMTcU0dNFRypw5Y6nBB9BmNaUozgEMI83iak
28AWITGPSVP1xqQyWloFbWIVLMqgpdo91cOTYE9iB39OBu32VBd6aUD56RCb
rkd6ruuTpgL3dCeftzh9X/VZP/YnuWaTf8CWmPKgrQYdUo0DMGqf1OvgUA2O
1MAjKg98NQjUQG8v8mSHVBzurWE6NPFeXwHowHYcdmnibZ+0Cp74A6IPOtZH
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
KN0+kTANEz6XQAc2/j93A4cyxrEAAA==

-->

</rfc>
