<?xml version='1.0' encoding='UTF-8'?>

<?xml-stylesheet type='text/xsl' href='http://xml2rfc.tools.ietf.org/authoring/rfc2629.xslt' ?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">

<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="4"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?> encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" consensus="true" docName="draft-ietf-cose-webauthn-algorithms-08" indexInclude="true" ipr="trust200902"
     docName="draft-ietf-cose-webauthn-algorithms-08"> number="8812" prepTime="2020-08-14T16:14:44" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="4" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-cose-webauthn-algorithms-08" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc8812" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="COSE &amp; JOSE Registrations for WebAuthn Algs">COSE Algs">CBOR Object Signing and JOSE Encryption (COSE) and JSON Object Signing and Encryption (JOSE) Registrations for WebAuthn Web Authentication (WebAuthn) Algorithms</title>
    <seriesInfo name="RFC" value="8812" stream="IETF"/>
    <author fullname="Michael B. Jones" surname="Jones" initials="M.B.">
      <organization>Microsoft</organization> initials="M">
      <organization showOnFrontPage="true">Microsoft</organization>
      <address>
        <email>mbj@microsoft.com</email>
	<uri>http://self-issued.info/</uri>
        <uri>https://self-issued.info/</uri>
      </address>
    </author>
    <date day="11" month="June" year="2020" /> month="08" year="2020"/>
    <area>Security</area>
    <workgroup>COSE Working Group</workgroup>
    <keyword>Cryptography</keyword>
    <keyword>Digital Signature</keyword>
    <keyword>Encryption</keyword>
    <keyword>Internet-Draft</keyword>
    <keyword>W3C</keyword>
    <keyword>World Wide Web Consortium</keyword>
    <keyword>WebAuthn</keyword>
    <keyword>Web Authentication</keyword>
    <keyword>FIDO Alliance</keyword>
    <keyword>FIDO</keyword>
    <keyword>FIDO2</keyword>
    <keyword>CTAP</keyword>
    <keyword>CTAP2</keyword>

    <abstract>
      <t>
    <abstract pn="section-abstract">
      <t pn="section-abstract-1">
	The W3C Web Authentication (WebAuthn) specification and the FIDO
	Alliance FIDO2 Client to Authenticator Protocol (CTAP) specification use
	CBOR Object Signing and Encryption (COSE) algorithm identifiers.  This
	specification registers the following algorithms in the IANA "COSE Algorithms" registry,
	which (which are used by
	WebAuthn and CTAP implementations: implementations) in the IANA "COSE Algorithms"
	registry: RSASSA-PKCS1-v1_5 using SHA-256, SHA-384, SHA-512, and SHA-1,
	SHA-1; and ECDSA Elliptic Curve Digital Signature Algorithm (ECDSA)
	using the secp256k1 curve and SHA-256.  It registers the secp256k1
	elliptic curve in the IANA "COSE Elliptic Curves" registry.  Also, for
	use with JSON Object Signing and Encryption (JOSE), it registers the
	algorithm ECDSA using the secp256k1 curve and SHA-256 in the IANA "JSON
	Web Signature and Encryption Algorithms" registry and the secp256k1
	elliptic curve in the IANA "JSON Web Key Elliptic Curve" registry.
      </t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of
            RFC 7841.
        </t>
        <t pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc8812" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t pn="section-boilerplate.2-1">
            Copyright (c) 2020 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Simplified BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Simplified BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.1.2">
              <li pn="section-toc.1-1.1.2.1">
                <t keepWithNext="true" pn="section-toc.1-1.1.2.1.1"><xref derivedContent="1.1" format="counter" sectionFormat="of" target="section-1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-notation-and-c">Requirements Notation and Conventions</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.2">
            <t keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-rsassa-pkcs1-v1_5-signature">RSASSA-PKCS1-v1_5 Signature Algorithm</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-using-secp256k1-with-jose-a">Using secp256k1 with JOSE and COSE</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-jose-and-cose-secp256k1-cur">JOSE and COSE secp256k1 Curve Key Representations</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ecdsa-signature-with-secp25">ECDSA Signature with secp256k1 Curve</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.3">
                <t pn="section-toc.1-1.3.2.3.1"><xref derivedContent="3.3" format="counter" sectionFormat="of" target="section-3.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-other-uses-of-the-secp256k1">Other Uses of the secp256k1 Elliptic Curve</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.4.2">
              <li pn="section-toc.1-1.4.2.1">
                <t pn="section-toc.1-1.4.2.1.1"><xref derivedContent="4.1" format="counter" sectionFormat="of" target="section-4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-cose-algorithms-registratio">COSE Algorithms Registrations</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.2">
                <t pn="section-toc.1-1.4.2.2.1"><xref derivedContent="4.2" format="counter" sectionFormat="of" target="section-4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-cose-elliptic-curves-regist">COSE Elliptic Curves Registrations</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.3">
                <t pn="section-toc.1-1.4.2.3.1"><xref derivedContent="4.3" format="counter" sectionFormat="of" target="section-4.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-jose-algorithms-registratio">JOSE Algorithms Registrations</xref></t>
              </li>
              <li pn="section-toc.1-1.4.2.4">
                <t pn="section-toc.1-1.4.2.4.1"><xref derivedContent="4.4" format="counter" sectionFormat="of" target="section-4.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-json-web-key-elliptic-curve">JSON Web Key Elliptic Curves Registrations</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.5">
            <t pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-rsa-key-size-security-consi">RSA Key Size Security Considerations</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-rsassa-pkcs1-v1_5-with-sha-">RSASSA-PKCS1-v1_5 with SHA-2 Security Considerations</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.3">
                <t pn="section-toc.1-1.5.2.3.1"><xref derivedContent="5.3" format="counter" sectionFormat="of" target="section-5.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-rsassa-pkcs1-v1_5-with-sha-1">RSASSA-PKCS1-v1_5 with SHA-1 Security Considerations</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.4">
                <t pn="section-toc.1-1.5.2.4.1"><xref derivedContent="5.4" format="counter" sectionFormat="of" target="section-5.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-secp256k1-security-consider">secp256k1 Security Considerations</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.6">
            <t pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.6.2">
              <li pn="section-toc.1-1.6.2.1">
                <t pn="section-toc.1-1.6.2.1.1"><xref derivedContent="6.1" format="counter" sectionFormat="of" target="section-6.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.2">
                <t pn="section-toc.1-1.6.2.2.1"><xref derivedContent="6.2" format="counter" sectionFormat="of" target="section-6.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.7">
            <t pn="section-toc.1-1.7.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t pn="section-toc.1-1.8.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-address">Author's Address</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="Introduction" title="Introduction">
      <t> numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t pn="section-1-1">
	This specification defines how to use several algorithms with
	CBOR Object Signing and Encryption (COSE) <xref target="RFC8152"/> target="RFC8152" format="default" sectionFormat="of" derivedContent="RFC8152"/>
	that are used by implementations of the
	W3C Web Authentication (WebAuthn) <xref target="WebAuthn"/> target="WebAuthn" format="default" sectionFormat="of" derivedContent="WebAuthn"/>
	and FIDO Alliance FIDO2 Client to Authenticator Protocol (CTAP) <xref target="CTAP"/> target="CTAP" format="default" sectionFormat="of" derivedContent="CTAP"/> specifications.
	This specification registers these algorithms in
	the IANA "COSE Algorithms" registry <xref target="IANA.COSE.Algorithms"/> target="IANA.COSE.Algorithms" format="default" sectionFormat="of" derivedContent="IANA.COSE.Algorithms"/>
	and registers an elliptic curve in the
	IANA "COSE Elliptic Curves" registry <xref target="IANA.COSE.Curves"/>. target="IANA.COSE.Curves" format="default" sectionFormat="of" derivedContent="IANA.COSE.Curves"/>.
	This specification also registers a corresponding algorithm
	for use with JSON Object Signing and Encryption (JOSE) <xref target="RFC7515"/> target="RFC7515" format="default" sectionFormat="of" derivedContent="RFC7515"/> in
	the IANA "JSON Web Signature and Encryption Algorithms" registry <xref target="IANA.JOSE.Algorithms"/> target="IANA.JOSE.Algorithms" format="default" sectionFormat="of" derivedContent="IANA.JOSE.Algorithms"/>
	and registers an elliptic curve in the
	IANA "JSON Web Key Elliptic Curve" registry <xref target="IANA.JOSE.Curves"/>. target="IANA.JOSE.Curves" format="default" sectionFormat="of" derivedContent="IANA.JOSE.Curves"/>.
      </t>
      <section anchor="rnc" title="Requirements numbered="true" toc="include" removeInRFC="false" pn="section-1.1">
        <name slugifiedName="name-requirements-notation-and-c">Requirements Notation and Conventions">
        <t> Conventions</name>
        <t pn="section-1.1-1">
    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
	  "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
    "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>",
    "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
    "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
    "<bcp14>MAY</bcp14>", and
	  "OPTIONAL" "<bcp14>OPTIONAL</bcp14>" in this document are to be
    interpreted as described in
	  BCP 14 BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> when, and only when, they appear in all capitals, as
    shown here.
        </t>
      </section>
    </section>
    <section title="RSASSA-PKCS1-v1_5 anchor="RSASSA-PKCS1-v1_5" numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-rsassa-pkcs1-v1_5-signature">RSASSA-PKCS1-v1_5 Signature Algorithm" anchor="RSASSA-PKCS1-v1_5">
      <t> Algorithm</name>
      <t pn="section-2-1">
	The RSASSA-PKCS1-v1_5 signature algorithm is defined in <xref target="RFC8017"/>. target="RFC8017" format="default" sectionFormat="of" derivedContent="RFC8017"/>.
	The RSASSA-PKCS1-v1_5 signature algorithm is parameterized with a hash function (h).
      </t>
      <t>
      <t pn="section-2-2">
	A key of size 2048 bits or larger MUST <bcp14>MUST</bcp14> be used with these algorithms.
	Implementations need to check that the key type is 'RSA' when creating or verifying a signature.
      </t>
      <t>
      <t pn="section-2-3">
	The RSASSA-PKCS1-v1_5 algorithms specified in this document are in the following table.
      </t>
      <texttable anchor="table-rsa-algs" title="RSASSA-PKCS1-v1_5 Algorithm Values" suppress-title="false"
      <table anchor="rsa-algs" align="center" style="full">
	<ttcol align="left">Name</ttcol>
	<ttcol align="left">Value</ttcol>
	<ttcol align="left">Hash</ttcol>
	<ttcol align="left">Description</ttcol>
	<ttcol align="left">Recommended</ttcol>

	<c>RS256</c>
	<c>TBD (temporary assignment -257 already in place)</c>
	<c>SHA-256</c>
	<c>RSASSA-PKCS1-v1_5 using SHA-256</c>
	<c>No</c>

	<c>RS384</c>
	<c>TBD (temporary assignment -258 already in place)</c>
	<c>SHA-384</c>
	<c>RSASSA-PKCS1-v1_5 using SHA-384</c>
	<c>No</c>

	<c>RS512</c>
	<c>TBD (temporary assignment -259 already in place)</c>
	<c>SHA-512</c>
	<c>RSASSA-PKCS1-v1_5 using SHA-512</c>
	<c>No</c>

	<c>RS1</c>
	<c>TBD (temporary assignment -65535 already in place)</c>
	<c>SHA-1</c>
	<c>RSASSA-PKCS1-v1_5 using SHA-1</c>
	<c>Deprecated</c>

      </texttable>
      <t> pn="table-1">
        <name slugifiedName="name-rsassa-pkcs1-v1_5-algorithm">RSASSA-PKCS1-v1_5 Algorithm Values</name>
        <thead>
          <tr>
            <th align="left" colspan="1" rowspan="1">Name</th>
            <th align="left" colspan="1" rowspan="1">Value</th>
            <th align="left" colspan="1" rowspan="1">Hash</th>
            <th align="left" colspan="1" rowspan="1">Description</th>
            <th align="left" colspan="1" rowspan="1">Recommended</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left" colspan="1" rowspan="1">RS256</td>
            <td align="left" colspan="1" rowspan="1">-257</td>
            <td align="left" colspan="1" rowspan="1">SHA-256</td>
            <td align="left" colspan="1" rowspan="1">RSASSA-PKCS1-v1_5 using SHA-256</td>
            <td align="left" colspan="1" rowspan="1">No</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">RS384</td>
            <td align="left" colspan="1" rowspan="1">-258</td>
            <td align="left" colspan="1" rowspan="1">SHA-384</td>
            <td align="left" colspan="1" rowspan="1">RSASSA-PKCS1-v1_5 using SHA-384</td>
            <td align="left" colspan="1" rowspan="1">No</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">RS512</td>
            <td align="left" colspan="1" rowspan="1">-259</td>
            <td align="left" colspan="1" rowspan="1">SHA-512</td>
            <td align="left" colspan="1" rowspan="1">RSASSA-PKCS1-v1_5 using SHA-512</td>
            <td align="left" colspan="1" rowspan="1">No</td>
          </tr>
          <tr>
            <td align="left" colspan="1" rowspan="1">RS1</td>
            <td align="left" colspan="1" rowspan="1">-65535</td>
            <td align="left" colspan="1" rowspan="1">SHA-1</td>
            <td align="left" colspan="1" rowspan="1">RSASSA-PKCS1-v1_5 using SHA-1</td>
            <td align="left" colspan="1" rowspan="1">Deprecated</td>
          </tr>
        </tbody>
      </table>
      <t pn="section-2-5">
	Security considerations for use of the first three algorithms
	are in <xref target="RSASSA-PKCS1-v1_5_SHA-2_considerations"/>. target="RSASSA-PKCS1-v1_5_SHA-2_considerations" format="default" sectionFormat="of" derivedContent="Section 5.2"/>.
	Security considerations for use of the last algorithm
	are in <xref target="RSASSA-PKCS1-v1_5_SHA-1_considerations"/>. target="RSASSA-PKCS1-v1_5_SHA-1_considerations" format="default" sectionFormat="of" derivedContent="Section 5.3"/>.
      </t>
      <t>
      <t pn="section-2-6">
	Note that these algorithms are already present in the
	IANA "JSON Web Signature and Encryption Algorithms" registry <xref target="IANA.JOSE.Algorithms"/>, target="IANA.JOSE.Algorithms" format="default" sectionFormat="of" derivedContent="IANA.JOSE.Algorithms"/>,
	and so these registrations are only for the
	IANA "COSE Algorithms" registry <xref target="IANA.COSE.Algorithms"/>. target="IANA.COSE.Algorithms" format="default" sectionFormat="of" derivedContent="IANA.COSE.Algorithms"/>.
      </t>
    </section>
    <section title="Using anchor="secp256k1" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-using-secp256k1-with-jose-a">Using secp256k1 with JOSE and COSE" anchor="secp256k1">
      <t> COSE</name>
      <t pn="section-3-1">
	This section defines algorithm encodings and representations enabling the
	Standards for Efficient Cryptography Group (SECG) elliptic curve
	secp256k1 <xref target="SEC2"/> target="SEC2" format="default" sectionFormat="of" derivedContent="SEC2"/> to be used for
	JOSE <xref target="RFC7515"/> target="RFC7515" format="default" sectionFormat="of" derivedContent="RFC7515"/> and
	COSE <xref target="RFC8152"/> target="RFC8152" format="default" sectionFormat="of" derivedContent="RFC8152"/> messages.
      </t>
      <section title="JOSE anchor="secp256k1_curve" numbered="true" toc="include" removeInRFC="false" pn="section-3.1">
        <name slugifiedName="name-jose-and-cose-secp256k1-cur">JOSE and COSE secp256k1 Curve Key Representations" anchor="secp256k1_curve">
	<t> Representations</name>
        <t pn="section-3.1-1">
	  The Standards for Efficient Cryptography Group (SECG) SECG elliptic curve
	  secp256k1 <xref target="SEC2"/> target="SEC2" format="default" sectionFormat="of" derivedContent="SEC2"/> is represented in
	  a JSON Web Key (JWK) <xref target="RFC7517"/> target="RFC7517" format="default" sectionFormat="of" derivedContent="RFC7517"/> using these values:
        </t>
	<t>
	  <?rfc subcompact="yes"?>
	  <list style="symbols">
	    <t><spanx style="verb">kty</spanx>: <spanx style="verb">EC</spanx></t>
	    <t><spanx style="verb">crv</spanx>: <spanx style="verb">secp256k1</spanx></t>
	  </list>
	  <?rfc subcompact="no"?>
	</t>
	<t>
        <ul spacing="compact" bare="false" empty="false" pn="section-3.1-2">
          <li pn="section-3.1-2.1">
            <tt>kty</tt>: <tt>EC</tt></li>
          <li pn="section-3.1-2.2">
            <tt>crv</tt>: <tt>secp256k1</tt></li>
        </ul>
        <t pn="section-3.1-3">
	  plus the values needed to represent the curve point, as defined in Section 6.2.1 of
	  <xref target="RFC7518"/>. target="RFC7518" section="6.2.1" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7518#section-6.2.1" derivedContent="RFC7518"/>.  As a
	  compressed point encoding representation is not defined for JWK
	  elliptic curve points, the uncompressed point encoding defined there MUST
	  <bcp14>MUST</bcp14> be used.  The <spanx style="verb">x</spanx> <tt>x</tt> and <spanx style="verb">y</spanx> <tt>y</tt> values
	  represented MUST <bcp14>MUST</bcp14> both be exactly 256 bits, with any
	  leading zeros preserved.  Other optional values such as <spanx style="verb">alg</spanx> MAY <tt>alg</tt>
          <bcp14>MAY</bcp14> also be present.
        </t>
	<t>
        <t pn="section-3.1-4">
	  It is represented in a COSE_Key <xref target ="RFC8152"/> target="RFC8152" format="default" sectionFormat="of" derivedContent="RFC8152"/> using these values:
        </t>
	<t>
	  <?rfc subcompact="yes"?>
	  <list style="symbols">
	    <t><spanx style="verb">kty</spanx>
        <ul spacing="compact" bare="false" empty="false" pn="section-3.1-5">
          <li pn="section-3.1-5.1">
            <tt>kty</tt> (1): <spanx style="verb">EC2</spanx> (2)</t>
	    <t><spanx style="verb">crv</spanx> <tt>EC2</tt> (2)</li>
          <li pn="section-3.1-5.2">
            <tt>crv</tt> (-1): <spanx style="verb">secp256k1</spanx> (TBD - requested assignment 8)</t>
	  </list>
	  <?rfc subcompact="no"?>
	</t>
	<t> <tt>secp256k1</tt> (8)</li>
        </ul>
        <t pn="section-3.1-6">
	  plus the values needed to represent the curve point, as defined in Section 13.1.1 of
	  <xref target="RFC8152"/>. target="RFC8152" section="13.1.1" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8152#section-13.1.1" derivedContent="RFC8152"/>.
	  Either the uncompressed or compressed point encoding representations
	  defined there can be used.  The <spanx style="verb">x</spanx> <tt>x</tt> value represented MUST
	  <bcp14>MUST</bcp14> be exactly 256 bits, with any leading zeros
	  preserved.  If the uncompressed representation is used, the <spanx style="verb">y</spanx>
	  <tt>y</tt> value represented MUST <bcp14>MUST</bcp14> likewise be exactly
	  256 bits, with any leading zeros preserved; if the compressed
	  representation is used, the <spanx style="verb">y</spanx> <tt>y</tt> value is a boolean value, as
	  specified in Section 13.1.1 of <xref target="RFC8152"/>. target="RFC8152" section="13.1.1" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8152#section-13.1.1" derivedContent="RFC8152"/>.  Other optional values such as <spanx style="verb">alg</spanx> <tt>alg</tt>
	  (3) MAY <bcp14>MAY</bcp14> also be present.
        </t>
      </section>
      <section title="ECDSA anchor="secp256k1_ECDSA" numbered="true" toc="include" removeInRFC="false" pn="section-3.2">
        <name slugifiedName="name-ecdsa-signature-with-secp25">ECDSA Signature with secp256k1 Curve" anchor="secp256k1_ECDSA">
	<t> Curve</name>
        <t pn="section-3.2-1">
	  The ECDSA signature algorithm is defined in <xref target="DSS"/>. target="DSS" format="default" sectionFormat="of" derivedContent="DSS"/>.  This specification defines the <spanx style="verb">ES256K</spanx> <tt>ES256K</tt>
	  algorithm identifier, which is used to specify the use of ECDSA with
	  the secp256k1 curve and the SHA-256 <xref target="DSS"/> target="DSS" format="default" sectionFormat="of" derivedContent="DSS"/> cryptographic hash function.  Implementations
	  need to check that the key type is <spanx style="verb">EC</spanx> <tt>EC</tt> for JOSE or
	  <spanx style="verb">EC2</spanx>
	  <tt>EC2</tt> (2) for COSE and that the curve of the key is secp256k1
	  when creating or verifying a signature.
        </t>
	<t>
        <t pn="section-3.2-2">
	  The ECDSA secp256k1 SHA-256 digital signature is generated as follows:

	  <list style="numbers">
	    <t>

        </t>
        <ol spacing="normal" type="1" start="1" pn="section-3.2-3">
          <li pn="section-3.2-3.1" derivedCounter="1.">
	      Generate a digital signature of the JWS Signing Input
	      or the COSE Sig_structure
	      using ECDSA secp256k1 SHA-256 with
	      the desired private key. The output will be the pair
	      (R, S), where R and S are 256-bit unsigned integers.
	    </t>
	    <t>
	    </li>
          <li pn="section-3.2-3.2" derivedCounter="2.">
	      Turn R and S into octet sequences in big-endian order,
	      with each array being be 32 octets long.
	      The octet sequence representations MUST NOT <bcp14>MUST NOT</bcp14> be shortened
	      to omit any leading zero octets contained in the values.
	    </t>
	    <t>
	    </li>
          <li pn="section-3.2-3.3" derivedCounter="3.">
	      Concatenate the two octet sequences in the order R and then S.
	      (Note that many ECDSA implementations will directly produce
	      this concatenation as their output.)
	    </t>
	    <t>
	    </li>
          <li pn="section-3.2-3.4" derivedCounter="4.">
	      The resulting 64-octet sequence is the JWS Signature or COSE signature value.
	    </t>
	  </list>
	</t>
	<t>
	    </li>
        </ol>
        <t pn="section-3.2-4">
	  Implementations SHOULD <bcp14>SHOULD</bcp14> use a deterministic algorithm
	  to generate the ECDSA nonce, k, such as the algorithm defined in
	  <xref target="RFC6979"/>. target="RFC6979" format="default" sectionFormat="of" derivedContent="RFC6979"/>.  However, in situations
	  where devices are vulnerable to physical attacks, deterministic
	  ECDSA has been shown to be susceptible to fault injection attacks
	  <xref target="Kudelski17"/> <xref target="EuroSP18"/>. target="KUDELSKI17" format="default" sectionFormat="of" derivedContent="KUDELSKI17"/> <xref target="EURO-SP18" format="default" sectionFormat="of" derivedContent="EURO-SP18"/>.  Where this is a possibility,
	  implementations SHOULD <bcp14>SHOULD</bcp14> implement appropriate
	  countermeasures.  Where there are specific certification
	  requirements (such as FIPS approval), implementors should check
	  whether deterministic ECDSA is an approved nonce generation method.
        </t>
	<t>
        <t pn="section-3.2-5">
	  The ECDSA secp256k1 SHA-256 algorithm specified in this document uses these identifiers:
        </t>
	<texttable anchor="table-ec-algs" title="ECDSA Algorithm Values" suppress-title="false"
        <table anchor="ec-algs" align="center" style="full">
	  <ttcol align="left">JOSE Alg Name</ttcol>
	  <ttcol align="left">COSE Alg Value</ttcol>
	  <ttcol align="left">Description</ttcol>
	  <ttcol align="left">Recommended</ttcol>

	  <c>ES256K</c>
	  <c>TBD (requested assignment -47)</c>
	  <c>ECDSA pn="table-2">
          <name slugifiedName="name-ecdsa-algorithm-values">ECDSA Algorithm Values</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Name</th>
              <th align="left" colspan="1" rowspan="1">Value</th>
              <th align="left" colspan="1" rowspan="1">Description</th>
              <th align="left" colspan="1" rowspan="1">Recommended</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">ES256K</td>
              <td align="left" colspan="1" rowspan="1">-47</td>
              <td align="left" colspan="1" rowspan="1">ECDSA using secp256k1 curve and SHA-256</c>
	  <c>No</c>

	</texttable>
	<t> SHA-256</td>
              <td align="left" colspan="1" rowspan="1">No</td>
            </tr>
          </tbody>
        </table>
        <t pn="section-3.2-7">
	  When using a JWK or COSE_Key for this algorithm, the following checks are made:
        </t>
	<t>
	  <list style='symbols'>
	    <t>
        <ul spacing="normal" bare="false" empty="false" pn="section-3.2-8">
          <li pn="section-3.2-8.1">
	      The <spanx style="verb">kty</spanx> <tt>kty</tt> field MUST <bcp14>MUST</bcp14> be present present, and
	      it MUST <bcp14>MUST</bcp14> be <spanx style="verb">EC</spanx> <tt>EC</tt> for JOSE
	      or <spanx style="verb">EC2</spanx> <tt>EC2</tt> for COSE.
	    </t>
	    <t>
	    </li>
          <li pn="section-3.2-8.2">
	      The <spanx style="verb">crv</spanx> <tt>crv</tt> field MUST <bcp14>MUST</bcp14> be present present, and
	      it MUST <bcp14>MUST</bcp14> represent the <spanx style="verb">secp256k1</spanx> <tt>secp256k1</tt> elliptic curve.
	    </t>
	    <t>
	    </li>
          <li pn="section-3.2-8.3">
	      If the <spanx style="verb">alg</spanx> <tt>alg</tt> field is present,
	      it MUST <bcp14>MUST</bcp14> represent the <spanx style="verb">ES256K</spanx> <tt>ES256K</tt> algorithm.
	    </t>
	    <t>
	    </li>
          <li pn="section-3.2-8.4">
	      If the <spanx style="verb">key_ops</spanx> <tt>key_ops</tt> field is present,
	      it MUST <bcp14>MUST</bcp14> include <spanx style="verb">sign</spanx> <tt>sign</tt> when creating an ECDSA signature.
	    </t>
	    <t>
	    </li>
          <li pn="section-3.2-8.5">
	      If the <spanx style="verb">key_ops</spanx> <tt>key_ops</tt> field is present,
	      it MUST <bcp14>MUST</bcp14> include <spanx style="verb">verify</spanx> <tt>verify</tt> when verifying an ECDSA signature.
	    </t>
	    <t>
	    </li>
          <li pn="section-3.2-8.6">
	      If the JWK <spanx style="use">use</spanx> <tt>use</tt> field is present,
	      its value MUST <bcp14>MUST</bcp14> be <spanx style="verb">sig</spanx>.
	    </t>
	  </list>
	</t> <tt>sig</tt>.
	    </li>
        </ul>
      </section>
      <section anchor="other-uses-of-secp256k1" title="Other numbered="true" toc="include" removeInRFC="false" pn="section-3.3">
        <name slugifiedName="name-other-uses-of-the-secp256k1">Other Uses of the secp256k1 Elliptic Curve">
	<t> Curve</name>
        <t pn="section-3.3-1">
	  This specification defines how to use the secp256k1 curve for ECDSA
	  signatures for both JOSE and COSE implementations.  While in theory, theory
	  the curve could also be used for ECDH-ES key agreement, it is beyond
	  the scope of this specification to state whether this is or is not
	  advisable.  Thus, whether or not to recommend its use with ECDH-ES is left
	  for experts to decide in future specifications.
        </t>
	<t>
        <t pn="section-3.3-2">
	  When used for ECDSA, the secp256k1 curve MUST <bcp14>MUST</bcp14> be used
	  only with the
	  <spanx style="verb">ES256K</spanx> <tt>ES256K</tt> algorithm identifier and not any
	  others, including not with the COSE <spanx style="verb">ES256</spanx> <tt>ES256</tt> identifier.  Note
	  that the <spanx style="verb">ES256K</spanx> <tt>ES256K</tt> algorithm identifier needed to be
	  introduced for JOSE to sign with the secp256k1 curve because the
	  JOSE <spanx style="verb">ES256</spanx> <tt>ES256</tt> algorithm is defined to be used only with the
	  P-256 curve.  The COSE treatment of how to sign with secp256k1 is
	  intentionally parallel to that for JOSE, where the secp256k1 curve MUST
	  <bcp14>MUST</bcp14> be used with the <spanx style="verb">ES256K</spanx> <tt>ES256K</tt> algorithm
	  identifier.
        </t>
      </section>
    </section>
    <section anchor="IANA" title="IANA Considerations"> numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <section anchor="cose-algorithms-registrations" title="COSE numbered="true" toc="include" removeInRFC="false" pn="section-4.1">
        <name slugifiedName="name-cose-algorithms-registratio">COSE Algorithms Registrations">
        <t>
	  This section registers Registrations</name>
        <t pn="section-4.1-1">
	  IANA has registered the following values in the
	  IANA
	  "COSE Algorithms" registry <xref target="IANA.COSE.Algorithms"/>.
	</t>
	<t>
	  <?rfc subcompact="yes"?>
	  <list style='symbols'>
	    <t>
	      Name: RS256
	    </t>
	    <t>
	      Value: TBD (temporary assignment -257 already in place)
	    </t>
	    <t>
	      Description: RSASSA-PKCS1-v1_5 target="IANA.COSE.Algorithms" format="default" sectionFormat="of" derivedContent="IANA.COSE.Algorithms"/>.
        </t>
        <dl spacing="compact" newline="false" pn="section-4.1-2">
          <dt pn="section-4.1-2.1">Name:</dt>
          <dd pn="section-4.1-2.2">RS256
	    </dd>
          <dt pn="section-4.1-2.3">Value:</dt>
          <dd pn="section-4.1-2.4">-257
	    </dd>
          <dt pn="section-4.1-2.5">Description:</dt>
          <dd pn="section-4.1-2.6">RSASSA-PKCS1-v1_5 using SHA-256
	    </t>
	    <t>
	      Reference: <xref target="RSASSA-PKCS1-v1_5"/>
	    </dd>
          <dt pn="section-4.1-2.7">Change Controller:
          </dt>
          <dd pn="section-4.1-2.8">IESG
	    </dd>
          <dt pn="section-4.1-2.9">Reference:</dt>
          <dd pn="section-4.1-2.10">
            <xref target="RSASSA-PKCS1-v1_5" format="default" sectionFormat="of" derivedContent="Section 2"/> of this document
	    </t>
	    <t>
	      Recommended: RFC 8812
	    </dd>
          <dt pn="section-4.1-2.11">Recommended:</dt>
          <dd pn="section-4.1-2.12"> No
	    </t>
	  </list>
	</t>
	<t>
	  <list style='symbols'>
	    <t>
	      Name: RS384
	    </t>
	    <t>
	      Value: TBD (temporary assignment -258 already in place)
	    </t>
	    <t>
	      Description: RSASSA-PKCS1-v1_5
	    </dd>
        </dl>
        <dl spacing="compact" newline="false" pn="section-4.1-3">
          <dt pn="section-4.1-3.1">
	      Name:</dt>
          <dd pn="section-4.1-3.2">RS384
	    </dd>
          <dt pn="section-4.1-3.3">
	      Value:</dt>
          <dd pn="section-4.1-3.4">-258
	    </dd>
          <dt pn="section-4.1-3.5">
	      Description:</dt>
          <dd pn="section-4.1-3.6">RSASSA-PKCS1-v1_5 using SHA-384
	    </t>
	    <t>
	      Reference: <xref target="RSASSA-PKCS1-v1_5"/>
	    </dd>
          <dt pn="section-4.1-3.7">Change Controller:
          </dt>
          <dd pn="section-4.1-3.8">IESG
	    </dd>
          <dt pn="section-4.1-3.9">
	      Reference:</dt>
          <dd pn="section-4.1-3.10">
            <xref target="RSASSA-PKCS1-v1_5" format="default" sectionFormat="of" derivedContent="Section 2"/> of this document
	    </t>
	    <t>
	      Recommended: No
	    </t>
	  </list>
	</t>
	<t>
	  <list style='symbols'>
	    <t>
	      Name: RS512
	    </t>
	    <t>
	      Value: TBD (temporary assignment -259 already in place)
	    </t>
	    <t>
	      Description: RSASSA-PKCS1-v1_5 RFC 8812
	    </dd>
          <dt pn="section-4.1-3.11">
	      Recommended:</dt>
          <dd pn="section-4.1-3.12">No
	    </dd>
        </dl>
        <dl spacing="compact" newline="false" pn="section-4.1-4">
          <dt pn="section-4.1-4.1">
	      Name:</dt>
          <dd pn="section-4.1-4.2">RS512
	    </dd>
          <dt pn="section-4.1-4.3">
	      Value:</dt>
          <dd pn="section-4.1-4.4">-259
	    </dd>
          <dt pn="section-4.1-4.5">
	      Description:</dt>
          <dd pn="section-4.1-4.6">RSASSA-PKCS1-v1_5 using SHA-512
	    </t>
	    <t>
	      Reference: <xref target="RSASSA-PKCS1-v1_5"/>
	    </dd>
          <dt pn="section-4.1-4.7">Change Controller:
          </dt>
          <dd pn="section-4.1-4.8">IESG
	    </dd>
          <dt pn="section-4.1-4.9">
	      Reference:</dt>
          <dd pn="section-4.1-4.10">
            <xref target="RSASSA-PKCS1-v1_5" format="default" sectionFormat="of" derivedContent="Section 2"/> of this document
	    </t>
	    <t>
	      Recommended: RFC 8812
	    </dd>
          <dt pn="section-4.1-4.11">
	      Recommended:</dt>
          <dd pn="section-4.1-4.12"> No
	    </t>
	  </list>
	</t>
	<t>
	  <list style='symbols'>
	    <t>
	      Name: RS1
	    </t>
	    <t>
	      Value: TBD (temporary assignment -65535 already in place)
	    </t>
	    <t>
	      Description: RSASSA-PKCS1-v1_5
	    </dd>
        </dl>
        <dl spacing="compact" newline="false" pn="section-4.1-5">
          <dt pn="section-4.1-5.1">
	      Name:</dt>
          <dd pn="section-4.1-5.2">RS1
	    </dd>
          <dt pn="section-4.1-5.3">
	      Value:</dt>
          <dd pn="section-4.1-5.4">-65535
	    </dd>
          <dt pn="section-4.1-5.5">
	      Description:</dt>
          <dd pn="section-4.1-5.6">RSASSA-PKCS1-v1_5 using SHA-1
	    </t>
	    <t>
	      Reference: <xref target="RSASSA-PKCS1-v1_5"/>
	    </dd>
          <dt pn="section-4.1-5.7">Change Controller:
          </dt>
          <dd pn="section-4.1-5.8">IESG
	    </dd>
          <dt pn="section-4.1-5.9">
	      Reference:</dt>
          <dd pn="section-4.1-5.10">
            <xref target="RSASSA-PKCS1-v1_5" format="default" sectionFormat="of" derivedContent="Section 2"/> of this document
	    </t>
	    <t>
	      Recommended: Deprecated
	    </t>
	  </list>
	</t>
	<t>
	  <list style='symbols'>
	    <t>
	      Name: ES256K
	    </t>
	    <t>
	      Value: TBD (requested assignment -47)
	    </t>
	    <t>
	      Description: ECDSA RFC 8812
	    </dd>
          <dt pn="section-4.1-5.11">
	      Recommended:</dt>
          <dd pn="section-4.1-5.12">Deprecated
	    </dd>
        </dl>
        <dl spacing="compact" newline="false" pn="section-4.1-6">
          <dt pn="section-4.1-6.1">
	      Name:</dt>
          <dd pn="section-4.1-6.2">ES256K
	    </dd>
          <dt pn="section-4.1-6.3">
	      Value:</dt>
          <dd pn="section-4.1-6.4">-47
	    </dd>
          <dt pn="section-4.1-6.5">
	      Description:</dt>
          <dd pn="section-4.1-6.6">ECDSA using secp256k1 curve and SHA-256
	    </t>
	    <t>
	      Reference: <xref target="secp256k1_ECDSA"/>
	    </dd>
          <dt pn="section-4.1-6.7">Change Controller:
          </dt>
          <dd pn="section-4.1-6.8">IESG
	    </dd>
          <dt pn="section-4.1-6.9">
	      Reference:</dt>
          <dd pn="section-4.1-6.10">
            <xref target="secp256k1_ECDSA" format="default" sectionFormat="of" derivedContent="Section 3.2"/> of this document
	    </t>
	    <t>
	      Recommended: No
	    </t>
	  </list>
	</t>
	<?rfc subcompact="no"?> RFC 8812
	    </dd>
          <dt pn="section-4.1-6.11">
	      Recommended:</dt>
          <dd pn="section-4.1-6.12">No
	    </dd>
        </dl>
      </section>
      <section anchor="cose-curve-registration" title="COSE numbered="true" toc="include" removeInRFC="false" pn="section-4.2">
        <name slugifiedName="name-cose-elliptic-curves-regist">COSE Elliptic Curves Registrations">
	<t>
	  This section registers Registrations</name>
        <t pn="section-4.2-1">
	  IANA has registered the following value in the
	  IANA
	  "COSE Elliptic Curves" registry <xref target="IANA.COSE.Curves"/>.
	</t>
	<t>
	  <?rfc subcompact="yes"?>
	  <list style='symbols'>
	    <t>
	      Name: secp256k1
	    </t>
	    <t>
	      Value: TBD (requested assignment 8)
	    </t>
	    <t> target="IANA.COSE.Curves" format="default" sectionFormat="of" derivedContent="IANA.COSE.Curves"/>.
        </t>
        <dl spacing="compact" newline="false" pn="section-4.2-2">
          <dt pn="section-4.2-2.1">
	      Name:</dt>
          <dd pn="section-4.2-2.2">secp256k1
	    </dd>
          <dt pn="section-4.2-2.3">
	      Value:</dt>
          <dd pn="section-4.2-2.4">8
	    </dd>
          <dt pn="section-4.2-2.5">
	      Key Type: EC2
	    </t>
	    <t>
	      Description: SECG Type:</dt>
          <dd pn="section-4.2-2.6">EC2
	    </dd>
          <dt pn="section-4.2-2.7">
	      Description:</dt>
          <dd pn="section-4.2-2.8">SECG secp256k1 curve
	    </t>
	    <t>
	    </dd>
          <dt pn="section-4.2-2.9">
	      Change Controller: IESG
	    </t>
	    <t>
	      Reference: <xref target="secp256k1_curve"/> Controller:</dt>
          <dd pn="section-4.2-2.10">IESG
	    </dd>
          <dt pn="section-4.2-2.11">
	      Reference:</dt>
          <dd pn="section-4.2-2.12">
            <xref target="secp256k1_curve" format="default" sectionFormat="of" derivedContent="Section 3.1"/> of [[ this specification ]]
	    </t>
	    <t>
	      Recommended: No
	    </t>
	  </list>
	</t>
	<?rfc subcompact="no"?> RFC 8812
	    </dd>
          <dt pn="section-4.2-2.13">
	      Recommended:</dt>
          <dd pn="section-4.2-2.14">No
	    </dd>
        </dl>
      </section>
      <section anchor="jose-algorithm-registration" title="JOSE numbered="true" toc="include" removeInRFC="false" pn="section-4.3">
        <name slugifiedName="name-jose-algorithms-registratio">JOSE Algorithms Registrations">
        <t>
	  This section registers Registrations</name>
        <t pn="section-4.3-1">
	  IANA has registered the following value in the
	  IANA
	  "JSON Web Signature and Encryption Algorithms" registry <xref target="IANA.JOSE.Algorithms"/>.
	</t>
	<t>
	  <?rfc subcompact="yes"?>
	  <list style='symbols'>
	    <t> target="IANA.JOSE.Algorithms" format="default" sectionFormat="of" derivedContent="IANA.JOSE.Algorithms"/>.
        </t>
        <dl spacing="compact" newline="false" pn="section-4.3-2">
          <dt pn="section-4.3-2.1">
	      Algorithm Name: Name:</dt>
          <dd pn="section-4.3-2.2"> ES256K
	    </t>
	    <t>
	    </dd>
          <dt pn="section-4.3-2.3">
	      Algorithm Description: Description:</dt>
          <dd pn="section-4.3-2.4"> ECDSA using secp256k1 curve and SHA-256
	    </t>
	    <t>
	    </dd>
          <dt pn="section-4.3-2.5">
	      Algorithm Usage Locations: Location(s):</dt>
          <dd pn="section-4.3-2.6"> alg
	    </t>
	    <t>
	    </dd>
          <dt pn="section-4.3-2.7">
	      JOSE Implementation Requirements: Requirements:</dt>
          <dd pn="section-4.3-2.8"> Optional
	    </t>
	    <t>
	    </dd>
          <dt pn="section-4.3-2.9">
	      Change Controller: Controller:</dt>
          <dd pn="section-4.3-2.10"> IESG
	    </t>
	    <t>
	      Reference: <xref target="secp256k1_ECDSA"/>
	    </dd>
          <dt pn="section-4.3-2.11">
	      Reference:</dt>
          <dd pn="section-4.3-2.12">
            <xref target="secp256k1_ECDSA" format="default" sectionFormat="of" derivedContent="Section 3.2"/> of [[ this specification ]]
	    </t>
	    <t> RFC 8812
	    </dd>
          <dt pn="section-4.3-2.13">
	      Algorithm Analysis Document(s): <xref target="SEC2"/>
	    </t>
	  </list>
	</t>
	<?rfc subcompact="no"?> Document(s):</dt>
          <dd pn="section-4.3-2.14">
            <xref target="SEC2" format="default" sectionFormat="of" derivedContent="SEC2"/>
          </dd>
        </dl>
      </section>
      <section anchor="jose-curve-registration" title="JSON numbered="true" toc="include" removeInRFC="false" pn="section-4.4">
        <name slugifiedName="name-json-web-key-elliptic-curve">JSON Web Key Elliptic Curves Registrations">
	<t>
	  This section registers Registrations</name>
        <t pn="section-4.4-1">
	  IANA has registered the following value in the
	  IANA
	  "JSON Web Key Elliptic Curve" registry <xref target="IANA.JOSE.Curves"/>.
	</t>
	<t>
	  <?rfc subcompact="yes"?>
	  <list style='symbols'>
	    <t> target="IANA.JOSE.Curves" format="default" sectionFormat="of" derivedContent="IANA.JOSE.Curves"/>.
        </t>
        <dl spacing="compact" newline="false" pn="section-4.4-2">
          <dt pn="section-4.4-2.1">
	      Curve Name: Name:</dt>
          <dd pn="section-4.4-2.2"> secp256k1
	    </t>
	    <t>
	      </dd>
          <dt pn="section-4.4-2.3">
	      Curve Description: Description:</dt>
          <dd pn="section-4.4-2.4"> SECG secp256k1 curve
	    </t>
	    <t>
	    </dd>
          <dt pn="section-4.4-2.5">
	      JOSE Implementation Requirements: Requirements:</dt>
          <dd pn="section-4.4-2.6"> Optional
	    </t>
	    <t>
	    </dd>
          <dt pn="section-4.4-2.7">
	      Change Controller: Controller:</dt>
          <dd pn="section-4.4-2.8"> IESG
	    </t>
	    <t>
	    </dd>
          <dt pn="section-4.4-2.9">
	      Specification Document(s): <xref target="secp256k1_curve"/> Document(s):</dt>
          <dd pn="section-4.4-2.10">
            <xref target="secp256k1_curve" format="default" sectionFormat="of" derivedContent="Section 3.1"/> of [[ this specification ]]
	    </t>
	  </list>
	</t>
	<?rfc subcompact="no"?> RFC 8812
	    </dd>
        </dl>
      </section>
    </section>
    <section anchor="Security" title="Security Considerations"> numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <section title="RSA anchor="KeySize-considerations" numbered="true" toc="include" removeInRFC="false" pn="section-5.1">
        <name slugifiedName="name-rsa-key-size-security-consi">RSA Key Size Security Considerations" anchor="KeySize-considerations">
	<t> Considerations</name>
        <t pn="section-5.1-1">
	  The security considerations on key sizes for RSA algorithms
	  from Section 6.1 of <xref target="RFC8230"/> target="RFC8230" section="6.1" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8230#section-6.1" derivedContent="RFC8230"/> also apply to the RSA algorithms
	  in this specification.
        </t>
      </section>
      <section title="RSASSA-PKCS1-v1_5 anchor="RSASSA-PKCS1-v1_5_SHA-2_considerations" numbered="true" toc="include" removeInRFC="false" pn="section-5.2">
        <name slugifiedName="name-rsassa-pkcs1-v1_5-with-sha-">RSASSA-PKCS1-v1_5 with SHA-2 Security Considerations" anchor="RSASSA-PKCS1-v1_5_SHA-2_considerations">
	<t> Considerations</name>
        <t pn="section-5.2-1">
	  The security considerations on the use of RSASSA-PKCS1-v1_5 with SHA-2 hash functions
	  (SHA-256, SHA-384, and SHA-512)
	  from Section 8.3 of <xref target="RFC7518"/> target="RFC7518" section="8.3" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7518#section-8.3" derivedContent="RFC7518"/> also apply to their use
	  in this specification.
	  For that reason, these algorithms are registered as being "Not Recommended".
	  Likewise, the exponent restrictions described in
	  Section 8.3 of
	   <xref target="RFC7518"/> target="RFC7518" section="8.3" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7518#section-8.3" derivedContent="RFC7518"/> also apply.
        </t>
      </section>
      <section title="RSASSA-PKCS1-v1_5 anchor="RSASSA-PKCS1-v1_5_SHA-1_considerations" numbered="true" toc="include" removeInRFC="false" pn="section-5.3">
        <name slugifiedName="name-rsassa-pkcs1-v1_5-with-sha-1">RSASSA-PKCS1-v1_5 with SHA-1 Security Considerations" anchor="RSASSA-PKCS1-v1_5_SHA-1_considerations">
	<t> Considerations</name>
        <t pn="section-5.3-1">
	  The security considerations on the use of the SHA-1 hash function
	  from <xref target="RFC6194"/> target="RFC6194" format="default" sectionFormat="of" derivedContent="RFC6194"/> apply in this specification.
	  For that reason, the "RS1" algorithm is registered as "Deprecated".
	  Likewise, the exponent restrictions described in
	  Section 8.3 of
	   <xref target="RFC7518"/> target="RFC7518" section="8.3" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7518#section-8.3" derivedContent="RFC7518"/> also apply.
        </t>
	<t>
        <t pn="section-5.3-2">
	  A COSE algorithm identifier for this algorithm is nonetheless being
	  registered because deployed TPMs Trusted Platform Modules (TPMs) continue
	  to use it, and therefore it; therefore, WebAuthn implementations need a COSE algorithm
	  identifier for "RS1" when TPM attestations using this algorithm are
	  being represented.  New COSE applications and protocols MUST NOT <bcp14>MUST NOT</bcp14> use this algorithm.
        </t>
      </section>
      <section title="secp256k1 anchor="secp256k1_considerations" numbered="true" toc="include" removeInRFC="false" pn="section-5.4">
        <name slugifiedName="name-secp256k1-security-consider">secp256k1 Security Considerations" anchor="secp256k1_considerations">
	<t> Considerations</name>
        <t pn="section-5.4-1">
	  Care should be taken that a secp256k1 key is not mistaken for a P-256 <xref target="RFC7518"/> target="RFC7518" format="default" sectionFormat="of" derivedContent="RFC7518"/> key,
	  given that their representations are the same
	  except for the <spanx style="verb">crv</spanx> <tt>crv</tt> value.
	  As described in Section 8.1.1 of  <xref target="RFC8152"/>, target="RFC8152" section="8.1.1" sectionFormat="of" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8152#section-8.1.1" derivedContent="RFC8152"/>,
	  we currently do not have any way to deal with this
	  attack except to restrict the set of curves that can be used.
        </t>
	<t>
        <t pn="section-5.4-2">
	  The procedures and security considerations described in the
	  <xref target="SEC1"/>, <xref target="SEC2"/>, target="SEC1" format="default" sectionFormat="of" derivedContent="SEC1"/>, <xref target="SEC2" format="default" sectionFormat="of" derivedContent="SEC2"/>, and <xref target="DSS"/> target="DSS" format="default" sectionFormat="of" derivedContent="DSS"/>
	  specifications apply to implementations of this specification.
        </t>
	<t>
        <t pn="section-5.4-3">
	  Timing side-channel attacks are possible if the implementation of scalar multiplication
	  over the curve does not execute in constant time.
        </t>
	<t>
        <t pn="section-5.4-4">
	  There are theoretical weaknesses with this curve that could result in future attacks.
	  While these potential weaknesses are not unique to this curve,
	  they are the reason that this curve is registered as "Recommended: No".
        </t>
      </section>
    </section>
  </middle>
  <back>
    <references title="Normative References">

      <?rfc include="reference.RFC.2119.xml"?>
      <?rfc include="reference.RFC.6194.xml"?>
      <?rfc include="reference.RFC.7515.xml"?>
      <?rfc include="reference.RFC.7517.xml"?>
      <?rfc include="reference.RFC.7518.xml"?>
      <?rfc include="reference.RFC.8017.xml"?>
      <?rfc include="reference.RFC.8152.xml"?>
      <?rfc include="reference.RFC.8174.xml"?>
      <?rfc include="reference.RFC.8230.xml"?> pn="section-6">
      <name slugifiedName="name-references">References</name>
      <references pn="section-6.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="DSS" target="http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf"> quoteTitle="true" target="https://doi.org/10.6028/NIST.FIPS.186-4" derivedAnchor="DSS">
          <front>
            <title>Digital Signature Standard (DSS)</title>
            <author>
            <organization>National
              <organization showOnFrontPage="true">National Institute of Standards and Technology (NIST)</organization>
            </author>
            <date month="July" year="2013" /> year="2013"/>
          </front>
          <seriesInfo name="FIPS" value="PUB 186-4" />
      </reference>

      <reference anchor="SEC1" target="http://www.secg.org/sec1-v2.pdf">
        <front>
          <title>SEC 1: Elliptic Curve Cryptography</title>
          <author>
            <organization>Standards for Efficient Cryptography Group</organization>
          </author>
          <date day="21" month="May" year="2009" />
        </front> name="FIPS PUB" value="186-4"/>
          <seriesInfo name="Version" value="2.0" /> name="DOI" value="10.6028/NIST.FIPS.186-4"/>
        </reference>
        <reference anchor="SEC2" target="http://www.secg.org/sec2-v2.pdf"> anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
          <title>SEC 2: Recommended Elliptic Curve Domain Parameters</title>
          <author>
            <organization>Standards
            <title>Key words for Efficient Cryptography Group</organization> use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization showOnFrontPage="true"/>
            </author>
            <date day="27" month="January" year="2010" /> year="1997" month="March"/>
            <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="Version" value="2.0" /> name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>

    </references>

    <references title="Informative References">

      <?rfc include="reference.RFC.6979.xml"?>
        <reference anchor="WebAuthn" target="https://www.w3.org/TR/2019/REC-webauthn-1-20190304/"> anchor="RFC6194" target="https://www.rfc-editor.org/info/rfc6194" quoteTitle="true" derivedAnchor="RFC6194">
          <front>
          <title>Web Authentication: An API
            <title>Security Considerations for accessing Public Key Credentials - Level 1</title> the SHA-0 and SHA-1 Message-Digest Algorithms</title>
            <author initials="D." surname="Balfanz" fullname="Dirk Balfanz">
            <organization>Google</organization>
            <address>
              <email>balfanz@google.com</email>
            </address> initials="T." surname="Polk" fullname="T. Polk">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Czeskis" fullname="Alexei Czeskis">
            <organization>Google</organization>
            <address>
              <email>aczeskis@google.com</email>
            </address> initials="L." surname="Chen" fullname="L. Chen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Hodges" fullname="Jeff Hodges">
            <organization>Google</organization>
            <address>
              <email>Jeff.Hodges@paypal.com</email>
            </address> initials="S." surname="Turner" fullname="S. Turner">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J.C." surname="Jones" fullname="J.C. Jones">
            <organization>Mozilla</organization>
            <address>
              <email>jc@mozilla.com</email>
            </address> initials="P." surname="Hoffman" fullname="P. Hoffman">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2011" month="March"/>
            <abstract>
              <t>This document includes security considerations for the SHA-0 and SHA-1 message digest algorithm.  This document is not an Internet  Standards Track specification; it is published for informational  purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6194"/>
          <seriesInfo name="DOI" value="10.17487/RFC6194"/>
        </reference>
        <reference anchor="RFC7515" target="https://www.rfc-editor.org/info/rfc7515" quoteTitle="true" derivedAnchor="RFC7515">
          <front>
            <title>JSON Web Signature (JWS)</title>
            <author initials="M.B." initials="M." surname="Jones" fullname="Michael B. fullname="M. Jones">
            <organization>Microsoft</organization>
            <address>
              <email>mbj@microsoft.com</email>
	      <uri>http://self-issued.info/</uri>
            </address>
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Kumar" fullname="Akshay Kumar">
            <organization>Microsoft</organization>
            <address>
              <email>akshayku@microsoft.com</email>
            </address> initials="J." surname="Bradley" fullname="J. Bradley">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="N." surname="Sakimura" fullname="N. Sakimura">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2015" month="May"/>
            <abstract>
              <t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures.  Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification.  Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7515"/>
          <seriesInfo name="DOI" value="10.17487/RFC7515"/>
        </reference>
        <reference anchor="RFC7517" target="https://www.rfc-editor.org/info/rfc7517" quoteTitle="true" derivedAnchor="RFC7517">
          <front>
            <title>JSON Web Key (JWK)</title>
            <author initials="M." surname="Jones" fullname="M. Jones">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2015" month="May"/>
            <abstract>
              <t>A JSON Web Key (JWK) is a JavaScript Object Notation (JSON) data structure that represents a cryptographic key.  This specification also defines a JWK Set JSON data structure that represents a set of JWKs.  Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and IANA registries established by that specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7517"/>
          <seriesInfo name="DOI" value="10.17487/RFC7517"/>
        </reference>
        <reference anchor="RFC7518" target="https://www.rfc-editor.org/info/rfc7518" quoteTitle="true" derivedAnchor="RFC7518">
          <front>
            <title>JSON Web Algorithms (JWA)</title>
            <author initials="M." surname="Jones" fullname="M. Jones">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2015" month="May"/>
            <abstract>
              <t>This specification registers cryptographic algorithms and identifiers to be used with the JSON Web Signature (JWS), JSON Web Encryption (JWE), and JSON Web Key (JWK) specifications.  It defines several IANA registries for these identifiers.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7518"/>
          <seriesInfo name="DOI" value="10.17487/RFC7518"/>
        </reference>
        <reference anchor="RFC8017" target="https://www.rfc-editor.org/info/rfc8017" quoteTitle="true" derivedAnchor="RFC8017">
          <front>
            <title>PKCS #1: RSA Cryptography Specifications Version 2.2</title>
            <author initials="K." surname="Moriarty" fullname="K. Moriarty" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Kaliski" fullname="B. Kaliski">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Jonsson" fullname="J. Jonsson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Liao" fullname="Angelo Liao">
            <organization>Microsoft</organization>
            <address>
              <email>huliao@microsoft.com</email>
            </address> surname="Rusch" fullname="A. Rusch">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2016" month="November"/>
            <abstract>
              <t>This document provides recommendations for the implementation of public-key cryptography based on the RSA algorithm, covering cryptographic primitives, encryption schemes, signature schemes with appendix, and ASN.1 syntax for representing keys and for identifying the schemes.</t>
              <t>This document represents a republication of PKCS #1 v2.2 from RSA Laboratories' Public-Key Cryptography Standards (PKCS) series.  By publishing this RFC, change control is transferred to the IETF.</t>
              <t>This document also obsoletes RFC 3447.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8017"/>
          <seriesInfo name="DOI" value="10.17487/RFC8017"/>
        </reference>
        <reference anchor="RFC8152" target="https://www.rfc-editor.org/info/rfc8152" quoteTitle="true" derivedAnchor="RFC8152">
          <front>
            <title>CBOR Object Signing and Encryption (COSE)</title>
            <author initials="R." surname="Lindemann" fullname="Rolf Lindemann">
            <organization>Nok Nok Labs</organization>
            <address>
              <email>rolf@noknok.com</email>
            </address> initials="J." surname="Schaad" fullname="J. Schaad">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="July"/>
            <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>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="May"/>
            <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="RFC8230" target="https://www.rfc-editor.org/info/rfc8230" quoteTitle="true" derivedAnchor="RFC8230">
          <front>
            <title>Using RSA Algorithms with CBOR Object Signing and Encryption (COSE) Messages</title>
            <author initials="M." surname="Jones" fullname="M. Jones">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="September"/>
            <abstract>
              <t>The CBOR Object Signing and Encryption (COSE) specification defines cryptographic message encodings using Concise Binary Object Representation (CBOR).  This specification defines algorithm encodings and representations enabling RSA algorithms to be used for COSE messages.  Encodings are specified for the use of RSA Probabilistic Signature Scheme (RSASSA-PSS) signatures, RSA Encryption Scheme - Optimal Asymmetric Encryption Padding (RSAES-OAEP) encryption, and RSA keys.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8230"/>
          <seriesInfo name="DOI" value="10.17487/RFC8230"/>
        </reference>
        <reference anchor="SEC1" target="https://www.secg.org/sec1-v2.pdf" quoteTitle="true" derivedAnchor="SEC1">
          <front>
            <title>SEC 1: Elliptic Curve Cryptography</title>
            <author>
              <organization showOnFrontPage="true">Standards for Efficient Cryptography Group</organization>
            </author>

          <author initials="E." surname="Lundberg" fullname="Emil Lundberg">
            <organization>Yubico</organization>
            <address>
              <email>emil@yubico.com</email>
            </address>
            <date month="May" year="2009"/>
          </front>
          <seriesInfo name="Version" value="2.0"/>
        </reference>
        <reference anchor="SEC2" target="https://www.secg.org/sec2-v2.pdf" quoteTitle="true" derivedAnchor="SEC2">
          <front>
            <title>SEC 2: Recommended Elliptic Curve Domain Parameters</title>
            <author>
              <organization showOnFrontPage="true">Standards for Efficient Cryptography Group</organization>
            </author>
            <date month="March" day="4" year="2019" /> month="January" year="2010"/>
          </front>
          <seriesInfo name="World Wide Web Consortium (W3C)" value="Recommendation" /> name="Version" value="2.0"/>
        </reference>
      </references>
      <references pn="section-6.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="CTAP" target="https://fidoalliance.org/specs/fido-v2.0-ps-20190130/fido-client-to-authenticator-protocol-v2.0-ps-20190130.html"> target="https://fidoalliance.org/specs/fido-v2.0-ps-20190130/fido-client-to-authenticator-protocol-v2.0-ps-20190130.html" quoteTitle="true" derivedAnchor="CTAP">
          <front>
            <title>Client to Authenticator Protocol (CTAP)</title>
            <author initials="C." surname="Brand" fullname="Christiaan Brand">
            <organization>Google</organization>
              <organization showOnFrontPage="true">Google</organization>
              <address>
                <email>cbrand@google.com</email>
              </address>
            </author>
            <author initials="A." surname="Czeskis" fullname="Alexei Czeskis">
            <organization>Google</organization>
              <organization showOnFrontPage="true">Google</organization>
              <address>
                <email>aczeskis@google.com</email>
              </address>
            </author>
            <author initials="J." surname="Ehrensvärd" fullname="Jakob Ehrensvärd">
            <organization>Yubico</organization>
              <organization showOnFrontPage="true">Yubico</organization>
              <address>
                <email>jakob@yubico.com</email>
              </address>
            </author>
            <author initials="M.B." initials="M." surname="Jones" fullname="Michael B. Jones">
            <organization>Microsoft</organization>
              <organization showOnFrontPage="true">Microsoft</organization>
              <address>
                <email>mbj@microsoft.com</email>
                <uri>http://self-issued.info/</uri>
              </address>
            </author>
            <author initials="A." surname="Kumar" fullname="Akshay Kumar">
            <organization>Microsoft</organization>
              <organization showOnFrontPage="true">Microsoft</organization>
              <address>
                <email>akshayku@microsoft.com</email>
              </address>
            </author>
            <author initials="R." surname="Lindemann" fullname="Rolf Lindemann">
            <organization>Nok
              <organization showOnFrontPage="true">Nok Nok Labs</organization>
              <address>
                <email>rolf@noknok.com</email>
              </address>
            </author>
            <author initials="A." surname="Powers" fullname="Adam Powers">
            <organization>FIDO
              <organization showOnFrontPage="true">FIDO Alliance</organization>
              <address>
                <email>adam@fidoalliance.org</email>
              </address>
            </author>
            <author initials="J." surname="Verrept" fullname="Johan Verrept">
            <organization>OneSpan</organization>
              <organization showOnFrontPage="true">OneSpan</organization>
              <address>
                <email>johan.verrept@onespan.com</email>
              </address>
            </author>
            <date month="January" day="30" year="2019" /> year="2019"/>
          </front>
          <refcontent>FIDO Alliance Proposed Standard</refcontent>
        </reference>
        <reference anchor="EURO-SP18" target="https://ieeexplore.ieee.org/document/8406609" quoteTitle="true" derivedAnchor="EURO-SP18">
          <front>
            <title>Attacking Deterministic Signature Schemes using Fault Attacks</title>
            <seriesInfo name="FIDO Alliance" value="Proposed Standard" /> name="DOI" value="10.1109/EuroSP.2018.00031"/>
            <author fullname="Damian Poddebniak" surname="Poddebniak" initials="D.">
              <organization showOnFrontPage="true">Münster University of Applied Sciences</organization>
            </author>
            <author fullname="Juraj Somorovsky" surname="Somorovsky" initials="J.">
              <organization showOnFrontPage="true">Ruhr University Bochum</organization>
            </author>
            <author fullname="Sebastian Schinzel" surname="Schinzel" initials="S.">
              <organization showOnFrontPage="true">Münster University of Applied Sciences</organization>
            </author>
            <author fullname="Manfred Lochter" surname="Lochter" initials="M.">
              <organization showOnFrontPage="true">Federal Office for Information Security</organization>
            </author>
            <author fullname="Paul Rösler" surname="Rösler" initials="P.">
              <organization showOnFrontPage="true">Ruhr University Bochum</organization>
            </author>
            <date month="April" year="2018"/>
          </front>
          <refcontent>2018 IEEE European Symposium on Security and Privacy (EuroS&amp;P)
</refcontent>
        </reference>
        <reference anchor="IANA.COSE.Algorithms" target="https://www.iana.org/assignments/cose/cose.xhtml#algorithms"> target="https://www.iana.org/assignments/cose" quoteTitle="true" derivedAnchor="IANA.COSE.Algorithms">
          <front>
            <title>COSE Algorithms</title>
            <author>
            <organization>IANA</organization>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
	  <date/>
          </front>
        </reference>
        <reference anchor="IANA.COSE.Curves" target="https://www.iana.org/assignments/cose/cose.xhtml#elliptic-curves"> target="https://www.iana.org/assignments/cose" quoteTitle="true" derivedAnchor="IANA.COSE.Curves">
          <front>
            <title>COSE Elliptic Curves</title>
            <author>
            <organization>IANA</organization>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
	  <date/>
          </front>
        </reference>
        <reference anchor="IANA.JOSE.Algorithms" target="https://www.iana.org/assignments/jose/jose.xhtml#web-signature-encryption-algorithms"> target="https://www.iana.org/assignments/jose" quoteTitle="true" derivedAnchor="IANA.JOSE.Algorithms">
          <front>
            <title>JSON Web Signature and Encryption Algorithms</title>
            <author>
            <organization>IANA</organization>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
	  <date/>
          </front>
        </reference>
        <reference anchor="IANA.JOSE.Curves" target="https://www.iana.org/assignments/jose/jose.xhtml#web-key-elliptic-curve"> target="https://www.iana.org/assignments/jose" quoteTitle="true" derivedAnchor="IANA.JOSE.Curves">
          <front>
            <title>JSON Web Key Elliptic Curve</title>
            <author>
            <organization>IANA</organization>
              <organization showOnFrontPage="true">IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="KUDELSKI17" target="https://research.kudelskisecurity.com/2017/10/04/defeating-eddsa-with-faults/" quoteTitle="true" derivedAnchor="KUDELSKI17">
          <front>
            <title>How to Defeat Ed25519 and EdDSA Using Faults</title>
            <author fullname="Yolan Romailler" surname="Romailler" initials="Y.">
            </author>
            <date month="October" year="2017"/>
          </front>
          <refcontent>Kudelski Security Research</refcontent>
        </reference>
        <reference anchor="RFC6979" target="https://www.rfc-editor.org/info/rfc6979" quoteTitle="true" derivedAnchor="RFC6979">
          <front>
            <title>Deterministic Usage of the Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA)</title>
            <author initials="T." surname="Pornin" fullname="T. Pornin">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2013" month="August"/>
            <abstract>
              <t>This document defines a deterministic digital signature generation procedure.  Such signatures are compatible with standard Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA) digital signatures and can be processed with unmodified verifiers, which need not be aware of the procedure described therein.  Deterministic signatures retain the cryptographic security features associated with digital signatures but can be more easily implemented in various environments, since they do not need access to a source of high-quality randomness.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6979"/>
          <seriesInfo name="DOI" value="10.17487/RFC6979"/>
        </reference>
        <reference anchor="WebAuthn" target="https://www.w3.org/TR/2019/REC-webauthn-1-20190304/" quoteTitle="true" derivedAnchor="WebAuthn">
          <front>
            <title>Web Authentication: An API for accessing Public Key Credentials - Level 1</title>
            <author initials="D." surname="Balfanz" fullname="Dirk Balfanz">
              <organization showOnFrontPage="true">Google</organization>
              <address>
                <email>balfanz@google.com</email>
              </address>
            </author>
            <author initials="A." surname="Czeskis" fullname="Alexei Czeskis">
              <organization showOnFrontPage="true">Google</organization>
              <address>
                <email>aczeskis@google.com</email>
              </address>
            </author>
	  <date/>
        </front>
      </reference>

      <reference anchor="Kudelski17"
		 target="https://research.kudelskisecurity.com/2017/10/04/defeating-eddsa-with-faults/">
	<front>
	  <title>How to defeat Ed25519 and EdDSA using faults</title>
            <author fullname="Yolan Romailler" surname="Romailler" initials="Y.">
	    <organization>Kudelski Security</organization> initials="J." surname="Hodges" fullname="Jeff Hodges">
              <organization showOnFrontPage="true">Google</organization>
              <address>
                <email>Jeff.Hodges@paypal.com</email>
              </address>
            </author>

	  <date day="4" month="October" year="2017"/>
	</front>
      </reference>

      <reference anchor="EuroSP18"
		 target="https://eprint.iacr.org/2017/1014.pdf">
	<front>
	  <title>Attacking Deterministic Signature Schemes using Fault Attacks</title>
            <author fullname="Damian Poddebniak" surname="Poddebniak" initials="D.">
	    <organization>Münster University of Applied Sciences</organization> initials="J.C." surname="Jones" fullname="J.C. Jones">
              <organization showOnFrontPage="true">Mozilla</organization>
              <address>
                <email>jc@mozilla.com</email>
              </address>
            </author>
            <author fullname="Juraj Somorovsky" surname="Somorovsky" initials="J.">
	    <organization>Ruhr University Bochum</organization> initials="M." surname="Jones" fullname="Michael B. Jones">
              <organization showOnFrontPage="true">Microsoft</organization>
              <address>
                <email>mbj@microsoft.com</email>
                <uri>http://self-issued.info/</uri>
              </address>
            </author>
            <author fullname="Sebastian Schinzel" surname="Schinzel" initials="S.">
	    <organization>Münster University of Applied Sciences</organization> initials="A." surname="Kumar" fullname="Akshay Kumar">
              <organization showOnFrontPage="true">Microsoft</organization>
              <address>
                <email>akshayku@microsoft.com</email>
              </address>
            </author>
            <author fullname="Manfred Lochter" surname="Lochter" initials="M.">
	    <organization>Federal Office for Information Security</organization> initials="A." surname="Liao" fullname="Angelo Liao">
              <organization showOnFrontPage="true">Microsoft</organization>
              <address>
                <email>huliao@microsoft.com</email>
              </address>
            </author>
            <author fullname="Paul Rösler" surname="Rösler" initials="P.">
	    <organization>Ruhr University Bochum</organization> initials="R." surname="Lindemann" fullname="Rolf Lindemann">
              <organization showOnFrontPage="true">Nok Nok Labs</organization>
              <address>
                <email>rolf@noknok.com</email>
              </address>
            </author>
            <author initials="E." surname="Lundberg" fullname="Emil Lundberg">
              <organization showOnFrontPage="true">Yubico</organization>
              <address>
                <email>emil@yubico.com</email>
              </address>
            </author>
            <date day="1" month="April" year="2018"/> month="March" year="2019"/>
          </front>
	<seriesInfo name="IEEE European Symposium on Security and Privacy (EuroS&amp;P)" value="2018"/>
          <refcontent>W3C Recommendation</refcontent>
        </reference>
      </references>
    </references>
    <section title="Acknowledgements" anchor="Acknowledgements" numbered="no">

      <t> numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t pn="section-appendix.a-1">
	Thanks to
	Roman Danyliw,
	Linda Dunbar,
	Stephen Farrell,
	John Fontana,
	Jeff Hodges,
	Kevin Jacobs,
	J.C. Jones,
	Benjamin Kaduk,
	Murray Kucherawy,
	Neil Madden,
	John Mattsson,
	Matthew Miller,
	Tony Nadalin,
	Matt Palmer,
	Eric Rescorla,
	Rich Salz,
	Jim Schaad,
	Göran Selander,
	Wendy Seltzer,
	Sean Turner,
	and
	Samuel Weiler
	<contact fullname="Roman Danyliw"/>,
		<contact fullname="Linda Dunbar"/>,
		<contact fullname="Stephen Farrell"/>,
		<contact fullname="John Fontana"/>,
		<contact fullname="Jeff Hodges"/>,
		<contact fullname="Kevin Jacobs"/>,
		<contact fullname="J.C. Jones"/>,
		<contact fullname="Benjamin Kaduk"/>,
		<contact fullname="Murray Kucherawy"/>,
		<contact fullname="Neil Madden"/>,
		<contact fullname="John Mattsson"/>,
		<contact fullname="Matthew Miller"/>,
		<contact fullname="Tony Nadalin"/>,
		<contact fullname="Matt Palmer"/>,
		<contact fullname="Eric Rescorla"/>,
		<contact fullname="Rich Salz"/>,
		<contact fullname="Jim Schaad"/>,
		<contact fullname="Goeran Selander"/>,
		<contact fullname="Wendy Seltzer"/>,
		<contact fullname="Sean Turner"/>,
	and
		<contact fullname="Samuel Weiler"/>
	for their roles in registering these algorithm identifiers.
      </t>
    </section>
    <section title="Document History" anchor="History">
      <t>
        [[ to be removed by the RFC Editor before publication as an RFC ]]
      </t>

      <t>
	-08
	<list style='symbols'>
	  <t>
	    Addressed IESG review comments by Benjamin Kaduk and Roman Danyliw,
	    primarily completing the edits to register secp256k1 and ES256K as "Recommended: No" for COSE.
	    Some additional security considerations were also added.
	  </t>
	</list>
      </t>

      <t>
	-07
	<list style='symbols'>
	  <t>
	    Addressed editorial SecDir review comment by Linda Dunbar about SHA-2 algorithms.
	  </t>
	  <t>
	    Addressed IETF last call comments by Jim Schaad, Rich Salz, and Eric Rescorla,
	    now registering secp256k1 and ES256K as "Recommended: No" for COSE.
	  </t>
	</list>
      </t>

      <t>
	-06
	<list style='symbols'>
	  <t>
	    Addressed Area Director review comment by Murray Kucherawy (which requested an editorial correction).
	  </t>
	  <t>
	    Changed requested assignment for ES256K from -46 to -47, due to an assignment conflict.
	  </t>
	</list>
      </t>

      <t>
	-05
	<list style='symbols'>
	  <t>
	    Removed unused reference to RFC 7049.
	  </t>
	</list>
      </t>

      <t>
        -04
        <list style='symbols'>
          <t>
	    Added explanatory comments on design decisions made that were discussed on the mailing list
	    that Jim Schaad requested be added to the draft.
	  </t>
        </list>
      </t>

      <t>
        -03
        <list style='symbols'>
          <t>
	    Addressed review of -02 by Jim Schaad.
	  </t>
        </list>
      </t>

      <t>
        -02
        <list style='symbols'>
          <t>
	    Addressed working group last call comments.
	    Thanks to J.C. Jones, Kevin Jacobs, Jim Schaad, Neil Madden, and Benjamin Kaduk
	    for their useful feedback.
	  </t>
        </list>
      </t>

      <t>
        -01
        <list style='symbols'>
          <t>
	    Changed the JOSE curve identifier from <spanx style="verb">P-256K</spanx>
	    to <spanx style="verb">secp256k1</spanx>.
          </t>
	  <t>
	    Specified that secp256k1 signing is done using the SHA-256 hash function.
	  </t>
        </list>
      </t>

      <t>
        -00
        <list style='symbols'>
          <t>
	    Created the initial working group draft from draft-jones-cose-additional-algorithms-00,
	    changing only the title, date, and history entry.
          </t>
        </list>
      </t> anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-address">Author's Address</name>
      <author fullname="Michael B. Jones" surname="Jones" initials="M">
        <organization showOnFrontPage="true">Microsoft</organization>
        <address>
          <email>mbj@microsoft.com</email>
          <uri>https://self-issued.info/</uri>
        </address>
      </author>
    </section>
  </back>
</rfc>