<?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-11" 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-11"/>
    <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="17"/>
    <area>IRTF</area>
    <workgroup>Crypto Forum</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 426?>

<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 430?>

<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 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 might 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>⊕ is the bitwise exclusive or operator XOR</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 <bcp14>MAY</bcp14> 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], Q = Z[1], M = Z[2]</t>
          </li>
          <li>
            <t>Let ct = P ⊕ 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 ⊕ L) ⊕ 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], Q = Z[1], M = Z[2]</t>
          </li>
          <li>
            <t>Let S = zeropad(A) || zeropad(ct)</t>
          </li>
          <li>
            <t>Let L = LE64(len(ct)) || LE64(len(A))</t>
          </li>
          <li>
            <t>Let X = POLYVAL(H, S[0], S[1], ...)</t>
          </li>
          <li>
            <t>Let full_tag = POLYVAL(Q, X ⊕ L) ⊕ 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 ⊕ 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). Security protocols employing GCM-SST <bcp14>MAY</bcp14> impose stricter limits on P_MAX and A_MAX. 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.</t>
        <t>For a given key, the number of invocations q of the encryption function <bcp14>SHALL NOT</bcp14> exceed 2<sup>32</sup>. Similarly, for a given key, the number of invocations v of the decryption function <bcp14>SHALL NOT</bcp14> exceed 2<sup>48</sup> for AES-GCM-SST, and 2<sup>88</sup> for Rijndael-GCM-SST. These constraints on v ensure that the Bernstein bound factor δ remains approximately 1 for Rijndael-GCM-SST at all times and for AES-GCM-SST in protocols where P_MAX = 2<sup>16</sup>, see <xref target="Security"/>.</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 Q 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>SHOULD</bcp14> add randomness to the nonce by XORing a unique number like a sequence number with a per-key random secret salt of the same length as the nonce. This significantly improves security against precomputation attacks and multi-key attacks <xref target="Bellare"/> and is for example implemented in TLS 1.3 <xref target="RFC8446"/>, OSCORE <xref target="RFC8613"/>, and <xref target="Ascon"/>. By increasing the nonce length from 96 bits to 224 bits, Rijndael-256-256-GCM-SST can offer significantly greater security against precomputation 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>The expected number of forgeries, when tag_length &lt; 128 - log2(ℓ) bits, depends on the keystream generator. For an ideal keystream generator, the expected number of forgeries is ≈ v / 2<sup>tag_length</sup>, where v is the number of decryption queries, which is ideal. For AES-GCM-SST, the expected number of forgeries is ≈ δ<sub>128</sub> ⋅ v / 2<sup>tag_length</sup>, where the Bernstein bound factor δ<sub>b</sub> ⪅ 1 + (q + v)<sup>2</sup> ⋅ ℓ<sup>2</sup> / 2<sup>b+1</sup>, which is near-ideal. This far outperforms AES-GCM, where the expected number of forgeries is ≈ δ<sub>128</sub> ⋅ v<sup>2</sup> ⋅ ℓ / 2<sup>tag_length+1</sup>. For Rijndael-GCM-SST, the expected number of forgeries is ≈ δ<sub>256</sub> ⋅ v / 2<sup>tag_length</sup> ≈ v / 2<sup>tag_length</sup>, which is ideal. For further details on the integrity advantages and expected number of forgeries for GCM and GCM-SST, see <xref target="Iwata"/>, <xref target="Inoue"/>, <xref target="Bernstein"/>, and <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 AES-GCM-SST with 96-bit tags satisfies when δ ≈ 1. 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 can 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"/>. Implementing replay protection by requiring ciphertexts to arrive in order and terminating the connection if a single decryption fails is <bcp14>NOT RECOMMENDED</bcp14> as this approach reduces robustness and availability while exposing the system to denial-of-service attacks <xref target="Robust"/>.</t>
      <t>A comparision between AES-GCM-SST, AES-GCM <xref target="RFC5116"/>, and ChaCha20-Poly1305 <xref target="RFC7539"/> in unicast security protocols with replay protection is presented in <xref target="comp1"/>, where v represents the number of decryption queries and ℓ = (P_MAX + A_MAX) / 16 + 1, see <xref target="Iwata"/>, <xref target="Procter"/>, and <xref target="Multiple"/>. Additionally, <xref target="comp2"/> provides a comparison with AES-GCM and ChaCha20-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 better integrity compared to AEAD_CHACHA20_POLY1305 <xref target="RFC7539"/>, with a 4-byte reduction in overhead. For AES-GCM-SST and ChaCha20-Poly1305, the expected number of forgeries are linear in v when replay protection is employed. For AES-GCM, replay protection does not help, and the expected number of forgeries grows quadratically with v.</t>
      <table anchor="comp1">
        <name>Comparision between AES-GCM-SST, AES-GCM, and ChaCha20-Poly1305 in unicast security protocols with replay protection. v is the number of decryption queries, ℓ is the maximum length of plaintext and associated data, measured in 128-bit chunks, and δ is the Bernstein bound factor.</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</td>
            <td align="right">ℓ / 2<sup>128</sup></td>
            <td align="right">1</td>
            <td align="right">v<sup>2</sup> ⋅ δ ⋅ ℓ / 2<sup>129</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">v ⋅ ℓ / 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">v ⋅ δ / 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">v ⋅ δ / 2<sup>96</sup></td>
          </tr>
        </tbody>
      </table>
      <table anchor="comp2">
        <name>Comparision between AES-GCM-SST, AES-GCM, and ChaCha20-Poly1305 in 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</td>
            <td align="right">1 / 2<sup>116</sup></td>
            <td align="right">1</td>
            <td align="right">v<sup>2</sup> ⋅ δ / 2<sup>117</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">v / 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">v / 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">v / 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="RFC7539">
          <front>
            <title>ChaCha20 and Poly1305 for IETF Protocols</title>
            <author fullname="Y. Nir" initials="Y." surname="Nir"/>
            <author fullname="A. Langley" initials="A." surname="Langley"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This document defines the ChaCha20 stream cipher as well as the use of the Poly1305 authenticator, both as stand-alone algorithms and as a "combined mode", or Authenticated Encryption with Associated Data (AEAD) algorithm.</t>
              <t>This document does not introduce any new crypto, but is meant to serve as a stable reference and an implementation guide. It is a product of the Crypto Forum Research Group (CFRG).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7539"/>
          <seriesInfo name="DOI" value="10.17487/RFC7539"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC8613">
          <front>
            <title>Object Security for Constrained RESTful Environments (OSCORE)</title>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="J. Mattsson" initials="J." surname="Mattsson"/>
            <author fullname="F. Palombini" initials="F." surname="Palombini"/>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <date month="July" year="2019"/>
            <abstract>
              <t>This document defines Object Security for Constrained RESTful Environments (OSCORE), a method for application-layer protection of the Constrained Application Protocol (CoAP), using CBOR Object Signing and Encryption (COSE). OSCORE provides end-to-end protection between endpoints communicating using CoAP or CoAP-mappable HTTP. OSCORE is designed for constrained nodes and networks supporting a range of proxy operations, including translation between different transport protocols.</t>
              <t>Although an optional functionality of CoAP, OSCORE alters CoAP options processing and IANA registration. Therefore, this document updates RFC 7252.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8613"/>
          <seriesInfo name="DOI" value="10.17487/RFC8613"/>
        </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="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="Iwata" target="https://eprint.iacr.org/2012/438.pdf">
          <front>
            <title>Breaking and Repairing GCM Security Proofs</title>
            <author initials="" surname="Tetsu Iwata">
              <organization/>
            </author>
            <author initials="" surname="Keisuke Ohashi">
              <organization/>
            </author>
            <author initials="" surname="Kazuhiko Minematsu">
              <organization/>
            </author>
            <date year="2012" month="August"/>
          </front>
        </reference>
        <reference anchor="Bernstein" target="https://cr.yp.to/antiforgery/permutations-20050323.pdf">
          <front>
            <title>Stronger Security Bounds for Permutations</title>
            <author initials="" surname="Daniel J Bernstein">
              <organization/>
            </author>
            <date year="2005" month="March"/>
          </front>
        </reference>
        <reference anchor="Procter" target="https://eprint.iacr.org/2014/613.pdf">
          <front>
            <title>A Security Analysis of the Composition of ChaCha20 and Poly1305</title>
            <author initials="" surname="Gordon Procter">
              <organization/>
            </author>
            <date year="2014" month="August"/>
          </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="Robust" target="https://link.springer.com/article/10.1007/s00145-023-09489-9">
          <front>
            <title>Robust Channels: Handling Unreliable Networks in the Record Layers of QUIC and DTLS 1.3</title>
            <author initials="M." surname="Fischlin">
              <organization/>
            </author>
            <author initials="F." surname="Günther">
              <organization/>
            </author>
            <author initials="C." surname="Janson">
              <organization/>
            </author>
            <date year="2024" month="January"/>
          </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="Ascon" target="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-232.ipd.pdf">
          <front>
            <title>Ascon-Based Lightweight Cryptography Standards for Constrained Devices</title>
            <author initials="" surname="Meltem Sönmez Turan">
              <organization/>
            </author>
            <author initials="" surname="Kerry A McKay">
              <organization/>
            </author>
            <author initials="" surname="Donghoon Chang">
              <organization/>
            </author>
            <author initials="" surname="Jinkeon Kang">
              <organization/>
            </author>
            <author initials="" surname="John Kelsey">
              <organization/>
            </author>
            <date year="2024" month="November"/>
          </front>
          <seriesInfo name="NIST" value="Special Publication 800-232 Initial Public Draft"/>
        </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 674?>

<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 -10 to -11:</t>
      <ul spacing="normal">
        <li>
          <t>Added that protocols can impose stricter limits on P_MAX and A_MAX</t>
        </li>
        <li>
          <t>Added constraints on the number of decryption queries v</t>
        </li>
        <li>
          <t>More info on replay protection implementation</t>
        </li>
        <li>
          <t>More info on nonce constructions</t>
        </li>
        <li>
          <t>Introduced the Bernstein bound factor δ instead of just assuming that δ &lt; 2</t>
        </li>
        <li>
          <t>Clarified differences between GCM-SST with different keystream generators (ideal, AES, Rijndael)</t>
        </li>
        <li>
          <t>Made it clearer that Table 1 is for unicast security protocols with replay protection and that Poly1305 is keyed with ChaCha20.</t>
        </li>
        <li>
          <t>Editorial changes including RFC 2119 terminology</t>
        </li>
      </ul>
      <t>Changes from -09 to -10:</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 -09:</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:
H4sIAAAAAAAAA+19S3McV5beHr/iDhgek+56PwFOq3uKIEhCIkiIgESpe2RE
VuatqmxUZZYyswBClByz8ETYnuWElw577XWHV1559v0j9Ev8nXPuzbxZlQUW
KKljXmo2UMi6z3PP+55zsl6v72VhNteP1f5zbx6HqTqKV1GmE3UaB1rdhNlM
nWt/lWh1PouTTF1401Q9fH50Wj8/v3i0v+eNx4m+pu7yaH/P9zI9jZPbxyqM
JvHeXhD7kbfADEHiTbL6wsuyNI2juj9JpnVPp/Wpv6inaVZvt/fS1XgRpmkY
R9ntEl1O3lw8U+qB8uZpjDnCKNBLjR9Rtl9T+yejJ/gVJ/iEdvt70Wox1snj
vQAreLznx1Gqo3SVPlZZstJ7WGR3z0u099i2v4mTq2kSr5Z4cpTcLrNYPYuT
1WJ/70rf4svg8Z6qq0i/y9RURzrxMiyMHq2i0I8T/pguveRqHkZTFYRploTj
VaYDNdfBVCd71zpaYSVKVc+ilOxy/41OtZf4M/Wc2tEXCy+c4wuC0V+HOps0
4mRKz6kVns+ybJk+bjapGT0Kr3XDNmvSg6YM2PytpiaXc6ztExqMxpjiUFdj
jILvoj/EUfMDB0N95gBpmjkzm74NGawRxh8a5UPfN2bZYr6/t+etMiDa4706
0CfMQpz8Y3XawBLSVSJ4dOQtlt408vBMHpxizJm+cb8AHB6r0cL7Lo7UWz0G
DifXoa9TfOUTghN6HnmRF1BjLdD2Tfe/9rhfw48XpVWMSqs49d6Fi/g6X8Ro
rt95QM3E+YZXcZyEPu2YTs8Qi/MoX835jQZeF6vx7HiNhYz319r02ljYp6WF
nSV69Y//k4Fi5pDnn8azqOLLn7LGP2DIhj3R8vr2ojjBN0DMx3vo8ObZUb/d
HjyWjwe9focfj47P6REIwUumGvhl0Su6ni9X47QRAXEb0/i6SR/oSfPZydl5
89XJ+UWDPjXah8P6ahm0G8tgIiMZdjYKrr3IBy0eRz5RHUhXnWeAqJcE6iEm
frTP7VMsW6fEqmQlSu3T6PsY4hl2m3hzdYIveTMxATAGGqVE8Ha0VJ2txvPQ
lwZYkAzMXAiQvlWdVqfLQAj/gA56Xr1lP038Yr/0V3Ohg9BrLpP4D9rP0ibv
I54m3nIW+vXUTl/H7/p0FQYafEinTTDc1QIsMm0SeQX6Ws/jJT1oJmYBdW+x
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

-->

</rfc>
