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

<t>This document defines the Galois Counter Mode with Strong Secure Tags (GCM-SST) Authenticated Encryption with Associated Data (AEAD) algorithm. GCM-SST can be used with any keystream generator, not just 128-bit block ciphers. The main differences from GCM are the use of an additional subkey Q, the derivation of fresh subkeys H and Q for each nonce, and the replacement of the GHASH function with the POLYVAL function from AES-GCM-SIV. This enables truncated tags with near-ideal forgery probabilities, even against multiple forgery attacks, which are significant security improvements over GCM. GCM-SST is designed for unicast security protocols with replay protection and addresses the strong industry demand for fast encryption with less overhead and high security. This document registers several instances of GCM-SST using Advanced Encryption Standard (AES) and Rijndael-256-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 474?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Advanced Encryption Standard (AES) in Galois Counter Mode (AES-GCM) <xref target="GCM"/> is a widely used AEAD algorithm <xref target="RFC5116"/> due to its attractive performance in both software and hardware as well as its provable security. During the NIST standardization, Ferguson pointed out two weaknesses in the GCM authentication function <xref target="Ferguson"/>. The first weakness significantly increases the probability of successful forgery for long messages. The second weakness reveals the subkey H if an attacker succeeds in creating forgeries. Once H is known, the attacker can consistently forge subsequent messages, drastically increasing the probability of multiple successful forgeries. The two weaknesses are problematic for all tag lengths but are especially critical when short tags are used.</t>
      <t>In a comment to NIST, Nyberg et al. <xref target="Nyberg"/> explained how small changes based on proven theoretical constructions mitigate these weaknesses. Unfortunately, NIST did not follow the advice from Nyberg et al. and instead specified additional requirements for use with short tags in Appendix C of <xref target="GCM"/>. NIST did not give any motivations for the parameter choices or the assumed security levels. Mattsson et al. <xref target="Mattsson"/> later demonstrated that attackers can almost always obtain feedback on the success or failure of forgery attempts, contradicting the assumptions NIST made for short tags. Furthermore, NIST appears to have relied on non-optimal attacks when calculating the parameters. Rogaway <xref target="Rogaway"/> criticizes the use of GCM with short tags and recommends prohibiting tags shorter than 96 bits. Reflecting the critique, NIST is planning to remove support for GCM with tags shorter than 96 bits <xref target="Revise"/>. NIST has not addressed the weaknesses for longer tags, such as the absence of reforgeability resistance <xref target="Reforge"/>. When AES-GCM is used in QUIC <xref target="RFC9001"/>, the expected number of forgeries can be equivalent to that of an ideal MAC with a length of 64.4 bits. Reforgeability resistance is a key design criterion in modern AEAD algorithms <xref target="AEZ"/>.</t>
      <t>Short tags are widely used, 32-bit tags are standard in most radio link layers including 5G <xref target="Sec5G"/>, 64-bit tags are very common in transport and application layers of the Internet of Things, and 32-, 64-, and 80-bit tags are common in media-encryption applications. Audio packets are small, numerous, and ephemeral. As such, they are highly sensitive to cryptographic overhead, but as each packet typically encodes only 20 ms of audio, forgery of individual packets is not a big concern and barely noticeable. Due to its weaknesses, GCM is typically not used with short tags. The result is either decreased performance from larger than needed tags <xref target="MoQ"/>, or decreased performance from using much slower constructions such as AES-CTR combined with HMAC <xref target="RFC3711"/><xref target="RFC9605"/>. Short tags are also useful to protect packets whose payloads are secured at higher layers, protocols where the security is given by the sum of the tag lengths, and in constrained radio networks, where the low bandwidth preclude many repeated trial. For all applications of short tags it is essential that the MAC behaves like an ideal MAC, i.e., the forgery probability is ≈ 2<sup>-tag_length</sup> even after many generated MACs, many forgery attempts, and after a successful forgery. Users and implementors of cryptography expect algorithms to behave like ideal MACs. While Counter with CBC-MAC (CCM) <xref target="RFC5116"/> with short tags has forgery probabilities close to ideal, its performance is lower than that of GCM. For a comprehensive discussion on the use cases and requirements of short tags, see <xref target="Comments38B"/>.</t>
      <t>This document defines the Galois Counter Mode with Strong Secure Tags (GCM-SST) Authenticated Encryption with Associated Data (AEAD) algorithm following the recommendations from Nyberg et al. <xref target="Nyberg"/>. GCM-SST is defined with a general interface, allowing it to be used with any keystream generator, not just 128-bit block ciphers. The main differences from GCM <xref target="GCM"/> are the introduction of an additional subkey Q, the derivation of fresh subkeys H and Q for each nonce, and the replacement of the GHASH function with the POLYVAL function from AES-GCM-SIV <xref target="RFC8452"/>, see <xref target="GCM-SST"/>. These changes enable truncated tags with near-ideal forgery probabilities, even against multiple forgery attacks, see <xref target="Security"/>. GCM-SST is designed for use in unicast security protocols with replay protection such as TLS <xref target="RFC8446"/>, QUIC <xref target="RFC9000"/>, SRTP <xref target="RFC3711"/>, and PDCP <xref target="PDCP"/>, where its authentication tag behaves like an ideal MAC, including reforgeability resistance. Compared to Poly1305 <xref target="RFC7539"/> and GCM <xref target="RFC5116"/>, GCM-SST can provide better integrity with less overhead. Its performance is similar to GCM <xref target="GCM"/>, with the two additional AES invocations compensated by the use of POLYVAL, the ”little-endian version” of GHASH, which is faster on little-endian architectures. GCM-SST retains the additive encryption characteristic of GCM, which enables efficient implementations on modern processor architectures, see <xref target="Gueron"/> and Section 2.4 of <xref target="GCM-Update"/>.</t>
      <t>This document also registers several GCM-SST instances using Advanced Encryption Standard (AES) <xref target="AES"/> and Rijndael with 256-bit keys and blocks (Rijndael-256-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. Rijndael-256-256 has very good performance on modern x86-64 platforms equipped with AES-NI and VAES instructions <xref target="Ducker"/>.</t>
      <t>GCM-SST was originally developed by ETSI SAGE, under the name Mac5G, following a request from 3GPP, with several years of discussion and refinement contributing to its design <xref target="SAGE23"/><xref target="SAGE24"/>.  Mac5G is constructed similarly to the integrity algorithms used for SNOW 3G <xref target="UIA2"/> and ZUC <xref target="EIA3"/>. 3GPP has decided to standardize GCM-SST for use with AES-256 <xref target="AES"/>, SNOW 5G <xref target="SNOW"/>, and ZUC-256 <xref target="ZUC"/> in 3GPP TS 35.240–35.248 <xref target="WID24"/>.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>The following notation is used in the document:</t>
      <ul spacing="normal">
        <li>
          <t>K is the key as defined in <xref target="RFC5116"/></t>
        </li>
        <li>
          <t>N is the nonce as defined in <xref target="RFC5116"/></t>
        </li>
        <li>
          <t>A is the associated data as defined in <xref target="RFC5116"/></t>
        </li>
        <li>
          <t>P is the plaintext as defined in <xref target="RFC5116"/></t>
        </li>
        <li>
          <t>Z is the keystream</t>
        </li>
        <li>
          <t>ct is the ciphertext</t>
        </li>
        <li>
          <t>tag is the authentication tag</t>
        </li>
        <li>
          <t>= is the assignment operator</t>
        </li>
        <li>
          <t>!= is the inequality operator</t>
        </li>
        <li>
          <t>x || y is concatenation of the octet strings x and y</t>
        </li>
        <li>
          <t>⊕ is the bitwise exclusive or operator XOR</t>
        </li>
        <li>
          <t>len(x) is the length of x in bits.</t>
        </li>
        <li>
          <t>zeropad(x) right pads an octet string x with zeroes to a multiple of 128 bits</t>
        </li>
        <li>
          <t>truncate(x, t) is the truncation operation.  The first t bits of x are kept</t>
        </li>
        <li>
          <t>n is the number of 128-bit chunks in zeropad(P)</t>
        </li>
        <li>
          <t>m is the number of 128-bit chunks in zeropad(A)</t>
        </li>
        <li>
          <t>POLYVAL is defined in <xref target="RFC8452"/></t>
        </li>
        <li>
          <t>BE32(x) is the big-endian encoding of 32-bit integer x</t>
        </li>
        <li>
          <t>LE64(x) is the little-endian encoding of 64-bit integer x</t>
        </li>
        <li>
          <t>V[y] is the 128-bit chunk with index y in the array V; the first chunk has index 0.</t>
        </li>
        <li>
          <t>V[x:y] are the range of chunks x to y in the array V</t>
        </li>
      </ul>
    </section>
    <section anchor="GCM-SST">
      <name>Galois Counter Mode with Strong Secure Tags (GCM-SST)</name>
      <t>This section defines the Galois Counter Mode with Strong Secure Tags (GCM-SST) AEAD algorithm following the recommendations from Nyberg et al. <xref target="Nyberg"/>. GCM-SST is defined with a general interface so that it can be used with any keystream generator, not just a 128-bit block cipher.</t>
      <t>GCM-SST adheres to an AEAD interface <xref target="RFC5116"/> and the encryption function takes four variable-length octet string parameters. A secret key K, a nonce N, the associated data A, and a plaintext P. The keystream generator is instantiated with K and N. The keystream <bcp14>MAY</bcp14> depend on P and A. The minimum and maximum lengths of all parameters depend on the keystream generator. The keystream generator produces a keystream Z consisting of 128-bit chunks where the first three chunks Z[0], Z[1], and Z[2] are used as the three subkeys H, Q, and M. The following keystream chunks Z[3], Z[4], ..., Z[n + 2] are used to encrypt the plaintext. Instead of GHASH <xref target="GCM"/>, GCM-SST makes use of the POLYVAL function from AES-GCM-SIV <xref target="RFC8452"/>, which results in more efficient software implementations on little-endian architectures. GHASH and POLYVAL can be defined in terms of one another <xref target="RFC8452"/>. The subkeys H and Q are field elements used in POLYVAL while the subkey M is used for the final masking of the tag. Both encryption and decryption are only defined on inputs that are a whole number of octets. Figures illustrating the GCM-SST encryption and decryption functions can be found in <xref target="SST1"/>, <xref target="SST2"/>, and <xref target="Inoue"/>.</t>
      <t>For every computational procedure that is specified in this document, a conforming implementation <bcp14>MAY</bcp14> replace the given set of steps with any mathematically equivalent set of steps. In other words, different procedures that produce the correct output for every input are permitted.</t>
      <section anchor="authenticated-encryption-function">
        <name>Authenticated Encryption Function</name>
        <t>The encryption function Encrypt(K, N, A, P) encrypts a plaintext and returns the ciphertext along with an authentication tag that verifies the authenticity of the plaintext and associated data, if provided.</t>
        <t>Prerequisites and security:</t>
        <ul spacing="normal">
          <li>
            <t>The key <bcp14>MUST</bcp14> be randomly chosen from a uniform distribution.</t>
          </li>
          <li>
            <t>For a given key, a nonce <bcp14>MUST NOT</bcp14> be reused under any circumstances.</t>
          </li>
          <li>
            <t>Each key <bcp14>MUST</bcp14> be restricted to a single tag_length.</t>
          </li>
          <li>
            <t>Definitions of supported input-output lengths.</t>
          </li>
        </ul>
        <t>Inputs:</t>
        <ul spacing="normal">
          <li>
            <t>Key K (variable-length octet string)</t>
          </li>
          <li>
            <t>Nonce N (variable-length octet string)</t>
          </li>
          <li>
            <t>Associated data A (variable-length octet string)</t>
          </li>
          <li>
            <t>Plaintext P (variable-length octet string)</t>
          </li>
        </ul>
        <t>Outputs:</t>
        <ul spacing="normal">
          <li>
            <t>Ciphertext ct (variable-length octet string)</t>
          </li>
          <li>
            <t>Tag tag (octet string with length tag_length)</t>
          </li>
        </ul>
        <t>Steps:</t>
        <ol spacing="normal" type="1"><li>
            <t>If the lengths of K, N, A, P are not supported return error and abort</t>
          </li>
          <li>
            <t>Initiate keystream generator with K and N</t>
          </li>
          <li>
            <t>Let H = Z[0], Q = Z[1], M = Z[2]</t>
          </li>
          <li>
            <t>Let ct = P ⊕ truncate(Z[3:n + 2], len(P))</t>
          </li>
          <li>
            <t>Let S = zeropad(A) || zeropad(ct)</t>
          </li>
          <li>
            <t>Let L = LE64(len(ct)) || LE64(len(A))</t>
          </li>
          <li>
            <t>Let X = POLYVAL(H, S[0], S[1], ...)</t>
          </li>
          <li>
            <t>Let full_tag = POLYVAL(Q, X ⊕ L) ⊕ M</t>
          </li>
          <li>
            <t>Let tag = truncate(full_tag, tag_length)</t>
          </li>
          <li>
            <t>Return (ct, tag)</t>
          </li>
        </ol>
      </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 Strong Secure Tags.</t>
      <section anchor="aes-gcm-sst">
        <name>AES-GCM-SST</name>
        <t>When GCM-SSM is instantiated with AES (AES-GCM-SST), the keystream generator is AES in counter mode</t>
        <t>Z[i] = ENC(K, N || BE32(i))</t>
        <t>where ENC is the AES Cipher function <xref target="AES"/>. Big-endian counters align with existing implementations of counter mode.</t>
      </section>
      <section anchor="rijndael-gcm-sst">
        <name>Rijndael-GCM-SST</name>
        <t>When GCM-SST is instantiated with Rijndael-256-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. The effective tag length of AES-GCM in QUIC is 117 - log2(δ ⋅ v).</t>
        <table anchor="comp2">
          <name>Comparision between AES-GCM-SST, ChaCha20-Poly1305, and AES-GCM in unicast QUIC, where the maximum packet size is 65536 bytes.</name>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="right">Tag length (bytes)</th>
              <th align="right">Forgery probability before first forgery</th>
              <th align="right">Forgery probability after first forgery</th>
              <th align="right">Expected number of forgeries</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">GCM_SST_14</td>
              <td align="right">14</td>
              <td align="right">1 / 2<sup>112</sup></td>
              <td align="right">1 / 2<sup>112</sup></td>
              <td align="right">v / 2<sup>112</sup></td>
            </tr>
            <tr>
              <td align="left">GCM_SST_12</td>
              <td align="right">12</td>
              <td align="right">1 / 2<sup>96</sup></td>
              <td align="right">1 / 2<sup>96</sup></td>
              <td align="right">v / 2<sup>96</sup></td>
            </tr>
            <tr>
              <td align="left">POLY1305</td>
              <td align="right">16</td>
              <td align="right">1 / 2<sup>91</sup></td>
              <td align="right">1 / 2<sup>91</sup></td>
              <td align="right">v / 2<sup>91</sup></td>
            </tr>
            <tr>
              <td align="left">GCM</td>
              <td align="right">16</td>
              <td align="right">1 / 2<sup>116</sup></td>
              <td align="right">1</td>
              <td align="right">δ ⋅ v<sup>2</sup> / 2<sup>117</sup></td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to assign the entries in the first column of <xref target="iana-algs"/> to the "AEAD Algorithms" registry under the "Authenticated Encryption with Associated Data (AEAD) Parameters" heading with this document as reference.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC5116">
          <front>
            <title>An Interface and Algorithms for Authenticated Encryption</title>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <date month="January" year="2008"/>
            <abstract>
              <t>This document defines algorithms for Authenticated Encryption with Associated Data (AEAD), and defines a uniform interface and a registry for such algorithms. The interface and registry can be used as an application-independent set of cryptoalgorithm suites. This approach provides advantages in efficiency and security, and promotes the reuse of crypto implementations. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5116"/>
          <seriesInfo name="DOI" value="10.17487/RFC5116"/>
        </reference>
        <reference anchor="RFC8452">
          <front>
            <title>AES-GCM-SIV: Nonce Misuse-Resistant Authenticated Encryption</title>
            <author fullname="S. Gueron" initials="S." surname="Gueron"/>
            <author fullname="A. Langley" initials="A." surname="Langley"/>
            <author fullname="Y. Lindell" initials="Y." surname="Lindell"/>
            <date month="April" year="2019"/>
            <abstract>
              <t>This memo specifies two authenticated encryption algorithms that are nonce misuse resistant -- that is, they do not fail catastrophically if a nonce is repeated.</t>
              <t>This document is the product of the Crypto Forum Research Group.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8452"/>
          <seriesInfo name="DOI" value="10.17487/RFC8452"/>
        </reference>
        <reference anchor="AES" target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.197-upd1.pdf">
          <front>
            <title>Advanced Encryption Standard (AES)</title>
            <author>
              <organization/>
            </author>
            <date year="2023" month="May"/>
          </front>
          <seriesInfo name="NIST" value="Federal Information Processing Standards Publication 197"/>
        </reference>
        <reference anchor="Rijndael" target="https://csrc.nist.gov/csrc/media/projects/cryptographic-standards-and-guidelines/documents/aes-development/rijndael-ammended.pdf">
          <front>
            <title>AES Proposal: Rijndael</title>
            <author initials="" surname="Joan Daemen">
              <organization/>
            </author>
            <author initials="" surname="Vincent Rijmen">
              <organization/>
            </author>
            <date year="2003" month="September"/>
          </front>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC3711">
          <front>
            <title>The Secure Real-time Transport Protocol (SRTP)</title>
            <author fullname="M. Baugher" initials="M." surname="Baugher"/>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <author fullname="M. Naslund" initials="M." surname="Naslund"/>
            <author fullname="E. Carrara" initials="E." surname="Carrara"/>
            <author fullname="K. Norrman" initials="K." surname="Norrman"/>
            <date month="March" year="2004"/>
            <abstract>
              <t>This document describes the Secure Real-time Transport Protocol (SRTP), a profile of the Real-time Transport Protocol (RTP), which can provide confidentiality, message authentication, and replay protection to the RTP traffic and to the control traffic for RTP, the Real-time Transport Control Protocol (RTCP). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3711"/>
          <seriesInfo name="DOI" value="10.17487/RFC3711"/>
        </reference>
        <reference anchor="RFC4303">
          <front>
            <title>IP Encapsulating Security Payload (ESP)</title>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <date month="December" year="2005"/>
            <abstract>
              <t>This document describes an updated version of the Encapsulating Security Payload (ESP) protocol, which is designed to provide a mix of security services in IPv4 and IPv6. ESP is used to provide confidentiality, data origin authentication, connectionless integrity, an anti-replay service (a form of partial sequence integrity), and limited traffic flow confidentiality. This document obsoletes RFC 2406 (November 1998). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4303"/>
          <seriesInfo name="DOI" value="10.17487/RFC4303"/>
        </reference>
        <reference anchor="RFC6479">
          <front>
            <title>IPsec Anti-Replay Algorithm without Bit Shifting</title>
            <author fullname="X. Zhang" initials="X." surname="Zhang"/>
            <author fullname="T. Tsou" initials="T." surname="Tsou"/>
            <date month="January" year="2012"/>
            <abstract>
              <t>This document presents an alternate method to do the anti-replay checks and updates for IP Authentication Header (AH) and Encapsulating Security Protocol (ESP). The method defined in this document obviates the need for bit shifting and it reduces the number of times an anti-replay window is adjusted. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6479"/>
          <seriesInfo name="DOI" value="10.17487/RFC6479"/>
        </reference>
        <reference anchor="RFC7539">
          <front>
            <title>ChaCha20 and Poly1305 for IETF Protocols</title>
            <author fullname="Y. Nir" initials="Y." surname="Nir"/>
            <author fullname="A. Langley" initials="A." surname="Langley"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This document defines the ChaCha20 stream cipher as well as the use of the Poly1305 authenticator, both as stand-alone algorithms and as a "combined mode", or Authenticated Encryption with Associated Data (AEAD) algorithm.</t>
              <t>This document does not introduce any new crypto, but is meant to serve as a stable reference and an implementation guide. It is a product of the Crypto Forum Research Group (CFRG).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7539"/>
          <seriesInfo name="DOI" value="10.17487/RFC7539"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="RFC8613">
          <front>
            <title>Object Security for Constrained RESTful Environments (OSCORE)</title>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="J. Mattsson" initials="J." surname="Mattsson"/>
            <author fullname="F. Palombini" initials="F." surname="Palombini"/>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <date month="July" year="2019"/>
            <abstract>
              <t>This document defines Object Security for Constrained RESTful Environments (OSCORE), a method for application-layer protection of the Constrained Application Protocol (CoAP), using CBOR Object Signing and Encryption (COSE). OSCORE provides end-to-end protection between endpoints communicating using CoAP or CoAP-mappable HTTP. OSCORE is designed for constrained nodes and networks supporting a range of proxy operations, including translation between different transport protocols.</t>
              <t>Although an optional functionality of CoAP, OSCORE alters CoAP options processing and IANA registration. Therefore, this document updates RFC 7252.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8613"/>
          <seriesInfo name="DOI" value="10.17487/RFC8613"/>
        </reference>
        <reference anchor="RFC9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="RFC9001">
          <front>
            <title>Using TLS to Secure QUIC</title>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <author fullname="S. Turner" initials="S." role="editor" surname="Turner"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document describes how Transport Layer Security (TLS) is used to secure QUIC.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9001"/>
          <seriesInfo name="DOI" value="10.17487/RFC9001"/>
        </reference>
        <reference anchor="RFC9605">
          <front>
            <title>Secure Frame (SFrame): Lightweight Authenticated Encryption for Real-Time Media</title>
            <author fullname="E. Omara" initials="E." surname="Omara"/>
            <author fullname="J. Uberti" initials="J." surname="Uberti"/>
            <author fullname="S. G. Murillo" initials="S. G." surname="Murillo"/>
            <author fullname="R. Barnes" initials="R." role="editor" surname="Barnes"/>
            <author fullname="Y. Fablet" initials="Y." surname="Fablet"/>
            <date month="August" year="2024"/>
            <abstract>
              <t>This document describes the Secure Frame (SFrame) end-to-end encryption and authentication mechanism for media frames in a multiparty conference call, in which central media servers (Selective Forwarding Units or SFUs) can access the media metadata needed to make forwarding decisions without having access to the actual media.</t>
              <t>This mechanism differs from the Secure Real-Time Protocol (SRTP) in that it is independent of RTP (thus compatible with non-RTP media transport) and can be applied to whole media frames in order to be more bandwidth efficient.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9605"/>
          <seriesInfo name="DOI" value="10.17487/RFC9605"/>
        </reference>
        <reference anchor="I-D.irtf-cfrg-aegis-aead">
          <front>
            <title>The AEGIS Family of Authenticated Encryption Algorithms</title>
            <author fullname="Frank Denis" initials="F." surname="Denis">
              <organization>Fastly Inc.</organization>
            </author>
            <author fullname="Samuel Lucas" initials="S." surname="Lucas">
              <organization>Individual Contributor</organization>
            </author>
            <date day="12" month="December" year="2024"/>
            <abstract>
              <t>   This document describes the AEGIS-128L, AEGIS-256, AEGIS-128X, and
   AEGIS-256X AES-based authenticated encryption algorithms designed for
   high-performance applications.

   The document is a product of the Crypto Forum Research Group (CFRG).
   It is not an IETF product and is not a standard.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Source for this draft and an issue tracker can be found at
   https://github.com/cfrg/draft-irtf-cfrg-aegis-aead.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-irtf-cfrg-aegis-aead-14"/>
        </reference>
        <reference anchor="UIA2" target="https://www.gsma.com/solutions-and-impact/technologies/security/wp-content/uploads/2019/05/uea2uia2d1v21.pdf">
          <front>
            <title>UEA2 and UIA2 Specification</title>
            <author initials="" surname="ETSI SAGE">
              <organization/>
            </author>
            <date year="2009" month="March"/>
          </front>
        </reference>
        <reference anchor="EIA3" target="https://www.gsma.com/solutions-and-impact/technologies/security/wp-content/uploads/2019/05/EEA3_EIA3_specification_v1_8.pdf">
          <front>
            <title>128-EEA3 and 128-EIA3 Specification</title>
            <author initials="" surname="ETSI SAGE">
              <organization/>
            </author>
            <date year="2019" month="January"/>
          </front>
        </reference>
        <reference anchor="BSI" target="https://www.bsi.bund.de/SharedDocs/Downloads/EN/BSI/Publications/TechGuidelines/TG02102/BSI-TR-02102-1.html">
          <front>
            <title>Cryptographic Mechanisms Recommendations and Key Lengths</title>
            <author>
              <organization/>
            </author>
            <date year="2024" month="February"/>
          </front>
          <seriesInfo name="BSI" value="Technical Guideline TR-02102-1"/>
        </reference>
        <reference anchor="Multiple" target="https://csrc.nist.gov/csrc/media/projects/block-cipher-techniques/documents/bcm/comments/cwc-gcm/multi-forge-01.pdf">
          <front>
            <title>Multiple Forgery Attacks Against Message Authentication Codes</title>
            <author initials="" surname="David McGrew">
              <organization/>
            </author>
            <author initials="" surname="Scott Fluhrer">
              <organization/>
            </author>
            <date year="2024" month="November"/>
          </front>
        </reference>
        <reference anchor="Reforge" target="https://eprint.iacr.org/2017/332.pdf">
          <front>
            <title>Reforgeability of Authenticated Encryption Schemes</title>
            <author initials="" surname="Christian Forler">
              <organization/>
            </author>
            <author initials="" surname="Eik List">
              <organization/>
            </author>
            <author initials="" surname="Stefan Lucks">
              <organization/>
            </author>
            <author initials="" surname="akob Wenzel">
              <organization/>
            </author>
            <date year="2017" month="April"/>
          </front>
        </reference>
        <reference anchor="Inoue" target="https://eprint.iacr.org/2024/1928.pdf">
          <front>
            <title>Generic Security of GCM-SST</title>
            <author initials="" surname="Akiko Inoue">
              <organization/>
            </author>
            <author initials="" surname="Ashwin Jha">
              <organization/>
            </author>
            <author initials="" surname="Bart Mennink">
              <organization/>
            </author>
            <author initials="" surname="Kazuhiko Minematsu">
              <organization/>
            </author>
            <date year="2024" month="November"/>
          </front>
        </reference>
        <reference anchor="Iwata" target="https://eprint.iacr.org/2012/438.pdf">
          <front>
            <title>Breaking and Repairing GCM Security Proofs</title>
            <author initials="" surname="Tetsu Iwata">
              <organization/>
            </author>
            <author initials="" surname="Keisuke Ohashi">
              <organization/>
            </author>
            <author initials="" surname="Kazuhiko Minematsu">
              <organization/>
            </author>
            <date year="2012" month="August"/>
          </front>
        </reference>
        <reference anchor="Bernstein" target="https://cr.yp.to/antiforgery/permutations-20050323.pdf">
          <front>
            <title>Stronger Security Bounds for Permutations</title>
            <author initials="" surname="Daniel J Bernstein">
              <organization/>
            </author>
            <date year="2005" month="March"/>
          </front>
        </reference>
        <reference anchor="Ducker" target="https://rd.springer.com/chapter/10.1007/978-3-030-97652-1_18">
          <front>
            <title>Software Optimization of Rijndael for Modern x86-64 Platforms</title>
            <author initials="" surname="Nir Drucker">
              <organization/>
            </author>
            <author initials="" surname="Shay Gueron">
              <organization/>
            </author>
            <date year="2022" month="May"/>
          </front>
        </reference>
        <reference anchor="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="AEZ" target="https://eprint.iacr.org/2014/793.pdf">
          <front>
            <title>Robust Authenticated-Encryption: AEZ and the Problem that it Solves</title>
            <author initials="" surname="Viet Tung Hoang">
              <organization/>
            </author>
            <author initials="" surname="Ted Krovetz">
              <organization/>
            </author>
            <author initials="" surname="Phillip Rogaway">
              <organization/>
            </author>
            <date year="2017" month="March"/>
          </front>
        </reference>
        <reference anchor="Robust" target="https://link.springer.com/article/10.1007/s00145-023-09489-9">
          <front>
            <title>Robust Channels: Handling Unreliable Networks in the Record Layers of QUIC and DTLS 1.3</title>
            <author initials="M." surname="Fischlin">
              <organization/>
            </author>
            <author initials="F." surname="Günther">
              <organization/>
            </author>
            <author initials="C." surname="Janson">
              <organization/>
            </author>
            <date year="2024" month="January"/>
          </front>
        </reference>
        <reference anchor="MoQ" target="https://datatracker.ietf.org/wg/moq/about/">
          <front>
            <title>Media Over QUIC</title>
            <author initials="" surname="IETF">
              <organization/>
            </author>
            <date year="2022" month="September"/>
          </front>
        </reference>
        <reference anchor="Revise" target="https://csrc.nist.gov/news/2023/proposal-to-revise-sp-800-38d">
          <front>
            <title>Announcement of Proposal to Revise SP 800-38D</title>
            <author initials="" surname="NIST">
              <organization/>
            </author>
            <date year="2023" month="August"/>
          </front>
        </reference>
        <reference anchor="SNOW" target="https://eprint.iacr.org/2021/236">
          <front>
            <title>SNOW-Vi: an extreme performance variant of SNOW-V for lower grade CPUs</title>
            <author initials="P." surname="Ekdahl">
              <organization/>
            </author>
            <author initials="T." surname="Johansson">
              <organization/>
            </author>
            <author initials="A." surname="Maximov">
              <organization/>
            </author>
            <author initials="J." surname="Yang">
              <organization/>
            </author>
            <date year="2021" month="March"/>
          </front>
        </reference>
        <reference anchor="SST1" target="https://csrc.nist.gov/csrc/media/Events/2023/third-workshop-on-block-cipher-modes-of-operation/documents/accepted-papers/Galois%20Counter%20Mode%20with%20Secure%20Short%20Tags.pdf">
          <front>
            <title>Galois Counter Mode with Strong Secure Tags (GCM-SST)</title>
            <author initials="M." surname="Campagna">
              <organization/>
            </author>
            <author initials="A." surname="Maximov">
              <organization/>
            </author>
            <author initials="J." surname="Preuß Mattsson">
              <organization/>
            </author>
            <date year="2023" month="October"/>
          </front>
        </reference>
        <reference anchor="SST2" target="https://csrc.nist.gov/csrc/media/Presentations/2023/galois-counter-mode-with-secure-short-tags/images-media/sess-5-mattsson-bcm-workshop-2023.pdf">
          <front>
            <title>Galois Counter Mode with Strong Secure Tags (GCM-SST)</title>
            <author initials="M." surname="Campagna">
              <organization/>
            </author>
            <author initials="A." surname="Maximov">
              <organization/>
            </author>
            <author initials="J." surname="Preuß Mattsson">
              <organization/>
            </author>
            <date year="2023" month="October"/>
          </front>
        </reference>
        <reference anchor="GCM" target="https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf">
          <front>
            <title>Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC</title>
            <author initials="M." surname="Dworkin">
              <organization/>
            </author>
            <date year="2007" month="November"/>
          </front>
          <seriesInfo name="NIST" value="Special Publication 800-38D"/>
        </reference>
        <reference anchor="Ascon" target="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-232.ipd.pdf">
          <front>
            <title>Ascon-Based Lightweight Cryptography Standards for Constrained Devices</title>
            <author initials="" surname="Meltem Sönmez Turan">
              <organization/>
            </author>
            <author initials="" surname="Kerry A McKay">
              <organization/>
            </author>
            <author initials="" surname="Donghoon Chang">
              <organization/>
            </author>
            <author initials="" surname="Jinkeon Kang">
              <organization/>
            </author>
            <author initials="" surname="John Kelsey">
              <organization/>
            </author>
            <date year="2024" month="November"/>
          </front>
          <seriesInfo name="NIST" value="Special Publication 800-232 Initial Public Draft"/>
        </reference>
        <reference anchor="GCM-Update" target="https://csrc.nist.gov/csrc/media/projects/block-cipher-techniques/documents/bcm/comments/cwc-gcm/gcm-update.pdf">
          <front>
            <title>GCM Update</title>
            <author initials="D." surname="McGrew">
              <organization/>
            </author>
            <author initials="J." surname="Viega">
              <organization/>
            </author>
            <date year="2005" month="May"/>
          </front>
        </reference>
        <reference anchor="Gueron" target="https://csrc.nist.gov/csrc/media/Presentations/2023/constructions-based-on-the-aes-round/images-media/sess-5-gueron-bcm-workshop-2023.pdf">
          <front>
            <title>Constructions based on the AES Round and Polynomial Multiplication that are Efficient on Modern Processor Architectures</title>
            <author initials="S." surname="Gueron">
              <organization/>
            </author>
            <date year="2023" month="October"/>
          </front>
        </reference>
        <reference anchor="Ferguson" target="https://csrc.nist.gov/CSRC/media/Projects/Block-Cipher-Techniques/documents/BCM/Comments/CWC-GCM/Ferguson2.pdf">
          <front>
            <title>Authentication weaknesses in GCM</title>
            <author initials="N." surname="Ferguson">
              <organization/>
            </author>
            <date year="2005" month="May"/>
          </front>
        </reference>
        <reference anchor="Nyberg" target="https://csrc.nist.gov/CSRC/media/Projects/Block-Cipher-Techniques/documents/BCM/Comments/general-comments/papers/Nyberg_Gilbert_and_Robshaw.pdf">
          <front>
            <title>Galois MAC with forgery probability close to ideal</title>
            <author initials="K." surname="Nyberg">
              <organization/>
            </author>
            <author initials="H." surname="Gilbert">
              <organization/>
            </author>
            <author initials="M." surname="Robshaw">
              <organization/>
            </author>
            <date year="2005" month="June"/>
          </front>
        </reference>
        <reference anchor="Mattsson" target="https://eprint.iacr.org/2015/477.pdf">
          <front>
            <title>Authentication Key Recovery on Galois/Counter Mode (GCM)</title>
            <author initials="J." surname="Mattsson">
              <organization/>
            </author>
            <author initials="M." surname="Westerlund">
              <organization/>
            </author>
            <date year="2015" month="May"/>
          </front>
        </reference>
        <reference anchor="Rogaway" target="https://www.cryptrec.go.jp/exreport/cryptrec-ex-2012-2010r1.pdf">
          <front>
            <title>Evaluation of Some Blockcipher Modes of Operation</title>
            <author initials="P." surname="Rogaway">
              <organization/>
            </author>
            <date year="2011" month="February"/>
          </front>
        </reference>
        <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 734?>

<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 -12 to -13:</t>
      <ul spacing="normal">
        <li>
          <t>Changed name to Strong Secure Tags to better illustrate that GCM-SST is intended to improve security for all tag lengths.</t>
        </li>
        <li>
          <t>Editorial changes</t>
        </li>
      </ul>
      <t>Changes from -11 to -12:</t>
      <ul spacing="normal">
        <li>
          <t>Introduced Q_MAX and V_MAX as formal names for the invocation constraints.</t>
        </li>
        <li>
          <t>Described that masking is important to mitigate weak keys.</t>
        </li>
        <li>
          <t>Improved and expanded the section comparing GCM-SST with Poly1305 and GCM.</t>
        </li>
        <li>
          <t>Editorial changes including subsections in the security considerations.</t>
        </li>
      </ul>
      <t>Changes from -10 to -11:</t>
      <ul spacing="normal">
        <li>
          <t>Added that protocols can impose stricter limits on P_MAX and A_MAX</t>
        </li>
        <li>
          <t>Added constraints on the number of decryption queries v</t>
        </li>
        <li>
          <t>More info on replay protection implementation</t>
        </li>
        <li>
          <t>More info on nonce constructions</t>
        </li>
        <li>
          <t>Introduced the Bernstein bound factor δ instead of just assuming that δ &lt; 2</t>
        </li>
        <li>
          <t>Clarified differences between GCM-SST with different keystream generators (ideal, AES, Rijndael)</t>
        </li>
        <li>
          <t>Made it clearer that Table 1 is for unicast security protocols with replay protection and that Poly1305 is keyed with ChaCha20.</t>
        </li>
        <li>
          <t>Editorial changes including RFC 2119 terminology</t>
        </li>
      </ul>
      <t>Changes from -09 to -10:</t>
      <ul spacing="normal">
        <li>
          <t>Corrected some 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"/>, <contact fullname="Kazuhiko Minematsu"/>, and <contact fullname="Erik Thormarker"/> for their valuable comments and feedback. Some of the formatting and text were inspired by and borrowed from <xref target="I-D.irtf-cfrg-aegis-aead"/>.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+19S3PjWJbeXr/iTlbYznTzTYoUc7q6hykpM1WVylSlVJX9
mLICBC4ptEiABYBSqlTlmIUnwmMvJ7x02AuvvJ7wyivPfn5E/RJ/55x7gQsS
lCjVI+ZVnS1RIHAf5573C/V6fScLs5l+rp688mZxmKr9eBllOlHHcaDVdZhd
qNMsiaOpOtX+MtHqzJum6umr/eP66enZsyc73nic6Ct6Xi492fG9TE/j5Oa5
CqNJvLMTxH7kzTFFkHiTrD73sixN46juT5Jp3dNpferP62ma1dvdnXQ5nodp
GsZRdrPAI0fvz14q9YnyZmmMOcIo0AuNH1H2pKaeHI1e4Fec4BPue7ITLedj
nTzfCbCC5zt+HKU6Spfpc5UlS72DRXZ3vER7z+3913FyOU3i5QJX9pObRRar
l3GynD/ZudQ3+DJ4vqPqKtIfMzXVkU68DAujS8so9OOEP6YLL7mchQBQEKZZ
Eo6XmQ7UTAdTnexc6WiJlShVPYtSsssn73WqvcS/UK/oPvpi7oUzfEEw+otQ
Z5NGnEzpOt2F6xdZtkifN5t0G10Kr3TD3takC00ZsPlbTbecz7C2T2kwGmOK
U12OMQq+i/4UR817DoaemQGkaebMbJ5tyGCNML5vlPu+b1xk89mTnR1vmV3E
OMQ60CfMQpz8c3XcwBLSZSJ4tO/NF9408nBNLhxjzAt97X4BODxXo7n3bRyp
D3oM7E2uQl+n+MonDCf03PciL6CbtUDbN4//hcfPNfx4XlrFqLSKY+9jOI+v
8kWMZvqjB9RMnG94FYdJ6NOO6fQMsTiX8tWcXmvgdbEaz47XmMt4f6HNU2sL
+6y0sJNEL//+fzBQzBxy/bP4Iqr48ses8U8YsmFPtLy+nShO8A0Q8/kOHnj/
cn+33e4/l497vd0OXx4dntIlEIKXTDXwy6JXdDVbLMdpIwLiNqbxVZM+0JXm
y6OT0+bbo9OzBn1qtIeD+nIRtBuLYCIjGX42Cq68yActHkY+UR1IF6wMEPWS
QD3FxM+e8P0plq1TYlWyEqWe0OhPMMRL7DbxZuoIX/JmYgJgDDRKieDtaKk6
WY5noS83YEEyMHMhQPpGdVqdLgMh/BMe0LPqLftp4hf7pb+acx2EXnORxH/S
fpY2eR/xNPEWF6FfT+30dfyuT5dhoMGHdNoEw13OwSLTJpFXoK/0LF7QhWZi
FlD35nNio8E61A5PaYuLOPVwvnbBsiFLmQKluvmtgIiEg7EXqQNPzxk/Km74
KsRpRBmNae8RCJ3qRaaJcQNOLcAptNAuUKc7aLcN6vS6ra752O8NhubjYLc7
zHGrl6NZv23vHbZareKjHWzYb+3Sx6P6QSNMsollStMQQNVewPN/eTTqVJ/Y
9fV1Y5rOPUL4ZhrPloQAchwhWImfNTPtX0TxLJ4CxcCSIUHD7KZ5vahDOGV0
IsvFLPaCtNlptYfN1m5zqb3OMvQ6Qfuqs47TXx6OOgrD85rU6UL74cTg3RZH
dHh2eqROR68OS+hJYgeAH9JWD49G3V9sq4eHo+45zXieuhs5v2qf763tvN3Z
q9MDvHv+Aw/+JBD4zIuWXkJE2mYYvDg92gyCcRo2xssoaAS6eXoBZSI4iP20
eRBfR7K5w7dNDNB0GELaPANkXhXkefaq1Wm3OnRf/ex9nf+ot1n8lba871K7
OsYgHrjDPFXvNQ6B6FfGZ5B8rm/UGx1Ns4t0I1vDhMTVaDnQX8DX8kWpYh0u
73qpx4mBTadHsDlezrJwMdOPZWDjWexf1v1wcaGTOiNM+M2yxLHG/rwpuyN+
d+2TdtCc07R1cIWprrfWqcKuitQqaF03apRlnn+ZqtHUw7FngF2aelOtRsAN
DGw59T5U3HQLrDnwrsJAHfuvEn1dfcepH2eZejlbXiTQ+goAvo2vLGcTAL7X
vItq+OlFEkZZI/T8hPU4YOSg2e121jZsRvHG4Qw0puKJu7MViedfgCVvs8v9
iwRHF4KLA4wzs411Cgov1RvctwEOmZ5ggDdLQL/6Du8yHkMhi77VMwdOI+x8
RhQ4ICAdRfFyaxB1es32sLPOMF6Rwg66OTWciKCUmyj3AmN0GV7GspANN6QX
12GkPrvwqr9/4SWEd1EURpfVd3zufbu8oFmOQYAQd+nyLsQ5uvYyb2u06TR7
3XWQvIDtc0mKCzGM93rhhQn9BagUUILsjyfboMuZxoplWRv2p8N0eanVuwsv
vQgfAYPRcroE8dJ2mC/rBLSsw2gD80kaN4tGFjc9kMFEGEFzoZP5MhM2WYeQ
2211O901uIiBC2DnUHgBhRdqHYZRJ84QW/GKKNQzaOTFequk7S7t6ABkopPq
7SRBI6VzxbJY5IL5Q0tKmu1Wo91qDZrDwV69W291W/XhoL8Lvn3e3itvKp5k
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
jkKtwRzLuaE+8NRQKgQPd62sIB+PSct0siQf+cKL0gjpj33xBYfTxIly5ToO
HN6Sr5OS2tsDG0mzUuyZK97PigGKipN/BDL/oYJ/O4mPH9tL/fvFPRWvOI+2
q8ZrV43XXpPxXAfjbq3/YDFfFurtwZpQ7/wMQp3wzA3hWTlszFEWGkDD/u5u
1+ZRrAhOEZ2fqKPR29FKyunODl8MU9sg1vQL4N6JJokuE5YaOZW8GH45j6QA
rZTXLd6h9aITaVMMLC461T55VN/9k7xK5YkiEZI7oVZ6l6aSqaAlQk7vpCPn
palVzRnaGbXE/Uqz+b9a3ilfftJWT63ycqlvnu3s/Mfq/+zrKj8//D243a1q
tVSrrVod1eqqVk8Bm1t91Rqo1p5qDVXLU62xavmqFaiWVq2J+l4GePvu7f4h
D9BtqW6b6n26XdXtqe6uwvl2B6q7p7pD1fVUd2wfov9e80OdjoJlPOxAVVD+
WO221GCgemPljWmm9p7q4NFA9SGRtRpM3AG+kGV3Vbur+l1KsBr0uMWUp/b6
qkdamZqM1V6L1jEeKA8ffHeAYx5gOFbtQPWGSnuq11HjFu1V+/Rh7CuNAaDH
tMBglY9vhxhgE0BxHjDmKXfnk7YHEhO2poNPn0ygTmjC6XvOYgQspDVhkSdv
Rkdvzw5/d2YuSNF0neoD7Wk95B9tmxzQ9bPRq0du26yxaoDvd/aPTl4fvnfW
uw2Qxj8KSL2W6rVp7b2u6vV+BMw6e1vCDPg36RKaej0V7NJnEIe3qwZYiVad
CV/sEKrrPTWpgJk7wCNh5v+0iNVvqX5b9TtEQf0emLLq91V/oPp7qj9UfU/1
x+uA7P9Y5JvswXhT0EP2ADCQuaeGLRUM1V5b7U0IPoMxHSlWsAdiHq8D0h1g
DZDYx6SldsfEMtpaBR1CFRzKoK06u2oXV4ItgR38lAja21U98KUBVVyCbHoe
8bmeT5wK2NObPO5w+r7qM3/sTwrOJv8BLbHlQUcNusQaB0DUPrHXwZ4aDNXA
IygPfDUI1ECvH/JkA1Xsbc1hurTx3T5pbpAdez3aeMcnroIr/oDgg4n1UPlg
O/0KDuMM8KhD3u0SoHfBztprsAmU3yJM8xmHPIiHIb1CLBjTgYEjTCYEdUiz
dmtLZNG/HLL8DJiydv57G85/sC23BAJBnEPwDgewOWhfEOo4bSgJu54KBiRk
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
zgAA

-->

</rfc>
