<?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-14" 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 Strong Secure Tags (GCM-SST)</title>
    <seriesInfo name="Internet-Draft" value="draft-mattsson-cfrg-aes-gcm-sst-14"/>
    <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="23"/>
    <area>IRTF</area>
    <workgroup>Crypto Forum</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 482?>

<t>This document defines the Galois Counter Mode with Strong Secure 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 high security. This document registers several instances of GCM-SST using Advanced Encryption Standard (AES) and Rijndael-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 486?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Advanced Encryption Standard (AES) in Galois Counter Mode (AES-GCM) <xref target="GCM"/> is a widely used AEAD algorithm <xref target="RFC5116"/> due to its attractive performance in both software and hardware as well as its provable security. During the NIST standardization, Ferguson pointed out two weaknesses in the GCM authentication function <xref target="Ferguson"/>. The first weakness significantly increases the probability of successful forgery for long messages. 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. The two weaknesses are problematic for all tag lengths but are especially critical when short tags are used.</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"/>. NIST has not addressed the weaknesses for longer tags, such as the absence of reforgeability resistance <xref target="Reforge"/>. When AES-GCM is used in QUIC <xref target="RFC9001"/>, the expected number of forgeries can be equivalent to that of an ideal MAC with a length of 64.4 bits. Reforgeability resistance is a key design criterion in modern AEAD algorithms <xref target="AEZ"/>.</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 algorithms to behave like ideal MACs. 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. 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 Strong Secure 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 such as TLS <xref target="RFC8446"/>, QUIC <xref target="RFC9000"/>, SRTP <xref target="RFC3711"/>, and PDCP <xref target="PDCP"/>, where its authentication tag behaves like an ideal MAC, including reforgeability resistance. Compared to Poly1305 <xref target="RFC7539"/> and GCM <xref target="RFC5116"/>, GCM-SST can provide better integrity with less overhead. 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) <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 for authentication and key generation in 3GPP TS 35.234–35.237 <xref target="WID23"/>. NIST plans to standardize Rijndael-256 <xref target="Plans"/>, although there might be revisions to the key schedule. Rijndael-256 has very good performance on modern x86-64 platforms equipped with AES-NI and VAES instructions <xref target="Ducker"/>.</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 Strong Secure Tags (GCM-SST)</name>
      <t>This section defines the Galois Counter Mode with Strong Secure 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>
        <t>The encoding of L aligns with existing implementations of GCM.</t>
      </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 protection, 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. Protocols with nonce-hiding mechanisms <xref target="Bellare"/>, such as QUIC <xref target="RFC9001"/>, implement replay protection after decryption to mitigate timing side-channel attacks.</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 in GCM-SST</name>
      <t>This section defines Advanced Encryption Standard (AES) and Rijndael with 256-bit keys and blocks (Rijndael-256) <xref target="Rijndael"/> in Galois Counter Mode with Strong Secure 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 (Rijndael-GCM-SST), the keystream generator is Rijndael-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 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, 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>
          <li>
            <t>Q_MAX (maximum number of invocations of the encryption function) is 2<sup>32</sup> for AES-GCM-SST, while for Rijndael-GCM-SST, it is 2<sup>88</sup>.</t>
          </li>
          <li>
            <t>V_MAX (maximum number of invocations of the decryption function) is 2<sup>48</sup> for AES-GCM-SST, while for Rijndael-GCM-SST, it is 2<sup>88</sup>.</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>The V_MAX constraint ensures that the Bernstein bound factor is δ ≈ 1 for AES-GCM-SST in protocols where ℓ ≈ 2<sup>12</sup>, such as QUIC <xref target="RFC9000"/>, and always δ ≈ 1 for Rijndael-GCM-SST. In addition to restricting the Bernstein bound factor, the Q_MAX constraint also keeps the attack complexity of distinguishing attacks at an acceptable level. Since encryption and decryption queries play an equivalent role in the Bernstein bound, it follows that Q_MAX ≤ V_MAX. Security protocols employing GCM-SST <bcp14>MAY</bcp14> impose stricter limits on Q_MAX and V_MAX. Refer to <xref target="Security"/> for further details.</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 strictly 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-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>
      <section anchor="integrity">
        <name>Integrity</name>
        <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>
      </section>
      <section anchor="confidentiality">
        <name>Confidentiality</name>
        <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-GCM-SST against passive attackers is significantly higher. The complexity of distinguishing attacks for Rijndael-GCM-SST is approximately 2<sup>257</sup> / q, where q is the number of invocations of the Rijndael-256 encryption function. While Rijndael-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>
      </section>
      <section anchor="weak-keys">
        <name>Weak keys</name>
        <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. Due to the masking with M, 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>
      </section>
      <section anchor="replay-protection">
        <name>Replay Protection</name>
        <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>
      </section>
      <section anchor="comparison-with-chacha20-poly1305-and-aes-gcm">
        <name>Comparison with ChaCha20-Poly1305 and AES-GCM</name>
        <t><xref target="comp1"/> compares the integrity of AES-GCM-SST, ChaCha20-Poly1305 <xref target="RFC7539"/>, and AES-GCM <xref target="RFC5116"/> in unicast security protocols with replay protection, where v represents the number of decryption queries. In Poly1305 and GCM, the forgery probability depends on ℓ = (P_MAX + A_MAX) / 16 + 1. In AES-based algorithms, the Bernstein bound introduces a factor δ ⪅ 1 + (q + v)<sup>2</sup> ⋅ ℓ<sup>2</sup> / 2<sup>129</sup>. Notably, GCM does not provide any reforgeability resistance, which significantly increases the expected number of forgeries. Refer to <xref target="Procter"/>, <xref target="Iwata"/>, and <xref target="Multiple"/> for further details.</t>
        <table anchor="comp1">
          <name>Comparison between AES-GCM-SST, ChaCha20-Poly1305, and AES-GCM 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_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>
            <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</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>
          </tbody>
        </table>
        <t><xref target="comp2"/> compares the integrity of AES-GCM-SST, ChaCha20-Poly1305 <xref target="RFC7539"/>, and AES-GCM <xref target="RFC5116"/> in unicast QUIC <xref target="RFC9000"/><xref target="RFC9001"/>, a security protocol with mandatory replay protection, and where the combined size of plaintext and associated data is less than ≈ 2<sup>16</sup> bytes (ℓ ≈ 2<sup>12</sup>). GCM_SST_14 and GCM_SST_12 provide better integrity than ChaCha20-Poly1305 <xref target="RFC7539"/> and AES-GCM <xref target="RFC5116"/>, while also reducing overhead by 2–4 bytes. For AES-GCM-SST and ChaCha20-Poly1305, the expected number of forgeries is linear in v when replay protection is employed. ChaCha20-Poly1305 achieves a security level equivalent to that of an ideal MAC with a length of 91 bits. For AES-GCM, replay protection does not mitigate reforgeries, the expected number of forgeries grows quadratically with v, and GCM provides significantly worse integrity than AES-GCM-SST and ChaCha20-Poly1305 unless v is kept very small. With v = 2<sup>52</sup> as allowed for AES-GCM in QUIC <xref target="RFC9001"/>, the expected number of forgeries for AES-GCM is equivalent to that of an ideal MAC with a length of 64.4 bits. The effective tag length of AES-GCM in QUIC is 117 - log2(δ ⋅ v).</t>
        <table anchor="comp2">
          <name>Comparison between AES-GCM-SST, ChaCha20-Poly1305, and AES-GCM in unicast QUIC, where the maximum packet size is 65536 bytes.</name>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="right">Tag length (bytes)</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_SST_14</td>
              <td align="right">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">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>
            <tr>
              <td align="left">POLY1305</td>
              <td align="right">16</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</td>
              <td align="right">16</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>
          </tbody>
        </table>
      </section>
    </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="Reforge" target="https://eprint.iacr.org/2017/332.pdf">
          <front>
            <title>Reforgeability of Authenticated Encryption Schemes</title>
            <author initials="" surname="Christian Forler">
              <organization/>
            </author>
            <author initials="" surname="Eik List">
              <organization/>
            </author>
            <author initials="" surname="Stefan Lucks">
              <organization/>
            </author>
            <author initials="" surname="akob Wenzel">
              <organization/>
            </author>
            <date year="2017" month="April"/>
          </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="Ducker" target="https://rd.springer.com/chapter/10.1007/978-3-030-97652-1_18">
          <front>
            <title>Software Optimization of Rijndael for Modern x86-64 Platforms</title>
            <author initials="" surname="Nir Drucker">
              <organization/>
            </author>
            <author initials="" surname="Shay Gueron">
              <organization/>
            </author>
            <date year="2022" month="May"/>
          </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>
        <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="Plans" target="https://csrc.nist.gov/pubs/sp/800/197/iprd">
          <front>
            <title>NIST Proposes to Standardize a Wider Variant of AES</title>
            <author initials="" surname="NIST">
              <organization/>
            </author>
            <date year="2024" month="December"/>
          </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="PDCP" target="https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=3196">
          <front>
            <title>NR; Packet Data Convergence Protocol (PDCP) specification</title>
            <author initials="" surname="3GPP TS 38 323">
              <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="AEZ" target="https://eprint.iacr.org/2014/793.pdf">
          <front>
            <title>Robust Authenticated-Encryption: AEZ and the Problem that it Solves</title>
            <author initials="" surname="Viet Tung Hoang">
              <organization/>
            </author>
            <author initials="" surname="Ted Krovetz">
              <organization/>
            </author>
            <author initials="" surname="Phillip Rogaway">
              <organization/>
            </author>
            <date year="2017" month="March"/>
          </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 Strong Secure 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 Strong Secure 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>
      </references>
    </references>
    <?line 748?>

<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[
         K = { 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f }
         N = { 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[
         A = { }
         P = { }
         L = { 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 42 b0 0a ec b0 bc eb 8d }
        ct = { }
]]></artwork>
        </section>
        <section numbered="false" anchor="case-1b">
          <name>Case #1b</name>
          <artwork><![CDATA[
         A = { 40 41 42 43 44 }
         P = { }
         L = { 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 d5 f3 08 a5 70 4e 2f d5 }
        ct = { }
]]></artwork>
        </section>
        <section numbered="false" anchor="case-1c">
          <name>Case #1c</name>
          <artwork><![CDATA[
         A = { }
         P = { 60 61 62 63 64 65 66 67 68 69 6a 6b }
         L = { 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 fd 1a 90 d9 81 8f cb 7b }
        ct = { 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[
         A = { 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f }
         P = { 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 }
         L = { 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 0b 84 48 2c d0 14 c7 40 }
        ct = { 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[
         A = { 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e }
         P = { 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
               70 }
         L = { 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 11 43 ab e9 31 5a d7 eb }
        ct = { 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[
         K = { 29 23 be 84 e1 6c d6 ae 52 90 49 f1 f1 bb e9 eb }
         N = { 9a 50 ee 40 78 36 fd 12 49 32 f6 9e }
         A = { 1f 03 5a 7d 09 38 25 1f 5d d4 cb fc 96 f5 45 3b
               13 0d }
         P = { 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 }
         L = { 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 }
        ct = { 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[
         K = { 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 }
         N = { 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[
         A = { }
         P = { }
         L = { 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 }
        ct = { }
]]></artwork>
        </section>
        <section numbered="false" anchor="case-3b">
          <name>Case #3b</name>
          <artwork><![CDATA[
         A = { 40 41 42 43 44 }
         P = { }
         L = { 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 }
        ct = { }
]]></artwork>
        </section>
        <section numbered="false" anchor="case-3c">
          <name>Case #3c</name>
          <artwork><![CDATA[
         A = { }
         P = { 60 61 62 63 64 65 66 67 68 69 6a 6b }
         L = { 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 }
        ct = { 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[
         A = { 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f }
         P = { 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 }
         L = { 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 }
        ct = { 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[
         A = { 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e }
         P = { 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
               70 }
         L = { 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 }
        ct = { 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[
         K = { 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 }
         N = { 9a 50 ee 40 78 36 fd 12 49 32 f6 9e }
         A = { 1f 03 5a 7d 09 38 25 1f 5d d4 cb fc 96 f5 45 3b
               13 0d }
         P = { 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 }
         L = { 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 73 49 bf 3c }
        ct = { 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 -13 to -14:</t>
      <ul spacing="normal">
        <li>
          <t>Explained the formatting of L as well as why replay protection after decryption may be used.</t>
        </li>
        <li>
          <t>Updated link to NIST's plans to standardize Rijndael-256 and aligned the name with NIST</t>
        </li>
        <li>
          <t>Aligned test vector tag length and terminology with the rest of the specification</t>
        </li>
        <li>
          <t>Editorial changes</t>
        </li>
      </ul>
      <t>Changes from -12 to -13:</t>
      <ul spacing="normal">
        <li>
          <t>Changed name to Strong Secure Tags to better illustrate that GCM-SST is intended to improve security for all tag lengths.</t>
        </li>
        <li>
          <t>Editorial changes</t>
        </li>
      </ul>
      <t>Changes from -11 to -12:</t>
      <ul spacing="normal">
        <li>
          <t>Introduced Q_MAX and V_MAX as formal names for the invocation constraints.</t>
        </li>
        <li>
          <t>Described that masking is important to mitigate weak keys.</t>
        </li>
        <li>
          <t>Improved and expanded the section comparing GCM-SST with Poly1305 and GCM.</t>
        </li>
        <li>
          <t>Editorial changes including subsections in the security considerations.</t>
        </li>
      </ul>
      <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 probabilities 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 comparison 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 constraints of 2^32 encryption invocations aligning with NIST</t>
        </li>
        <li>
          <t>Added text explaining 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 expected 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"/>, <contact fullname="Kazuhiko Minematsu"/>, 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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

-->

</rfc>
