<?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-10" 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-10"/>
    <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="13"/>
    <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 Q 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 as each packet typically encodes only 20 ms of audio, forgery of individual packets is not a big concern and barely noticeable. 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 Q 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 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. 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 H and Q 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. Let ℓ = (P_MAX + A_MAX) / 16 + 1. When tag_length &lt; 128 - log2(ℓ) bits, the worst-case forgery probability is bounded by ≈ 2<sup>-tag_length</sup> <xref target="Nyberg"/>. The tags in the AEAD algorithms 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(ℓ) bits <xref target="GCM"/>. 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(ℓ) bits, the expected number of forgeries is ≈ q' ⋅ 2<sup>-tag_length + 1</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> ⋅ ℓ ⋅ 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 97-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> / q, where q 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> / q, where q 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 Q 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 Q 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 Q are generated with a permutation on different input, so H and Q 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 ℓ = (P_MAX + A_MAX) / 16 + 1, 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>128</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>111</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>95</sup></td>
          </tr>
        </tbody>
      </table>
      <table anchor="comp2">
        <name>Comparision with GCM and Poly1305 in a protocol like QUIC, where the maximum packet size is 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>116</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>111</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>95</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="12" month="December" 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-14"/>
        </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 -08 to -09:</t>
      <ul spacing="normal">
        <li>
          <t>Corrected some probabilites that were off by a factor 2</t>
        </li>
        <li>
          <t>Editorial changes.</t>
        </li>
      </ul>
      <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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
yCrGKim2APQ6WvLrJ7MLTu7u6IUK5rT0o7WGuV6uwNN+QIkL4De60kfmvwML
0Gsr+CotytJe2igNhwQ2r/Cp5qwE+UFFweELM8IFncpa0Z0J3i1vqdnoFadJ
TSbG088dSKU+cmm27FFbH9bexbVxlZa5PwtT1DTz/S7Qwi9BtHXFCAu6YMdq
KtKcbG4GWC2MTvbYNheIh0sxwDGJVETXzFC+tQR2yAvn6/G0vaBKtujAWhFn
/2TWT258MwdvqoJqJeDEIRjZrRMTY3BctiHMJDLZFOTqhEmKNssS/CkpqEon
eswbPejGIIZBDPX4GjwpsiNhQqBZbEMrG8fszNEV/peFfmnIb17TyZ18+XAn
1msqPxRDgTd211U4vgrCdayYLWifVCdy34vACcOB5tUulo+yizoK7z4Cxy7Y
46XKG8SeuFdhJPv1CyMWxnOeUMhdVEoWrvVm2jri/Bouey4eDRBvaMm9z8l0
tbBG2R05WZDAhpGIFtluMCey8XLa+tYdJDYYy3LXbQIqv/XJMsf2baEL+xJQ
iSHSIRI+gmGvNNqMHKp1AgL9SJRInfKT3O6UuUqMjxRtRD+qm2fJaIlKwlXD
TGvOORoYa4Jqid4Kp+Qaq6aJ+HlJghNF708hX2oBKaRRQ+tfa5bQQluxYV/O
khc8wDcFSkjvPrplwgGO8fiuCKvqC/Dbh4rR3J65MyzSYUTR9eW0mr8EtKCQ
Nw6EmOUUN1PfuPQrL+49A0xvojBvPDZgkr/Ta4/ZEg3TJLf0phoOt5k76gX6
fkZAmS/jkyv4rStPHTlyWsq4PqglRfZxgWhI94c27Hx3voOZwpR552WYCjHx
m4ywZTYEAmHlXArgTuIYvCqJ1pMcaTj+Q+8SEqLTW6XtDWbNZo4UslEse6H3
73PR1YDiBkMCsniLY4EZh4HkEi9x5LIidp9K4j/lP1Z3JkEUI2abplEuOrPG
vhjIK7ZX3OmUrWtzW4y/9hie2PuHoYlaNq7Fu1O5EFEKZ00gYzvkuOkD/C3d
lkpHl3bPsYh09HImCUdbbW9BsfFtNvwdnnf53tfIXuGxa1AtS3isDu0aRPeR
+ejtEP9rNS8I/DJzMrHpvebpJUiu6tSIpjJge3+Lpbnol/zes+XzPYIfZMzo
4gW5iALizYCoVDMAlM3DW531Vy0pl+KCmZ6vMjN+7xim9A496AzXj9ITcTzv
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
AA==

-->

</rfc>
