<?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.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-lundberg-cose-two-party-signing-algs-01" category="std" consensus="true" submissionType="IETF" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.0 -->
  <front>
    <title abbrev="COSE Algs for Two-Party Signing">COSE Algorithms for Two-Party Signing</title>
    <seriesInfo name="Internet-Draft" value="draft-lundberg-cose-two-party-signing-algs-01"/>
    <author fullname="Emil Lundberg" role="editor">
      <organization>Yubico</organization>
      <address>
        <postal>
          <street>Gävlegatan 22</street>
          <city>Stockholm</city>
          <country>SE</country>
        </postal>
        <email>emil@emlun.se</email>
      </address>
    </author>
    <author initials="M. B." surname="Jones" fullname="Michael B. Jones">
      <organization>Self-Issued Consulting</organization>
      <address>
        <postal>
          <country>United States</country>
        </postal>
        <email>michael_b_jones@hotmail.com</email>
        <uri>https://self-issued.info/</uri>
      </address>
    </author>
    <date year="2025" month="March" day="03"/>
    <area>Security</area>
    <workgroup>COSE</workgroup>
    <keyword>COSE</keyword>
    <keyword>Signing</keyword>
    <keyword>Two-Party</keyword>
    <keyword>Algorithms</keyword>
    <abstract>
      <?line 86?>

<t>This specification defines COSE algorithm identifiers used when the signing operation
is performed cooperatively between two parties.
When performing two-party signing,
the first party typically hashes the data to be signed
and the second party signs the hashed data computed by the first party.
This can be useful when communication with the party holding the signing private key
occurs over a limited-bandwidth channel, such as NFC or Bluetooth Low Energy (BLE),
in which it is infeasible to send the complete set of data to be signed.
The resulting signatures are identical in structure to those computed by a single party,
and can be verified using the same verification procedure
without additional steps to preprocess the signed data.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-lundberg-cose-two-party-signing-algs/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        COSE Working Group mailing list (<eref target="mailto:cose@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/cose/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/cose/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/YubicoLabs/cose-two-party-signing-algs-rfc"/>.</t>
    </note>
  </front>
  <middle>
    <?line 100?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>CBOR Object Signing and Encryption (COSE) <xref target="RFC9052"/>
algorithm identifiers are used to specify the cryptographic operations
performed when creating cryptographic data structures,
but do not record all the details of how the cryptography was performed,
since those details are typically irrelevant for the recipient.
The algorithm identifiers defined by this specification facilitate the
cooperation of two parties to perform COSE signing operations together.
They are used to specify the division of responsibilities between the two parties.
Consumers of the cryptographic data structures thus cooperatively produced
do not use these algorithm identifiers;
rather, consumers use the normal COSE algorithm identifiers that correspond
to the cryptographic operation cooperatively performed together by the two parties.</t>
      <t>A use case for this is performing a signature operation split between two parties,
such as a software application and a discrete hardware security module (HSM) holding the private key.
In particular, since the data link between them may have limited bandwidth,
it may not be practical to send the entire original message to the HSM.
Instead, since most signature algorithms begin with digesting the message
into a fixed-length intermediate input, this initial digest can be computed by the software application
while the HSM computes the rest of the signature algorithm on the digest.</t>
      <t>Since different signature algorithms digest the message in different ways
and at different stages of the algorithm,
there is no one generally-applicable way to define such a division point
for every possible signature algorithm.
Therefore, this specification defines algorithm identifiers encoding,
for a specific set of signature algorithms,
which steps of the signature algorithm are performed by the <em>digester</em> (e.g., software application)
and which are performed by the <em>signer</em> (e.g., HSM).
In general, the <em>signer</em> holds exclusive control of the signing private key.</t>
      <t>Note that these algorithm identifiers do not define new "pre-hashed" variants of the base signature algorithm,
nor an intermediate "hash envelope" data structure, such as that defined in <xref target="I-D.COSE-Hash-Envelope"/>.
Rather, these identifiers correspond to existing signature algorithms
that would typically be executed by a single party,
but split into two stages.
The resulting signatures are identical to those computed by a single party,
and can be verified using the same verification procedures
without additional special steps to process the signed data.</t>
      <t>However some signature algorithms,
for example, PureEdDSA <xref target="RFC8032"/> and ML-DSA <xref target="FIPS-204"/>,
cannot be split in this way and therefore cannot be assigned two-party signing algorithm identifiers.
However, if such a signature algorithm defines a "pre-hashed" variant,
such as Ed25519ph <xref target="RFC8032"/> or HashML-DSA <xref target="FIPS-204"/>,
that "pre-hashed" algorithm can also be assigned a two-party signing algorithm identifier,
enabling the hashing step to be performed by the <em>digester</em>
and the signing step to be executed by the <em>signer</em>.</t>
      <section anchor="requirements-notation-and-conventions">
        <name>Requirements Notation and Conventions</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC8174">RFC2119</xref> when, and only when, they appear in all capitals, as shown here.</t>
      </section>
    </section>
    <section anchor="two-party-signing-algorithms">
      <name>Two-Party Signing Algorithms</name>
      <t>This section defines divisions of signing algorithm steps between a <em>digester</em> and a <em>signer</em>
in a two-party signing protocol,
and assigns algorithm identifiers to these algorithm divisions.
The <em>digester</em> performs the first part of the divided algorithm and does not have access to the signing private key,
while the <em>signer</em> performs the second part of the divided algorithm and has access to the signing private key.
For signing algorithms that format the message to insert domain separation tags,
as described in <xref section="2.2.5" sectionFormat="of" target="RFC9380"/>,
this message formatting is also performed by the <em>signer</em>.</t>
      <t>The algorithm identifiers defined in this specification MUST NOT appear in COSE structures
other than COSE_Key_Ref (see <xref target="cose-key-refs"/>).
They are meant only for coordination between the <em>digester</em> and the <em>signer</em> in a two-party signing protocol.
Representations of the keys used and the resulting signatures
MUST use the corresponding conventional algorithm identifiers instead.
These are listed in the "Base algorithm" column in the tables defining two-party signing algorithm identifiers.</t>
      <section anchor="ecdsa-2p">
        <name>ECDSA</name>
        <t>Two-party ECDSA <xref target="FIPS-186-5"/> uses the following division between the <em>digester</em> and the <em>signer</em>
of the steps of the ECDSA signature generation algorithm <xref target="FIPS-186-5"/>:</t>
        <ul spacing="normal">
          <li>
            <t>The signing procedure is defined in Section 6.4.1 of <xref target="FIPS-186-5"/>.</t>
          </li>
          <li>
            <t>The <em>digester</em> performs Step 1 of the signing procedure - hashing the message, producing the value <em>H</em>.</t>
          </li>
          <li>
            <t>The message input to the <em>signer</em> is the value <em>H</em> defined in the signing procedure.</t>
          </li>
          <li>
            <t>The <em>signer</em> resumes the signing procedure from Step 2.</t>
          </li>
        </ul>
        <t>The following algorithm identifiers are defined:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">COSE Value</th>
              <th align="left">Base algorithm</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">ESP256-2p</td>
              <td align="left">TBD</td>
              <td align="left">ESP256</td>
              <td align="left">ESP256 <xref target="I-D.jose-fully-spec-algs"/> divided for two-party signing as defined here</td>
            </tr>
            <tr>
              <td align="left">ESP384-2p</td>
              <td align="left">TBD</td>
              <td align="left">ESP384</td>
              <td align="left">ESP384 <xref target="I-D.jose-fully-spec-algs"/> divided for two-party signing as defined here</td>
            </tr>
            <tr>
              <td align="left">ESP512-2p</td>
              <td align="left">TBD</td>
              <td align="left">ESP512</td>
              <td align="left">ESP512 <xref target="I-D.jose-fully-spec-algs"/> divided for two-party signing as defined here</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="eddsa-2p">
        <name>HashEdDSA</name>
        <t>Two-party HashEdDSA <xref target="RFC8032"/> uses the following division between the <em>digester</em> and the <em>signer</em>
of the steps of the HashEdDSA signing algorithm <xref target="RFC8032"/>:</t>
        <ul spacing="normal">
          <li>
            <t>HashEdDSA is a combination of the EdDSA signing procedure and the PureEdDSA signing procedure.
The EdDSA signing procedure is defined in the first paragraph of <xref section="3.3" sectionFormat="of" target="RFC8032"/>.
The PureEdDSA signing procedure is defined in the second paragraph of <xref section="3.3" sectionFormat="of" target="RFC8032"/>.</t>
          </li>
          <li>
            <t>The <em>digester</em> computes the value <tt>PH(M)</tt> defined in the EdDSA signing procedure.</t>
          </li>
          <li>
            <t>The message input to the <em>signer</em> is the value <tt>PH(M)</tt> defined in the EdDSA signing procedure.
This value is represented as <tt>M</tt> in the PureEdDSA signing procedure.</t>
          </li>
          <li>
            <t>The <em>signer</em> executes the PureEdDSA signing procedure,
where the value denoted <tt>M</tt> in the PureEdDSA signing procedure
takes the value denoted <tt>PH(M)</tt> in the EdDSA signing procedure.</t>
          </li>
        </ul>
        <t>PureEdDSA <xref target="RFC8032"/> cannot be divided in this way
since such a division would require that the <em>digester</em> has access to the private key.</t>
        <t>The following algorithm identifiers are defined:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">COSE Value</th>
              <th align="left">Base algorithm</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Ed25519ph-2p</td>
              <td align="left">TBD</td>
              <td align="left">Ed25519ph</td>
              <td align="left">Ed25519ph <xref target="I-D.jose-fully-spec-algs"/> divided for two-party signing as defined here (NOTE: Ed25519ph not yet registered)</td>
            </tr>
            <tr>
              <td align="left">Ed448ph-2p</td>
              <td align="left">TBD</td>
              <td align="left">Ed448ph</td>
              <td align="left">Ed448ph <xref target="I-D.jose-fully-spec-algs"/> divided for two-party signing as defined here (NOTE: Ed448ph not yet registered)</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="ml-dsa-2p">
        <name>HashML-DSA</name>
        <t>Two-party HashML-DSA <xref target="FIPS-204"/> uses the following division between the <em>digester</em> and the <em>signer</em>
of the steps of the HashML-DSA.Sign algorithm:</t>
        <ul spacing="normal">
          <li>
            <t>The signing procedure is defined in Section 5.4.1 of <xref target="FIPS-204"/>.</t>
          </li>
          <li>
            <t>The <em>digester</em> computes the value PH<sub><em>M</em></sub> defined in Steps 10 to 22 of the signing procedure.</t>
          </li>
          <li>
            <t>The message input to the <em>signer</em> is the value PH<sub><em>M</em></sub> defined in the signing procedure.
The additional <em>ctx</em> input must also be transmitted to the <em>signer</em>.
This may, for example, be done using the <tt>ctx (-1)</tt> parameter of a <tt>COSE_Key_Ref</tt> with <tt>kty (1): Ref-ML-DSA (TBD)</tt>
(see <xref target="cose-key-types-reg"/> and <xref target="cose-key-type-params-reg"/>).</t>
          </li>
          <li>
            <t>The <em>signer</em> executes all steps of the signing procedure
except the Steps 13, 16, 19 or similar that compute the value PH<sub><em>M</em></sub>.
Note in particular, that the <em>signer</em> generates the value <em>rnd</em> in Steps 5-8
and constructs the value <em>M'</em> in Step 23.</t>
          </li>
        </ul>
        <t>The "pure" ML-DSA version <xref target="FIPS-204"/> cannot be divided in this way
because of how the embedding of the <em>ctx</em> and <em>tr</em> values is constructed
in <tt>ML-DSA.Sign</tt> and <tt>ML-DSA.Sign_Internal</tt>.
A division like the one above for HashML-DSA would move control of this embedding from the <em>signer</em> to the <em>digester</em>.
This would break the domain separation enforced by the embedding
and possibly enable signature malleability attacks or protocol confusion attacks.</t>
        <t>The following algorithm identifiers are defined:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">COSE Value</th>
              <th align="left">Base algorithm</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">HashML-DSA-44-2p</td>
              <td align="left">TBD</td>
              <td align="left">HashML-DSA-44</td>
              <td align="left">HashML-DSA-44 divided for two-party signing as defined here (NOTE: HashML-DSA-44 not yet registered)</td>
            </tr>
            <tr>
              <td align="left">HashML-DSA-65-2p</td>
              <td align="left">TBD</td>
              <td align="left">HashML-DSA-65</td>
              <td align="left">HashML-DSA-65 divided for two-party signing as defined here (NOTE: HashML-DSA-65 not yet registered)</td>
            </tr>
            <tr>
              <td align="left">HashML-DSA-87-2p</td>
              <td align="left">TBD</td>
              <td align="left">HashML-DSA-87</td>
              <td align="left">HashML-DSA-87 divided for two-party signing as defined here (NOTE: HashML-DSA-87 not yet registered)</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="cose-key-refs">
      <name>COSE Key Reference Types</name>
      <t>While keys used by many algorithms can usually be referenced by a single atomic identifier,
such as that used in the <tt>kid</tt> parameter in a COSE_Key object or in the unprotected header of a COSE_Recipient,
some signature algorithms use additional parameters to the signature generation
beyond the signing private key and message to be signed.
For example, ML-DSA <xref target="FIPS-204"/> has the additional parameter <em>ctx</em>
and <tt>ARKG-Derive-Private-Key</tt> <xref target="I-D.bradleylundberg-ARKG"/> has the parameters <tt>kh</tt> and <tt>info</tt>, in addition to the private key.</t>
      <t>While these additional parameters are simple to provide to the API of the signing procedure
in a single-party context,
in a two-party context these additional parameters also need to be conveyed from the <em>digester</em> to the <em>signer</em>.
For this purpose, we define new COSE key types, collectively called "COSE key reference types".
This enables defining a unified, algorithm-agnostic protocol between the <em>digester</em> and the <em>signer</em>,
rather than requiring a distinct protocol for each signature algorithm for the sake of conveying algorithm-specific parameters.</t>
      <t>A COSE key reference is a COSE_Key object whose <tt>kty</tt> value is defined to represent a reference to a key.
The <tt>kid</tt> parameter MUST be present when <tt>kty</tt> is a key reference type.
These requirements are encoded in the CDDL <xref target="RFC8610"/> type <tt>COSE_Key_Ref</tt>:</t>
      <sourcecode type="cddl"><![CDATA[
COSE_Key_Ref = COSE_Key .within {
  1 ^ => $COSE_kty_ref   ; kty: Any reference type
  2 ^ => any,            ; kid is required
  any => any,            ; Any other entries allowed by COSE_Key
}
]]></sourcecode>
      <t>The following CDDL example represents a reference to an ML-DSA-65 key,
which uses the <tt>AKP</tt> key type <xref target="I-D.COSE-ML-DSA"/>,
along with the value of the <em>ctx</em> parameter to ML-DSA.Sign <xref target="FIPS-204"/>:</t>
      <sourcecode type="cddl"><![CDATA[
{
  1: TBD,      ; kty: Ref-AKP
               ; kid: Opaque identifier of the AKP key
  2: h'92bc2bfa738f5bb07803fb9c0c58020791acd29fbe253baa7a03ac84f4b26d44',

  3: TBD,      ; alg: ML-DSA-65

               ; ctx argument to ML-DSA.Sign
  -1: 'Example application info',
}
]]></sourcecode>
      <t>The following CDDL example represents a reference to a key derived by <tt>ARKG-P256ADD-ECDH</tt> <xref target="I-D.bradleylundberg-ARKG"/>
and restricted for use with the ESP256 <xref target="I-D.jose-fully-spec-algs"/> signature algorithm:</t>
      <sourcecode type="cddl"><![CDATA[
{
  1: -65538,   ; kty: Ref-ARKG-derived
               ; kid: Opaque identifier of ARKG-pub
  2: h'60b6dfddd31659598ae5de49acb220d8
       704949e84d484b68344340e2565337d2',
  3: -9,       ; alg: ESP256

               ; ARKG-P256ADD-ECDH key handle
               ; (HMAC-SHA-256-128 followed by
                  SEC1 uncompressed ECDH public key)
  -1: h'ae079e9c52212860678a7cee25b6a6d4
        048219d973768f8e1adb8eb84b220b0ee3
          a2532828b9aa65254fe3717a29499e9b
          aee70cea75b5c8a2ec2eb737834f7467
          e37b3254776f65f4cfc81e2bc4747a84',

               ; info argument to ARKG-Derive-Private-Key
  -2: 'Example application info',
}
]]></sourcecode>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <section anchor="cose-alg-reg">
        <name>COSE Algorithms Registrations</name>
        <t>This section registers the following values in the IANA "COSE Algorithms" registry <xref target="IANA.COSE"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Name: ESP256-2p
            </t>
            <ul spacing="normal">
              <li>
                <t>Value: TBD (Requested Assignment -300)</t>
              </li>
              <li>
                <t>Description: ESP256 <xref target="I-D.jose-fully-spec-algs"/> divided for two-party signing</t>
              </li>
              <li>
                <t>Capabilities: [kty]</t>
              </li>
              <li>
                <t>Change Controller: IETF</t>
              </li>
              <li>
                <t>Reference: <xref target="ecdsa-2p"/> of this specification</t>
              </li>
              <li>
                <t>Recommended: Yes</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Name: ESP384-2p
            </t>
            <ul spacing="normal">
              <li>
                <t>Value: TBD (Requested Assignment -301)</t>
              </li>
              <li>
                <t>Description: ESP384 <xref target="I-D.jose-fully-spec-algs"/> divided for two-party signing</t>
              </li>
              <li>
                <t>Capabilities: [kty]</t>
              </li>
              <li>
                <t>Change Controller: IETF</t>
              </li>
              <li>
                <t>Reference: <xref target="ecdsa-2p"/> of this specification</t>
              </li>
              <li>
                <t>Recommended: Yes</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Name: ESP512-2p
            </t>
            <ul spacing="normal">
              <li>
                <t>Value: TBD (Requested Assignment -302)</t>
              </li>
              <li>
                <t>Description: ESP512 <xref target="I-D.jose-fully-spec-algs"/> divided for two-party signing</t>
              </li>
              <li>
                <t>Capabilities: [kty]</t>
              </li>
              <li>
                <t>Change Controller: IETF</t>
              </li>
              <li>
                <t>Reference: <xref target="ecdsa-2p"/> of this specification</t>
              </li>
              <li>
                <t>Recommended: Yes</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Name: Ed25519ph-2p
            </t>
            <ul spacing="normal">
              <li>
                <t>Value: TBD (Requested Assignment -303)</t>
              </li>
              <li>
                <t>Description: Ed25519ph <xref target="I-D.jose-fully-spec-algs"/> divided for two-party signing</t>
              </li>
              <li>
                <t>Capabilities: [kty]</t>
              </li>
              <li>
                <t>Change Controller: IETF</t>
              </li>
              <li>
                <t>Reference: <xref target="eddsa-2p"/> of this specification</t>
              </li>
              <li>
                <t>Recommended: Yes</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Name: Ed448ph-2p
            </t>
            <ul spacing="normal">
              <li>
                <t>Value: TBD (Requested Assignment -304)</t>
              </li>
              <li>
                <t>Description: Ed448ph <xref target="I-D.jose-fully-spec-algs"/> divided for two-party signing</t>
              </li>
              <li>
                <t>Capabilities: [kty]</t>
              </li>
              <li>
                <t>Change Controller: IETF</t>
              </li>
              <li>
                <t>Reference: <xref target="eddsa-2p"/> of this specification</t>
              </li>
              <li>
                <t>Recommended: Yes</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Name: HashML-DSA-44-2p
            </t>
            <ul spacing="normal">
              <li>
                <t>Value: TBD (Requested Assignment -305)</t>
              </li>
              <li>
                <t>Description: HashML-DSA-44 divided for two-party signing</t>
              </li>
              <li>
                <t>Capabilities: [kty]</t>
              </li>
              <li>
                <t>Change Controller: IETF</t>
              </li>
              <li>
                <t>Reference: <xref target="ml-dsa-2p"/> of this specification</t>
              </li>
              <li>
                <t>Recommended: Yes</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Name: HashML-DSA-65-2p
            </t>
            <ul spacing="normal">
              <li>
                <t>Value: TBD (Requested Assignment -306)</t>
              </li>
              <li>
                <t>Description: HashML-DSA-65 divided for two-party signing</t>
              </li>
              <li>
                <t>Capabilities: [kty]</t>
              </li>
              <li>
                <t>Change Controller: IETF</t>
              </li>
              <li>
                <t>Reference: <xref target="ml-dsa-2p"/> of this specification</t>
              </li>
              <li>
                <t>Recommended: Yes</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Name: HashML-DSA-87-2p
            </t>
            <ul spacing="normal">
              <li>
                <t>Value: TBD (Requested Assignment -307)</t>
              </li>
              <li>
                <t>Description: HashML-DSA-87 divided for two-party signing</t>
              </li>
              <li>
                <t>Capabilities: [kty]</t>
              </li>
              <li>
                <t>Change Controller: IETF</t>
              </li>
              <li>
                <t>Reference: <xref target="ml-dsa-2p"/> of this specification</t>
              </li>
              <li>
                <t>Recommended: Yes</t>
              </li>
            </ul>
          </li>
        </ul>
      </section>
      <section anchor="cose-key-types-reg">
        <name>COSE Key Types Registrations</name>
        <t>This section registers the following values in the IANA "COSE Key Types" registry <xref target="IANA.COSE"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Name: Ref-OKP
            </t>
            <ul spacing="normal">
              <li>
                <t>Value: TBD (Requested assignment -1)</t>
              </li>
              <li>
                <t>Description: Reference to a key pair of key type "OKP"</t>
              </li>
              <li>
                <t>Capabilities: [kty(-1), crv]</t>
              </li>
              <li>
                <t>Reference: <xref target="cose-key-refs"/> of this specification</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Name: Ref-EC2
            </t>
            <ul spacing="normal">
              <li>
                <t>Value: TBD (Requested assignment -2)</t>
              </li>
              <li>
                <t>Description: Reference to a key pair of key type "EC2"</t>
              </li>
              <li>
                <t>Capabilities: [kty(-2), crv]</t>
              </li>
              <li>
                <t>Reference: <xref target="cose-key-refs"/> of this specification</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Name: Ref-AKP
            </t>
            <ul spacing="normal">
              <li>
                <t>Value: TBD (Requested assignment -7)</t>
              </li>
              <li>
                <t>Description: Reference to a key pair of key type "AKP"</t>
              </li>
              <li>
                <t>Capabilities: [kty(TBD), ctx]</t>
              </li>
              <li>
                <t>Reference: <xref target="cose-key-refs"/> of this specification</t>
              </li>
            </ul>
          </li>
        </ul>
        <t>These registrations add the following choices to the CDDL <xref target="RFC8610"/> type socket <tt>$COSE_kty_ref</tt>:</t>
        <sourcecode type="cddl"><![CDATA[
$COSE_kty_ref /= -1       ; Value TBD
$COSE_kty_ref /= -2       ; Value TBD
$COSE_kty_ref /= -7       ; Value TBD
]]></sourcecode>
      </section>
      <section anchor="cose-key-type-params-reg">
        <name>COSE Key Type Parameters Registrations</name>
        <t>This section registers the following values in the IANA "COSE Key Type Parameters" registry <xref target="IANA.COSE"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Key Type: TBD (Ref-AKP)
            </t>
            <ul spacing="normal">
              <li>
                <t>Name: ctx</t>
              </li>
              <li>
                <t>Label: -1</t>
              </li>
              <li>
                <t>CBOR Type: bstr</t>
              </li>
              <li>
                <t>Description: ctx argument to ML-DSA.Sign or HashML-DSA.Sign</t>
              </li>
              <li>
                <t>Reference: <xref target="cose-key-refs"/> of this specification</t>
              </li>
            </ul>
          </li>
        </ul>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.bradleylundberg-ARKG">
          <front>
            <title>The Asynchronous Remote Key Generation (ARKG) algorithm</title>
            <author fullname="Emil Lundberg" initials="E." surname="Lundberg">
              <organization>Yubico</organization>
            </author>
            <author fullname="John Bradley" initials="J." surname="Bradley">
              <organization>Yubico</organization>
            </author>
            <date day="27" month="November" year="2024"/>
            <abstract>
              <t>   Asynchronous Remote Key Generation (ARKG) is an abstract algorithm
   that enables delegation of asymmetric public key generation without
   giving access to the corresponding private keys.  This capability
   enables a variety of applications: a user agent can generate
   pseudonymous public keys to prevent tracking; a message sender can
   generate ephemeral recipient public keys to enhance forward secrecy;
   two paired authentication devices can each have their own private
   keys while each can register public keys on behalf of the other.

   This document provides three main contributions: a specification of
   the generic ARKG algorithm using abstract primitives; a set of
   formulae for instantiating the abstract primitives using concrete
   primitives; and an initial set of fully specified concrete ARKG
   instances.  We expect that additional instances will be defined in
   the future.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bradleylundberg-cfrg-arkg-03"/>
        </reference>
        <reference anchor="I-D.COSE-ML-DSA">
          <front>
            <title>ML-DSA for JOSE and COSE</title>
            <author fullname="Michael Prorock" initials="M." surname="Prorock">
              <organization>mesur.io</organization>
            </author>
            <author fullname="Orie Steele" initials="O." surname="Steele">
              <organization>Transmute</organization>
            </author>
            <author fullname="Rafael Misoczki" initials="R." surname="Misoczki">
              <organization>Google</organization>
            </author>
            <author fullname="Michael Osborne" initials="M." surname="Osborne">
              <organization>IBM</organization>
            </author>
            <author fullname="Christine Cloostermans" initials="C." surname="Cloostermans">
              <organization>NXP</organization>
            </author>
            <date day="18" month="December" year="2024"/>
            <abstract>
              <t>   This document describes JSON Object Signing and Encryption (JOSE) and
   CBOR Object Signing and Encryption (COSE) serializations for Module-
   Lattice-Based Digital Signature Standard (ML-DSA), a Post-Quantum
   Cryptography (PQC) digital signature scheme defined in FIPS 204.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-dilithium-05"/>
        </reference>
        <reference anchor="I-D.jose-fully-spec-algs">
          <front>
            <title>Fully-Specified Algorithms for JOSE and COSE</title>
            <author fullname="Michael B. Jones" initials="M. B." surname="Jones">
              <organization>Self-Issued Consulting</organization>
            </author>
            <author fullname="Orie Steele" initials="O." surname="Steele">
              <organization>Transmute</organization>
            </author>
            <date day="20" month="February" year="2025"/>
            <abstract>
              <t>   This specification refers to cryptographic algorithm identifiers that
   fully specify the cryptographic operations to be performed, including
   any curve, key derivation function (KDF), hash functions, etc., as
   being "fully specified".  Whereas, it refers to cryptographic
   algorithm identifiers that require additional information beyond the
   algorithm identifier to determine the cryptographic operations to be
   performed as being "polymorphic".  This specification creates fully-
   specified algorithm identifiers for registered JOSE and COSE
   polymorphic algorithm identifiers, enabling applications to use only
   fully-specified algorithm identifiers.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-jose-fully-specified-algorithms-07"/>
        </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>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8032">
          <front>
            <title>Edwards-Curve Digital Signature Algorithm (EdDSA)</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes elliptic curve signature scheme Edwards-curve Digital Signature Algorithm (EdDSA). The algorithm is instantiated with recommended parameters for the edwards25519 and edwards448 curves. An example implementation and test vectors are provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8032"/>
          <seriesInfo name="DOI" value="10.17487/RFC8032"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <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>
        <reference anchor="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="SEC1" target="https://www.secg.org/sec1-v2.pdf">
          <front>
            <title>SEC 1: Elliptic Curve Cryptography</title>
            <author>
              <organization>Certicom Research</organization>
            </author>
            <date year="2009" month="May"/>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="FIPS-204" target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.204.pdf">
          <front>
            <title>Module-Lattice-Based Digital Signature Standard</title>
            <author>
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date year="2024" month="August"/>
          </front>
        </reference>
        <reference anchor="FIPS-186-5" target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf">
          <front>
            <title>Digital Signature Standard (DSS)</title>
            <author>
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date year="2023" month="February"/>
          </front>
        </reference>
        <reference anchor="I-D.COSE-Hash-Envelope">
          <front>
            <title>COSE Hash Envelope</title>
            <author fullname="Orie Steele" initials="O." surname="Steele">
              <organization>Transmute</organization>
            </author>
            <author fullname="Steve Lasker" initials="S." surname="Lasker">
              <organization>DataTrails</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <date day="21" month="February" year="2025"/>
            <abstract>
              <t>   This document defines new COSE header parameters for signaling a
   payload as an output of a hash function.  This mechanism enables
   faster validation as access to the original payload is not required
   for signature validation.  Additionally, hints of the detached
   payload's content format and availability are defined providing
   references to optional discovery mechanisms that can help to find
   original payload content.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-hash-envelope-02"/>
        </reference>
        <reference anchor="RFC9380">
          <front>
            <title>Hashing to Elliptic Curves</title>
            <author fullname="A. Faz-Hernandez" initials="A." surname="Faz-Hernandez"/>
            <author fullname="S. Scott" initials="S." surname="Scott"/>
            <author fullname="N. Sullivan" initials="N." surname="Sullivan"/>
            <author fullname="R. S. Wahby" initials="R. S." surname="Wahby"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <date month="August" year="2023"/>
            <abstract>
              <t>This document specifies a number of algorithms for encoding or hashing an arbitrary string to a point on an elliptic curve. This document is a product of the Crypto Forum Research Group (CFRG) in the IRTF.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9380"/>
          <seriesInfo name="DOI" value="10.17487/RFC9380"/>
        </reference>
      </references>
    </references>
    <?line 441?>

<section numbered="false" anchor="document-history">
      <name>Document History</name>
      <t>-01</t>
      <ul spacing="normal">
        <li>
          <t>Added IANA registration requests for algorithms defined.</t>
        </li>
        <li>
          <t>Updated references and other editorial tweaks.</t>
        </li>
      </ul>
      <t>-00</t>
      <ul spacing="normal">
        <li>
          <t>Initial individual draft</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
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
Q/xJuUkAAA==

-->

</rfc>
