<?xml version="1.0" encoding="UTF-8"?>

<!-- ===== CONTEXT SETTINGS ===== -->

<!-- Create an entry here for every RFC referenced. -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY rfc5246 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5246.xml">
<!ENTITY rfc5288 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5288.xml">
<!ENTITY rfc5289 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5289.xml">
<!ENTITY rfc6066 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6066.xml">
<!ENTITY rfc6347 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6347.xml">
<!ENTITY rfc6961 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6961.xml">
<!ENTITY rfc7919 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7919.xml">
<!ENTITY rfc8017 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8017.xml">
<!ENTITY rfc8174 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY rfc8422 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8422.xml">
<!ENTITY rfc8446 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8446.xml">
<!ENTITY rfc8603 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8603.xml">
]>

<!-- Extra statement used by XSLT processors to control the output style. -->

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

<!-- Fill in file name. -->

<rfc category="info" ipr="trust200902" docName="draft-cooley-cnsa-dtls-tls-profile-00" >

<!-- Processing Instructions - these should cover most cases-->

    <?rfc strict="yes" ?>
    <?rfc comments="no" ?> 
    <?rfc inline="no" ?>
    <?rfc editing="no" ?>

    <!-- Table of Contents (ToC) and options -->  

   <?rfc toc="yes"?>       <!-- idnits insists on a ToC if the document has more than 15 pages -->
   <?rfc tocompact="yes"?> <!-- yes - eliminate blank lines before main section entries -->
   <?rfc tocdepth="2"?>    <!-- Sets the number of levels of sections/subsections in ToC --> 

    <!-- Choose options for the references. The tags used are the anchor attributes of the references. --> 

    <?rfc symrefs="yes"?>      <!-- yes - use symbolic references in xref tags -->
    <?rfc sortrefs="yes" ?>    <!-- yes - If symrefs also yes, sort references in order of tags. -->

    <?rfc compact="yes" ?>     <!-- yes - don't start each main section on a new page -->
    <?rfc subcompact="no" ?>   <!-- yes - also omit blank lines between list items -->

<!-- end Processing Instructions -->

<!-- ===== END CONTEXT SETTINGS ===== -->


<front>     <!-- ===== FRONT MATTER ===== -->

    <title abbrev="CNSA Suite TLS Profile">Commercial National Security Algorithm (CNSA) Suite Profile for TLS and DTLS 1.2 and 1.3</title>

    <author fullname="Dorothy Cooley" initials="D." surname="Cooley">
        <organization abbrev="NSA">National Security Agency</organization>
        <address><email>decoole@nsa.gov</email></address>
    </author>

    
    <date year="2019"/> <!-- Current month and day will be filled in. -->


    <!-- Meta-data Declarations -->
    
    <area>Security</area>
    <workgroup>Network Working Group</workgroup>

    <!-- There must be an abstract. -->

<abstract>

<t>This document defines a base profile for TLS protocol versions 1.2 and 1.3, as well as DTLS protocol versions 1.2 and 1.3 for use with the United States Commercial National Security Algorithm (CNSA) Suite.
</t>

<t>The profile applies to the capabilities, configuration, and operation of all components of US National Security Systems that use TLS or DTLS.  It is also appropriate for all other US Government systems that process high-value information.
</t>

<t>The profile is made publicly available here for use by developers and operators of these and any other system deployments.
</t>
    </abstract>

</front>     <!-- ===== END FRONT MATTER ===== -->

<middle>     <!-- ===== DOCUMENT BODY ===== -->

<section anchor="intro" title="Introduction">

<t>This document specifies a profile of TLS version 1.2 <xref target="RFC5246" /> and TLS version 1.3 <xref target="RFC8446" />, as well as DTLS version 1.2 <xref target="RFC6347"/> and DTLS version 1.3 <xref target="ID.dtls13" /> for use by applications that support the National Security Agency's (NSA) Commercial National Security Algorithm (CNSA) Suite <xref target="CNSA" />.  The profile applies to the capabilities, configuration, and operation of all components of US National Security Systems <xref target="SP80059" />. It is also appropriate for all other US Government systems that process high-value information. It is made publicly available for use by developers and operators of these and any other system deployments.
</t>

<t>This document does not define any new cipher suites; instead, it defines a CNSA compliant profile of TLS and DTLS, and the cipher suites defined in <xref target="RFC5288" /> and <xref target="RFC5289" />.  This profile uses only algorithms in the CNSA Suite.
</t>

<t>The reader is assumed to have familiarity with the TLS 1.2 and 1.3 as well as the DTLS 1.2 and 1.3 protocol specifications: <xref target="RFC5246" />, <xref target="RFC6347"/>, <xref target="RFC8446" />, and <xref target="ID.dtls13" />.  All MUST-level requirements from the protocol documents apply throughout this profile; they are generally not repeated.  This profile contains changes that elevate some SHOULD-level options to MUST-level; this profile also contains changes that elevate some MAY-level options to SHOULD-level or MUST-level.  All options that are not mentioned in this profile remain at their original requirement level.
</t>

</section>  <!-- intro -->

<section anchor="cnsa" title="The Commercial National Security Algorithm Suite">

<t>The National Security Agency (NSA) profiles commercial cryptographic algorithms and protocols as part of its mission to support secure, interoperable communications for US Government National Security Systems. To this end, it publishes guidance both to assist with the US Government transition to new algorithms, and to provide vendors - and the Internet community in general - with information concerning their proper use and configuration.
</t>

<t>Recently, cryptographic transition plans have become overshadowed by the prospect of the development of a cryptographically-relevant quantum computer.  NSA has established the CNSA Suite to provide vendors and IT users near-term flexibility in meeting their Information Assurance (IA) interoperability requirements. The purpose behind this flexibility is to avoid having vendors and customers make two major transitions in a relatively short timeframe, as we anticipate a need to shift to quantum-resistant cryptography in the near future.
</t>

<t>NSA is authoring a set of RFCs, including this one, to provide updated guidance concerning the use of certain commonly available commercial algorithms in IETF protocols.  These RFCs can be used in conjunction with other RFCs and cryptographic guidance (e.g., NIST Special Publications) to properly protect Internet traffic and data-at-rest for US Government National Security Systems.
</t>

</section> <!-- cnsa -->


<section anchor="terms" title="Terminology">

<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="RFC2119" /> <xref target="RFC8174" /> when, and only when, they appear in all capitals, as shown here.
</t>

<t>"ECDSA" and "ECDH" refer to the use of the Elliptic Curve Digital Signature Algorithm (ECDSA) and Elliptic Curve Diffie Hellman (ECDH), respectively. ECDSA and ECDH are used with the NIST P-384 curve (which is based on a 384-bit prime modulus) and the SHA-384 hash function.  Similarly, "RSA" and "DH" refer to Rivest-Shamir-Adleman (RSA) and Finite Field Diffie-Hellman (DH), respectively. RSA and DH are used with a 3072-bit or 4096-bit modulus.  When RSA is used for digital signature, it is used with the SHA-384 hash function.
</t>

<t>Henceforth, this document refers to TLS versions 1.2 and 1.3 and DTLS versions 1.2 and 1.3 collectively as (D)TLS.
</t>

</section>  <!-- terms -->


<section anchor="cnsa-suite" title="CNSA Suite">

<t><xref target="CNSA" /> approves the use of both finite field and elliptic curve versions of the DH key agreement algorithm, as well as RSA-based key establishment. <xref target="CNSA" /> also approves certain versions of the RSA and elliptic curve digital signature algorithms. The approved encryption techniques include the Advanced Encryption Standard (AES) used with a 256-bit key in an Authenticated Encryption with Associated Data (AEAD) mode.
</t>

<t>In particular, CNSA includes the following:

<list style="empty">
  <t>Encryption:
  <list style="empty">
    <t>AES <xref target="AES" /> (with key size 256 bits), operating in Galois/Counter Mode (GCM) <xref target="GCM" /></t>
    </list>
  </t>
  <t>Digital Signature:
  <list style="empty">
    <t>ECDSA <xref target="DSS" /> (using the NIST P-384 elliptic curve)</t>
    <t>RSA <xref target="DSS" /> (with a modulus of 3072 bits or 4096 bits)</t>
    </list>
  </t>
  <t>Key Establishment (includes key agreement and key transport):
  <list style="empty">
    <t>ECDH <xref target="PWKE-A" /> (using the NIST P-384 elliptic curve)</t>
    <t>DH <xref target="PWKE-A" /> (with a prime modulus of 3072 or 4096 bits)</t>
    <t>RSA <xref target="PWKE-B" /> (with a modulus of 3072 or 4096 bits)</t>
    </list>
  </t>
</list>
</t>

<t><xref target="CNSA" /> also approves the use of SHA-384 <xref target="SHS" /> for the hash algorithm for mask generation, signature generation, Pseudo Random Function (PRF) in TLS 1.2 and HMAC-based key derivation function (HKDF) in TLS 1.3.
</t>

<section anchor="tls-ke" title="CNSA (D)TLS Key Establishment Algorithms">

<t>The following combination of algorithms and key sizes are used in CNSA (D)TLS:

<list style="empty">
  <t>AES with 256-bit key, operating in GCM mode</t>
  <t>ECDH <xref target="PWKE-A" /> using the Ephemeral Unified Model Scheme with cofactor set to 1 (see Section 6.1.2.2 in <xref target="PWKE-A" />)</t>
  <t>TLS PRF/HKDF with SHA-384 <xref target="SHS" /></t>
</list>
</t>

<t>Or

<list style="empty">
  <t>AES with 256-bit key, operating in GCM mode</t>
  <t>RSA key transport using 3072-bit or 4096-bit modulus <xref target="PWKE-B" /><xref target="RFC8017" /></t>
  <t>TLS PRF/HKDF with SHA-384 <xref target="SHS" /></t>
</list>
</t>

<t>Or

<list style="empty">
  <t>AES with 256-bit key, operating in GCM mode</t>
  <t>DH using dhEphem with domain parameters specified below (see Section 6.1.2.1 in <xref target="PWKE-A" />)</t>
  <t>TLS PRF/HKDF with SHA-384 <xref target="SHS" /></t>
  </list>
</t>

<t>The specific CNSA compliant cipher suites are listed in Section 5. 
</t>

</section>  <!-- tls-ke -->

<section anchor="tls-auth" title="CNSA TLS Authentication">

<t>For server and/or client authentication, CNSA (D)TLS MUST generate and verify either ECDSA signatures or RSA signatures.
</t>

<t>In all cases, the client MUST authenticate the server.  The server MAY also authenticate the client, as needed by the specific application.
</t>

</section>  <!-- tls-auth -->

</section>  <!-- cnsa-suite -->


<section anchor="compliance" title="CNSA Compliance and Interoperability Requirements">

<t>CNSA (D)TLS MUST NOT use TLS versions prior to (D)TLS 1.2 in a CNSA compliant system.  CNSA (D)TLS servers and clients MUST implement and use either (D)TLS version 1.2 <xref target="RFC5246" /><xref target="RFC6347" /> or (D)TLS version 1.3 <xref target="RFC8446" /><xref target="ID.dtls13" />.
</t>

<section anchor="ecc-curves" title="Acceptable ECC Curves">

<t>The elliptic curves used in the CNSA Suite appear in the literature under two different names <xref target="DSS" /> <xref target="SECG" />.  For the sake of clarity, both names are listed below:
</t>

<figure><artwork align="left">
      Curve    NIST name   SECG name
      --------------------------------
      P-384    nistp384    secp384r1
</artwork></figure>

<t><xref target="RFC8422" /> defines a variety of elliptic curves.  CNSA (D)TLS connections MUST use secp384r1(24) (also called nistp384) and the uncompressed(0) form MUST be supported, as required by <xref target="RFC8422" /> and <xref target="RFC8446" />.
</t>

<t>Key pairs MUST be generated following Section 5.6.1.2 of <xref target="PWKE-A" />.
</t>

</section>  <!-- ecc-curves -->

<section anchor="rsa-schemes" title="Acceptable RSA Schemes, Parameters and Checks">

<t><xref target="CNSA" /> specifies a minimum modulus size of 3072 bits; however, only two modulus sizes (3072 bits and 4096 bits) are supported by this profile. 
</t>

<t>For authentication, RSASSA-PKCS1-v1.5 <xref target="RFC8017" /> MUST be supported, and RSASSA-PSS <xref target="DSS" /> SHOULD be supported.
</t>

<t>For key transport, RSAES-PKCS1-v1.5 <xref target="RFC8017" /> MUST be supported.
</t>

<t>RSA exponent e MUST satisfy 2^16&lt;e&lt;2^256 and be odd per <xref target="DSS" />.
</t>

<t>If RSASSA-PSS is supported, then the implementation MUST assert rsaEncryption as the public key algorithm, the hash algorithm (used for both mask generation and signature generation) MUST be SHA-384, the mask generation function 1 (MGF1) from <xref target="RFC8017" /> MUST be used, and the salt length MUST be 48 octets.
</t>

</section>  <!-- rsa-schemes -->

<section anchor="ff-groups" title="Acceptable Finite Field Groups">

<t><xref target="CNSA" /> specifies a minimum modulus size of 3072 bits; however, only two modulus sizes (3072 bits and 4096 bits) are supported by this profile. 
</t>

<t>Ephemeral key pairs MUST be generated following Section 5.6.1.1.1 of <xref target="PWKE-A" /> using the approved safe prime groups specified in <xref target="RFC7919" /> for DH ephemeral key agreement.  The named groups are:	

<list style="empty">
  <t>ffdhe3072 (ID=257)</t>
  <t>ffdhe4096 (ID=258)</t>
  </list>
</t>

</section>  <!-- ff-groups -->


<section anchor="certs" title="Certificates">

<t>Certificates used to establish a CNSA (D)TLS connection MUST be signed with ECDSA or RSA and MUST be compliant with the "CNSA Certificate and Certificate Revocation List (CRL) Profile" <xref target="RFC8603" />.
</t>

</section>  <!-- certs -->

</section>  <!-- compliance -->


<section anchor="tls12-reqts" title="(D)TLS 1.2 Requirements">

<t>The CNSA (D)TLS 1.2 client MUST offer at least one of these ciphersuites:

<list style="empty">
  <t>TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 <xref target="RFC5289" /></t>
  <t>TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 <xref target="RFC5289" /></t>
  <t>TLS_RSA_WITH_AES_256_GCM_SHA384 <xref target="RFC5288" /></t>
  <t>TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 <xref target="RFC5288" /></t>
</list>
</t>

<t>The CNSA cipher suites listed above MUST be the first (most preferred) cipher suites in the ClientHello message.
</t>

<t>A CNSA (D)TLS client that offers interoperability with servers that are not CNSA compliant MAY offer additional cipher suites, but any additional cipher suites MUST appear after the CNSA cipher suites in the ClientHello message.
</t>

<t>A CNSA (D)TLS server MUST accept one of the CNSA suites above if they are offered in the ClientHello message.
</t>

<section anchor="tls12-sig-algs" title="The signature_algorithms Extension">

<t>A CNSA (D)TLS client MUST include the "signature_algorithms" extension.  A CNSA (D)TLS client MUST offer a "signature_algorithms" extension with either signature=ecdsa and hash=SHA384 or signature=rsa and hash=sha384.
</t>

<t>Following the guidance in <xref target="RFC8603" />, CNSA (D)TLS servers MUST only accept ECDSA or RSA for certification path validation.
</t>

<t>Other offerings MAY be included to indicate the acceptable signature algorithms in cipher suites that are offered for interoperability with servers not compliant with CNSA and to indicate the signature algorithms that are acceptable for certification path validation in non-compliant CNSA (D)TLS connections.
</t>

</section>  <!-- tls12-sig-algs -->

<section anchor="tls12-cert-request" title="The CertificateRequest Message">

<t>A CNSA (D)TLS server MUST include ECDSA and SHA-384 and/or RSA and SHA-384 in the supported_signature_algorithms field.
</t>

</section>  <!-- tls12-cert-request -->

<section anchor="tls12-cert-verify" title="The CertificateVerify Message">

<t>A CNSA (D)TLS server MUST use ECDSA or RSA in the CertificateVerify message.  A CNSA (D)TLS client MUST use ECDSA or RSA.
</t>

</section>  <!-- tls12-cert-verify -->

<section anchor="tls12-ske-message" title="The Signature in the ServerKeyExchange Message">

<t>A CNSA (D)TLS server MUST sign the ServerKeyExchange message using ECDSA or RSA.
</t>

</section>  <!-- tls12-ske-message" -->


<section anchor="tls12-cert-status" title="Certificate Status">

<t>The client SHOULD request and the server SHOULD provide OSCP responses in the "CertificateEntry".
</t>

</section>  <!-- tls12-cert-status -->


</section>  <!-- tls12-reqts -->


<section anchor="tls13-reqts" title="(D)TLS 1.3">

<t>The CNSA (D)TLS client MUST offer the following CipherSuite in the ClientHello:

<list style="empty">
  <t>TLS_AES_256_GCM_SHA384</t>
</list>
</t>

<t>The CNSA (D)TLS client MUST offer at least one of the following values in the "signature_algorithms" and "signature_algorithms_cert" (optional) extensions:

<list style="empty">
  <t>ecdsa_secp384r1_sha384</t>
  <t>rsa_pkcs1_sha384</t>
</list>
</t>

<t>And, if supported, SHOULD offer:
<list style="empty">
  <t>rsa_pss_pss_sha384</t>
</list>
</t>

<t>The CNSA (D)TLS client MUST include at least one of the following values in "supported_groups":

<list style="empty">
  <t>ECDHE:  secp384r1</t>
  <t>DHE: ffdhe3072</t>
  <t>DHE: ffdhe4096</t>
</list>
</t>

<t>The CNSA cipher suite MUST be the first (most preferred) cipher suites in the ClientHello message and in the extensions.
</t>

<t>A CNSA (D)TLS client that offers interoperability with servers that are 
not CNSA compliant MAY offer additional cipher suites, but any additional 
cipher suites MUST appear after the CNSA compliant cipher suites in the 
ClientHello message.
</t>

<t>A CNSA (D)TLS server MUST accept one of the CNSA algorithms listed above if they are offered in the ClientHello message.
</t>

<section anchor="tls13-sig-algs" title="The &quot;signature_algorithms&quot; and &quot;signature_algorithms_cert&quot; Extensions">

<t>A CNSA (D)TLS client MUST include the "signature_algorithms" extension. A CNSA (D)TLS client MAY include the "signature_algorithms_cert" extension. A CNSA (D)TLS client MUST offer ECDSA with SHA-384 and/or RSA with SHA-384 in the "signature_algorithms" and "signature_algorithm_cert" extensions. 
</t>

<t>Following the guidance in <xref target="RFC8603" />, CNSA (D)TLS servers MUST only accept ECDSA or RSA for signature path validation.
</t>

<t>Other offerings MAY be included to indicate the acceptable signature algorithms in cipher suites that are offered for interoperability with servers not compliant with CNSA and to indicate the signature algorithms that are acceptable for certification path validation in non-compliant CNSA (D)TLS connections.
</t>

</section>  <!-- tls13-sig-algs -->

<section anchor="tls13-early-data" title="The &quot;early_data&quot; Extension">

<t>A CNSA (D)TLS client or server MUST NOT include the "early_data" extension.  See Section 2.3 <xref target="RFC8446" /> for security concerns.
</t>

</section>  <!-- tls13-early-data -->

<section anchor="tls13-resumption" title="Resumption">

<t>A CNSA (D)TLS server MAY send a CNSA (D)TLS client a NewSessionTicket extension to enable resumption. A CNSA (D)TLS client MUST request "psk_dhe_ke" via the psk_key_exchange_modes ClientHello extension to resume a session. A CNSA (D)TLS client MUST offer ECDHE with SHA-384, RSA with SHA-384 and/or DHE with SHA-384 in the "psk_key_exchange_modes" extension.
</t>

</section>  <!-- tls13-resumption -->

<section anchor="tls13-cert-stat" title="Certificate Status">

<t>The client SHOULD request and the server SHOULD provide OCSP responses in the "CertificateEntry".
</t>

</section>  <!-- tls13-cert-stat -->

</section>  <!-- tls13-reqts -->


<section anchor="sec-considerations" title="Security Considerations">

<t>Most of the security considerations for this document are described in <xref target="RFC5246" />, <xref target="RFC8446" />, <xref target="RFC6347" />, and <xref target="ID.dtls13" />.  In addition, the security consideration for ECC related to TLS are described in <xref target="RFC8422" />, <xref target="RFC5288" /> and <xref target="RFC5289" />. Readers should consult those documents.
</t>

<t>In order to meet the goal of a consistent security level for the entire cipher suite, CNSA (D)TLS implementations MUST only use the Elliptic Curves, RSA schemes and Finite Fields defined in <xref target="ecc-curves" />, <xref target="rsa-schemes" />, and <xref target="ff-groups" />.  Otherwise, it is possible to have a set of symmetric algorithms with much weaker security properties than the asymmetric algorithms.
</t>

<t>As noted in TLS version 1.3 <xref target="RFC8446" />, TLS does not provide inherent replay protections for early data.  For this reason, this profile forbids the use of early data.
</t>

</section>  <!-- sec-considerations -->

<section anchor="iana-considerations" title="IANA Considerations">

<t>This document has no IANA actions.</t>

</section> <!-- iana-considerations -->

</middle>

<back>       <!--  ===== BACK MATTER ===== -->

   <references title="Normative References">

<reference anchor="AES" target="https://nvlpubs.nist.gov/nistpubs/fips/NIST.FIPS.197.pdf">
<front>
  <title>Specification for the Advanced Encryption Standard (AES)</title>
  <author>
    <organization>National Institute of Standards and Technology</organization>
  </author>
  <date month="November" year="2001" />
</front>
<seriesInfo name="FIPS" value="197"></seriesInfo>
</reference> <!-- AES -->

<reference anchor="CNSA" target="https://www.cnss.gov/CNSS/issuances/Policies.cfm">
<front>
  <title>Use of Public Standards for Secure Information Sharing</title>
  <author>
    <organization>Committee for National Security Systems</organization>
  </author>
  <date month="October" year="2016"></date>
</front>
<seriesInfo name="CNSSP" value="15" />
</reference> <!-- CNSA -->

<reference anchor="DSS" target="http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf">
<front>
  <title>Digital Signature Standard (DSS)</title>
  <author>
    <organization>National Institute of Standards and Technology</organization>
  </author>
  <date month="July" year="2013" />
</front>
<seriesInfo name="NIST Federal Information Processing Standard" value="186-4" />
</reference>  <!-- DSS -->

<reference anchor="GCM" target="https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf">
<front>
  <title>Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode 
(GCM) and GMAC</title>
  <author>
    <organization>National Institute of Standards and Technology</organization>
  </author>
  <date month="November" year="2007" />
</front>
<seriesInfo name="NIST Special Publication" value="800-38D" />
</reference>  <!-- GCM -->

<reference anchor="PWKE-A" target="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Ar3.pdf">
<front>
  <title>Recommendation for Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryptography</title>
  <author>
    <organization>National Institute of Standards and Technology</organization>
  </author>
  <date month="April" year="2018" />
</front>
<seriesInfo name="NIST Special Publication" value="800-56A, Revision 3" />
</reference>  <!-- PWKE-A -->

<reference anchor="PWKE-B" target="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Br2.pdf">
<front>
  <title>Recommendation for Pair-Wise Key Establishment Schemes Using Integer Factorization Cryptography</title>
  <author>
    <organization>National Institute of Standards and Technology</organization>
  </author>
  <date month="March" year="2019" />
</front>
<seriesInfo name="NIST Special Publication" value="800-56B, Revision 2" />
</reference>  <!-- PWKE-B -->

<reference anchor="SHS" target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf">
<front>
  <title>Secure Hash Standard (SHS)</title>
  <author>
    <organization>National Institute of Standards and Technology</organization>
  </author>
  <date month="August" year="2015" />
</front>
<seriesInfo name="NIST Federal Information Processing Standard" value="180-4" />
</reference>  <!-- SHS -->

&rfc2119;
&rfc5246;
&rfc5288;
&rfc5289;
&rfc6066;
&rfc6347;
&rfc6961;
&rfc7919;
&rfc8017;
&rfc8174;
&rfc8422;
&rfc8446;
&rfc8603;

<reference anchor="ID.dtls13" target="https://datatracker.ietf.org/doc/draft-ietf-tls-dtls13/">
<front>
  <title>The Datagram Transport Layer Security (DTLS) Protocol Version 1.3</title>
  <author initials="E." surname="Rescorla" />
  <author initials="H." surname="Tschofenig" />
  <author initials="N." surname="Modadugu" />
  <date month="March" year="2019" />
</front>
<annotation>Work in progress.</annotation>
</reference>  <!-- dtls13 -->

    </references>


    <references title="Informative References">

<reference anchor="SP80059" target="https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-59.pdf">
  <front>
    <title>Guideline for Identifying an Information System as a National Security System</title>
    <author>
      <organization>National Institute of Standards and Technology</organization>
    </author>
    <date month="August" year="2003" />
  </front>
  <seriesInfo name="Special Publication 800" value="59" />
</reference> <!-- SP80059 -->

<reference anchor="SECG" target="http://www.secg.org/download/aid-784/sec2-v2.pdf">
<front>
  <title>SEC 2: Recommended Elliptic Curve Domain Parameters</title>
  <author initials="D." surname="Brown" />
  <date month="February" year="2010" />
</front>
</reference>  <!-- SECG -->


    </references>

</back>       <!--  ===== END BACK MATTER ===== -->

</rfc>
