<?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-03" 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-03"/>
    <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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
pqHrecIAyv8C1sbhLgQ1AAA=

-->

</rfc>
