<?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-12" category="info" consensus="true" submissionType="IRTF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.25.0 -->
  <front>
    <title abbrev="GCM-SST">Galois Counter Mode with Secure Short Tags (GCM-SST)</title>
    <seriesInfo name="Internet-Draft" value="draft-mattsson-cfrg-aes-gcm-sst-12"/>
    <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="20"/>
    <area>IRTF</area>
    <workgroup>Crypto Forum</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 434?>

<t>This document defines the Galois Counter Mode with Secure Short Tags (GCM-SST) Authenticated Encryption with Associated Data (AEAD) algorithm. GCM-SST can be used with any keystream generator, not just 128-bit block ciphers. The main differences from GCM are the use of an additional subkey Q, the derivation of fresh subkeys H and Q for each nonce, and the replacement of the GHASH function with the POLYVAL function from AES-GCM-SIV. This enables truncated tags with near-ideal forgery probabilities, even against multiple forgery attacks, which are significant security improvements over GCM. GCM-SST is designed for unicast security protocols with replay protection and addresses the strong industry demand for fast encryption with less overhead and secure short tags. This document registers several instances of GCM-SST using Advanced Encryption Standard (AES) and Rijndael-256-256.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://emanjon.github.io/draft-mattsson-cfrg-aes-gcm-sst/draft-mattsson-cfrg-aes-gcm-sst.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-mattsson-cfrg-aes-gcm-sst/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Crypto Forum Research Group mailing list (<eref target="mailto:cfrg@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/search/?email_list=cfrg"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/cfrg/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/emanjon/draft-mattsson-cfrg-aes-gcm-sst"/>.</t>
    </note>
  </front>
  <middle>
    <?line 438?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Advanced Encryption Standard (AES) in Galois Counter Mode (AES-GCM) <xref target="GCM"/> is a widely used AEAD algorithm <xref target="RFC5116"/> due to its attractive performance in both software and hardware as well as its provable security. During the NIST standardization, Ferguson pointed out two weaknesses in the GCM authentication function <xref target="Ferguson"/>, particularly problematic when short tags are used. The first weakness significantly increases the probability of successful forgery 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.</t>
      <t>In a comment to NIST, Nyberg et al. <xref target="Nyberg"/> explained how small changes based on proven theoretical constructions mitigate these weaknesses. Unfortunately, NIST did not follow the advice from Nyberg et al. and instead specified additional requirements for use with short tags in Appendix C of <xref target="GCM"/>. NIST did not give any motivations for the parameter choices or the assumed security levels. Mattsson et al. <xref target="Mattsson"/> later demonstrated that attackers can almost always obtain feedback on the success or failure of forgery attempts, contradicting the assumptions NIST made for short tags. Furthermore, NIST appears to have relied on non-optimal attacks when calculating the parameters. Rogaway <xref target="Rogaway"/> criticizes the use of GCM with short tags and recommends prohibiting tags shorter than 96 bits. Reflecting the critique, NIST is planning to remove support for GCM with tags shorter than 96 bits <xref target="Revise"/>. While Counter with CBC-MAC (CCM) <xref target="RFC5116"/> with short tags has forgery probabilities close to ideal, its performance is lower than that of GCM.</t>
      <t>Short tags are widely used, 32-bit tags are standard in most radio link layers including 5G <xref target="Sec5G"/>, 64-bit tags are very common in transport and application layers of the Internet of Things, and 32-, 64-, and 80-bit tags are common in media-encryption applications. Audio packets are small, numerous, and ephemeral. As such, they are highly sensitive to cryptographic overhead, but as each packet typically encodes only 20 ms of audio, forgery of individual packets is not a big concern and barely noticeable. Due to its weaknesses, GCM is typically not used with short tags. The result is either decreased performance from larger than needed tags <xref target="MoQ"/>, or decreased performance from using much slower constructions such as AES-CTR combined with HMAC <xref target="RFC3711"/><xref target="RFC9605"/>. Short tags are also useful to protect packets whose payloads are secured at higher layers, protocols where the security is given by the sum of the tag lengths, and in constrained radio networks, where the low bandwidth preclude many repeated trial. For all applications of short tags it is essential that the MAC behaves like an ideal MAC, i.e., the forgery probability is ≈ 2<sup>-tag_length</sup> even after many generated MACs, many forgery attempts, and after a successful forgery. Users and implementors of cryptography expect algorithms to behave like ideal MACs. For a comprehensive discussion on the use cases and requirements of short tags, see <xref target="Comments38B"/>.</t>
      <t>This document defines the Galois Counter Mode with Secure Short Tags (GCM-SST) Authenticated Encryption with Associated Data (AEAD) algorithm following the recommendations from Nyberg et al. <xref target="Nyberg"/>. GCM-SST is defined with a general interface, allowing it to be used with any keystream generator, not just 128-bit block ciphers. The main differences from GCM <xref target="GCM"/> are the introduction of an additional subkey Q, the derivation of fresh subkeys H and Q for each nonce, and the replacement of the GHASH function with the POLYVAL function from AES-GCM-SIV <xref target="RFC8452"/>, see <xref target="GCM-SST"/>. These changes enable truncated tags with near-ideal forgery probabilities, even against multiple forgery attacks, see <xref target="Security"/>. GCM-SST is designed for use in unicast security protocols with replay protection 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. 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-256) <xref target="Rijndael"/> in counter mode as keystream generators and with tag lengths of 32, 64, 96, and 112 bits, see <xref target="AES-GCM-SST"/>. The authentication tags in all registered GCM-SST instances behave like ideal MACs, which is not the case at all for GCM <xref target="GCM"/>. 3GPP has standardized the use of Rijndael-256-256 for authentication and key generation in 3GPP TS 35.234–35.237 <xref target="WID23"/>. NIST is anticipated to standardize Rijndael-256-256 <xref target="Options"/>, although there might be revisions to the key schedule.</t>
      <t>GCM-SST was originally developed by ETSI SAGE, under the name Mac5G, following a request from 3GPP, with several years of discussion and refinement contributing to its design <xref target="SAGE23"/><xref target="SAGE24"/>.  Mac5G is constructed similarly to the integrity algorithms used for SNOW 3G <xref target="UIA2"/> and ZUC <xref target="EIA3"/>. 3GPP has decided to standardize GCM-SST for use with AES-256 <xref target="AES"/>, SNOW 5G <xref target="SNOW"/>, and ZUC-256 <xref target="ZUC"/> in 3GPP TS 35.240–35.248 <xref target="WID24"/>.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>The following notation is used in the document:</t>
      <ul spacing="normal">
        <li>
          <t>K is the key as defined in <xref target="RFC5116"/></t>
        </li>
        <li>
          <t>N is the nonce as defined in <xref target="RFC5116"/></t>
        </li>
        <li>
          <t>A is the associated data as defined in <xref target="RFC5116"/></t>
        </li>
        <li>
          <t>P is the plaintext as defined in <xref target="RFC5116"/></t>
        </li>
        <li>
          <t>Z is the keystream</t>
        </li>
        <li>
          <t>ct is the ciphertext</t>
        </li>
        <li>
          <t>tag is the authentication tag</t>
        </li>
        <li>
          <t>= is the assignment operator</t>
        </li>
        <li>
          <t>!= is the inequality operator</t>
        </li>
        <li>
          <t>x || y is concatenation of the octet strings x and y</t>
        </li>
        <li>
          <t>⊕ is the bitwise exclusive or operator XOR</t>
        </li>
        <li>
          <t>len(x) is the length of x in bits.</t>
        </li>
        <li>
          <t>zeropad(x) right pads an octet string x with zeroes to a multiple of 128 bits</t>
        </li>
        <li>
          <t>truncate(x, t) is the truncation operation.  The first t bits of x are kept</t>
        </li>
        <li>
          <t>n is the number of 128-bit chunks in zeropad(P)</t>
        </li>
        <li>
          <t>m is the number of 128-bit chunks in zeropad(A)</t>
        </li>
        <li>
          <t>POLYVAL is defined in <xref target="RFC8452"/></t>
        </li>
        <li>
          <t>BE32(x) is the big-endian encoding of 32-bit integer x</t>
        </li>
        <li>
          <t>LE64(x) is the little-endian encoding of 64-bit integer x</t>
        </li>
        <li>
          <t>V[y] is the 128-bit chunk with index y in the array V; the first chunk has index 0.</t>
        </li>
        <li>
          <t>V[x:y] are the range of chunks x to y in the array V</t>
        </li>
      </ul>
    </section>
    <section anchor="GCM-SST">
      <name>Galois Counter Mode with Secure Short Tags (GCM-SST)</name>
      <t>This section defines the Galois Counter Mode with Secure Short Tags (GCM-SST) AEAD algorithm following the recommendations from Nyberg et al. <xref target="Nyberg"/>. GCM-SST is defined with a general interface so that it can be used with any keystream generator, not just a 128-bit block cipher.</t>
      <t>GCM-SST adheres to an AEAD interface <xref target="RFC5116"/> and the encryption function takes four variable-length octet string parameters. A secret key K, a nonce N, the associated data A, and a plaintext P. The keystream generator is instantiated with K and N. The keystream <bcp14>MAY</bcp14> depend on P and A. The minimum and maximum lengths of all parameters depend on the keystream generator. The keystream generator produces a keystream Z consisting of 128-bit chunks where the first three chunks Z[0], Z[1], and Z[2] are used as the three subkeys H, Q, and M. The following keystream chunks Z[3], Z[4], ..., Z[n + 2] are used to encrypt the plaintext. Instead of GHASH <xref target="GCM"/>, GCM-SST makes use of the POLYVAL function from AES-GCM-SIV <xref target="RFC8452"/>, which results in more efficient software implementations on little-endian architectures. GHASH and POLYVAL can be defined in terms of one another <xref target="RFC8452"/>. The subkeys H and Q are field elements used in POLYVAL while the subkey M is used for the final masking of the tag. Both encryption and decryption are only defined on inputs that are a whole number of octets. Figures illustrating the GCM-SST encryption and decryption functions can be found in <xref target="SST1"/>, <xref target="SST2"/>, and <xref target="Inoue"/>.</t>
      <t>For every computational procedure that is specified in this document, a conforming implementation <bcp14>MAY</bcp14> replace the given set of steps with any mathematically equivalent set of steps. In other words, different procedures that produce the correct output for every input are permitted.</t>
      <section anchor="authenticated-encryption-function">
        <name>Authenticated Encryption Function</name>
        <t>The encryption function Encrypt(K, N, A, P) encrypts a plaintext and returns the ciphertext along with an authentication tag that verifies the authenticity of the plaintext and associated data, if provided.</t>
        <t>Prerequisites and security:</t>
        <ul spacing="normal">
          <li>
            <t>The key <bcp14>MUST</bcp14> be randomly chosen from a uniform distribution.</t>
          </li>
          <li>
            <t>For a given key, a nonce <bcp14>MUST NOT</bcp14> be reused under any circumstances.</t>
          </li>
          <li>
            <t>Each key <bcp14>MUST</bcp14> be restricted to a single tag_length.</t>
          </li>
          <li>
            <t>Definitions of supported input-output lengths.</t>
          </li>
        </ul>
        <t>Inputs:</t>
        <ul spacing="normal">
          <li>
            <t>Key K (variable-length octet string)</t>
          </li>
          <li>
            <t>Nonce N (variable-length octet string)</t>
          </li>
          <li>
            <t>Associated data A (variable-length octet string)</t>
          </li>
          <li>
            <t>Plaintext P (variable-length octet string)</t>
          </li>
        </ul>
        <t>Outputs:</t>
        <ul spacing="normal">
          <li>
            <t>Ciphertext ct (variable-length octet string)</t>
          </li>
          <li>
            <t>Tag tag (octet string with length tag_length)</t>
          </li>
        </ul>
        <t>Steps:</t>
        <ol spacing="normal" type="1"><li>
            <t>If the lengths of K, N, A, P are not supported return error and abort</t>
          </li>
          <li>
            <t>Initiate keystream generator with K and N</t>
          </li>
          <li>
            <t>Let H = Z[0], Q = Z[1], M = Z[2]</t>
          </li>
          <li>
            <t>Let ct = P ⊕ truncate(Z[3:n + 2], len(P))</t>
          </li>
          <li>
            <t>Let S = zeropad(A) || zeropad(ct)</t>
          </li>
          <li>
            <t>Let L = LE64(len(ct)) || LE64(len(A))</t>
          </li>
          <li>
            <t>Let X = POLYVAL(H, S[0], S[1], ...)</t>
          </li>
          <li>
            <t>Let full_tag = POLYVAL(Q, X ⊕ L) ⊕ M</t>
          </li>
          <li>
            <t>Let tag = truncate(full_tag, tag_length)</t>
          </li>
          <li>
            <t>Return (ct, tag)</t>
          </li>
        </ol>
      </section>
      <section anchor="authenticated-decryption-function">
        <name>Authenticated Decryption Function</name>
        <t>The decryption function Decrypt(K, N, A, ct, tag) decrypts a ciphertext, verifies that the authentication tag is correct, and returns the plaintext on success or an error if the tag verification failed.</t>
        <t>Prerequisites and security:</t>
        <ul spacing="normal">
          <li>
            <t>The calculation of the plaintext P (step 10) <bcp14>MAY</bcp14> be done in parallel with the tag verification (step 3-9). If the tag verification fails, the plaintext P and the expected_tag <bcp14>MUST NOT</bcp14> be given as output.</t>
          </li>
          <li>
            <t>Each key <bcp14>MUST</bcp14> be restricted to a single tag_length.</t>
          </li>
          <li>
            <t>Definitions of supported input-output lengths.</t>
          </li>
        </ul>
        <t>Inputs:</t>
        <ul spacing="normal">
          <li>
            <t>Key K (variable-length octet string)</t>
          </li>
          <li>
            <t>Nonce N (variable-length octet string)</t>
          </li>
          <li>
            <t>Associated data A (variable-length octet string)</t>
          </li>
          <li>
            <t>Ciphertext ct (variable-length octet string)</t>
          </li>
          <li>
            <t>Tag tag (octet string with length tag_length)</t>
          </li>
        </ul>
        <t>Outputs:</t>
        <ul spacing="normal">
          <li>
            <t>Plaintext P (variable-length octet string) or an error indicating that the authentication tag is invalid for the given inputs.</t>
          </li>
        </ul>
        <t>Steps:</t>
        <ol spacing="normal" type="1"><li>
            <t>If the lengths of K, N, A, or ct are not supported, or if len(tag) != tag_length return error and abort</t>
          </li>
          <li>
            <t>Initiate keystream generator with K and N</t>
          </li>
          <li>
            <t>Let H = Z[0], Q = Z[1], M = Z[2]</t>
          </li>
          <li>
            <t>Let S = zeropad(A) || zeropad(ct)</t>
          </li>
          <li>
            <t>Let L = LE64(len(ct)) || LE64(len(A))</t>
          </li>
          <li>
            <t>Let X = POLYVAL(H, S[0], S[1], ...)</t>
          </li>
          <li>
            <t>Let full_tag = POLYVAL(Q, X ⊕ L) ⊕ M</t>
          </li>
          <li>
            <t>Let expected_tag = truncate(full_tag, tag_length)</t>
          </li>
          <li>
            <t>If tag != expected_tag, return error and abort</t>
          </li>
          <li>
            <t>Let P = ct ⊕ truncate(Z[3:n + 2], len(ct))</t>
          </li>
          <li>
            <t>If N passes replay protrection, return P</t>
          </li>
        </ol>
        <t>The comparison of tag and expected_tag in step 9 <bcp14>MUST</bcp14> be performed in constant time to prevent any information leakage about the position of the first mismatched byte. For a given key, a plaintext <bcp14>MUST NOT</bcp14> be returned unless it is certain that a plaintext has not been returned for the same nonce. Replay protection can be performed either before step 1 or during step 11.</t>
      </section>
      <section anchor="encoding-ct-tag-tuples">
        <name>Encoding (ct, tag) Tuples</name>
        <t>Applications <bcp14>MAY</bcp14> keep the ciphertext and the authentication tag in distinct structures or encode both as a single octet string C. In the latter case, the tag <bcp14>MUST</bcp14> immediately follow the ciphertext ct:</t>
        <t>C = ct || tag</t>
      </section>
    </section>
    <section anchor="AES-GCM-SST">
      <name>AES and Rijndael-256-256 in GCM-SST</name>
      <t>This section defines Advanced Encryption Standard (AES) and Rijndael with 256-bit keys and blocks (Rijndael-256-256) <xref target="Rijndael"/> in Galois Counter Mode with Secure Short Tags.</t>
      <section anchor="aes-gcm-sst">
        <name>AES-GCM-SST</name>
        <t>When GCM-SSM is instantiated with AES (AES-GCM-SST), the keystream generator is AES in counter mode</t>
        <t>Z[i] = ENC(K, N || BE32(i))</t>
        <t>where ENC is the AES Cipher function <xref target="AES"/>. Big-endian counters align with existing implementations of counter mode.</t>
      </section>
      <section anchor="rijndael-gcm-sst">
        <name>Rijndael-GCM-SST</name>
        <t>When GCM-SST is instantiated with Rijndael-256-256 (Rijndael-GCM-SST), the keystream generator is Rijndael-256-256 in counter mode</t>
        <t>Z[2i]   = ENC(K, N || BE32(i))[0]</t>
        <t>Z[2i+1] = ENC(K, N || BE32(i))[1]</t>
        <t>where ENC is the Rijndael-256-256 Cipher function <xref target="Rijndael"/>.</t>
      </section>
      <section anchor="instances">
        <name>AEAD Instances and Constraints</name>
        <t>We define twelve AEAD instances, in the format of <xref target="RFC5116"/>, that use AES-GCM-SST and Rijndael-GCM-SST with tag lengths of 32, 64, 96, and 112 bits. The key length and tag length are related to different security properties, and an application encrypting audio packets with small tags might require 256-bit confidentiality.</t>
        <table anchor="iana-algs">
          <name>AEAD Algorithms</name>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="right">K_LEN (bytes)</th>
              <th align="right">P_MAX = A_MAX (bytes)</th>
              <th align="right">tag_length (bits)</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">AEAD_AES_128_GCM_SST_4</td>
              <td align="right">16</td>
              <td align="right">2<sup>36</sup> - 48</td>
              <td align="right">32</td>
            </tr>
            <tr>
              <td align="left">AEAD_AES_128_GCM_SST_8</td>
              <td align="right">16</td>
              <td align="right">2<sup>36</sup> - 48</td>
              <td align="right">64</td>
            </tr>
            <tr>
              <td align="left">AEAD_AES_128_GCM_SST_12</td>
              <td align="right">16</td>
              <td align="right">2<sup>35</sup></td>
              <td align="right">96</td>
            </tr>
            <tr>
              <td align="left">AEAD_AES_128_GCM_SST_14</td>
              <td align="right">16</td>
              <td align="right">2<sup>19</sup></td>
              <td align="right">112</td>
            </tr>
            <tr>
              <td align="left">AEAD_AES_256_GCM_SST_4</td>
              <td align="right">32</td>
              <td align="right">2<sup>36</sup> - 48</td>
              <td align="right">32</td>
            </tr>
            <tr>
              <td align="left">AEAD_AES_256_GCM_SST_8</td>
              <td align="right">32</td>
              <td align="right">2<sup>36</sup> - 48</td>
              <td align="right">64</td>
            </tr>
            <tr>
              <td align="left">AEAD_AES_256_GCM_SST_12</td>
              <td align="right">32</td>
              <td align="right">2<sup>35</sup></td>
              <td align="right">96</td>
            </tr>
            <tr>
              <td align="left">AEAD_AES_256_GCM_SST_14</td>
              <td align="right">32</td>
              <td align="right">2<sup>19</sup></td>
              <td align="right">112</td>
            </tr>
            <tr>
              <td align="left">AEAD_RIJNDAEL_GCM_SST_4</td>
              <td align="right">32</td>
              <td align="right">2<sup>36</sup> - 48</td>
              <td align="right">32</td>
            </tr>
            <tr>
              <td align="left">AEAD_RIJNDAEL_GCM_SST_8</td>
              <td align="right">32</td>
              <td align="right">2<sup>36</sup> - 48</td>
              <td align="right">64</td>
            </tr>
            <tr>
              <td align="left">AEAD_RIJNDAEL_GCM_SST_12</td>
              <td align="right">32</td>
              <td align="right">2<sup>35</sup></td>
              <td align="right">96</td>
            </tr>
            <tr>
              <td align="left">AEAD_RIJNDAEL_GCM_SST_14</td>
              <td align="right">32</td>
              <td align="right">2<sup>19</sup></td>
              <td align="right">112</td>
            </tr>
          </tbody>
        </table>
        <t>Common parameters for the six AEAD instances:</t>
        <ul spacing="normal">
          <li>
            <t>N_MIN = N_MAX (minimum and maximum size of the nonce) is 12 octets for AES, while for Rijndael-256-256, it is 28 bytes.</t>
          </li>
          <li>
            <t>C_MAX (maximum size of the ciphertext and tag) is P_MAX + tag_length (in bytes)</t>
          </li>
          <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 addtion 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 stricly better security properties than GCM. GCM allows universal forgery with lower complexity than GCM-SST, even when nonces are not reused. Implementations <bcp14>SHOULD</bcp14> add randomness to the nonce by XORing a unique number like a sequence number with a per-key random secret salt of the same length as the nonce. This significantly improves security against precomputation attacks and multi-key attacks <xref target="Bellare"/> and is for example implemented in TLS 1.3 <xref target="RFC8446"/>, OSCORE <xref target="RFC8613"/>, and <xref target="Ascon"/>. By increasing the nonce length from 96 bits to 224 bits, Rijndael-256-256-GCM-SST can offer significantly greater security against precomputation and multi-key attacks compared to AES-256-GCM-SST. GCM-SST <bcp14>SHOULD NOT</bcp14> be used in multicast or broadcast scenarios. While GCM-SST offers better security properties than GCM for a given tag length in such contexts, it does not behave like an ideal MAC.</t>
      <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-256-256-GCM-SST against passive attackers is significantly higher. The complexity of distinguishing attacks for Rijndael-256-256-GCM-SST is approximately 2<sup>257</sup> / q, where q is the number of invocations of the Rijndael-256-256 encryption function. While Rijndael-256-256 in counter mode can provide strong confidentiality for plaintexts much larger than 2<sup>36</sup> octets, GHASH and POLYVAL do not offer adequate integrity for long plaintexts. To ensure robust integrity for long plaintexts, an AEAD mode would need to replace POLYVAL with a MAC that has better security properties, such as a Carter-Wegman MAC in a larger field <xref target="Degabriele"/> or other alternatives such as <xref target="SMAC"/>.</t>
        <t>The confidentiality offered by AES-GCM-SST against active attackers is directly linked to the forgery probability. Depending on the protocol and application, forgeries can significantly compromise privacy, in addition to affecting integrity and authenticity. It <bcp14>MUST</bcp14> be assumed that attackers always receive feedback on the success or failure of their forgery attempts. Therefore, attacks on integrity, authenticity, and confidentiality <bcp14>MUST</bcp14> all be carefully evaluated when selecting an appropriate tag length.</t>
      </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="comparision-with-chacha20-poly1305-and-aes-gcm">
        <name>Comparision 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>Comparision 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.</t>
        <table anchor="comp2">
          <name>Comparision between AES-GCM-SST, ChaCha20-Poly1305, and AES-GCM in QUIC, where the maximum packet size is 65536 bytes.</name>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="right">Forgery probability before first forgery</th>
              <th align="right">Forgery probability after first forgery</th>
              <th align="right">Expected number of forgeries</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">GCM_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">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">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="Inoue" target="https://eprint.iacr.org/2024/1928.pdf">
          <front>
            <title>Generic Security of GCM-SST</title>
            <author initials="" surname="Akiko Inoue">
              <organization/>
            </author>
            <author initials="" surname="Ashwin Jha">
              <organization/>
            </author>
            <author initials="" surname="Bart Mennink">
              <organization/>
            </author>
            <author initials="" surname="Kazuhiko Minematsu">
              <organization/>
            </author>
            <date year="2024" month="November"/>
          </front>
        </reference>
        <reference anchor="Iwata" target="https://eprint.iacr.org/2012/438.pdf">
          <front>
            <title>Breaking and Repairing GCM Security Proofs</title>
            <author initials="" surname="Tetsu Iwata">
              <organization/>
            </author>
            <author initials="" surname="Keisuke Ohashi">
              <organization/>
            </author>
            <author initials="" surname="Kazuhiko Minematsu">
              <organization/>
            </author>
            <date year="2012" month="August"/>
          </front>
        </reference>
        <reference anchor="Bernstein" target="https://cr.yp.to/antiforgery/permutations-20050323.pdf">
          <front>
            <title>Stronger Security Bounds for Permutations</title>
            <author initials="" surname="Daniel J Bernstein">
              <organization/>
            </author>
            <date year="2005" month="March"/>
          </front>
        </reference>
        <reference anchor="Procter" target="https://eprint.iacr.org/2014/613.pdf">
          <front>
            <title>A Security Analysis of the Composition of ChaCha20 and Poly1305</title>
            <author initials="" surname="Gordon Procter">
              <organization/>
            </author>
            <date year="2014" month="August"/>
          </front>
        </reference>
        <reference anchor="SAGE23" target="https://www.3gpp.org/ftp/TSG_SA/WG3_Security/TSGS3_110_Athens/docs/S3-230642.zip">
          <front>
            <title>Specification of the 256-bit air interface algorithms</title>
            <author initials="" surname="ETSI SAGE">
              <organization/>
            </author>
            <date year="2023" month="February"/>
          </front>
        </reference>
        <reference anchor="SAGE24" target="https://www.3gpp.org/ftp/tsg_sa/WG3_Security/TSGS3_117_Maastricht/docs/S3-243394.zip">
          <front>
            <title>Version 2.0 of 256-bit Confidentiality and Integrity Algorithms for the Air Interface</title>
            <author initials="" surname="ETSI SAGE">
              <organization/>
            </author>
            <date year="2024" month="August"/>
          </front>
        </reference>
        <reference anchor="WID23" target="https://www.3gpp.org/ftp/tsg_sa/WG3_Security/TSGS3_113_Chicago/Docs/S3-235072.zip">
          <front>
            <title>New WID on Milenage-256 algorithm</title>
            <author initials="" surname="3GPP">
              <organization/>
            </author>
            <date year="2023" month="November"/>
          </front>
        </reference>
        <reference anchor="WID24" target="https://www.3gpp.org/ftp/tsg_sa/TSG_SA/TSGS_103_Maastricht_2024-03/Docs/SP-240476.zip">
          <front>
            <title>New WID on Addition of 256-bit security Algorithms</title>
            <author initials="" surname="3GPP">
              <organization/>
            </author>
            <date year="2024" month="March"/>
          </front>
        </reference>
        <reference anchor="ZUC" target="https://eprint.iacr.org/2021/1439">
          <front>
            <title>An Addendum to the ZUC-256 Stream Cipher</title>
            <author initials="" surname="ZUC Design Team">
              <organization/>
            </author>
            <date year="2024" month="September"/>
          </front>
        </reference>
        <reference anchor="Options" target="https://csrc.nist.gov/csrc/media/Presentations/2024/options-for-encryption-algorithms-and-modes/images-media/sess-3-regenscheid-acm-workshop-2024.pdf">
          <front>
            <title>NIST Options in for Encryption Algorithms and Modes of Operation</title>
            <author initials="" surname="NIST">
              <organization/>
            </author>
            <date year="2024" month="June"/>
          </front>
        </reference>
        <reference anchor="Comments38B" target="https://csrc.nist.gov/csrc/media/Projects/crypto-publication-review-project/documents/initial-comments/sp800-38b-initial-public-comments-2024.pdf">
          <front>
            <title>Public Comments on SP 800-38B</title>
            <author initials="" surname="NIST">
              <organization/>
            </author>
            <date year="2024" month="September"/>
          </front>
        </reference>
        <reference anchor="Sec5G" target="https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=3169">
          <front>
            <title>Security architecture and procedures for 5G System</title>
            <author initials="" surname="3GPP TS 33 501">
              <organization/>
            </author>
            <date year="2024" month="September"/>
          </front>
        </reference>
        <reference anchor="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="Robust" target="https://link.springer.com/article/10.1007/s00145-023-09489-9">
          <front>
            <title>Robust Channels: Handling Unreliable Networks in the Record Layers of QUIC and DTLS 1.3</title>
            <author initials="M." surname="Fischlin">
              <organization/>
            </author>
            <author initials="F." surname="Günther">
              <organization/>
            </author>
            <author initials="C." surname="Janson">
              <organization/>
            </author>
            <date year="2024" month="January"/>
          </front>
        </reference>
        <reference anchor="MoQ" target="https://datatracker.ietf.org/wg/moq/about/">
          <front>
            <title>Media Over QUIC</title>
            <author initials="" surname="IETF">
              <organization/>
            </author>
            <date year="2022" month="September"/>
          </front>
        </reference>
        <reference anchor="Revise" target="https://csrc.nist.gov/news/2023/proposal-to-revise-sp-800-38d">
          <front>
            <title>Announcement of Proposal to Revise SP 800-38D</title>
            <author initials="" surname="NIST">
              <organization/>
            </author>
            <date year="2023" month="August"/>
          </front>
        </reference>
        <reference anchor="SNOW" target="https://eprint.iacr.org/2021/236">
          <front>
            <title>SNOW-Vi: an extreme performance variant of SNOW-V for lower grade CPUs</title>
            <author initials="P." surname="Ekdahl">
              <organization/>
            </author>
            <author initials="T." surname="Johansson">
              <organization/>
            </author>
            <author initials="A." surname="Maximov">
              <organization/>
            </author>
            <author initials="J." surname="Yang">
              <organization/>
            </author>
            <date year="2021" month="March"/>
          </front>
        </reference>
        <reference anchor="SST1" target="https://csrc.nist.gov/csrc/media/Events/2023/third-workshop-on-block-cipher-modes-of-operation/documents/accepted-papers/Galois%20Counter%20Mode%20with%20Secure%20Short%20Tags.pdf">
          <front>
            <title>Galois Counter Mode with Secure Short Tags (GCM-SST)</title>
            <author initials="M." surname="Campagna">
              <organization/>
            </author>
            <author initials="A." surname="Maximov">
              <organization/>
            </author>
            <author initials="J." surname="Preuß Mattsson">
              <organization/>
            </author>
            <date year="2023" month="October"/>
          </front>
        </reference>
        <reference anchor="SST2" target="https://csrc.nist.gov/csrc/media/Presentations/2023/galois-counter-mode-with-secure-short-tags/images-media/sess-5-mattsson-bcm-workshop-2023.pdf">
          <front>
            <title>Galois Counter Mode with Secure Short Tags (GCM-SST)</title>
            <author initials="M." surname="Campagna">
              <organization/>
            </author>
            <author initials="A." surname="Maximov">
              <organization/>
            </author>
            <author initials="J." surname="Preuß Mattsson">
              <organization/>
            </author>
            <date year="2023" month="October"/>
          </front>
        </reference>
        <reference anchor="GCM" target="https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf">
          <front>
            <title>Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC</title>
            <author initials="M." surname="Dworkin">
              <organization/>
            </author>
            <date year="2007" month="November"/>
          </front>
          <seriesInfo name="NIST" value="Special Publication 800-38D"/>
        </reference>
        <reference anchor="Ascon" target="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-232.ipd.pdf">
          <front>
            <title>Ascon-Based Lightweight Cryptography Standards for Constrained Devices</title>
            <author initials="" surname="Meltem Sönmez Turan">
              <organization/>
            </author>
            <author initials="" surname="Kerry A McKay">
              <organization/>
            </author>
            <author initials="" surname="Donghoon Chang">
              <organization/>
            </author>
            <author initials="" surname="Jinkeon Kang">
              <organization/>
            </author>
            <author initials="" surname="John Kelsey">
              <organization/>
            </author>
            <date year="2024" month="November"/>
          </front>
          <seriesInfo name="NIST" value="Special Publication 800-232 Initial Public Draft"/>
        </reference>
        <reference anchor="GCM-Update" target="https://csrc.nist.gov/csrc/media/projects/block-cipher-techniques/documents/bcm/comments/cwc-gcm/gcm-update.pdf">
          <front>
            <title>GCM Update</title>
            <author initials="D." surname="McGrew">
              <organization/>
            </author>
            <author initials="J." surname="Viega">
              <organization/>
            </author>
            <date year="2005" month="May"/>
          </front>
        </reference>
        <reference anchor="Gueron" target="https://csrc.nist.gov/csrc/media/Presentations/2023/constructions-based-on-the-aes-round/images-media/sess-5-gueron-bcm-workshop-2023.pdf">
          <front>
            <title>Constructions based on the AES Round and Polynomial Multiplication that are Efficient on Modern Processor Architectures</title>
            <author initials="S." surname="Gueron">
              <organization/>
            </author>
            <date year="2023" month="October"/>
          </front>
        </reference>
        <reference anchor="Ferguson" target="https://csrc.nist.gov/CSRC/media/Projects/Block-Cipher-Techniques/documents/BCM/Comments/CWC-GCM/Ferguson2.pdf">
          <front>
            <title>Authentication weaknesses in GCM</title>
            <author initials="N." surname="Ferguson">
              <organization/>
            </author>
            <date year="2005" month="May"/>
          </front>
        </reference>
        <reference anchor="Nyberg" target="https://csrc.nist.gov/CSRC/media/Projects/Block-Cipher-Techniques/documents/BCM/Comments/general-comments/papers/Nyberg_Gilbert_and_Robshaw.pdf">
          <front>
            <title>Galois MAC with forgery probability close to ideal</title>
            <author initials="K." surname="Nyberg">
              <organization/>
            </author>
            <author initials="H." surname="Gilbert">
              <organization/>
            </author>
            <author initials="M." surname="Robshaw">
              <organization/>
            </author>
            <date year="2005" month="June"/>
          </front>
        </reference>
        <reference anchor="Mattsson" target="https://eprint.iacr.org/2015/477.pdf">
          <front>
            <title>Authentication Key Recovery on Galois/Counter Mode (GCM)</title>
            <author initials="J." surname="Mattsson">
              <organization/>
            </author>
            <author initials="M." surname="Westerlund">
              <organization/>
            </author>
            <date year="2015" month="May"/>
          </front>
        </reference>
        <reference anchor="Rogaway" target="https://www.cryptrec.go.jp/exreport/cryptrec-ex-2012-2010r1.pdf">
          <front>
            <title>Evaluation of Some Blockcipher Modes of Operation</title>
            <author initials="P." surname="Rogaway">
              <organization/>
            </author>
            <date year="2011" month="February"/>
          </front>
        </reference>
        <reference anchor="Bellare" target="https://eprint.iacr.org/2016/564.pdf">
          <front>
            <title>The Multi-User Security of Authenticated Encryption: AES-GCM in TLS 1.3</title>
            <author initials="M." surname="Bellare">
              <organization/>
            </author>
            <author initials="B." surname="Tackmann">
              <organization/>
            </author>
            <date year="2017" month="November"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 699?>

<section anchor="aes-gcm-sst-test-vectors">
      <name>AES-GCM-SST Test Vectors</name>
      <section anchor="aes-gcm-sst-test-1-128-bit-key">
        <name>AES-GCM-SST Test #1 (128-bit key)</name>
        <artwork><![CDATA[
       KEY = { 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f }
     NONCE = { 30 31 32 33 34 35 36 37 38 39 3a 3b }
         H = { 22 ce 92 da cb 50 77 4b ab 0d 18 29 3d 6e ae 7f }
         Q = { 03 13 63 96 74 be fa 86 4d fa fb 80 36 b7 a0 3c }
         M = { 9b 1d 49 ea 42 b0 0a ec b0 bc eb 8d d0 ef c2 b9 }
]]></artwork>
        <section numbered="false" anchor="case-1a">
          <name>Case #1a</name>
          <artwork><![CDATA[
       AAD = { }
 PLAINTEXT = { }
encode-LEN = { 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 }
  full-TAG = { 9b 1d 49 ea 42 b0 0a ec b0 bc eb 8d d0 ef c2 b9 }
       TAG = { 9b 1d 49 ea }
CIPHERTEXT = { }
]]></artwork>
        </section>
        <section numbered="false" anchor="case-1b">
          <name>Case #1b</name>
          <artwork><![CDATA[
       AAD = { 40 41 42 43 44 }
 PLAINTEXT = { }
encode-LEN = { 00 00 00 00 00 00 00 00 28 00 00 00 00 00 00 00 }
  full-TAG = { 7f f3 cb a4 d5 f3 08 a5 70 4e 2f d5 f2 3a e8 f9 }
       TAG = { 7f f3 cb a4 }
CIPHERTEXT = { }
]]></artwork>
        </section>
        <section numbered="false" anchor="case-1c">
          <name>Case #1c</name>
          <artwork><![CDATA[
       AAD = { }
 PLAINTEXT = { 60 61 62 63 64 65 66 67 68 69 6a 6b }
encode-LEN = { 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 }
  full-TAG = { f8 de 17 85 fd 1a 90 d9 81 8f cb 7b 44 69 8a 8b }
       TAG = { f8 de 17 85 }
CIPHERTEXT = { 64 f0 5b ae 1e d2 40 3a 71 25 5e dd }
]]></artwork>
        </section>
        <section numbered="false" anchor="case-1d">
          <name>Case #1d</name>
          <artwork><![CDATA[
       AAD = { 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f }
 PLAINTEXT = { 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
               70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e }
encode-LEN = { f8 00 00 00 00 00 00 00 80 00 00 00 00 00 00 00 }
  full-TAG = { 93 43 56 14 0b 84 48 2c d0 14 c7 40 7e e9 cc b6 }
       TAG = { 93 43 56 14 }
CIPHERTEXT = { 64 f0 5b ae 1e d2 40 3a 71 25 5e dd 53 49 5c e1
               7d c0 cb c7 85 a7 a9 20 db 42 28 ff 63 32 10 }
]]></artwork>
        </section>
        <section numbered="false" anchor="case-1e">
          <name>Case #1e</name>
          <artwork><![CDATA[
       AAD = { 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e }
 PLAINTEXT = { 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
               70 }
encode-LEN = { 88 00 00 00 00 00 00 00 78 00 00 00 00 00 00 00 }
  full-TAG = { f8 50 b7 97 11 43 ab e9 31 5a d7 eb 3b 0a 16 81 }
       TAG = { f8 50 b7 97 }
CIPHERTEXT = { 64 f0 5b ae 1e d2 40 3a 71 25 5e dd 53 49 5c e1
               7d }
]]></artwork>
        </section>
      </section>
      <section anchor="aes-gcm-sst-test-2-128-bit-key">
        <name>AES-GCM-SST Test #2 (128-bit key)</name>
        <artwork><![CDATA[
       KEY = { 29 23 be 84 e1 6c d6 ae 52 90 49 f1 f1 bb e9 eb }
     NONCE = { 9a 50 ee 40 78 36 fd 12 49 32 f6 9e }
       AAD = { 1f 03 5a 7d 09 38 25 1f 5d d4 cb fc 96 f5 45 3b
               13 0d }
 PLAINTEXT = { ad 4f 14 f2 44 40 66 d0 6b c4 30 b7 32 3b a1 22
               f6 22 91 9d }
         H = { 2d 6d 7f 1c 52 a7 a0 6b f2 bc bd 23 75 47 03 88 }
         Q = { 3b fd 00 96 25 84 2a 86 65 71 a4 66 e5 62 05 92 }
         M = { 9e 6c 98 3e e0 6c 1a ab c8 99 b7 8d 57 32 0a f5 }
encode-LEN = { a0 00 00 00 00 00 00 00 90 00 00 00 00 00 00 00 }
  full-TAG = { 45 03 bf b0 96 82 39 b3 67 e9 70 c3 83 c5 10 6f }
       TAG = { 45 03 bf b0 96 82 39 b3 }
CIPHERTEXT = { b8 65 d5 16 07 83 11 73 21 f5 6c b0 75 45 16 b3
               da 9d b8 09 }
]]></artwork>
      </section>
      <section anchor="aes-gcm-sst-test-3-256-bit-key">
        <name>AES-GCM-SST Test #3 (256-bit key)</name>
        <artwork><![CDATA[
       KEY = { 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
               10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f }
     NONCE = { 30 31 32 33 34 35 36 37 38 39 3a 3b }
         H = { 3b d9 9f 8d 38 f0 2e a1 80 96 a4 b0 b1 d9 3b 1b }
         Q = { af 7f 54 00 16 aa b8 bc 91 56 d9 d1 83 59 cc e5 }
         M = { b3 35 31 c0 e9 6f 4a 03 2a 33 8e ec 12 99 3e 68 }
]]></artwork>
        <section numbered="false" anchor="case-3a">
          <name>Case #3a</name>
          <artwork><![CDATA[
       AAD = { }
 PLAINTEXT = { }
encode-LEN = { 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 }
  full-TAG = { b3 35 31 c0 e9 6f 4a 03 2a 33 8e ec 12 99 3e 68 }
       TAG = { b3 35 31 c0 e9 6f 4a 03 }
CIPHERTEXT = { }
]]></artwork>
        </section>
        <section numbered="false" anchor="case-3b">
          <name>Case #3b</name>
          <artwork><![CDATA[
       AAD = { 40 41 42 43 44 }
 PLAINTEXT = { }
encode-LEN = { 00 00 00 00 00 00 00 00 28 00 00 00 00 00 00 00 }
  full-TAG = { 63 ac ca 4d 20 9f b3 90 28 ff c3 17 04 01 67 61 }
       TAG = { 63 ac ca 4d 20 9f b3 90 }
CIPHERTEXT = { }
]]></artwork>
        </section>
        <section numbered="false" anchor="case-3c">
          <name>Case #3c</name>
          <artwork><![CDATA[
       AAD = { }
 PLAINTEXT = { 60 61 62 63 64 65 66 67 68 69 6a 6b }
encode-LEN = { 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 }
  full-TAG = { e1 de bf fd 5f 3a 85 e3 48 bd 6f cc 6e 62 10 90 }
       TAG = { e1 de bf fd 5f 3a 85 e3 }
CIPHERTEXT = { fc 46 2d 34 a7 5b 22 62 4f d7 3b 27 }
]]></artwork>
        </section>
        <section numbered="false" anchor="case-3d">
          <name>Case #3d</name>
          <artwork><![CDATA[
       AAD = { 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f }
 PLAINTEXT = { 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
               70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e }
encode-LEN = { f8 00 00 00 00 00 00 00 80 00 00 00 00 00 00 00 }
  full-TAG = { c3 5e d7 83 9f 21 f7 bb a5 a8 a2 8e 1f 49 ed 04 }
       TAG = { c3 5e d7 83 9f 21 f7 bb }
CIPHERTEXT = { fc 46 2d 34 a7 5b 22 62 4f d7 3b 27 84 de 10 51
               33 11 7e 17 58 b5 ed d0 d6 5d 68 32 06 bb ad }
]]></artwork>
        </section>
        <section numbered="false" anchor="case-3e">
          <name>Case #3e</name>
          <artwork><![CDATA[
       AAD = { 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e }
 PLAINTEXT = { 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
               70 }
encode-LEN = { 88 00 00 00 00 00 00 00 78 00 00 00 00 00 00 00 }
  full-TAG = { 49 7c 14 77 67 a5 3d 57 64 ce fd 03 26 fe e7 b5 }
       TAG = { 49 7c 14 77 67 a5 3d 57 }
CIPHERTEXT = { fc 46 2d 34 a7 5b 22 62 4f d7 3b 27 84 de 10 51
               33 }
]]></artwork>
        </section>
      </section>
      <section anchor="aes-gcm-sst-test-4-256-bit-key">
        <name>AES-GCM-SST Test #4 (256-bit key)</name>
        <artwork><![CDATA[
       KEY = { 29 23 be 84 e1 6c d6 ae 52 90 49 f1 f1 bb e9 eb
               b3 a6 db 3c 87 0c 3e 99 24 5e 0d 1c 06 b7 b3 12 }
     NONCE = { 9a 50 ee 40 78 36 fd 12 49 32 f6 9e }
       AAD = { 1f 03 5a 7d 09 38 25 1f 5d d4 cb fc 96 f5 45 3b
               13 0d }
 PLAINTEXT = { ad 4f 14 f2 44 40 66 d0 6b c4 30 b7 32 3b a1 22
               f6 22 91 9d }
         H = { 13 53 4b f7 8a 91 38 fd f5 41 65 7f c2 39 55 23 }
         Q = { 32 69 75 a3 3a ff ae ac af a8 fb d1 bd 62 66 95 }
         M = { 59 48 44 80 b6 cd 59 06 69 27 5e 7d 81 4a d1 74 }
encode-LEN = { a0 00 00 00 00 00 00 00 90 00 00 00 00 00 00 00 }
  full-TAG = { c4 a1 ca 9a 38 c6 73 af bf 9c 73 49 bf 3c d5 4d }
       TAG = { c4 a1 ca 9a 38 c6 73 af bf 9c }
CIPHERTEXT = { b5 c2 a4 07 f3 3e 99 88 de c1 2f 10 64 7b 3d 4f
               eb 8f f7 cc }
]]></artwork>
      </section>
    </section>
    <section removeInRFC="true" numbered="false" anchor="change-log">
      <name>Change Log</name>
      <t>Changes from -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 probabilites that were off by a factor 2</t>
        </li>
        <li>
          <t>Editorial changes.</t>
        </li>
      </ul>
      <t>Changes from -07 to -09:</t>
      <ul spacing="normal">
        <li>
          <t>Changed replay requirements to allow replay protection after decryption to align with protocols like QUIC and DTLS 1.3.</t>
        </li>
        <li>
          <t>Added a comparision between GCM_SST_14, GCM_SST_12, GCM_16, POLY1305 in protocols like QUIC</t>
        </li>
        <li>
          <t>Added text on the importance of behaving like an ideal MAC</t>
        </li>
        <li>
          <t>Consideration on replay protection mechanisms</t>
        </li>
        <li>
          <t>Added text and alternative implementations borrowed from NIST</t>
        </li>
        <li>
          <t>Added constrainst of 2^32 encryption invocations aligning with NIST</t>
        </li>
        <li>
          <t>Added text explainting that GCM-SST offer strictly better security than GCM and that "GCM allows universal forgery with lower complexity than GCM-SST, even when nonces are not reused", to avoid any misconceptions that Lindell's attack makes GCM-SST weaker than GCM in any way.</t>
        </li>
      </ul>
      <t>Changes from -06 to -07:</t>
      <ul spacing="normal">
        <li>
          <t>Replaced 80-bit tags with 96- and 112-bit tags.</t>
        </li>
        <li>
          <t>Changed P_MAX and A_MAX and made them tag_length dependent to enable 96- and 112-bit tags with near-ideal security.</t>
        </li>
        <li>
          <t>Clarified that GCM-SST tags have near-ideal forgery probabilities, even against multiple forgery attacks, which is not the case at all for GCM.</t>
        </li>
        <li>
          <t>Added formulas for expeted number of forgeries for GCM-SST (q ⋅ 2<sup>-tag_length</sup>) and GCM (q<sup>2</sup> ⋅ (n + m + 1) ⋅ 2<sup>-tag_length + 1</sup>) and stated that GCM-SST fulfils BSI recommendation of using 96-bit ideal MACs.</t>
        </li>
      </ul>
      <t>Changes from -04 to -06:</t>
      <ul spacing="normal">
        <li>
          <t>Reference to Inoue et al. for security proof, forgery probability graph, and improved attack when GCM-SST is used without replay protection.</t>
        </li>
        <li>
          <t>Editorial changes.</t>
        </li>
      </ul>
      <t>Changes from -03 to -04:</t>
      <ul spacing="normal">
        <li>
          <t>Added that GCM-SST is designed for unicast protocol with replay protection</t>
        </li>
        <li>
          <t>Update info on use cases for short tags</t>
        </li>
        <li>
          <t>Updated info on ETSI and 3GPP standardization of GCM-SST</t>
        </li>
        <li>
          <t>Added Rijndael-256-256</t>
        </li>
        <li>
          <t>Added that replay is required and that random nonces, multicast, and broadcast are forbidden based on attack from Yehuda Lindell</t>
        </li>
        <li>
          <t>Security considerations for active attacks on privacy as suggested by Thomas Bellebaum</t>
        </li>
        <li>
          <t>Improved text on H and Q being zero.</t>
        </li>
        <li>
          <t>Editorial changes.</t>
        </li>
      </ul>
      <t>Changes from -02 to -03:</t>
      <ul spacing="normal">
        <li>
          <t>Added performance information and considerations.</t>
        </li>
        <li>
          <t>Editorial changes.</t>
        </li>
      </ul>
      <t>Changes from -01 to -02:</t>
      <ul spacing="normal">
        <li>
          <t>The length encoding chunk is now called L</t>
        </li>
        <li>
          <t>Use of the notation POLYVAL(H, X_1, X_2, ...) from RFC 8452</t>
        </li>
        <li>
          <t>Removed duplicated text in security considerations.</t>
        </li>
      </ul>
      <t>Changes from -00 to -01:</t>
      <ul spacing="normal">
        <li>
          <t>Link to NIST decision to remove support for GCM with tags shorter than 96-bits based on Mattsson et al.</t>
        </li>
        <li>
          <t>Mention that 3GPP 5G Advance will use GCM-SST with AES-256 and SNOW 5G.</t>
        </li>
        <li>
          <t>Corrected reference to step numbers during decryption</t>
        </li>
        <li>
          <t>Changed T to full_tag to align with tag and expected_tag</t>
        </li>
        <li>
          <t>Link to images from the NIST encryption workshop illustrating the GCM-SST encryption and decryption functions.</t>
        </li>
        <li>
          <t>Updated definitions</t>
        </li>
        <li>
          <t>Editorial changes.</t>
        </li>
      </ul>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors thank <contact fullname="Richard Barnes"/>, <contact fullname="Thomas Bellebaum"/>, <contact fullname="Scott Fluhrer"/>, <contact fullname="Eric Lagergren"/>, <contact fullname="Yehuda Lindell"/>, and <contact fullname="Erik Thormarker"/> for their valuable comments and feedback. Some of the formatting and text were inspired by and borrowed from <xref target="I-D.irtf-cfrg-aegis-aead"/>.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
vNevHrCwCqeNs7D+/k+4MMnF3oR/oX0/Zpg/yZXZqrvXA5aPR/IMJwyy2s4V
I6S1F2neuayDTIptFvT9fTFMzjOLk9Ja8iWn1c7ya82hiLLY+JTinI8NCfY6
IPn1Yoh6FVd40iyaIBSZ0Rp6VnxjXqLAopksg5C67nNZNzlwEjUPF6F0LJal
cMyVPjXVZxS25gTLkipwrwbA0SvO1Ye9MA0/6MC45i2NlIj8CR3bgWmLj+G6
XU6HIDOUIkWU6Tu/EXNOVFA3+J9KeCrnTFC86abrGCZhgzM/t9SbTCi2JYmO
d5WeuKkCbFOE3ABA0JprZWibVKB0V2jEcXIRhgvx5fU7VEOfFoEmWn/+egZZ
p5p6vtFR/+HveL2ddXJj1+FaddEP/+lvnc11uhaDbG78Zio8r10KTEsTrR8x
23teEIgBGecOQRtsrF6/KN9frO+eE6PJYDWBJ64SYBfDHDaDRJ/EOp2twvSC
dTlTTkqmORbCPQmZYLneFtRAb6q6I9T5zYqrpBXb5+RRK+KDCcVVjS68tg1m
W2K7mrOSvfzwN/9LzvQnIcMvcjI0Y77TU83p+27JhDRgkGpc7EyaWJO1nK+A
TIEwMAlXZA3kDxcpJ7aaha2H6kIWDh3SQG64+5Uo7lznmRpXzBd3dsjYpWbV
hMbdODyX0Bj3ilsmI2kF5f4Atlqwsj/A3dXyazUwNPPuNe/SDsNixWYGEnOo
go1wyLxIRTIRdJlGsMoxcj3b0uHGttHwSpEWB8XJQs2zrg0OzFZQvMCWLATz
xj+piYlKURID1ZbvhFOVUksg7SXzELfIl47wlKCqk7j0UxXtNNURR9E/Nixc
EJh52KZtmNBww0oU8qzpjH4/FUa+NY7MosyOFJt+HNtyr/IcZHtjqe6wKvZF
2QlCSmZOiQVJL0rF2UiaivSlSPc4zzvzrF9CWKoJpVAelHLeKsS+eW/dre5J
UwzcF8bBGsyMR7RIaxPwWxz4Y940/mvJTnLhvO1M32mTPWQGCSMXKvenozCQ
8rq0vDF6zlFub01bdqoOsPkoJe9v4VAo8pqk5gPMl8+XnZYVPgXF5cm2x44I
+7RiDRLnMWXIudyyD4vKK3oiObEMIGwsxdCTOl7zi5n0cHBlcwzcrsRUNQi+
QHv53dt3UoKx4q5xVpWXUjQlDUb8/LLBAGyvQVRmjtek/2FHebEh+7GtF8ZJ
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
PibcVjhC8JW86eh+hwjzsdJe2c7a5mdzKOE+36vhjxJ3LVye9UoPiBu4Ltwh
H+0Cye2epnoTk1F7I71vc4lldWxpm8o7tVsE5EJxxFaHpctt6++y85s1J9RP
r2kC0RjT3lr567b8ljSAPEv1RcWZmGIDKZuwh1Z9q7RPLd35nTq6y1VBKYbl
FNECyDYDZetVOsGSK8b50h23WxrhYFgxrHNxY9TiOwxK1gTj8nclr1On3csH
2Hb9asNX5Xwr611/urvvrJWW9m+jSbr8c4wjH0qusLXvMJB8aMmvdZNdkjSZ
39gETZddWSl3N7sps5iPi+Lv6FklwJgbyx09WCDeXWq+AEVxj2WssNyMQzaA
MzdDV/tOmxW5qsKru78kr17PwLIfpQtphapl8gwptyRObqp4OrdmzH2yedtr
mx95d54a9YiXUALUKCd1zBKMRNseVyeWPWm6lG9EgyXYrV1Meao7IbkNkDbD
1DTWhDRgE9i+egYaSveHv/rbvo3/rTnupVxiE/13cSJTIzVpLHclpuGmfhTa
xC+K7FcoCezKNCpxKbLmpKJlpt+QtBne8NAWxHLQMdUUzh7rFYvKxVn+mg4j
y4Qg7936LKH0h29WXpDkrTV4MVd1e972oNe9chQt1evHfu9x2NAWcxTqC+ZY
zk31nqeGUiF4OLCygnw8Ji3TyZKk4yrRW0fqWu7Zc2mE9KOOZ9hv9k3TtX+q
kvknFsn3y2LnsU7VWJ2qsTobwtfdzfDBorcsaDt7G4K2+xMKWsJNN5xmZaIx
DZmBAwGHg0HP5jRUCLFP1PHozWgt+bNW44thavu0msJ9bmFo0tkyYW6RU1KL
wVeLSErBShnW4qfZLP+Qhr3A1KJh7KOPai5/mteLPFLEzHN30FoL0VRyBrTE
qukFX+RGNEWjOWs5o860X2k2xNcLLeXLTzrqsVUjLvXNk1rtP1b/Z1//9/nR
78F3blW7rdod1e6qdk+1+wqo2x6q9p5q76v2gWp7qj1RbV+1A9XWqj1V38sA
b96+OTziAXpt1etQ5U2vp3p91RsonG5vT/X2Ve9A9TzVm9iH6L9X/FC3q2Cj
HnQhtJU/UYO22ttT/YnyJjRTZ1918WighpCNWu1N3QG+kGX3VKenhj1Kddrr
c68nT+0PVZ/0IzWdqP02rWOypzx88N0BTniAg4nqBKp/oLSn+l01adNetU8f
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
580wyaYNf5rMGh7lxeKnF1Ad4f8HPWzd8bLHAAA=

-->

</rfc>
