<?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.30 (Ruby 2.6.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-barnes-sframe-iana-256-02" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="SFrame IANA Updates">Updates to SFrame Cipher Suites Registry</title>
    <seriesInfo name="Internet-Draft" value="draft-barnes-sframe-iana-256-02"/>
    <author fullname="Richard Barnes">
      <organization>Cisco</organization>
      <address>
        <email>rlb@ipv.sx</email>
      </address>
    </author>
    <author fullname="Emad Omara">
      <organization>Apple</organization>
      <address>
        <email>eomara@apple.com</email>
      </address>
    </author>
    <author fullname="Aron Rosenberg">
      <organization>Apple</organization>
      <address>
        <email>aron.rosenberg@apple.com</email>
      </address>
    </author>
    <date year="2026" month="February" day="18"/>
    <area>Applications and Real-Time</area>
    <workgroup>Secure Media Frames</workgroup>
    <keyword>SFrame</keyword>
    <keyword>cryptography</keyword>
    <abstract>
      <?line 48?>

<t>This document addresses two omissions in the Secure Frames (SFrame) protocol
specification.  First, the definition of the IANA registry for SFrame
ciphersuites omits several important fields.  This document requests that IANA
add those fields and defines the contents of those fields for current entries.
Second, the AEAD construction based on AES-CTR and HMAC is defined only for
the 128-bit security level.  This document registers parallel constructions
at the 256-bit security level.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://bifurcation.github.io/sframe-iana-256/draft-barnes-sframe-iana-256.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-barnes-sframe-iana-256/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Secure Media Frames Working Group mailing list (<eref target="mailto:sframe@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/sframe/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/sframe/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/bifurcation/sframe-iana-256"/>.</t>
    </note>
  </front>
  <middle>
    <?line 58?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Secure Frames (SFrame) protocol specification defines an IANA registry for
cipher suites.  The initial definition in <xref section="8.1" sectionFormat="of" target="RFC9605"/> is missing
several important fields.  This document requests that IANA add those fields and
defines the contents of those fields for current entries.  We also define new
entries that extend the SFrame CTR+HMAC construction to support AES-256.</t>
      <t>This document addresses two omissions in the Secure Frames (SFrame) protocol
specification <xref target="RFC9605"/>.  First, the definition in <xref section="8.1" sectionFormat="of" target="RFC9605"/> of the IANA registry for SFrame ciphersuites omits several important
fields.  This document requests that IANA add those fields and defines the
contents of those fields for current entries.  Second, the AEAD construction
based on AES-CTR and HMAC (in <xref section="4.5.1" sectionFormat="of" target="RFC9605"/>) is defined only for
the 128-bit security level.  This document registers parallel constructions at
the 256-bit security level.</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?>

</section>
    <section anchor="aes-256-ctr-with-hmac-sha512">
      <name>AES-256-CTR with HMAC-SHA512</name>
      <t><xref section="4.5.1" sectionFormat="of" target="RFC9605"/> defines a compound authenticated encryption
construction, using the unauthenticated CTR mode of AES for encryption and HMAC
for authentication.</t>
      <t>The original specification only defines cipher suite values for instances of
this construction using AES-128-CTR and HMAC-SHA256.  The construction works the
same way when used with AES-256-CTR and HMAC-SHA512.  The only differences are
in the lengths of some SFrame-internal fields:</t>
      <ul spacing="normal">
        <li>
          <t>The keys generated by SFrame-internal key derivation (<tt>derive_key_salt</tt>) are
longer to match the needs of AES-256-CTR and HMAC-SHA512 (96 bytes vs 48 bytes
for AES-128-CTR and HMAC-SHA256).</t>
        </li>
        <li>
          <t>The initial tag value <tt>tag</tt> in <tt>compute_tag</tt> is 64 bytes instead of 32 bytes.</t>
        </li>
      </ul>
      <t>Identifiers for cipher suites using AES-256-CTR and HMAC-SHA512 are defined in
<xref target="cipher-suites"/>.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The registry changes in this document have no affect on the security of SFrame.</t>
      <t>The new algorithms registered by this document allow the CTR+HMAC construction
to be used in environments that require a 256-bit security level.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document makes three requests of IANA: Updating the columns in the "SFrame
Cipher Suites" registry, adding entries to the updated registry for the new
cipher suites defined in this document, and add this document as an additional
reference for this registry."</t>
      <section anchor="sframe-cipher-suites">
        <name>"SFrame Cipher Suites" Registry Update</name>
        <t>The SFrame Cipher Suites registry should be updated to add the following
columns:</t>
        <ul spacing="normal">
          <li>
            <t><tt>Nh</tt>: The size in bytes of the output of the hash function</t>
          </li>
          <li>
            <t><tt>Nka</tt>: For cipher suites using the compound AEAD described in <xref section="4.5.1" sectionFormat="of" target="RFC9605"/>, the size in bytes of a key for the underlying encryption
algorithm</t>
          </li>
          <li>
            <t><tt>Nk</tt>: The size in bytes of a key for the encryption algorithm</t>
          </li>
          <li>
            <t><tt>Nn</tt>: The size in bytes of a nonce for the encryption algorithm</t>
          </li>
          <li>
            <t><tt>Nt</tt>: The overhead in bytes of the encryption algorithm (typically the size of
a "tag" that is added to the plaintext)</t>
          </li>
        </ul>
        <t><xref target="new-cipher-suite-registry"/> illustrates the new structure of the registry, and provides
the required values for the currently registered entries.</t>
        <table anchor="new-cipher-suite-registry">
          <name>New structure and contents of the SFrame Cipher Suites registry</name>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Name</th>
              <th align="left">Nh</th>
              <th align="left">Nka</th>
              <th align="left">Nk</th>
              <th align="left">Nn</th>
              <th align="left">Nt</th>
              <th align="left">R</th>
              <th align="left">Reference</th>
              <th align="left">Change Controller</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0x0000</td>
              <td align="left">Reserved</td>
              <td align="left">-</td>
              <td align="left">-</td>
              <td align="left">-</td>
              <td align="left">-</td>
              <td align="left">-</td>
              <td align="left">-</td>
              <td align="left">RFC 9605</td>
              <td align="left">IETF</td>
            </tr>
            <tr>
              <td align="left">0x0001</td>
              <td align="left">
                <tt>AES_128_CTR_HMAC_SHA256_80</tt></td>
              <td align="left">32</td>
              <td align="left">16</td>
              <td align="left">48</td>
              <td align="left">12</td>
              <td align="left">10</td>
              <td align="left">Y</td>
              <td align="left">RFC 9605</td>
              <td align="left">IETF</td>
            </tr>
            <tr>
              <td align="left">0x0002</td>
              <td align="left">
                <tt>AES_128_CTR_HMAC_SHA256_64</tt></td>
              <td align="left">32</td>
              <td align="left">16</td>
              <td align="left">48</td>
              <td align="left">12</td>
              <td align="left">8</td>
              <td align="left">Y</td>
              <td align="left">RFC 9605</td>
              <td align="left">IETF</td>
            </tr>
            <tr>
              <td align="left">0x0003</td>
              <td align="left">
                <tt>AES_128_CTR_HMAC_SHA256_32</tt></td>
              <td align="left">32</td>
              <td align="left">16</td>
              <td align="left">48</td>
              <td align="left">12</td>
              <td align="left">4</td>
              <td align="left">Y</td>
              <td align="left">RFC 9605</td>
              <td align="left">IETF</td>
            </tr>
            <tr>
              <td align="left">0x0004</td>
              <td align="left">
                <tt>AES_128_GCM_SHA256_128</tt></td>
              <td align="left">32</td>
              <td align="left">n/a</td>
              <td align="left">16</td>
              <td align="left">12</td>
              <td align="left">16</td>
              <td align="left">Y</td>
              <td align="left">RFC 9605</td>
              <td align="left">IETF</td>
            </tr>
            <tr>
              <td align="left">0x0005</td>
              <td align="left">
                <tt>AES_256_GCM_SHA512_128</tt></td>
              <td align="left">64</td>
              <td align="left">n/a</td>
              <td align="left">32</td>
              <td align="left">12</td>
              <td align="left">16</td>
              <td align="left">Y</td>
              <td align="left">RFC 9605</td>
              <td align="left">IETF</td>
            </tr>
            <tr>
              <td align="left">0xF000 - 0xFFFF</td>
              <td align="left">Reserved for Private Use</td>
              <td align="left">-</td>
              <td align="left">-</td>
              <td align="left">-</td>
              <td align="left">-</td>
              <td align="left">-</td>
              <td align="left">-</td>
              <td align="left">RFC 9605</td>
              <td align="left">IETF</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="cipher-suites">
        <name>Cipher Suites for AES-256-CTR with HMAC-SHA512</name>
        <t>The following new entries should be added to the SFrame Cipher Suites registry:</t>
        <table anchor="new-entries">
          <name>New entries SFrame Cipher Suites registry</name>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Name</th>
              <th align="left">Nh</th>
              <th align="left">Nka</th>
              <th align="left">Nk</th>
              <th align="left">Nn</th>
              <th align="left">Nt</th>
              <th align="left">R</th>
              <th align="left">Reference</th>
              <th align="left">Change Controller</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0x0006</td>
              <td align="left">
                <tt>AES_256_CTR_HMAC_SHA512_80</tt></td>
              <td align="left">64</td>
              <td align="left">32</td>
              <td align="left">96</td>
              <td align="left">12</td>
              <td align="left">10</td>
              <td align="left">Y</td>
              <td align="left">RFC XXXX</td>
              <td align="left">IETF</td>
            </tr>
            <tr>
              <td align="left">0x0007</td>
              <td align="left">
                <tt>AES_256_CTR_HMAC_SHA512_64</tt></td>
              <td align="left">64</td>
              <td align="left">32</td>
              <td align="left">96</td>
              <td align="left">12</td>
              <td align="left">8</td>
              <td align="left">Y</td>
              <td align="left">RFC XXXX</td>
              <td align="left">IETF</td>
            </tr>
            <tr>
              <td align="left">0x0008</td>
              <td align="left">
                <tt>AES_256_CTR_HMAC_SHA512_32</tt></td>
              <td align="left">64</td>
              <td align="left">32</td>
              <td align="left">96</td>
              <td align="left">12</td>
              <td align="left">4</td>
              <td align="left">Y</td>
              <td align="left">RFC XXXX</td>
              <td align="left">IETF</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="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="TestVectors" target="https://github.com/bifurcation/sframe-iana-256/blob/main/test-vectors/test-vectors-aes256.json">
          <front>
            <title>SFrame Test Vectors</title>
            <author>
              <organization/>
            </author>
            <date year="2025" month="September"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 177?>

<section anchor="test-vectors">
      <name>Test Vectors</name>
      <t>This section provides a set of test vectors that implementations can use to
verify that they correctly implement SFrame encryption and decryption with the
cipher suites registered in this document.  Test vectors are provided for both
the AES-256-CTR-HMAC construction and for full SFrame encryption with the new
cipher suites.</t>
      <t>All values are either numeric or byte strings.  Numeric values are represented
as hex values, prefixed with <tt>0x</tt>.  Byte strings are represented in hex
encoding.</t>
      <t>Line breaks and whitespace within values are inserted to conform to the width
requirements of the RFC format.  They should be removed before use.</t>
      <t>These test vectors are also available in JSON format at <xref target="TestVectors"/>.  In the
JSON test vectors, numeric values are JSON numbers and byte string values are
JSON strings containing the hex encoding of the byte strings.</t>
      <section anchor="aead-encryptiondecryption-using-aes-ctr-and-hmac">
        <name>AEAD Encryption/Decryption Using AES-CTR and HMAC</name>
        <t>For each case, we provide:</t>
        <ul spacing="normal">
          <li>
            <t><tt>cipher_suite</tt>: The index of the cipher suite in use (see
<xref target="sframe-cipher-suites"/>)</t>
          </li>
          <li>
            <t><tt>key</tt>: The <tt>key</tt> input to encryption/decryption</t>
          </li>
          <li>
            <t><tt>enc_key</tt>: The encryption subkey produced by the <tt>derive_subkeys()</tt> algorithm</t>
          </li>
          <li>
            <t><tt>auth_key</tt>: The authentication subkey produced by the <tt>derive_subkeys()</tt> algorithm</t>
          </li>
          <li>
            <t><tt>nonce</tt>: The <tt>nonce</tt> input to encryption/decryption</t>
          </li>
          <li>
            <t><tt>aad</tt>: The <tt>aad</tt> input to encryption/decryption</t>
          </li>
          <li>
            <t><tt>pt</tt>: The plaintext</t>
          </li>
          <li>
            <t><tt>ct</tt>: The ciphertext</t>
          </li>
        </ul>
        <t>An implementation should verify that the following are true, where
<tt>AEAD.Encrypt</tt> and <tt>AEAD.Decrypt</tt> are as defined in <xref section="4.5.1" sectionFormat="of" target="RFC9605"/>:</t>
        <ul spacing="normal">
          <li>
            <t><tt>AEAD.Encrypt(key, nonce, aad, pt) == ct</tt></t>
          </li>
          <li>
            <t><tt>AEAD.Decrypt(key, nonce, aad, ct) == pt</tt></t>
          </li>
        </ul>
        <t>The other values in the test vector are intermediate values provided to
facilitate debugging of test failures.</t>
      </section>
      <section anchor="sframe-encryptiondecryption">
        <name>SFrame Encryption/Decryption</name>
        <t>For each case, we provide:</t>
        <ul spacing="normal">
          <li>
            <t><tt>cipher_suite</tt>: The index of the cipher suite in use (see
<xref target="sframe-cipher-suites"/>)</t>
          </li>
          <li>
            <t><tt>kid</tt>: A KID value</t>
          </li>
          <li>
            <t><tt>ctr</tt>: A CTR value</t>
          </li>
          <li>
            <t><tt>base_key</tt>: The <tt>base_key</tt> input to the <tt>derive_key_salt</tt> algorithm</t>
          </li>
          <li>
            <t><tt>sframe_key_label</tt>: The label used to derive <tt>sframe_key</tt> in the <tt>derive_key_salt</tt> algorithm</t>
          </li>
          <li>
            <t><tt>sframe_salt_label</tt>: The label used to derive <tt>sframe_salt</tt> in the <tt>derive_key_salt</tt> algorithm</t>
          </li>
          <li>
            <t><tt>sframe_secret</tt>: The <tt>sframe_secret</tt> variable in the <tt>derive_key_salt</tt> algorithm</t>
          </li>
          <li>
            <t><tt>sframe_key</tt>: The <tt>sframe_key</tt> value produced by the <tt>derive_key_salt</tt> algorithm</t>
          </li>
          <li>
            <t><tt>sframe_salt</tt>: The <tt>sframe_salt</tt> value produced by the <tt>derive_key_salt</tt> algorithm</t>
          </li>
          <li>
            <t><tt>metadata</tt>: The <tt>metadata</tt> input to the SFrame <tt>encrypt</tt> algorithm</t>
          </li>
          <li>
            <t><tt>pt</tt>: The plaintext</t>
          </li>
          <li>
            <t><tt>ct</tt>: The SFrame ciphertext</t>
          </li>
        </ul>
        <t>An implementation should verify that the following are true, where
<tt>encrypt</tt> and <tt>decrypt</tt> are as defined in <xref section="4.4" sectionFormat="of" target="RFC9605"/>, using an SFrame
context initialized with <tt>base_key</tt> assigned to <tt>kid</tt>:</t>
        <ul spacing="normal">
          <li>
            <t><tt>encrypt(ctr, kid, metadata, plaintext) == ct</tt></t>
          </li>
          <li>
            <t><tt>decrypt(metadata, ct) == pt</tt></t>
          </li>
        </ul>
        <t>The other values in the test vector are intermediate values provided to
facilitate debugging of test failures.</t>
        <sourcecode type="test-vectors"><![CDATA[
cipher_suite: 0x0006
kid: 0x0000000000000123
ctr: 0x0000000000004567
base_key: 000102030405060708090a0b0c0d0e0f
sframe_key_label: 534672616d6520312e30205365637265
                  74206b65792000000000000001230006
sframe_salt_label: 534672616d6520312e30205365637265
                   742073616c7420000000000000012300
                   06
sframe_secret: 0fc3ea6de6aac97a35f194cf9bed94d4
               b5230f1cb45a785c9fe5dce9c188938a
               b6ba005bc4c0a19181599e9d1bcf7b74
               aca48b60bf5e254e546d809313e083a3
sframe_key: 3c343886ec1c79278836863e00fe934c
            8894460cfa367ebdc4856b0a9268a4f4
            fb99437876819394ef90b10ee12602d0
            23f7128ee50f2314c2cc3cff4c56616d
            2fe03ad2a254cc2ed29b2a4d3f2534c0
            dda9e7c391ad1917ea07aa221dd4b224
sframe_salt: e082f7ce012ad30c87c49e3f
metadata: 4945544620534672616d65205747
nonce: e082f7ce012ad30c87c4db58
aad: 99012345674945544620534672616d65
     205747
pt: 64726166742d696574662d736672616d
    652d656e63
ct: 9901234567b369e03ec6467ad505ddc8
    4914115069280c5c797555be6e32cde6
    ac25bc9e
]]></sourcecode>
        <sourcecode type="test-vectors"><![CDATA[
cipher_suite: 0x0007
kid: 0x0000000000000123
ctr: 0x0000000000004567
base_key: 000102030405060708090a0b0c0d0e0f
sframe_key_label: 534672616d6520312e30205365637265
                  74206b65792000000000000001230007
sframe_salt_label: 534672616d6520312e30205365637265
                   742073616c7420000000000000012300
                   07
sframe_secret: 0fc3ea6de6aac97a35f194cf9bed94d4
               b5230f1cb45a785c9fe5dce9c188938a
               b6ba005bc4c0a19181599e9d1bcf7b74
               aca48b60bf5e254e546d809313e083a3
sframe_key: 7271d6c6cbccd2e2343d480ebea65718
            a7bb379eefcf3f8d107c1e2a76e75529
            3a497fd9e4e8291b965161987ef4ef24
            983eabb06cb0a392defaab18654780a3
            9c106ffa4a47d4183a6e593cd0c1bcab
            2b9c6dcf049215845bfb7580c4dea80e
sframe_salt: 46b4367993a314910d4d9f3d
metadata: 4945544620534672616d65205747
nonce: 46b4367993a314910d4dda5a
aad: 99012345674945544620534672616d65
     205747
pt: 64726166742d696574662d736672616d
    652d656e63
ct: 990123456797cb5644d8831ff8bdc080
    249990b24b569144cab2a87be22c20d9
    7976
]]></sourcecode>
        <sourcecode type="test-vectors"><![CDATA[
cipher_suite: 0x0008
kid: 0x0000000000000123
ctr: 0x0000000000004567
base_key: 000102030405060708090a0b0c0d0e0f
sframe_key_label: 534672616d6520312e30205365637265
                  74206b65792000000000000001230008
sframe_salt_label: 534672616d6520312e30205365637265
                   742073616c7420000000000000012300
                   08
sframe_secret: 0fc3ea6de6aac97a35f194cf9bed94d4
               b5230f1cb45a785c9fe5dce9c188938a
               b6ba005bc4c0a19181599e9d1bcf7b74
               aca48b60bf5e254e546d809313e083a3
sframe_key: afe92c81e0df8c00fab619e0559fe5ae
            efce1ef77789d4c728af1b1c1f2e3552
            c405d274415a5291ec075c2d9954c450
            fbd36682a4e978494808b703ce78b409
            f9fec29b91e6e703a75c4131377c80c9
            d51b8906088092452e2593eb142eea2d
sframe_salt: f6de647bac1263524cfb6533
metadata: 4945544620534672616d65205747
nonce: f6de647bac1263524cfb2054
aad: 99012345674945544620534672616d65
     205747
pt: 64726166742d696574662d736672616d
    652d656e63
ct: 9901234567112a94a288b85b49ffef1d
    279f2830165c39d76cac8884011c
]]></sourcecode>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
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
XKRpGrqeJwyg/C8oS8FFBTUAAA==

-->

</rfc>
