<?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.24 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bormann-cbor-notable-tags-13" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.0 -->
  <front>
    <title abbrev="Notable CBOR Tags">Notable CBOR Tags</title>
    <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-notable-tags-13"/>
    <author initials="C." surname="Bormann" fullname="Carsten Bormann">
      <organization>Universität Bremen TZI</organization>
      <address>
        <postal>
          <street>Postfach 330440</street>
          <city>Bremen</city>
          <code>D-28359</code>
          <country>Germany</country>
        </postal>
        <phone>+49-421-218-63921</phone>
        <email>cabo@tzi.org</email>
      </address>
    </author>
    <date year="2025" month="July" day="20"/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 130?>

<t>The Concise Binary Object Representation (CBOR, RFC 8949) is a data
format whose design goals include the possibility of extremely small
code size, fairly small message size, and extensibility without the
need for version negotiation.</t>
      <t>In CBOR, one point of extensibility is the definition of CBOR tags.
RFC 8949's original edition, RFC 7049, defined a basic set of 16 tags as well
as a registry that can be used to contribute additional tag
definitions <xref target="IANA.cbor-tags"/>.
Since RFC 7049 was published, at the time of writing some 190
definitions of tags and ranges of tags have been added to that
registry.</t>
      <!-- TAG_REPORT_SQUASH_RANGES=1 tag-report.rb minus the 16 -->

<t>The present document provides a roadmap to a large subset of these tag
definitions.  Where applicable, it points to an IETF standards or
standard development document
that specifies the tag.  Where no such document exists, the intention
is to collect specification information from the sources of the
registrations.  After some more development, the present document is
intended to be useful as a reference document for the IANA
registrations of the CBOR tags the definitions of which have been
collected.</t>
    </abstract>
    <note>
      <name>Note to Readers</name>
      <?line 157?>

<t>This is an individual submission to the CBOR working group of the
IETF, <eref target="https://datatracker.ietf.org/wg/cbor/about/">https://datatracker.ietf.org/wg/cbor/about/</eref>.
Discussion currently takes places on the github repository
<eref target="https://github.com/cabo/notable-tags">https://github.com/cabo/notable-tags</eref>.
If the CBOR WG believes this is a useful document, discussion is
likely to move to the CBOR WG mailing list and a github repository at
the CBOR WG github organization, <eref target="https://github.com/cbor-wg">https://github.com/cbor-wg</eref>.</t>
      <t>The current version is true work in progress; some of the sections
haven't been filled in yet, and in particular, permission has not been
obtained from all authors of registered tag definitions to copy over their text.</t>
    </note>
  </front>
  <middle>
    <?line 172?>

<section anchor="intro">
      <name>Introduction</name>
      <t>(TO DO, expand on text from abstract here; move references here and
neuter them in the abstract as per <xref section="4.3" sectionFormat="of" target="RFC7322"/>.)</t>
      <t>The selection of the tags presented here is somewhat arbitrary;
considerations such as how wide the scope and area of application of a
tag definition is combine with an assessment how "ready to use" the
tag definition is (i.e., is the tag specification in a state where it
can be used).</t>
      <t>This document can only be a snapshot of a subset of the current registrations.
The most up to date set of registrations is always available in the
registry "<xref section="CBOR Tags" relative="#cbor-tags" sectionFormat="bare" target="IANA.cbor-tags"/>" <xref target="IANA.cbor-tags"/>.</t>
      <section anchor="the-cbor-tags-registry">
        <name>The CBOR Tags Registry</name>
        <t>CBOR tags are an extension point of CBOR, and that extension point is
managed through an IANA registry (<xref target="IANA.cbor-tags"/> as set up Section <xref target="RFC8949" section="9.2" sectionFormat="bare"/> of RFC 8949 <xref target="STD94"/>), not through publishing documents.</t>
        <t>Some tag ranges require a stable specification to be publicly
available under the "Specification Required" policy (Section <xref target="RFC8126" section="4.6" sectionFormat="bare"/> of RFC 8126 <xref target="BCP26"/>).
That stable availability can be provided by any suitable means, such
as a (specific revision of a) GitHub repository, a document published
by an SDO or other entity, or even by a specific revision of an
Internet-Draft, or an RFC if that happens to be in the pipeline.
(In the latter case, while the RFC is being developed, the allocation
will probably be made when that RFC still is in Internet-Draft state,
which is then referenced in the registry and is usually updated to the
RFC number when that is published.)</t>
        <t>An example for this is provided by <xref target="enumerated-alternative-data-items"/> of
the present document.
A few allocations were made for these tags (101, 121-127, 1280-1400)
that are now a permanent part of the CBOR Tags registry.
These allocations do reference revision –07 of the present
Internet-Draft, because that contains an explanation of what these
tags are supposed to be used for.
That document revision –07 is part of the permanent record of the IETF
and is not going away, so we are able to use it as a stable part of
the information provided with the allocation.
(In more recent revisions of the present document, some glue text was
updated and a clerical error in illustrative CDDL code was fixed;
eventually, there may be some incentive to update the registry entry
to a newer revision of the present document.)</t>
        <t>As with other stable specifications referenced this way, there is no
need for the present document to be a published RFC before the tags
become useful; i.e., the publication action that makes the tag numbers
available for wide use in interchange is the acceptance of the tags
into the IANA CBOR Tags registry.</t>
        <aside>
          <t>One example of an Internet-Draft-based specification document that
eventually did get published as an RFC is given by the CBOR Tags for
Time, Duration, and Period <xref target="RFC9581"/>.
These were originally registered around 2017 (under the original
policy for these registrations) with a reference to
<xref target="I-D.draft-bormann-cbor-time-tag-01"/>.
Over time, the document evolved into a WG document without a need to
update the reference.
The registration was finally updated to point to <xref target="RFC9581"/> when
that was published, which was also the time additional registries were
created for some of the inner workings of the time tags.</t>
        </aside>
      </section>
      <section anchor="terms">
        <name>Terminology</name>
        <t>The definitions of <xref target="STD94"/> apply.
Specifically: The term "byte" is used in its now customary sense as a synonym for
"octet"; "byte strings" are CBOR data items carrying a sequence of
zero or more (binary) bytes, while "text strings" are CBOR data items carrying a
sequence of zero or more Unicode scalar values (code points that can
be part of a string of Unicode characters), encoded in UTF-8 <xref target="STD63"/>.
Where bit arithmetic is explained, this document uses the notation
familiar from the programming language C (<xref target="C"/>, including C++14's <tt>0bnnn</tt>
binary literals <xref target="Cplusplus20"/>), except that superscript notation
(example for two to the power of 64: 2<sup>64</sup>) denotes exponentiation; in
the plain text version of this document, superscript notation is
rendered in paragraph text by C-incompatible surrogate notation as
seen in this example.
Ranges expressed using <tt>..</tt> are inclusive of the limits given.
<!-- , and in display math by a crude plain text representation. -->
Type names such as "int", "bigint" or "decfrac" are taken from
<xref section="D" sectionFormat="of" target="RFC8610"/>, the Concise Data Definition Language (CDDL).</t>
        <t><cref anchor="cpa">RFC-Editor: This document uses the CPA (code point allocation)
  convention described in [I-D.bormann-cbor-draft-numbers].  For
  each usage of the term "CPA", please remove the prefix "CPA"
  from the indicated value and replace the residue with the value
  assigned by IANA; perform an analogous substitution for all other
  occurrences of the prefix "CPA" in the document.  Finally,
  please remove this note.</cref></t>
      </section>
    </section>
    <section anchor="rfc-7049-original-cbor-specification">
      <name>RFC 7049 (original CBOR specification)</name>
      <t><xref target="RFC7049"/> defines a number of tags that are listed here for
convenience only.</t>
      <table anchor="origtags">
        <name>Tag numbers defined in RFC 7049</name>
        <thead>
          <tr>
            <th align="left">Tag number</th>
            <th align="left">Tag content</th>
            <th align="left">Short Description</th>
            <th align="left">Section of RFC 7049</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">0</td>
            <td align="left">UTF-8 string</td>
            <td align="left">Standard date/time string</td>
            <td align="left">2.4.1</td>
          </tr>
          <tr>
            <td align="left">1</td>
            <td align="left">multiple</td>
            <td align="left">Epoch-based date/time</td>
            <td align="left">2.4.1</td>
          </tr>
          <tr>
            <td align="left">2</td>
            <td align="left">byte string</td>
            <td align="left">Positive bignum</td>
            <td align="left">2.4.2</td>
          </tr>
          <tr>
            <td align="left">3</td>
            <td align="left">byte string</td>
            <td align="left">Negative bignum</td>
            <td align="left">2.4.2</td>
          </tr>
          <tr>
            <td align="left">4</td>
            <td align="left">array</td>
            <td align="left">Decimal fraction</td>
            <td align="left">2.4.3</td>
          </tr>
          <tr>
            <td align="left">5</td>
            <td align="left">array</td>
            <td align="left">Bigfloat</td>
            <td align="left">2.4.3</td>
          </tr>
          <tr>
            <td align="left">21</td>
            <td align="left">multiple</td>
            <td align="left">Expected conversion to base64url encoding</td>
            <td align="left">2.4.4.2</td>
          </tr>
          <tr>
            <td align="left">22</td>
            <td align="left">multiple</td>
            <td align="left">Expected conversion to base64 encoding</td>
            <td align="left">2.4.4.2</td>
          </tr>
          <tr>
            <td align="left">23</td>
            <td align="left">multiple</td>
            <td align="left">Expected conversion to base16 encoding</td>
            <td align="left">2.4.4.2</td>
          </tr>
          <tr>
            <td align="left">24</td>
            <td align="left">byte string</td>
            <td align="left">Encoded CBOR data item</td>
            <td align="left">2.4.4.1</td>
          </tr>
          <tr>
            <td align="left">32</td>
            <td align="left">UTF-8 string</td>
            <td align="left">URI</td>
            <td align="left">2.4.4.3</td>
          </tr>
          <tr>
            <td align="left">33</td>
            <td align="left">UTF-8 string</td>
            <td align="left">base64url</td>
            <td align="left">2.4.4.3</td>
          </tr>
          <tr>
            <td align="left">34</td>
            <td align="left">UTF-8 string</td>
            <td align="left">base64</td>
            <td align="left">2.4.4.3</td>
          </tr>
          <tr>
            <td align="left">35</td>
            <td align="left">UTF-8 string</td>
            <td align="left">Regular expression</td>
            <td align="left">2.4.4.3</td>
          </tr>
          <tr>
            <td align="left">36</td>
            <td align="left">UTF-8 string</td>
            <td align="left">MIME message</td>
            <td align="left">2.4.4.3</td>
          </tr>
          <tr>
            <td align="left">55799</td>
            <td align="left">multiple</td>
            <td align="left">Self-describe CBOR</td>
            <td align="left">2.4.5</td>
          </tr>
        </tbody>
      </table>
      <section anchor="related-tags">
        <name>Tags Related to Those Defined in RFC 7049</name>
        <t>Separately registered tags that are directly related to the tags
predefined in RFC 7049 include:</t>
        <ul spacing="normal">
          <li>
            <t>Tag 63, registered by this document (<xref target="iana"/>), is a parallel to tag 24, with
the single difference that its byte string tag content carries a
CBOR Sequence <xref target="RFC8742"/> instead of a single CBOR data item.</t>
          </li>
          <li anchor="expected-tags">
            <t>Tag CPA108, requested to be registered by this document (<xref target="iana"/>), is
a parallel to tag 23, with the single difference that the
hexadecimal form uses lowercase instead of uppercase letters. <cref anchor="cpa_1">RFC-Editor: This document uses the CPA (code point allocation)
  convention described in [I-D.bormann-cbor-draft-numbers].  For
  each usage of the term "CPA", please remove the prefix "CPA"
  from the indicated value and replace the residue with the value
  assigned by IANA; perform an analogous substitution for all other
  occurrences of the prefix "CPA" in the document.  Finally,
  please remove this note.</cref>  </t>
            <t><!-- {:aside} -->
            </t>
            <t><!-- This should be an aside, but xml2rfc's grammar doesn't allow -->
            </t>
            <t><!-- that as of 3.27.0. -->
            </t>
            <ul empty="true">
              <li>
                <ul empty="true">
                  <li>
                    <t>Note that tag 23 has a serialization that is one byte shorter than
  tag CPA108, so if all else is equal, tag 23 (and thus upper case
  hex) would be chosen as it is slightly more efficient than tag CPA108.
  However, designers of CBOR protocols that use one of these tags
  often have reason to prefer lowercase hex in the application they
  are trying to be compatible with, in which case CPA108 provides a
  solution that is only one byte more expensive.</t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li>
            <t>Tag 257, registered by Peter Occil with a specification in
<eref target="http://peteroupc.github.io/CBOR/binarymime.html">http://peteroupc.github.io/CBOR/binarymime.html</eref>, is a parallel to
tag 36, except that the tag content is a byte string, which
therefore can also carry binary MIME messages as per <xref target="RFC2045"/>.</t>
          </li>
          <li>
            <t>Tag 21065, having been registered by this document (<xref target="iana"/>), is a parallel to tag 35, with
the difference that its text string tag content carries an
I-Regexp regular expression <xref target="RFC9485"/> instead of a regexp of a
more unspecified flavor.
Companion tag 21066, having been registered by Joe Hildebrand with a
specification in
<eref target="https://github.com/hildjj/cbor-specs/blob/main/regexp.md">https://github.com/hildjj/cbor-specs/blob/main/regexp.md</eref>, is the
equivalent for JavaScript (ECMA262), but besides the regular
expression itself also can include the regular expression flags
as a separate item.</t>
          </li>
        </ul>
      </section>
      <section anchor="tag35">
        <name>Tags from RFC 7049 not listed in RFC 8949</name>
        <t>Appendix <xref target="RFC8949" section="G.3" sectionFormat="bare"/> of RFC 8949 <xref target="STD94"/>
states:</t>
        <blockquote>
          <t>Tag 35 is not defined by this document; the registration based on the
   definition in RFC 7049 remains in place.</t>
        </blockquote>
        <t>The reason for this exclusion is that the definition of Tag 35 in
<xref section="2.4.4.3" sectionFormat="of" target="RFC7049"/>, leaves too much open to ensure interoperability:</t>
        <blockquote>
          <t>Tag 35 is for regular expressions in Perl Compatible Regular
  Expressions (PCRE) / JavaScript syntax [ECMA262].</t>
        </blockquote>
        <t>Not only are two partially incompatible specifications given for the
semantics, JavaScript regular expressions have also developed
significantly within the decade since JavaScript 5.1 (which was
referenced as "ECMA262" by <xref target="RFC7049"/>),
making it less reliable to assume that a producing application will
manage to stay within that 2011 subset.</t>
        <t>Nonetheless, the registration is in place, so it is available for
applications that simply want to mark a text string as being a regular
expression roughly of the PCRE/Javascript flavor families.
See also Tag 21065 and 21066 above.</t>
      </section>
    </section>
    <section anchor="security">
      <name>Security</name>
      <t>A number of CBOR tags are defined in security specifications that make
use of CBOR.</t>
      <section anchor="cose">
        <name>COSE</name>
        <t>CBOR Object Signing and Encryption (COSE) is defined in a number of RFCs.
<xref target="RFC8152"/> was the initial specification, set up the registries, and
populated them with an initial set of assignments.
A revision split this specification into the data
structure definitions (<xref target="RFC9052"/>), an Internet Standard <xref target="STD96"/>, and a
separate document defining the representation for the algorithms
employed <xref target="RFC9053"/>, which is expected to be updated more frequently
than the COSE format itself.
<xref target="RFC9054"/> added a separate set of algorithms for cryptographic hash
functions (Hash functions have been a component of some <xref target="RFC9053"/> combined
algorithms but weren't originally assigned separate codepoints themselves).
A revised COSE counter signature structure was defined in <xref target="RFC9338"/>, another part
of <xref target="STD96"/>; this also defines a tag for these.</t>
        <table anchor="cosetags">
          <name>Tag numbers defined in RFC9052, COSE, and RFC 9338</name>
          <thead>
            <tr>
              <th align="left">Tag number</th>
              <th align="left">Tag content</th>
              <th align="left">Short Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">16</td>
              <td align="left">COSE_Encrypt0</td>
              <td align="left">COSE Single Recipient Encrypted Data Object</td>
            </tr>
            <tr>
              <td align="left">17</td>
              <td align="left">COSE_Mac0</td>
              <td align="left">COSE Mac w/o Recipients Object</td>
            </tr>
            <tr>
              <td align="left">18</td>
              <td align="left">COSE_Sign1</td>
              <td align="left">COSE Single Signer Data Object</td>
            </tr>
            <tr>
              <td align="left">19</td>
              <td align="left">COSE_Countersignature</td>
              <td align="left">COSE standalone V2 countersignature (<xref target="RFC9338"/>)</td>
            </tr>
            <tr>
              <td align="left">96</td>
              <td align="left">COSE_Encrypt</td>
              <td align="left">COSE Encrypted Data Object</td>
            </tr>
            <tr>
              <td align="left">97</td>
              <td align="left">COSE_Mac</td>
              <td align="left">COSE MACed Data Object</td>
            </tr>
            <tr>
              <td align="left">98</td>
              <td align="left">COSE_Sign</td>
              <td align="left">COSE Signed Data Object</td>
            </tr>
          </tbody>
        </table>
        <section anchor="hashtags">
          <name>Tags for Bare Hash Values</name>
          <t><xref target="RFC9054"/> does not define CBOR tags for cryptographic Hash values; it rightly notes
that Hash values are often used in structures that are
application-specific and should be defined with those applications.</t>
          <t>However, there are many cases where just a bare hash value is
required, and for these cases common tags are useful.
In one use case, these tags occur in a data structure that is
specified to indicate elision by using one of these tags as an
alternative to some other data structure.
To enable agility, tags need to indicate the hash function used,
preferably using the COSE algorithms registry as populated by
<xref target="RFC9054"/>.</t>
          <aside>
            <t>(Note that there is another registry, "<xref section="Named Information Hash Algorithm Registry" relative="#hash-alg" sectionFormat="bare" target="IANA.named-information"/>"
<xref target="IANA.named-information"/>, that also defines numbers for some hash algorithms.
We are not using this registry here, as more recent entries seem to
have stopped assigning numbers.
If desired, tags that employ this registry could be added later.)</t>
          </aside>
          <t>The codepoint range available for the COSE algorithms registry is
large, but the most likely range to be used for standard Hash
functions is "Integer values between -256 and 255", which have the
registry policy "Standards Action With Expert Review" (<xref section="16.4" sectionFormat="of" target="RFC8152"/>, Registry "<xref section="COSE Algorithms" relative="#algorithms" sectionFormat="bare" target="IANA.cose"/>" <xref target="IANA.cose"/>).</t>
          <t>To this end, the present document registers a range of 512 tags from
18300 to 18811 (inclusive), paralleling the algorithm identifier
range of <tt>-256 .. 255</tt> (inclusive).
The tag number for COSE algorithm number N is then defined to be
<tt>18556+N</tt>, except for <tt>N = 0</tt> (see below).
The tag value is a CBOR byte string, with the exception <tt>N = 0</tt>.</t>
          <t>For example, in <xref target="IANA.cose"/> SHA-256 has the COSE algorithm identifier
<tt>-16</tt>.
This is in the range <tt>-256 .. 255</tt> (inclusive range).
Therefore, tag 18540 (<tt>= 18556 + (-16)</tt>) is the tag for a byte string
containing a SHA-256 hash.</t>
          <t>As a special case, there is one exception: Tag 18556 (<tt>= 18556 + 0</tt>)
stands for the combination of a an explicit numeric COSE algorithm
identifier with a hash value in an array, analogous to the use of
<tt>COSE_CertHash</tt> in <xref target="RFC9360"/>:</t>
          <figure anchor="hashcddl">
            <name>Generic CDDL for Tags for Bare Hash Values</name>
            <sourcecode type="cddl"><![CDATA[
Standard_COSE_Hash<alg, value> =
    #6.<hashmiddle .plus (alg .within directhash)>(value)
General_COSE_Hash<alg, value> = #6.<hashmiddle>([
    hashAlg: alg .within (int .ne directhash  / tstr),
    hashValue: value .within bstr ])
hashmiddle = 18556
directhash = (-256 .. -1) / (1 .. 255)
]]></sourcecode>
          </figure>
          <t>An example for the SHA-256 hash of "hello world" in CBOR diagnostic
notation:</t>
          <sourcecode type="cbor-diag"><![CDATA[
18540(
 h'b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9')
]]></sourcecode>
          <t>The same in CBOR pretty printed hex:</t>
          <sourcecode type="cbor-pretty"><![CDATA[=============== NOTE: '\' line wrapping per RFC 8792 ================

d9 486c                                 # tag(18540)
   58 20                                # bytes(32)
      \
     b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
]]></sourcecode>
          <t>As none has been registered, no real example can be given for a hash
algorithm with an identifier not in the standard range, but if
<tt>-4711</tt> were such an identifier, a hash with an explicit algorithm
number could look like:</t>
          <sourcecode type="cbor-diag"><![CDATA[
18556([-4711, h'1234123412341234123412341234123412341234'])
]]></sourcecode>
          <t>Note that not all tags assigned in this section do parallel an
algorithm that is a cryptographic hash algorithm.
Where this is not the case, there currently is no defined semantics
for this tag, but the tags are assigned anyway.
The semantics of tags that parallel algorithm assignments other than
for cryptographic hash functions could be defined by a future version
of this specification.</t>
          <t>Note also that the cryptographic hashes in the content of the tag are
not protected; any further protection (confidentiality, integrity)
needs to be provided in the surrounding data structure, storage
system, or communication channel.</t>
        </section>
      </section>
      <section anchor="rfc-8392-cwt">
        <name>RFC 8392 (CWT)</name>
        <t><xref target="RFC8392"/> defines the CBOR Web Token (CWT), making use of COSE to
define a CBOR variant of the JOSE Web Token (JWT), <xref target="RFC7519"/>, a
standardized security token that has found use in the area of web
applications, but is not technically limited to those.</t>
        <table anchor="cwttags">
          <name>Tag number defined for RFC 8392 CBOR Web Token (CWT)</name>
          <thead>
            <tr>
              <th align="left">Tag number</th>
              <th align="left">Tag content</th>
              <th align="left">Short Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">61</td>
              <td align="left">CBOR Web Token (CWT)</td>
              <td align="left">CBOR Web Token (CWT)</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="cbor-based-representation-formats">
      <name>CBOR-based Representation Formats</name>
      <t>Representation formats can be built on top of CBOR.</t>
      <section anchor="yang-cbor">
        <name>YANG-CBOR</name>
        <t>YANG <xref target="RFC7950"/> is a data modeling language originally designed in
the context of the Network Configuration Protocol (NETCONF)
<xref target="RFC6241"/>, now widely used for modeling management and
configuration information.  <xref target="RFC7950"/> defines an XML-based
representation format, and <xref target="RFC7951"/> defines a JSON-based
<xref target="RFC8259"/> representation format for YANG.</t>
        <t>YANG-CBOR <xref target="RFC9254"/> is a representation format for
YANG data in CBOR.</t>
        <table anchor="yangtags">
          <name>Tag numbers defined for YANG-CBOR</name>
          <thead>
            <tr>
              <th align="left">Tag number</th>
              <th align="left">Tag content</th>
              <th align="left">Short Description</th>
              <th align="left">Section of YANG-CBOR</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">43</td>
              <td align="left">byte string</td>
              <td align="left">YANG bits datatype</td>
              <td align="left">6.7</td>
            </tr>
            <tr>
              <td align="left">44</td>
              <td align="left">unsigned integer</td>
              <td align="left">YANG enumeration datatype</td>
              <td align="left">6.6</td>
            </tr>
            <tr>
              <td align="left">45</td>
              <td align="left">unsigned integer or text string</td>
              <td align="left">YANG identityref datatype</td>
              <td align="left">6.10</td>
            </tr>
            <tr>
              <td align="left">46</td>
              <td align="left">unsigned integer or text string or array</td>
              <td align="left">YANG instance-identifier datatype</td>
              <td align="left">6.13</td>
            </tr>
            <tr>
              <td align="left">47</td>
              <td align="left">unsigned integer</td>
              <td align="left">YANG Schema Item iDentifier (sid)</td>
              <td align="left">3.2</td>
            </tr>
          </tbody>
        </table>
        <t><xref target="I-D.bormann-cbor-yang-standin"/> proposes to employ additional tags to enable the use of
efficient binary encodings for certain frequently used YANG data types
<xref target="RFC6991"/>.</t>
      </section>
    </section>
    <section anchor="protocols">
      <name>Protocols</name>
      <t>Protocols may want to allocate CBOR tag numbers to identify specific
protocol elements.</t>
      <section anchor="dots">
        <name>DOTS</name>
        <t>DDoS Open Threat Signaling (DOTS) defines tag number 271 for the DOTS
signal channel object in <xref target="RFC9132"/>.</t>
      </section>
      <section anchor="rains">
        <name>RAINS</name>
        <t>As an example for how experimental protocols can make use of CBOR tag
definitions, the RAINS (Another Internet Naming Service) Protocol
Specification defines tag number 15309736 for a RAINS Message
<xref target="I-D.trammell-rains-protocol"/>.
(The seemingly random tag number was chosen so that, when represented
as an encoded CBOR tag
argument, it contains the Unicode character <u format="lit-num">雨</u>
in UTF-8, which represents rain in a number of languages.)</t>
      </section>
    </section>
    <section anchor="datatypes">
      <name>Datatypes</name>
      <section anchor="advanced-arithmetic">
        <name>Advanced arithmetic</name>
        <t>General information about the representation of numbers in CBOR can be
found in <xref target="STD94"/> as well as <xref target="I-D.bormann-cbor-numbers"/>.</t>
        <t>A number of tags have been registered for arithmetic representations
beyond those built into CBOR and defined by tags in <xref target="RFC7049"/>.
These are all documented under <tt>http://peteroupc.github.io/CBOR/</tt>; the
last pathname component for the URL is given in the column "Reference"
of <xref target="arithtags"/>.</t>
        <table anchor="arithtags">
          <name>Tags for advanced arithmetic</name>
          <thead>
            <tr>
              <th align="left">Tag number</th>
              <th align="left">Tag content</th>
              <th align="left">Short Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">30</td>
              <td align="left">array</td>
              <td align="left">Rational number</td>
              <td align="left">rational.html</td>
            </tr>
            <tr>
              <td align="left">264</td>
              <td align="left">array</td>
              <td align="left">Decimal fraction with arbitrary  exponent</td>
              <td align="left">bigfrac.html</td>
            </tr>
            <tr>
              <td align="left">265</td>
              <td align="left">array</td>
              <td align="left">Bigfloat with arbitrary exponent</td>
              <td align="left">bigfrac.html</td>
            </tr>
            <tr>
              <td align="left">268</td>
              <td align="left">array</td>
              <td align="left">Extended decimal fraction</td>
              <td align="left">extended.html</td>
            </tr>
            <tr>
              <td align="left">269</td>
              <td align="left">array</td>
              <td align="left">Extended bigfloat</td>
              <td align="left">extended.html</td>
            </tr>
            <tr>
              <td align="left">270</td>
              <td align="left">array</td>
              <td align="left">Extended rational number</td>
              <td align="left">extended.html</td>
            </tr>
          </tbody>
        </table>
        <t>CBOR's basic generic data model (Section <xref target="RFC8949" section="2" sectionFormat="bare"/> of RFC 8949 <xref target="STD94"/>) has a number
system with limited-range integers (major types 0 and 1:
-2<sup>64</sup>..2<sup>64</sup>-1) and floating point numbers that
cover binary16, binary32, and binary64 (including non-finites) from
<xref target="IEEE754"/>.
With the tags defined with <xref target="RFC7049"/>, the extended generic data model
(Section <xref target="RFC8949" section="2.1" sectionFormat="bare"/> of RFC 8949 <xref target="STD94"/>) adds unlimited-range integers (tag numbers 2
and 3, "bigint" in CDDL) as well as floating point values using the bases
2 (tag number 5, "bigfloat") and 10 (tag number 4, "decfrac").</t>
        <t>This pre-defined number system has a number of limitations that are
addressed in three of the tags discussed here:</t>
        <ul spacing="normal">
          <li>
            <t>Tag number 30 allows the representation of rational numbers as a
ratio of two integers: a numerator (usually written as the top part
of a fraction), and a denominator (the bottom part), where both
integers can be limited-range basic and unlimited-range integers.
The mathematical value of a rational number is the numerator divided
by the denominator.
This tag can express all numbers that the extended generic data
model of <xref target="RFC7049"/> can express, except for non-finites <xref target="IEEE754"/>; it
also can express rational numbers that cannot be expressed with
denominators that are a power of 2 or a power of 10.  </t>
            <t>
For example, the rational number 1/3 is encoded:  </t>
            <sourcecode type="cbor-pretty"><![CDATA[
  d8 1e      ---- Tag 30
     82      ---- Array length 2
        01   ---- 1
        03   ---- 3
]]></sourcecode>
            <t>
Many programming languages have built-in support for rational
numbers or support for them is included in their standard libraries;
tag number 30 is a way for these platforms to interchange these
rational numbers in CBOR.</t>
          </li>
          <li>
            <t>Tag numbers 4 and 5 are limited in the range of the (base 10 or base
2) exponents by the limited-range integers in the basic generic data
model.  Tag numbers 264 and 265 are exactly equivalent to 4 and 5,
respectively, but also allow unlimited-range integers as exponents.
While applications for floating point numbers with exponents outside
the CBOR basic integer range are limited, tags 264 and 265 allow
unlimited roundtripping with other formats that allow very large or
very small exponents, such as those JSON <xref target="RFC8259"/> can provide if the
limitations of I-JSON <xref target="RFC7493"/> do not apply.</t>
          </li>
        </ul>
        <t>The tag numbers 268..270 extend these tags further by providing a way
to express non-finites within a tag with this number.  This does not
increase the expressiveness of the data model (the non-finites can
already be expressed using major type 7 floating point numbers), but
does allow both finite and non-finite values to carry the same tag.
In most applications, a choice that includes some of the three tags
30, 264, 265 for finite values and major type 7 floating point values
for non-finites (as well as possibly other parts of the CBOR number
system) will be the preferred solution.</t>
        <t>This document suggests using the CDDL typenames defined in
<xref target="arith-tags-cddl"/> for the three most useful tag numbers in this section.</t>
        <figure anchor="arith-tags-cddl">
          <name>CDDL for extended arithmetic tags</name>
          <sourcecode type="cddl"><![CDATA[
rational = #6.30([numerator: integer, denominator: integer .ne 0])
rational_of<N,D> = #6.30([numerator: N, denominator: D])
; the value 1/3 can be notated as rational_of<1, 3>

extended_decfrac = #6.264([e10: integer, m: integer])
extended_bigfloat = #6.265([e2: integer, m: integer])
]]></sourcecode>
        </figure>
      </section>
      <section anchor="variants-of-undefined">
        <name>Variants of undefined</name>
        <t><tt>https://github.com/svaarala/cbor-specs/blob/master/cbor-absent-tag.rst</tt>
defines tag 31 to be applied to the CBOR value Undefined (0xf7),
slightly modifying its semantics to stand for an absent value in a
CBOR Array.</t>
        <t>(TO DO: Obtain permission to copy the definitions here.)</t>
      </section>
      <section anchor="typed-and-homogeneous-arrays">
        <name>Typed and Homogeneous Arrays</name>
        <t><xref target="RFC8746"/> defines tags for various kinds of arrays.  A summary is
reproduced in <xref target="arraytags"/>.</t>
        <table anchor="arraytags">
          <name>Tag numbers defined for Arrays</name>
          <thead>
            <tr>
              <th align="left">Tag</th>
              <th align="left">Data Item</th>
              <th align="left">Semantics</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">64</td>
              <td align="left">byte string</td>
              <td align="left">uint8 Typed Array</td>
            </tr>
            <tr>
              <td align="left">65</td>
              <td align="left">byte string</td>
              <td align="left">uint16, big endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">66</td>
              <td align="left">byte string</td>
              <td align="left">uint32, big endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">67</td>
              <td align="left">byte string</td>
              <td align="left">uint64, big endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">68</td>
              <td align="left">byte string</td>
              <td align="left">uint8 Typed Array, clamped arithmetic</td>
            </tr>
            <tr>
              <td align="left">69</td>
              <td align="left">byte string</td>
              <td align="left">uint16, little endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">70</td>
              <td align="left">byte string</td>
              <td align="left">uint32, little endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">71</td>
              <td align="left">byte string</td>
              <td align="left">uint64, little endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">72</td>
              <td align="left">byte string</td>
              <td align="left">sint8 Typed Array</td>
            </tr>
            <tr>
              <td align="left">73</td>
              <td align="left">byte string</td>
              <td align="left">sint16, big endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">74</td>
              <td align="left">byte string</td>
              <td align="left">sint32, big endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">75</td>
              <td align="left">byte string</td>
              <td align="left">sint64, big endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">76</td>
              <td align="left">byte string</td>
              <td align="left">(reserved)</td>
            </tr>
            <tr>
              <td align="left">77</td>
              <td align="left">byte string</td>
              <td align="left">sint16, little endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">78</td>
              <td align="left">byte string</td>
              <td align="left">sint32, little endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">79</td>
              <td align="left">byte string</td>
              <td align="left">sint64, little endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">80</td>
              <td align="left">byte string</td>
              <td align="left">IEEE 754 binary16, big endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">81</td>
              <td align="left">byte string</td>
              <td align="left">IEEE 754 binary32, big endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">82</td>
              <td align="left">byte string</td>
              <td align="left">IEEE 754 binary64, big endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">83</td>
              <td align="left">byte string</td>
              <td align="left">IEEE 754 binary128, big endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">84</td>
              <td align="left">byte string</td>
              <td align="left">IEEE 754 binary16, little endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">85</td>
              <td align="left">byte string</td>
              <td align="left">IEEE 754 binary32, little endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">86</td>
              <td align="left">byte string</td>
              <td align="left">IEEE 754 binary64, little endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">87</td>
              <td align="left">byte string</td>
              <td align="left">IEEE 754 binary128, little endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">40</td>
              <td align="left">array of two arrays*</td>
              <td align="left">Multi-dimensional Array, row-major order</td>
            </tr>
            <tr>
              <td align="left">1040</td>
              <td align="left">array of two arrays*</td>
              <td align="left">Multi-dimensional Array, column-major order</td>
            </tr>
            <tr>
              <td align="left">41</td>
              <td align="left">array</td>
              <td align="left">Homogeneous Array</td>
            </tr>
          </tbody>
        </table>
        <!--  cols='r l l' -->

</section>
    </section>
    <section anchor="domain-specific">
      <name>Domain-Specific</name>
      <t>(TO DO: Obtain permission to copy the definitions here; explain how
tags 52 and 54 essentially obsolete 260/261.)</t>
      <table anchor="tab-domain-specific">
        <name>Select Domain-Specific Tags</name>
        <thead>
          <tr>
            <th align="left">Tag number</th>
            <th align="left">Tag content</th>
            <th align="left">Short Description</th>
            <th align="left">Reference</th>
            <th align="left">Author</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">37</td>
            <td align="left">byte string</td>
            <td align="left">Binary UUID (<xref section="4.1.2" sectionFormat="of" target="RFC4122"/>)</td>
            <td align="left">https://github.com/lucas-clemente/cbor-specs/blob/master/uuid.md</td>
            <td align="left">Lucas Clemente</td>
          </tr>
          <tr>
            <td align="left">48</td>
            <td align="left">byte string</td>
            <td align="left">IEEE MAC Address</td>
            <td align="left">
              <xref target="RFC9542"/></td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">52</td>
            <td align="left">byte string or array</td>
            <td align="left">IPv4, [prefixlen,IPv4], [IPv4,prefixpart]</td>
            <td align="left">
              <xref target="RFC9164"/></td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">54</td>
            <td align="left">byte string or array</td>
            <td align="left">IPv6, [prefixlen,IPv6], [IPv6,prefixpart]</td>
            <td align="left">
              <xref target="RFC9164"/></td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">257</td>
            <td align="left">byte string</td>
            <td align="left">Binary MIME message</td>
            <td align="left">http://peteroupc.github.io/CBOR/binarymime.html</td>
            <td align="left">Peter Occil</td>
          </tr>
          <tr>
            <td align="left">260</td>
            <td align="left">byte string</td>
            <td align="left">Network Address (IPv4 or IPv6 or MAC Address)</td>
            <td align="left">http://www.employees.org/~ravir/cbor-network.txt</td>
            <td align="left">Ravi Raju</td>
          </tr>
          <tr>
            <td align="left">261</td>
            <td align="left">map</td>
            <td align="left">Network Address Prefix (IPv4 or IPv6 Address + Mask Length)</td>
            <td align="left">https://github.com/toravir/CBOR-Tag-Specs/blob/master/networkPrefix.md</td>
            <td align="left">Ravi Raju</td>
          </tr>
          <tr>
            <td align="left">263</td>
            <td align="left">byte string</td>
            <td align="left">Hexadecimal string</td>
            <td align="left">https://github.com/toravir/CBOR-Tag-Specs/blob/master/hexString.md</td>
            <td align="left">Ravi Raju</td>
          </tr>
          <tr>
            <td align="left">266</td>
            <td align="left">text string</td>
            <td align="left">Internationalized resource identifier (IRI)</td>
            <td align="left">https://peteroupc.github.io/CBOR/iri.html</td>
            <td align="left">Peter Occil</td>
          </tr>
          <tr>
            <td align="left">267</td>
            <td align="left">text string</td>
            <td align="left">Internationalized resource identifier reference (IRI reference)</td>
            <td align="left">https://peteroupc.github.io/CBOR/iri.html</td>
            <td align="left">Peter Occil</td>
          </tr>
          <tr>
            <td align="left">1048</td>
            <td align="left">byte string</td>
            <td align="left">IEEE OUI/CID</td>
            <td align="left">
              <xref target="RFC9542"/></td>
            <td align="left"> </td>
          </tr>
        </tbody>
      </table>
      <t>Notes:</t>
      <ul spacing="normal">
        <li>
          <t>In the registration for Tag 37, the reference for UUID points to
<xref target="RFC4122"/>, which has been obsoleted by <xref target="RFC9562"/>.
The new RFC has a somewhat different internal structure; the
definition of the layout of a binary UUID is now distributed over
<xref section="5" sectionFormat="of" target="RFC9562"/>.</t>
        </li>
        <li>
          <t>Tags 48, 52, and 54 are recommended for new designs that need to
represent MAC addresses, IP addresses, and IP address prefixes; they
essentially replace tags 260 and 261, which continue to be available
for their existing applications.</t>
        </li>
        <li>
          <t>Tag 263 describes a different kind of Hexadecimal string
(sequence of hex digit pairs, same layout as tag 23) from the
hex-string defined by the YANG data type <tt>hex-string</tt> (sequence of hex
digit pairs separated by colons, <xref section="3" sectionFormat="of" target="RFC6991"/>).</t>
        </li>
      </ul>
      <section anchor="human-readable-text">
        <name>Human-readable Text</name>
        <table anchor="tab-text">
          <name>Select Tags for Human-readable Text</name>
          <thead>
            <tr>
              <th align="left">Tag</th>
              <th align="left">Data Item</th>
              <th align="left">Semantics</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">38</td>
              <td align="left">array</td>
              <td align="left">Language-tagged string</td>
              <td align="left">
                <xref section="A" sectionFormat="of" target="RFC9290"/></td>
            </tr>
          </tbody>
        </table>
        <t>Tag 38 was originally registered by Peter Occil in
<eref target="http://peteroupc.github.io/CBOR/langtags.html">http://peteroupc.github.io/CBOR/langtags.html</eref>; it has since been
adopted and extended in <xref section="A" sectionFormat="of" target="RFC9290"/>, where a detailed
definition of the tag and a few simple examples for its use are
provided.</t>
        <t>The problem that this tag was designed to solve is that text strings
often need additional information to be properly presented to a human.
While Unicode (and the UTF-8 form of Unicode used in CBOR) define the
characters, additional information about the human language in use
and the writing direction appropriate for the text given are often
required.</t>
        <t>The need to provide language information with text has been well-known
for a while and led to a common form for this information, the
language tag, defined in <xref target="BCP47"/>.</t>
        <t>Less well-known is the need to provide separate directionality
information as well.
The need for this information is demonstrated in <xref target="W3C-STRINGS-BIDI"/>,
which points out that it is "actually a bad idea to rely on language
information to apply direction" and points out further reference
information on this.
<xref target="W3C-BIDI-USE-CASES"/> shows more examples for language tags and
directionality, while <xref target="W3C-UBA-BASICS"/> provides an introduction to the
way browsers, where "the order of characters in memory (logical) is
not the same as the order in which they are displayed (visual)",
"produce the correct order at the time of display" (Unicode
Bidirectional Algorithm).</t>
        <t>Tag 38 meets the requirements of its specific application in
<xref target="RFC9290"/>, which could be summarized as: Supplying the necessary
information to present isolated, linear, comparatively small pieces of
human-readable text.
It neither addresses more complex requirements of specific languages
such as <xref target="W3C-SIMPLE-RUBY"/>, nor does it address requirements for more
complex structure in texts such as emphasis, lists, or tables.
These more complex requirements are typically met by specific media
types such as HTML <xref target="HTML"/>.</t>
      </section>
      <section anchor="extended-time-formats">
        <name>Extended Time Formats</name>
        <t>Additional tag definitions have been provided for date and time values.</t>
        <table anchor="timetags">
          <name>Tag numbers for date and time</name>
          <thead>
            <tr>
              <th align="right">Tag</th>
              <th align="left">Data Item</th>
              <th align="left">Semantics</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">100</td>
              <td align="left">integer</td>
              <td align="left">date in number of days since epoch</td>
              <td align="left">
                <xref target="RFC8943"/></td>
            </tr>
            <tr>
              <td align="right">1004</td>
              <td align="left">text string</td>
              <td align="left">RFC 3339 full-date string</td>
              <td align="left">
                <xref target="RFC8943"/></td>
            </tr>
            <tr>
              <td align="right">1001</td>
              <td align="left">map</td>
              <td align="left">extended time</td>
              <td align="left">
                <xref target="RFC9581"/></td>
            </tr>
            <tr>
              <td align="right">1002</td>
              <td align="left">map</td>
              <td align="left">duration</td>
              <td align="left">
                <xref target="RFC9581"/></td>
            </tr>
            <tr>
              <td align="right">1003</td>
              <td align="left">map</td>
              <td align="left">period</td>
              <td align="left">
                <xref target="RFC9581"/></td>
            </tr>
          </tbody>
        </table>
        <t>Note that tags 100 and 1004 are for calendar dates that are not
anchored to a specific time zone; they are meant to specify calendar
dates as perceived by humans, e.g. for use in personal identification
documents.
Converting such a calendar date into a specific point in time needs the
addition of a time-of-day (for which a CBOR tag is outstanding) and
timezone information (also outstanding).  Alternatively, a calendar
date plus timezone information can be converted into a time period
(range of time values given by the starting and the ending time); note
that these time periods are not always exactly 24 h (86400 s) long.</t>
        <t><xref target="RFC8943"/> does not suggest CDDL <xref target="RFC8610"/> type names for the two tags.
We suggest copying the definitions in <xref target="time-tags-cddl"/> into
application-specific CDDL as needed.</t>
        <figure anchor="time-tags-cddl">
          <name>CDDL for calendar date tags (RFC8943)</name>
          <sourcecode type="cddl"><![CDATA[
caldate = #6.100(int); calendar date as # of days from 1970-01-01
tcaldate = #6.1004(tstr); calendar date as RFC 3339 full-date string
]]></sourcecode>
        </figure>
        <t>Tag 1001 extends tag 1 by additional information (such as picosecond
resolution) and allows the use of Decimal and Bigfloat numbers for the
time.</t>
      </section>
    </section>
    <section anchor="platform-oriented">
      <name>Platform-oriented</name>
      <section anchor="perl">
        <name>Perl</name>
        <t>(These are actually not as Perl-specific as the title of this section
suggests.  See also the penultimate paragraph of Section <xref target="RFC8949" section="3.4" sectionFormat="bare"/> of RFC 8949 <xref target="STD94"/>.)</t>
        <t>These are all documented under <tt>http://cbor.schmorp.de/</tt>; the
last pathname component is given in <xref target="perltags"/>.</t>
        <t>(TO DO: Obtain permission to copy the definitions here.)</t>
        <table anchor="perltags">
          <name>Tag numbers that aid the Perl platform</name>
          <thead>
            <tr>
              <th align="right">Tag</th>
              <th align="left">Data Item</th>
              <th align="left">Semantics</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">256</td>
              <td align="left">multiple</td>
              <td align="left">mark value as having string references</td>
              <td align="left">stringref</td>
            </tr>
            <tr>
              <td align="right">25</td>
              <td align="left">unsigned integer</td>
              <td align="left">reference the nth previously seen string</td>
              <td align="left">stringref</td>
            </tr>
            <tr>
              <td align="right">26</td>
              <td align="left">array</td>
              <td align="left">Serialized Perl object with classname and constructor arguments</td>
              <td align="left">perl-object</td>
            </tr>
            <tr>
              <td align="right">27</td>
              <td align="left">array</td>
              <td align="left">Serialized language-independent object with type name and constructor arguments</td>
              <td align="left">generic-object</td>
            </tr>
            <tr>
              <td align="right">28</td>
              <td align="left">multiple</td>
              <td align="left">mark value as (potentially) shared</td>
              <td align="left">value-sharing</td>
            </tr>
            <tr>
              <td align="right">29</td>
              <td align="left">unsigned integer</td>
              <td align="left">reference nth marked value</td>
              <td align="left">value-sharing</td>
            </tr>
            <tr>
              <td align="right">22098</td>
              <td align="left">multiple</td>
              <td align="left">hint that indicates an additional level of indirection</td>
              <td align="left">indirection</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="json">
        <name>JSON</name>
        <t>(TO DO: Obtain permission to copy the definitions here.)</t>
        <t>Tag number 262 has been registered to identify byte strings that carry embedded
JSON text (<tt>https://github.com/toravir/CBOR-Tag-Specs/blob/master/embeddedJSON.md</tt>).</t>
        <t>Tag number 275 can be used to identify maps that contain keys that are
all of type Text String, as they would occur in JSON
(<tt>https://github.com/ecorm/cbor-tag-text-key-map</tt>).</t>
      </section>
      <section anchor="weird-text-encodings">
        <name>Weird text encodings</name>
        <t>(TO DO: Obtain permission to copy the definitions here.)</t>
        <t>Some variants of UTF-8 are in use in specific areas of application.
Tags have been registered to be able to carry around strings
identified as to which of these
variants is used, in case they are not also valid UTF-8 and can therefore not
be represented as a CBOR text string
(<tt>https://github.com/svaarala/cbor-specs/blob/master/cbor-nonutf8-string-tags.rst</tt>).</t>
        <table anchor="weirdtags">
          <name>Tag numbers for UTF-8 variants</name>
          <thead>
            <tr>
              <th align="right">Tag Number</th>
              <th align="left">Data Item</th>
              <th align="left">Semantics</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">272</td>
              <td align="left">byte string</td>
              <td align="left">Non-UTF-8 CESU-8 string</td>
            </tr>
            <tr>
              <td align="right">273</td>
              <td align="left">byte string</td>
              <td align="left">Non-UTF-8 WTF-8 string</td>
            </tr>
            <tr>
              <td align="right">274</td>
              <td align="left">byte string</td>
              <td align="left">Non-UTF-8 MUTF-8 string</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="application-specific">
      <name>Application-specific</name>
      <t>(TO DO: Obtain permission to copy the definitions here.)</t>
      <table anchor="tab-apptags">
        <name>Application-specific Tags</name>
        <thead>
          <tr>
            <th align="right">Tag number</th>
            <th align="left">Tag content</th>
            <th align="left">Short Description</th>
            <th align="left">Reference</th>
            <th align="left">Author</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="right">39</td>
            <td align="left">multiple</td>
            <td align="left">Identifier</td>
            <td align="left">
              <eref target="https://github.com/lucas-clemente/cbor-specs/blob/master/id.md">https://github.com/lucas-clemente/cbor-specs/blob/master/id.md</eref></td>
            <td align="left">Lucas Clemente</td>
          </tr>
          <tr>
            <td align="right">42</td>
            <td align="left">byte string</td>
            <td align="left">IPLD content identifier</td>
            <td align="left">
              <eref target="https://github.com/ipld/cid-cbor/">https://github.com/ipld/cid-cbor/</eref></td>
            <td align="left">Volker Mische</td>
          </tr>
          <tr>
            <td align="right">103</td>
            <td align="left">array</td>
            <td align="left">Geographic Coordinates</td>
            <td align="left">
              <eref target="https://github.com/allthingstalk/cbor/blob/master/CBOR-Tag103-Geographic-Coordinates.md">https://github.com/allthingstalk/cbor/blob/master/CBOR-Tag103-Geographic-Coordinates.md</eref></td>
            <td align="left">Danilo Vidovic</td>
          </tr>
          <tr>
            <td align="right">104</td>
            <td align="left">multiple</td>
            <td align="left">Geographic Coordinate Reference System  WKT or EPSG number</td>
            <td align="left">
              <xref target="I-D.clarke-cbor-crs"/></td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="right">120</td>
            <td align="left">multiple</td>
            <td align="left">Internet of Things Data Point</td>
            <td align="left">
              <eref target="https://github.com/allthingstalk/cbor/blob/master/CBOR-Tag120-Internet-of-Things-Data-Points.md">https://github.com/allthingstalk/cbor/blob/master/CBOR-Tag120-Internet-of-Things-Data-Points.md</eref></td>
            <td align="left">Danilo Vidovic</td>
          </tr>
          <tr>
            <td align="right">258</td>
            <td align="left">array</td>
            <td align="left">Mathematical finite set</td>
            <td align="left">
              <eref target="https://github.com/input-output-hk/cbor-sets-spec/blob/master/CBOR_SETS.md">https://github.com/input-output-hk/cbor-sets-spec/blob/master/CBOR_SETS.md</eref></td>
            <td align="left">Alfredo Di Napoli</td>
          </tr>
          <tr>
            <td align="right">259</td>
            <td align="left">map</td>
            <td align="left">Map datatype with key-value operations (e.g. <tt>.get()</tt>/<tt>.set()</tt>/<tt>.delete()</tt>)</td>
            <td align="left">
              <eref target="https://github.com/shanewholloway/js-cbor-codec/blob/master/docs/CBOR-259-spec--explicit-maps.md">https://github.com/shanewholloway/js-cbor-codec/blob/master/docs/CBOR-259-spec--explicit-maps.md</eref></td>
            <td align="left">Shane Holloway</td>
          </tr>
        </tbody>
      </table>
      <section anchor="enumerated-alternative-data-items">
        <name>Enumerated Alternative Data Items</name>
        <t>(Original Text for this section was contributed by Duncan Coutts and
Michael Peyton Jones; all errors are the author's.)</t>
        <t>A set of CBOR tag numbers has been allocated (<xref target="iana"/>) for
encoding data composed of enumerated alternatives:</t>
        <table anchor="tab-tag-enum">
          <name>Tags for Enumerated Alternative Data Items</name>
          <thead>
            <tr>
              <th align="right">Tags</th>
              <th align="left">Data Item</th>
              <th align="left">Meaning</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">121..127</td>
              <td align="left">any</td>
              <td align="left">alternatives 0..6, 1+1 encoding</td>
            </tr>
            <tr>
              <td align="right">1280..1400</td>
              <td align="left">any</td>
              <td align="left">alternatives 7..127, 1+2 encoding</td>
            </tr>
            <tr>
              <td align="right">101</td>
              <td align="left">array [uint, any]</td>
              <td align="left">alternatives as given by the uint + 128</td>
            </tr>
          </tbody>
        </table>
        <t>The tags defined in this section are for encoding data that can be
in one of a number of different enumerated forms.</t>
        <t>For example data representing the result of some action might be either
a failure with some failure detail, or a success with some result. In
this example there are two cases, the failure case and the success case,
and we can enumerate them as 0 and 1.</t>
        <t>In general the number of alternatives, and what data is expected in each
alternative case is entirely application dependent.</t>
        <t>The tags defined in this specification allow the encoding of any number
of alternatives, but provide compact encoding for the common cases of
low numbers of alternatives:</t>
        <ul spacing="normal">
          <li>
            <t>Alternatives 0..6 can be encoded in 2 bytes;</t>
          </li>
          <li>
            <t>Alternatives 7..127 can be encoded in 3 bytes;</t>
          </li>
          <li>
            <t>Alternatives 128+ can be encoded in 3-12 bytes.</t>
          </li>
        </ul>
        <t>There are no special considerations for deterministic encoding
Section <xref target="RFC8949" section="4.2" sectionFormat="bare"/> of RFC 8949 <xref target="STD94"/>: The case numbers covered by each tag do not
overlap; particularly, tag 101 encoding starts where the more compact
special encodings for 0..6 and 7..127 end.</t>
        <t>For cases 0..6 and 7..127, the tag value indicates the value of the alternative.
For cases 128+, a single tag number is used with an enclosed two-element array that contains the case number and the value of the alternative.</t>
        <section anchor="semantics">
          <name>Semantics</name>
          <t>The value consists of a case number and a case body. The case number is
an unsigned integer that indicates which case out of the set of
alternatives is used. The case body is any CBOR data value.</t>
          <t>In a setting where the application uses a schema (formally or
informally), then there will be an appropriate sub-schema for each case
in the set of alternatives. The representation of the case body should
comply with the schema corresponding to the case number used.</t>
          <t>To continue the example above about representing failure or success,
suppose that the failure detail consists of an integer code and a
string, and suppose that the successful result is a byte string. A
failure value will use case 0 and the case body will be a CBOR list
containing an integer and a text string. Alternatively, a success value
will use case 1 and the body will be a single CBOR byte string.</t>
          <t>Decoders that enforce a schema must check the case number is within the
range of cases allowed, and that the case body follows the schema for
the supplied case number. Generic decoders should allow any case number
and any CBOR data value for the case body.</t>
        </section>
        <section anchor="rationale">
          <name>Rationale</name>
          <t>CBOR has direct support for <em>combinations</em> of multiple values but not
for <em>alternatives</em> of multiple values. Combinations are expressed in
CBOR using lists or maps.</t>
          <t>Most programming languages have a notion of data consisting of
combinations of data values, often called records, structs or objects. Many
programming languages also have a notion of data consisting of multiple
alternative data values. For example C has unions, and other languages
have "tagged" unions (where it is always clear which alternative is in
use).</t>
          <t>Crucially for this set of tags, the set of alternatives must be closed
and ordered. This allows encoding using an unsigned number to distinguish
each case.</t>
          <t>Note that this does <em>not</em> correspond to the notion in some programming
languages of classes and subclasses since in that context the set of
alternatives is open and unordered. Alternatives of this kind are
well-supported by tag 27 "Serialized language-independent object with
type name and constructor arguments".</t>
          <t>In functional programming languages, the primary way of forming new data
types is to enumerate a set of alternatives (each of which may be a
record). Such forms of data are also supported in hybrid functional
languages or languages with functional features.</t>
          <t>Thus, in some applications, it is very common to have data making use of
alternatives, and it is worth finding a compact encoding, at least for
the common cases. Just as most records are small, most alternatives are
also small.</t>
          <t>In this specification we reserve 7 values in the 2-byte part of the
available tag encoding space for alternatives 0..6 which are by far the
most common. We reserve a range of 121 values in the 3-bytes tag
encoding space. To cover the general case we use an encoding using a
pair consisting of an unsigned integer and the case body, the first 24
of which also result in a 3-byte encoding.</t>
        </section>
        <section anchor="examples">
          <name>Examples</name>
          <t>To elaborate on the example from the introduction, we have a "result"
that is a failure or success, where:</t>
          <ul spacing="normal">
            <li>
              <t>the failure detail consists of an integer code and a string;</t>
            </li>
            <li>
              <t>the successful result is a byte string.</t>
            </li>
          </ul>
          <t>This corresponds to the following schema, in CDDL notation:</t>
          <sourcecode type="cddl"><![CDATA[
result = #6.121([int, text])
       / #6.122(bytes)
]]></sourcecode>
          <t>Example values:</t>
          <sourcecode type="cbor-diag"><![CDATA[
121([3, "the printer is on fire"])
]]></sourcecode>
          <sourcecode type="cbor-diag"><![CDATA[
122(h'ff00')
]]></sourcecode>
          <t>As a second example, here is one based on a data type defined within the
Haskell programming language, representing a simple expression tree.</t>
          <sourcecode type="haskell"><![CDATA[
-- A data type representing simple arithmetic expressions

data Expr = Lit Int -- integer literal
| Add Expr Expr -- addition
| Sub Expr Expr -- subtraction
| Neg Expr -- unary negation
| Mul Expr Expr -- multiplication
| Div Expr Expr -- integer division
]]></sourcecode>
          <t>In CDDL notation, and using the tags in this specification, such data
could be encoded using this schema:</t>
          <sourcecode type="cddl"><![CDATA[
; A data type representing simple arithmetic expressions

expr = #6.121(int)          ; integer literal
     / #6.122([expr, expr]) ; addition
     / #6.123([expr, expr]) ; subtraction
     / #6.124(expr)         ; unary negation
     / #6.125([expr, expr]) ; multiplication
     / #6.126([expr, expr]) ; integer division
]]></sourcecode>
        </section>
      </section>
    </section>
    <section anchor="implementation-aids">
      <name>Implementation aids</name>
      <section anchor="invalid-tag">
        <name>Invalid Tag</name>
        <t>The present document registers tag numbers 65535, 4294967295, and
18446744073709551615 (16-bit 0xffff, 32-bit 0xffffffff, and 64-bit
0xffffffffffffffff) as Invalid Tags, tags that are always invalid,
independent of the tag content provided.  The purpose of these tag
number registrations is to enable the tag numbers to be reserved for
internal use by implementations to note the absence of a tag on a data
item where a tag could also be expected with that data item as tag
content.</t>
        <t>The Invalid Tags are not intended to ever occur in interchanged CBOR
data items.  Generic CBOR decoder implementations are encouraged to
raise an error if an Invalid Tag occurs in a CBOR data item even if
there is no validity checking implemented otherwise.</t>
      </section>
      <section anchor="invalid-simple">
        <name>Programming Aid for Simple Values</name>
        <t>In a similar way, the present document also requests to register tag
number CPA21334 as a fourth Invalid Tag.
This tag is set aside specifically for use by CBOR implementations
that have no natural way to represent Simple Values (Section <xref target="RFC8949" section="3.3" sectionFormat="bare"/> of RFC 8949 <xref target="STD94"/>) beyond false, true, or null in their programming
interface.
For instance, such implementations can represent simple(123) as
CPA21334(123) in the programming interface.</t>
        <t><cref anchor="cpa_2">RFC-Editor: This document uses the CPA (code point allocation)
  convention described in [I-D.bormann-cbor-draft-numbers].  For
  each usage of the term "CPA", please remove the prefix "CPA"
  from the indicated value and replace the residue with the value
  assigned by IANA; perform an analogous substitution for all other
  occurrences of the prefix "CPA" in the document.  Finally,
  please remove this note.</cref></t>
      </section>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>In the registry "<xref section="CBOR Tags" relative="#cbor-tags" sectionFormat="bare" target="IANA.cbor-tags"/>" <xref target="IANA.cbor-tags"/>,
IANA has allocated the first to third tag in <xref target="tab-tag-values"/> from the
FCFS space, with the present document as the specification reference.
IANA also has allocated the tags in the next five rows from the Specification
Required space, with the present document as the specification reference.
Finally, IANA is requested to register the tags in the last two rows
(marked with CPA) from the Specification Required space, with the
present document as the specification reference.</t>
      <table anchor="tab-tag-values">
        <name>Values for Tags</name>
        <thead>
          <tr>
            <th align="right">Tag</th>
            <th align="left">Data Item</th>
            <th align="left">Semantics</th>
            <th align="left">Reference</th>
            <th align="left"> </th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="right">65535</td>
            <td align="left">(none valid)</td>
            <td align="left">always invalid</td>
            <td align="left">draft-bormann-cbor-notable-tags, <xref target="invalid-tag"/></td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="right">4294967295</td>
            <td align="left">(none valid)</td>
            <td align="left">always invalid</td>
            <td align="left">draft-bormann-cbor-notable-tags, <xref target="invalid-tag"/></td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="right">18446744073709551615</td>
            <td align="left">(none valid)</td>
            <td align="left">always invalid</td>
            <td align="left">draft-bormann-cbor-notable-tags, <xref target="invalid-tag"/></td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="right">63</td>
            <td align="left">byte string</td>
            <td align="left">Encoded CBOR Sequence <xref target="RFC8742"/></td>
            <td align="left">draft-bormann-cbor-notable-tags, <xref target="related-tags"/></td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="right">21065</td>
            <td align="left">text string</td>
            <td align="left">I-Regexp</td>
            <td align="left">draft-bormann-cbor-notable-tags, <xref target="related-tags"/>; <xref target="RFC9485"/></td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="right">18300 to 18555 (inclusive)</td>
            <td align="left">byte string</td>
            <td align="left">Bare Hash value (COSE algorithm -256 to -1)</td>
            <td align="left">draft-bormann-cbor-notable-tags, <xref target="hashtags"/></td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="right">18556</td>
            <td align="left">array</td>
            <td align="left">[COSE algorithm identifier, Bare Hash value]</td>
            <td align="left">draft-bormann-cbor-notable-tags, <xref target="hashtags"/></td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="right">18557 to 18811 (inclusive)</td>
            <td align="left">byte string</td>
            <td align="left">Bare Hash value (COSE algorithm 1 to 255)</td>
            <td align="left">draft-bormann-cbor-notable-tags, <xref target="hashtags"/></td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="right">CPA108</td>
            <td align="left">byte string</td>
            <td align="left">Expected conversion to base16 encoding (lowercase)</td>
            <td align="left">draft-bormann-cbor-notable-tags, <xref target="expected-tags"/></td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="right">CPA21334</td>
            <td align="left">uint</td>
            <td align="left">(always invalid in interchange)<br/>programming aid for simple values</td>
            <td align="left">draft-bormann-cbor-notable-tags, <xref target="invalid-simple"/></td>
            <td align="left">
              <!--  -->
            </td>
          </tr>
        </tbody>
      </table>
      <t>In addition, IANA has allocated the tags from
<xref target="tab-tag-enum"/>, with a reference to the present document.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations of <xref target="STD94"/> apply; the tags discussed here
may also have specific security considerations that are mentioned in
their specific sections above.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <referencegroup anchor="STD63" target="https://www.rfc-editor.org/info/std63">
          <reference anchor="RFC3629" target="https://www.rfc-editor.org/info/rfc3629">
            <front>
              <title>UTF-8, a transformation format of ISO 10646</title>
              <author fullname="F. Yergeau" initials="F." surname="Yergeau"/>
              <date month="November" year="2003"/>
              <abstract>
                <t>ISO/IEC 10646-1 defines a large character set called the Universal Character Set (UCS) which encompasses most of the world's writing systems. The originally proposed encodings of the UCS, however, were not compatible with many current applications and protocols, and this has led to the development of UTF-8, the object of this memo. UTF-8 has the characteristic of preserving the full US-ASCII range, providing compatibility with file systems, parsers and other software that rely on US-ASCII values but are transparent to other values. This memo obsoletes and replaces RFC 2279.</t>
              </abstract>
            </front>
            <seriesInfo name="STD" value="63"/>
            <seriesInfo name="RFC" value="3629"/>
            <seriesInfo name="DOI" value="10.17487/RFC3629"/>
          </reference>
        </referencegroup>
        <referencegroup anchor="STD94" target="https://www.rfc-editor.org/info/std94">
          <reference anchor="RFC8949" target="https://www.rfc-editor.org/info/rfc8949">
            <front>
              <title>Concise Binary Object Representation (CBOR)</title>
              <author fullname="C. Bormann" initials="C." surname="Bormann"/>
              <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
              <date month="December" year="2020"/>
              <abstract>
                <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
                <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
              </abstract>
            </front>
            <seriesInfo name="STD" value="94"/>
            <seriesInfo name="RFC" value="8949"/>
            <seriesInfo name="DOI" value="10.17487/RFC8949"/>
          </reference>
        </referencegroup>
        <reference anchor="IANA.cbor-tags" target="https://www.iana.org/assignments/cbor-tags">
          <front>
            <title>Concise Binary Object Representation (CBOR) Tags</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.cose" target="https://www.iana.org/assignments/cose">
          <front>
            <title>CBOR Object Signing and Encryption (COSE)</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.named-information" target="https://www.iana.org/assignments/named-information">
          <front>
            <title>Named Information</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <referencegroup anchor="STD96" target="https://www.rfc-editor.org/info/std96">
          <reference anchor="RFC9052" target="https://www.rfc-editor.org/info/rfc9052">
            <front>
              <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
              <author fullname="J. Schaad" initials="J." surname="Schaad"/>
              <date month="August" year="2022"/>
              <abstract>
                <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
                <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
              </abstract>
            </front>
            <seriesInfo name="STD" value="96"/>
            <seriesInfo name="RFC" value="9052"/>
            <seriesInfo name="DOI" value="10.17487/RFC9052"/>
          </reference>
          <reference anchor="RFC9338" target="https://www.rfc-editor.org/info/rfc9338">
            <front>
              <title>CBOR Object Signing and Encryption (COSE): Countersignatures</title>
              <author fullname="J. Schaad" initials="J." surname="Schaad"/>
              <date month="December" year="2022"/>
              <abstract>
                <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. CBOR Object Signing and Encryption (COSE) defines a set of security services for CBOR. This document defines a countersignature algorithm along with the needed header parameters and CBOR tags for COSE. This document updates RFC 9052.</t>
              </abstract>
            </front>
            <seriesInfo name="STD" value="96"/>
            <seriesInfo name="RFC" value="9338"/>
            <seriesInfo name="DOI" value="10.17487/RFC9338"/>
          </reference>
        </referencegroup>
        <reference anchor="RFC9053">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
              <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9053"/>
          <seriesInfo name="DOI" value="10.17487/RFC9053"/>
        </reference>
        <reference anchor="RFC9054">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Hash Algorithms</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>The CBOR Object Signing and Encryption (COSE) syntax (see RFC 9052) does not define any direct methods for using hash algorithms. There are, however, circumstances where hash algorithms are used, such as indirect signatures, where the hash of one or more contents are signed, and identification of an X.509 certificate or other object by the use of a fingerprint. This document defines hash algorithms that are identified by COSE algorithm identifiers.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9054"/>
          <seriesInfo name="DOI" value="10.17487/RFC9054"/>
        </reference>
        <reference anchor="RFC9360">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Header Parameters for Carrying and Referencing X.509 Certificates</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="February" year="2023"/>
            <abstract>
              <t>The CBOR Object Signing and Encryption (COSE) message structure uses references to keys in general. For some algorithms, additional properties are defined that carry parameters relating to keys as needed. The COSE Key structure is used for transporting keys outside of COSE messages. This document extends the way that keys can be identified and transported by providing attributes that refer to or contain X.509 certificates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9360"/>
          <seriesInfo name="DOI" value="10.17487/RFC9360"/>
        </reference>
        <reference anchor="RFC8392">
          <front>
            <title>CBOR Web Token (CWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="May" year="2018"/>
            <abstract>
              <t>CBOR Web Token (CWT) is a compact means of representing claims to be transferred between two parties. The claims in a CWT are encoded in the Concise Binary Object Representation (CBOR), and CBOR Object Signing and Encryption (COSE) is used for added application-layer security protection. A claim is a piece of information asserted about a subject and is represented as a name/value pair consisting of a claim name and a claim value. CWT is derived from JSON Web Token (JWT) but uses CBOR rather than JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8392"/>
          <seriesInfo name="DOI" value="10.17487/RFC8392"/>
        </reference>
        <reference anchor="RFC9132">
          <front>
            <title>Distributed Denial-of-Service Open Threat Signaling (DOTS) Signal Channel Specification</title>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="J. Shallow" initials="J." surname="Shallow"/>
            <author fullname="T. Reddy.K" initials="T." surname="Reddy.K"/>
            <date month="September" year="2021"/>
            <abstract>
              <t>This document specifies the Distributed Denial-of-Service Open Threat Signaling (DOTS) signal channel, a protocol for signaling the need for protection against Distributed Denial-of-Service (DDoS) attacks to a server capable of enabling network traffic mitigation on behalf of the requesting client.</t>
              <t>A companion document defines the DOTS data channel, a separate reliable communication layer for DOTS management and configuration purposes.</t>
              <t>This document obsoletes RFC 8782.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9132"/>
          <seriesInfo name="DOI" value="10.17487/RFC9132"/>
        </reference>
        <reference anchor="RFC8746">
          <front>
            <title>Concise Binary Object Representation (CBOR) Tags for Typed Arrays</title>
            <author fullname="C. Bormann" initials="C." role="editor" surname="Bormann"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR), as defined in RFC 7049, is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation.</t>
              <t>This document makes use of this extensibility to define a number of CBOR tags for typed arrays of numeric data, as well as additional tags for multi-dimensional and homogeneous arrays. It is intended as the reference document for the IANA registration of the CBOR tags defined.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8746"/>
          <seriesInfo name="DOI" value="10.17487/RFC8746"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <referencegroup anchor="BCP26" target="https://www.rfc-editor.org/info/bcp26">
          <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126">
            <front>
              <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
              <author fullname="M. Cotton" initials="M." surname="Cotton"/>
              <author fullname="B. Leiba" initials="B." surname="Leiba"/>
              <author fullname="T. Narten" initials="T." surname="Narten"/>
              <date month="June" year="2017"/>
              <abstract>
                <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
                <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
                <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="26"/>
            <seriesInfo name="RFC" value="8126"/>
            <seriesInfo name="DOI" value="10.17487/RFC8126"/>
          </reference>
        </referencegroup>
        <reference anchor="RFC8152">
          <front>
            <title>CBOR Object Signing and Encryption (COSE)</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="July" year="2017"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need for the ability to have basic security services defined for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8152"/>
          <seriesInfo name="DOI" value="10.17487/RFC8152"/>
        </reference>
        <referencegroup anchor="BCP47" target="https://www.rfc-editor.org/info/bcp47">
          <reference anchor="RFC4647" target="https://www.rfc-editor.org/info/rfc4647">
            <front>
              <title>Matching of Language Tags</title>
              <author fullname="A. Phillips" initials="A." role="editor" surname="Phillips"/>
              <author fullname="M. Davis" initials="M." role="editor" surname="Davis"/>
              <date month="September" year="2006"/>
              <abstract>
                <t>This document describes a syntax, called a "language-range", for specifying items in a user's list of language preferences. It also describes different mechanisms for comparing and matching these to language tags. Two kinds of matching mechanisms, filtering and lookup, are defined. Filtering produces a (potentially empty) set of language tags, whereas lookup produces a single language tag. Possible applications include language negotiation or content selection. This document, in combination with RFC 4646, replaces RFC 3066, which replaced RFC 1766. 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="47"/>
            <seriesInfo name="RFC" value="4647"/>
            <seriesInfo name="DOI" value="10.17487/RFC4647"/>
          </reference>
          <reference anchor="RFC5646" target="https://www.rfc-editor.org/info/rfc5646">
            <front>
              <title>Tags for Identifying Languages</title>
              <author fullname="A. Phillips" initials="A." role="editor" surname="Phillips"/>
              <author fullname="M. Davis" initials="M." role="editor" surname="Davis"/>
              <date month="September" year="2009"/>
              <abstract>
                <t>This document describes the structure, content, construction, and semantics of language tags for use in cases where it is desirable to indicate the language used in an information object. It also describes how to register values for use in language tags and the creation of user-defined extensions for private interchange. 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="47"/>
            <seriesInfo name="RFC" value="5646"/>
            <seriesInfo name="DOI" value="10.17487/RFC5646"/>
          </reference>
        </referencegroup>
        <reference anchor="W3C-STRINGS-BIDI" target="https://www.w3.org/International/articles/strings-and-bidi/">
          <front>
            <title>Strings and bidi</title>
            <author>
              <organization/>
            </author>
            <date year="2017" month="July" day="31"/>
          </front>
        </reference>
        <reference anchor="W3C-BIDI-USE-CASES" target="https://www.w3.org/International/articles/lang-bidi-use-cases/">
          <front>
            <title>Use cases for bidi and language metadata on the Web</title>
            <author>
              <organization/>
            </author>
            <date year="2021" month="May" day="06"/>
          </front>
        </reference>
        <reference anchor="W3C-UBA-BASICS" target="https://www.w3.org/International/articles/inline-bidi-markup/uba-basics">
          <front>
            <title>Unicode Bidirectional Algorithm basics</title>
            <author>
              <organization/>
            </author>
            <date year="2016" month="August" day="09"/>
          </front>
        </reference>
        <reference anchor="W3C-SIMPLE-RUBY" target="https://www.w3.org/TR/simple-ruby/">
          <front>
            <title>W3C Rules for Simple Placement of Japanese Ruby</title>
            <author>
              <organization/>
            </author>
            <date year="2020" month="June" day="09"/>
          </front>
          <refcontent>W3C First Public Working Draft</refcontent>
        </reference>
        <reference anchor="HTML" target="https://html.spec.whatwg.org">
          <front>
            <title>HTML — Living Standard</title>
            <author>
              <organization>WHATWG</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="RFC2045">
          <front>
            <title>Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="N. Borenstein" initials="N." surname="Borenstein"/>
            <date month="November" year="1996"/>
            <abstract>
              <t>This initial document specifies the various headers used to describe the structure of MIME messages. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2045"/>
          <seriesInfo name="DOI" value="10.17487/RFC2045"/>
        </reference>
        <reference anchor="RFC4122">
          <front>
            <title>A Universally Unique IDentifier (UUID) URN Namespace</title>
            <author fullname="P. Leach" initials="P." surname="Leach"/>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <author fullname="R. Salz" initials="R." surname="Salz"/>
            <date month="July" year="2005"/>
            <abstract>
              <t>This specification defines a Uniform Resource Name namespace for UUIDs (Universally Unique IDentifier), also known as GUIDs (Globally Unique IDentifier). A UUID is 128 bits long, and can guarantee uniqueness across space and time. UUIDs were originally used in the Apollo Network Computing System and later in the Open Software Foundation\'s (OSF) Distributed Computing Environment (DCE), and then in Microsoft Windows platforms.</t>
              <t>This specification is derived from the DCE specification with the kind permission of the OSF (now known as The Open Group). Information from earlier versions of the DCE specification have been incorporated into this document. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4122"/>
          <seriesInfo name="DOI" value="10.17487/RFC4122"/>
        </reference>
        <reference anchor="RFC9562">
          <front>
            <title>Universally Unique IDentifiers (UUIDs)</title>
            <author fullname="K. Davis" initials="K." surname="Davis"/>
            <author fullname="B. Peabody" initials="B." surname="Peabody"/>
            <author fullname="P. Leach" initials="P." surname="Leach"/>
            <date month="May" year="2024"/>
            <abstract>
              <t>This specification defines UUIDs (Universally Unique IDentifiers) --
also known as GUIDs (Globally Unique IDentifiers) -- and a Uniform
Resource Name namespace for UUIDs. A UUID is 128 bits long and is
intended to guarantee uniqueness across space and time. UUIDs were
originally used in the Apollo Network Computing System (NCS), later
in the Open Software Foundation's (OSF's) Distributed Computing
Environment (DCE), and then in Microsoft Windows platforms.</t>
              <t>This specification is derived from the OSF DCE specification with the
kind permission of the OSF (now known as "The Open Group"). Information from earlier versions of the OSF DCE specification have
been incorporated into this document. This document obsoletes RFC
4122.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9562"/>
          <seriesInfo name="DOI" value="10.17487/RFC9562"/>
        </reference>
        <reference anchor="RFC7049">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="October" year="2013"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7049"/>
          <seriesInfo name="DOI" value="10.17487/RFC7049"/>
        </reference>
        <reference anchor="RFC8742">
          <front>
            <title>Concise Binary Object Representation (CBOR) Sequences</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document describes the Concise Binary Object Representation (CBOR) Sequence format and associated media type "application/cbor-seq". A CBOR Sequence consists of any number of encoded CBOR data items, simply concatenated in sequence.</t>
              <t>Structured syntax suffixes for media types allow other media types to build on them and make it explicit that they are built on an existing media type as their foundation. This specification defines and registers "+cbor-seq" as a structured syntax suffix for CBOR Sequences.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8742"/>
          <seriesInfo name="DOI" value="10.17487/RFC8742"/>
        </reference>
        <reference anchor="RFC7493">
          <front>
            <title>The I-JSON Message Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="March" year="2015"/>
            <abstract>
              <t>I-JSON (short for "Internet JSON") is a restricted profile of JSON designed to maximize interoperability and increase confidence that software can process it successfully with predictable results.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7493"/>
          <seriesInfo name="DOI" value="10.17487/RFC7493"/>
        </reference>
        <reference anchor="RFC8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
        <reference anchor="RFC9581">
          <front>
            <title>Concise Binary Object Representation (CBOR) Tags for Time, Duration, and Period</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="B. Gamari" initials="B." surname="Gamari"/>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <date month="August" year="2024"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR, RFC 8949) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation.</t>
              <t>In CBOR, one point of extensibility is the definition of CBOR tags. RFC 8949 defines two tags for time: CBOR tag 0 (RFC 3339 time as a string) and tag 1 (POSIX time as int or float). Since then, additional requirements have become known. The present document defines a CBOR tag for time that allows a more elaborate representation of time, as well as related CBOR tags for duration and time period. This document is intended as the reference document for the IANA registration of the CBOR tags defined.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9581"/>
          <seriesInfo name="DOI" value="10.17487/RFC9581"/>
        </reference>
        <reference anchor="RFC9485">
          <front>
            <title>I-Regexp: An Interoperable Regular Expression Format</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="T. Bray" initials="T." surname="Bray"/>
            <date month="October" year="2023"/>
            <abstract>
              <t>This document specifies I-Regexp, a flavor of regular expression that is limited in scope with the goal of interoperation across many different regular expression libraries.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9485"/>
          <seriesInfo name="DOI" value="10.17487/RFC9485"/>
        </reference>
        <reference anchor="RFC9290">
          <front>
            <title>Concise Problem Details for Constrained Application Protocol (CoAP) APIs</title>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="October" year="2022"/>
            <abstract>
              <t>This document defines a concise "problem detail" as a way to carry machine-readable details of errors in a Representational State Transfer (REST) response to avoid the need to define new error response formats for REST APIs for constrained environments. The format is inspired by, but intended to be more concise than, the problem details for HTTP APIs defined in RFC 7807.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9290"/>
          <seriesInfo name="DOI" value="10.17487/RFC9290"/>
        </reference>
        <reference anchor="RFC6991">
          <front>
            <title>Common YANG Data Types</title>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document introduces a collection of common data types to be used with the YANG data modeling language. This document obsoletes RFC 6021.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6991"/>
          <seriesInfo name="DOI" value="10.17487/RFC6991"/>
        </reference>
        <reference anchor="RFC9254">
          <front>
            <title>Encoding of Data Modeled with YANG in the Concise Binary Object Representation (CBOR)</title>
            <author fullname="M. Veillette" initials="M." role="editor" surname="Veillette"/>
            <author fullname="I. Petrov" initials="I." role="editor" surname="Petrov"/>
            <author fullname="A. Pelov" initials="A." surname="Pelov"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <date month="July" year="2022"/>
            <abstract>
              <t>YANG (RFC 7950) is a data modeling language used to model configuration data, state data, parameters and results of Remote Procedure Call (RPC) operations or actions, and notifications.</t>
              <t>This document defines encoding rules for YANG in the Concise Binary Object Representation (CBOR) (RFC 8949).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9254"/>
          <seriesInfo name="DOI" value="10.17487/RFC9254"/>
        </reference>
        <reference anchor="RFC9542">
          <front>
            <title>IANA Considerations and IETF Protocol and Documentation Usage for IEEE 802 Parameters</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="J. Abley" initials="J." surname="Abley"/>
            <author fullname="Y. Li" initials="Y." surname="Li"/>
            <date month="April" year="2024"/>
            <abstract>
              <t>Some IETF protocols make use of Ethernet frame formats and IEEE 802 parameters. This document discusses several aspects of such parameters and their use in IETF protocols, specifies IANA considerations for assignment of points under the IANA Organizationally Unique Identifier (OUI), and provides some values for use in documentation. This document obsoletes RFC 7042.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="141"/>
          <seriesInfo name="RFC" value="9542"/>
          <seriesInfo name="DOI" value="10.17487/RFC9542"/>
        </reference>
        <reference anchor="RFC9164">
          <front>
            <title>Concise Binary Object Representation (CBOR) Tags for IPv4 and IPv6 Addresses and Prefixes</title>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="December" year="2021"/>
            <abstract>
              <t>This specification defines two Concise Binary Object Representation (CBOR) tags for use with IPv6 and IPv4 addresses and prefixes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9164"/>
          <seriesInfo name="DOI" value="10.17487/RFC9164"/>
        </reference>
        <reference anchor="I-D.bormann-cbor-numbers">
          <front>
            <title>On Numbers in CBOR</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="7" month="July" year="2025"/>
            <abstract>
              <t>   The Concise Binary Object Representation (CBOR), as defined in STD 94
   (RFC 8949), is a data representation format whose design goals
   include the possibility of extremely small code size, fairly small
   message size, and extensibility without the need for version
   negotiation.

   Among the kinds of data that a data representation format needs to be
   able to carry, numbers have a prominent role, but also have inherent
   complexity that needs attention from protocol designers and
   implementers of CBOR libraries and of the applications that use them.

   This document gives an overview over number formats available in CBOR
   and some notable CBOR tags registered, and it attempts to provide
   information about opportunities and potential pitfalls of these
   number formats.


   // This is a rather drafty initial revision, pieced together from
   // various components, so it has a higher level of redundancy than
   // ultimately desired.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-numbers-02"/>
        </reference>
        <reference anchor="I-D.bormann-cbor-yang-standin">
          <front>
            <title>Stand-in Tags for YANG-CBOR</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Maria Matějka" initials="M." surname="Matějka">
              <organization>CZ.NIC</organization>
            </author>
            <date day="3" month="March" year="2025"/>
            <abstract>
              <t>   YANG (RFC 7950) is a data modeling language used to model
   configuration data, state data, parameters and results of Remote
   Procedure Call (RPC) operations or actions, and notifications.

   YANG-CBOR (RFC 9254) defines encoding rules for YANG in the Concise
   Binary Object Representation (CBOR) (RFC 8949).  While the overall
   structure of YANG-CBOR is encoded in an efficient, binary format,
   YANG itself has its roots in XML and therefore traditionally encodes
   some information such as date/times and IP addresses/prefixes in a
   verbose text form.

   This document defines how to use existing CBOR tags for this kind of
   information in YANG-CBOR as a "stand-in" for the text-based
   information that would be found in the original form of YANG-CBOR.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-yang-standin-01"/>
        </reference>
        <reference anchor="C" target="https://www.iso.org/standard/74528.html">
          <front>
            <title>Information technology — Programming languages — C</title>
            <author>
              <organization>International Organization for Standardization</organization>
            </author>
            <date year="2018" month="June"/>
          </front>
          <seriesInfo name="ISO/IEC" value="9899:2018"/>
        </reference>
        <reference anchor="Cplusplus20" target="https://isocpp.org/files/papers/N4860.pdf">
          <front>
            <title>Programming languages — C++</title>
            <author>
              <organization>International Organization for Standardization</organization>
            </author>
            <date year="2020" month="March"/>
          </front>
          <refcontent>ISO/IEC JTC1 SC22 WG21 N4860</refcontent>
        </reference>
        <reference anchor="IEEE754" target="https://ieeexplore.ieee.org/document/8766229">
          <front>
            <title>IEEE Standard for Floating-Point Arithmetic</title>
            <author>
              <organization>IEEE</organization>
            </author>
            <date/>
          </front>
          <seriesInfo name="IEEE Std" value="754-2019"/>
          <seriesInfo name="DOI" value="10.1109/IEEESTD.2019.8766229"/>
        </reference>
        <reference anchor="RFC7322">
          <front>
            <title>RFC Style Guide</title>
            <author fullname="H. Flanagan" initials="H." surname="Flanagan"/>
            <author fullname="S. Ginoza" initials="S." surname="Ginoza"/>
            <date month="September" year="2014"/>
            <abstract>
              <t>This document describes the fundamental and unique style conventions and editorial policies currently in use for the RFC Series. It captures the RFC Editor's basic requirements and offers guidance regarding the style and structure of an RFC. Additional guidance is captured on a website that reflects the experimental nature of that guidance and prepares it for future inclusion in the RFC Style Guide. This document obsoletes RFC 2223, "Instructions to RFC Authors".</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7322"/>
          <seriesInfo name="DOI" value="10.17487/RFC7322"/>
        </reference>
        <reference anchor="I-D.draft-bormann-cbor-time-tag-01">
          <front>
            <title>Concise Binary Object Representation (CBOR) Tags for Time, Duration, and Period</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universitaet Bremen TZI</organization>
            </author>
            <author fullname="Ben Gamari" initials="B." surname="Gamari">
              <organization>Well-Typed</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <date day="14" month="June" year="2017"/>
            <abstract>
              <t>   The Concise Binary Object Representation (CBOR, RFC 7049) is a data
   format whose design goals include the possibility of extremely small
   code size, fairly small message size, and extensibility without the
   need for version negotiation.

   In CBOR, one point of extensibility is the definition of CBOR tags.
   RFC 7049 defines two tags for time: CBOR tag 0 (RFC3339 time) and tag
   1 (Posix time [TIME_T], int or float).  Since then, additional
   requirements have become known.  The present document defines a CBOR
   tag for time that allows a more elaborate representation of time, and
   anticipates the definition of related CBOR tags for duration and time
   period.  It is intended as the reference document for the IANA
   registration of the CBOR tags defined.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-time-tag-01"/>
        </reference>
        <reference anchor="RFC7519">
          <front>
            <title>JSON Web Token (JWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7519"/>
          <seriesInfo name="DOI" value="10.17487/RFC7519"/>
        </reference>
        <reference anchor="RFC7950">
          <front>
            <title>The YANG 1.1 Data Modeling Language</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols. This document describes the syntax and semantics of version 1.1 of the YANG language. YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification. There are a small number of backward incompatibilities from YANG version 1. This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7950"/>
          <seriesInfo name="DOI" value="10.17487/RFC7950"/>
        </reference>
        <reference anchor="RFC6241">
          <front>
            <title>Network Configuration Protocol (NETCONF)</title>
            <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices. It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages. The NETCONF protocol operations are realized as remote procedure calls (RPCs). This document obsoletes RFC 4741. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6241"/>
          <seriesInfo name="DOI" value="10.17487/RFC6241"/>
        </reference>
        <reference anchor="RFC7951">
          <front>
            <title>JSON Encoding of Data Modeled with YANG</title>
            <author fullname="L. Lhotka" initials="L." surname="Lhotka"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>This document defines encoding rules for representing configuration data, state data, parameters of Remote Procedure Call (RPC) operations or actions, and notifications defined using YANG as JavaScript Object Notation (JSON) text.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7951"/>
          <seriesInfo name="DOI" value="10.17487/RFC7951"/>
        </reference>
        <reference anchor="I-D.trammell-rains-protocol">
          <front>
            <title>RAINS (Another Internet Naming Service) Protocol Specification</title>
            <author fullname="Brian Trammell" initials="B." surname="Trammell">
              <organization>ETH Zurich</organization>
            </author>
            <author fullname="Christian Fehlmann" initials="C." surname="Fehlmann">
              <organization>ETH Zurich</organization>
            </author>
            <date day="29" month="January" year="2019"/>
            <abstract>
              <t>   This document defines an alternate protocol for Internet name
   resolution, designed as a prototype to facilitate conversation about
   the evolution or replacement of the Domain Name System protocol.  It
   attempts to answer the question: "how would we design DNS knowing
   what we do now," on the background of a set of properties of an
   idealized Internet naming service.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-trammell-rains-protocol-05"/>
        </reference>
        <reference anchor="RFC8943">
          <front>
            <title>Concise Binary Object Representation (CBOR) Tags for Date</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="A. Nadalin" initials="A." surname="Nadalin"/>
            <author fullname="J. Richter" initials="J." surname="Richter"/>
            <date month="November" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR), as specified in RFC 7049, is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation.</t>
              <t>In CBOR, one point of extensibility is the definition of CBOR tags. RFC 7049 defines two tags for time: CBOR tag 0 (date/time string as per RFC 3339) and tag 1 (POSIX "seconds since the epoch"). Since then, additional requirements have become known. This specification defines a CBOR tag for a date text string (as per RFC 3339) for applications needing a textual date representation within the Gregorian calendar without a time. It also defines a CBOR tag for days since the date 1970-01-01 in the Gregorian calendar for applications needing a numeric date representation without a time. This specification is the reference document for IANA registration of the CBOR tags defined.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8943"/>
          <seriesInfo name="DOI" value="10.17487/RFC8943"/>
        </reference>
        <reference anchor="I-D.clarke-cbor-crs">
          <front>
            <title>Concise Binary Object Representation (CBOR) Tag for Coordinate Reference System (CRS) Specification</title>
            <author fullname="Trevor Clarke" initials="T." surname="Clarke">
              <organization>Ball Aerospace and Technologies Corp.</organization>
            </author>
            <date day="17" month="March" year="2020"/>
            <abstract>
              <t>   The Concise Binary Object Representation (CBOR, RFC 7049) is a data
   format whose design goals include the possibility of extremely small
   code size, fairly small message size, and extensibility without the
   need for version negotiation.

   In CBOR, one point of extensibility is the definition of CBOR tags.
   An existing CBOR tag, 103, allows for the representation of
   geographic coordinates.  Proper exploitation of geographic
   coordinates requires an associated reference frame.  The present
   document defines a CBOR tag for referencing the coordinate reference
   system (CRS) for a geographic coordinate.  It is intended as the
   reference document for the IANA registration of the CBOR tag defined.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-clarke-cbor-crs-02"/>
        </reference>
      </references>
    </references>
    <?line 1110?>

<section numbered="false" anchor="list-of-figures">
      <name>List of Figures</name>
      <ol spacing="compact" type="1"><li>
          <t><xref target="hashcddl">Generic CDDL for Tags for Bare Hash Values</xref></t>
        </li>
        <li>
          <t><xref target="arith-tags-cddl">CDDL for extended arithmetic tags</xref></t>
        </li>
        <li>
          <t><xref target="time-tags-cddl">CDDL for calendar date tags (RFC8943)</xref></t>
        </li>
      </ol>
    </section>
    <section numbered="false" anchor="list-of-tables">
      <name>List of Tables</name>
      <ol spacing="compact" type="1"><li>
          <t><xref target="origtags">Tag numbers defined in RFC 7049</xref></t>
        </li>
        <li>
          <t><xref target="cosetags">Tag numbers defined in RFC9052, COSE, and RFC 9338</xref></t>
        </li>
        <li>
          <t><xref target="cwttags">Tag number defined for RFC 8392 CBOR Web Token (CWT)</xref></t>
        </li>
        <li>
          <t><xref target="yangtags">Tag numbers defined for YANG-CBOR</xref></t>
        </li>
        <li>
          <t><xref target="arithtags">Tags for advanced arithmetic</xref></t>
        </li>
        <li>
          <t><xref target="arraytags">Tag numbers defined for Arrays</xref></t>
        </li>
        <li>
          <t><xref target="tab-domain-specific">Select Domain-Specific Tags</xref></t>
        </li>
        <li>
          <t><xref target="tab-text">Select Tags for Human-readable Text</xref></t>
        </li>
        <li>
          <t><xref target="timetags">Tag numbers for date and time</xref></t>
        </li>
        <li>
          <t><xref target="perltags">Tag numbers that aid the Perl platform</xref></t>
        </li>
        <li>
          <t><xref target="weirdtags">Tag numbers for UTF-8 variants</xref></t>
        </li>
        <li>
          <t><xref target="tab-apptags">Application-specific Tags</xref></t>
        </li>
        <li>
          <t><xref target="tab-tag-enum">Tags for Enumerated Alternative Data Items</xref></t>
        </li>
        <li>
          <t><xref target="tab-tag-values">Values for Tags</xref></t>
        </li>
      </ol>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>(Many, TBD)</t>
      <!--  LocalWords:  CBOR extensibility IANA uint sint IEEE endian
 -->
<!--  LocalWords:  signedness endianness
 -->

</section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="P." surname="Occil" fullname="Peter Occil">
        <organization/>
        <address>
          <email>poccil14 at gmail dot com</email>
        </address>
      </contact>
      <t>Peter Occil registered tags 30, 264, 265, 268–270
(<xref target="advanced-arithmetic"/>), 38, 257, 266 and 267
(<xref target="domain-specific"/>), and contributed much of the text about
these tags in this document.</t>
      <contact initials="D." surname="Coutts" fullname="Duncan Coutts">
        <organization/>
        <address>
          <email>duncan@well-typed.com</email>
        </address>
      </contact>
      <contact initials="M. P." surname="Jones" fullname="Michael Peyton Jones">
        <organization/>
        <address>
          <email>me@michaelpj.com</email>
        </address>
      </contact>
      <contact initials="J." surname="Doe" fullname="Jane Doe">
        <organization>To do</organization>
        <address>
      </address>
      </contact>
      <t>Further contributors will be listed here as text is added.</t>
      <t>Please stay tuned.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
710K1AAA

-->

</rfc>
