<?xml version='1.0' encoding='utf-8'?>

<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;"> <!-- word joiner -->
  <!ENTITY mu      "&#956;"> <!-- Greek letter mu -->
]>

<rfc
      xmlns:xi="http://www.w3.org/2001/XInclude"
      category="info"
      docName="draft-becker-cnsa2-tls-profile-03"
      ipr="trust200902"
      obsoletes=""
      updates=""
      submissionType="IETF"
      xml:lang="en"
      tocInclude="true"
      tocDepth="4"
      symRefs="true"
      sortRefs="true"
      version="3"
	  consensus="true">

<front>

   <title abbrev="CNSA2 TLS Profile">Commercial National Security Algorithm (CNSA) Suite 2.0 Profile for TLS 1.3</title>
    <seriesInfo name="Internet-Draft" value="draft-becker-cnsa2-tls-profile-03"/>

    <author fullname="Alison Becker" initials="A." surname="Becker">
      <organization></organization>
      <address>
        <email>aebecke@uwe.nsa.gov</email>
      </address>
    </author>
	
    <author fullname="Michael Jenkins" initials="M." surname="Jenkins">
      <organization abbrev="National Security Agency">National Security Agency</organization>
      <address>
        <email>mjjenki@cyber.nsa.gov</email>
      </address>
    </author>
 
    <date year="2026"/>

    <abstract>
      <t>This document defines a base profile of TLS 1.3 which is compliant with the US Commercial National Security Algorithm (CNSA) 2.0 Suite, a cybersecurity advisory published by the United States Government which outlines quantum-resistant cryptographic algorithm policy for US national security applications.</t>
	  
	  <t>This profile applies to the capabilities, configuration, and operation of all components of US National Security Systems that employ TLS 1.3. It is also appropriate for all other US Government systems that process high-value information.</t>
	  
	  <t>This memo is not an IETF standard, and has not been shown to have IETF community consensus. This profile is made publicly available for use by developers and operators of these and any other system deployments.</t>

     </abstract>
	
</front>
  
<middle>

    <section numbered="true" toc="default">
      <name>Introduction</name>
	  
		<t>This document specifies a profile of TLS 1.3 <xref target="RFC8446" format="default"/> to comply with the National Security Agency's (NSA) Commercial National Security Algorithm (CNSA) 2.0 Suite <xref target="cnsafaq" format="default"/>. This profile applies to the capabilities, configuration, and operation of all components of US National Security Systems (NSS) <xref target="SP80059" format="default"/> that employ TLS 1.3. This profile is also appropriate for all other US Government systems that process high-value information, and 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 cryptographic algorithm, and does not specify how to use any cryptographic algorithm not currently supported by TLS 1.3; instead, it profiles CNSA 2.0-compliant conventions for TLS 1.3, and uses algorithms already specified for use in TLS 1.3 that are also allowed by the CNSA Suite 2.0. This document applies to all CNSA Suite solutions that make use of TLS 1.3. 
		</t>
		
		<t>The reader is assumed to have familiarity with <!-- <xref target="RFC8446" format="default"/>, <xref target="I-D.ietf-tls-mlkem" format="default"/>, <xref target="I-D.ietf-tls-mldsa" format="default"/>, and --> <xref target="I-D.ietf-tls-8773bis" format="default"/>. 
		</t>
		
		<t>This memo is not an IETF standard, and has not been shown to have IETF community consensus.</t>
		
		<t>This document obsoletes the CSNA 1.0 guidance in <xref target="RFC9151" format="default" /> for TLS 1.3. Servers and clients that also support TLS 1.2 (such as, during transition) MUST continue to comply with that guidance.</t>

		
<!--
		<t>[ED NOTE: This document uses guidance from <xref target="I-D.ietf-tls-mlkem" format="default"/>, and <xref target="I-D.ietf-tls-mldsa" format="default"/> to specify use of ML-KEM and ML-DSA in TLS 1.3, respectively. We note that the drafts are not yet RFCs, and we may need to adjust this text accordingly based on the progress of these documents.]
		</t>
-->
  
	</section>


    <section numbered="true" toc="default">
      <name>Terminology</name>
      
	  <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119" format="default"/> <xref target="RFC8174" format ="default"/> when, and only when, they appear in all capitals, as shown here. Normative language does not apply beyond the scope of this profile.
	  </t>
	  
	  <t> This is a profile of TLS 1.3 <xref target="RFC8446" format="default"/>. Therefore, the requirements language in this memo may be different than that found in the underlying standards. 
	  </t>
	  
	  <t>All references to "CNSA" in this document refer to CNSA 2.0 <xref target="cnsafaq" format="default"/>, unless stated otherwise. 
	  </t>
	  
    </section>
	
    <section numbered="true" toc="default">
      <name>The Commercial National Security Algorithm Suite 2.0</name>
	  
	    <t>The CNSA Suite is the set of approved commercial algorithms that can be used by vendors and IT users to meet cybersecurity and interoperability requirements for NSS. The initial suite of CNSA Suite algorithms, Suite B, established a baseline for use of commercial algorithms to protect classified information. The following suite, CNSA 1.0, served as a bridge between the original set and a fully quantum-resistant cryptographic capability. The current suite, CNSA 2.0, seeks to provide fully quantum-resistant protection <xref target="cnsafaq" format="default"/>. 
		</t>
		
		<t>This profile uses CNSA 2.0 compliant algorithms: ML-DSA-87 <xref target="FIPS204" format="default"/> for signing, and ML-KEM-1024 <xref target="FIPS203" format="default"/> for key establishment. ML-DSA-87 and ML-KEM-1024 together with SHA-384, SHA-512, AES-256, LMS, and XMSS comprise the CNSA Suite 2.0. 
		</t>
		
		<t>The NSA is authoring a set of RFCs, including this one, to provide updated guidance for using the CNSA 2.0 Suite in certain 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 NSS. 
		</t>
    </section>

	<section numbered="true" toc="default">
	  <name>CNSA 2.0 Suite</name>
	  
	    <t> CNSA requires the following algorithms for use in TLS 1.3: 
		</t>
		
		<t> Encryption: 
		</t>
		
		<t indent="3"> AES <xref target="AES" format="default"/> with 256-bit keys, operating in Galois Counter Mode (GCM) <xref target="GCM" format="default"/>  ({0x13, 0x02} Appendix B.4 <xref target="RFC8446" format="default"/>)
		</t>
		
	    <t> Key Establishment: 
		</t>
		
		<t indent="3">ML-KEM-1024 <xref target="FIPS203" format="default"/> ({0x0202} MLKEM1024<!--, Section 4.1 of <xref target="I-D.ietf-tls-mlkem" format="default"/> -->)
		</t>
		
		<t>Digital Signature
		</t>
		
		<t indent="3">ML-DSA-87 <xref target="FIPS204" format="default"/> ({0x0906} MLDSA87<!--, Section 3 of <xref target="I-D.ietf-tls-mldsa" format="default"/> -->)
		</t>
		
		<t>The ML-DSA algorithm incorporates an internal hashing function, so there is no need to apply a hashing algorithm before signing. Where an application or implementation makes it more efficient to perform hashing externally, the external-μ mechanism described in Step 6 of Algorithm 7 of <xref target="FIPS204" /> and Section 8 of <xref target="RFC9881" /> MAY be used. HashML-DSA is not permitted.</t>
		
		<t>CNSA requires the use of SHA-384 <xref target="SHS" format="default"/> for the HMAC-based Key Derivation Function (HKDF) in TLS 1.3. 
		</t>
	
	</section>

	
    <section numbered="true" toc="default">
      <name>Compliance and Interoperability</name>
	  
	  <t>In some situations, clients or servers configured for CNSA compliance also have to interoperate with non-compliant clients and servers. Compliant clients and servers MUST be configured such that CNSA compliance is preferred even if it is not intended or expected. CNSA-compliant implementations MUST present CNSA compliant algorithms first in the appropriate extensions, and CNSA-compliant algorithms MUST be used when supported by the peer. If any aspect of CNSA compliance is not achieved, the connection is not CNSA compliant. Any connection negotiated to TLS version 1.2 or lower cannot be CNSA compliant.
	  </t>
	  
	  <t>If interoperability with non-CNSA-compliant clients or servers is not intended, then the session MUST fail if any aspect of CNSA compliance is not achieved. 
	  </t>

	</section>
	  
	 
   <section numbered="true" toc="default">
      <name>TLS Version</name>
	  
		 <t> CNSA TLS clients and servers MUST negotiate TLS version 1.3 <xref target="RFC8446" format="default"/> when establishing a CNSA-compliant connection. CNSA TLS clients and CNSA TLS servers MUST NOT negotiate TLS versions prior to TLS 1.3 in a CNSA-compliant mode.   
		 </t>
		 
	    <section numbered="false" toc="default"> 
		   <name>"supported_versions" Extension</name>
		   <t>A CNSA TLS client connecting to a CNSA TLS server MUST include the "supported_versions" extension in the ClientHello (Section 4.2.1 of <xref target="RFC8446" format="default"/>) and list TLS 1.3 version value (0x0304) first in the extension. </t>
		</section>
		 
	</section>

	
	<section numbered="true" toc="default">
	  <name>Key Exchange Messages</name>
	  
	    <t>This section details requirements for CNSA 2.0-compliant algorithm negotiation in TLS 1.3.  
		</t>
	 
	  <section numbered="true" toc="default">
	    <name>Cipher Suite Negotiation</name>
	  
	      <t>A CNSA TLS client MUST offer the following cipher suite in the ClientHello:  
		  </t>
		  
		  <t indent="3">TLS_AES_256_GCM_SHA384 {0x13, 0x02} (Appendix B.4 <xref target="RFC8446" format="default"/>)
		  </t>
		  
		  <t>This CNSA cipher suite MUST be the first (most preferred) cipher suite in the ClientHello message and in the extensions.  
		  </t>
		  
		  <t>A CNSA TLS server MUST select this cipher suite if offered by the client.
		  </t>
		  
		  <t>Any cipher suite other than TLS_AES_256_GCM_SHA384 offered by the client MUST NOT be accepted by a CNSA TLS server establishing a CNSA-compliant connection.
		  </t>		  
		  
	  </section> 
	  
	  <section numbered="true" toc="default">
	    <name>KEM Requirements</name>
	  
	      <t>CNSA 2.0 requires the use of ML-KEM-1024 for key establishment in TLS.  
		  </t>
		  
		<section numbered="true" toc="default">
	      <name>"supported_groups" Extension</name>
	  
	        <t>A CNSA TLS client MUST offer the following value in named_group_list of the "supported_groups" extension (Section 4.2.7 <xref target="RFC8446" format="default"/>) of the ClientHello:
		    </t>
			
			<t indent="3">ML-KEM-1024 {0x0202} <!-- (Section 4.1 <xref target="I-D.ietf-tls-mlkem" format="default"/>) -->
			</t>
			
			
			<t>ML-KEM-1024 MUST be the first (most preferred) item in named_group_list. 
			</t>
			
			<t>A CNSA TLS server MUST select ML-KEM-1024 if it is included in the "supported_groups" extension sent by a CNSA TLS client in the ClientHello.  
			</t>
			
			<t>Any algorithm other than ML-KEM-1024 offered by the client MUST NOT be accepted by a CNSA TLS server establishing a CNSA-compliant connection. 
			</t>
	    </section>  
		
		<section numbered="true" toc="default">
	      <name>"key_share" Extension</name>
	  
<!--
	        <t>In order to facilitate use of a KEM, the public key and ciphertext are sent via the "key_share" extension in the ClientHello and ServerHello, respectively <xref target="I-D.ietf-tls-mlkem" format="default"/>. Specifically, the public key, generated from the ML-KEM-1024 KeyGen algorithm is sent by the client in the KeyShareClientHello value of the extension_data field in the "key_share" extension. The KEM ciphertext generated from the ML-KEM-1024 Encaps algorithm is then transmitted from the server back to the client via the KeyShareServerHello value of the extension_data field of the extension.
		    </t>
			
			<t> [ED NOTE: Much of this guidance is written in <xref target="I-D.ietf-tls-mlkem" format="default"/> but as it's in draft form, we rewrite here for clarity.]
			</t>
-->			
			<t>The "key_share" extension in a CNSA TLS client ClientHello MUST contain the ML-KEM-1024 public key <!-- (Section 4.2, <xref target="I-D.ietf-tls-mlkem" format="default"/>) -->.
			</t>
			
			<t>The ML-KEM-1024 public key must be the first (most preferred) key in the list of key shares.  
			</t>
			
			<t>A CNSA TLS server MUST select the ML-KEM-1024 key share for key establishment, and the "key_share" extension in a CNSA TLS server ServerHello MUST contain the ML-KEM-1024 ciphertext associated to the public key provided in the ClientHello <!-- (Section 4.2, <xref target="I-D.ietf-tls-mlkem" format="default"/> -->. 
			</t>
			
	    </section>
		
	  </section>	  
	
	</section> 
	 
	<section numbered="true" toc="default">
	  <name>Authentication Messages</name>
	  
	    <t>A CNSA TLS client MUST require the server to authenticate itself. In all cases, a CNSA TLS client MUST authenticate the server using X.509 certificates; PSK-based authentication MAY be used in addition to certificate-based authentication as detailed in Section 7.
		</t>
		
		<t>A CNSA TLS server MAY also authenticate the client as needed by the specific application. If mutual authentication is desired, X.509 certificates MUST be used in all cases.
		</t>
		
	  <section numbered="true" toc="default">
	    <name>"signature_algorithms" Extension</name>
		  
	      <t>A CNSA TLS client MUST offer the following value in the "signature_algorithms" extension of the ClientHello:
		  </t>
		  
		  <t indent="3">ML-DSA-87 {0x0906} <!-- (Section 3 <xref target="I-D.ietf-tls-mldsa" format="default"/>) --> 
		  </t>
		  
		  <t>The ML-DSA-87 algorithm must be the first (most preferred) value in the extension. 
		  </t>
		  
		  <t>Any signature algorithm values offered other than ML-DSA-87 MUST NOT be accepted by a CNSA TLS server establishing a CNSA-compliant connection.
		  </t>
		  
	  </section>

	  <section numbered="true" toc="default">
	    <name>"signature_algorithms_cert" Extension</name>
	      <t>Per <xref target="RFC8446" format="default"/>, the "signature_algorithms_cert" extension applies to signatures in certificates, while the "signature_algorithms" extension (Section 6.1) applies to signatures in CertificateVerify messages.</t>
		  
	      <t>The "signature_algorithms_cert" extension is not required for a CNSA-compliant connection, as ML-DSA-87 is the only allowed signature algorithm that can be used for both signatures in the certificate and in the CertificateVerify message under CNSA compliance.
		  </t>
		  
		  <t>However, if the "signature_algorithms_cert" extension is included, the CNSA TLS client MUST offer the following value first in the "supported_signature_algorithms" field of the extension:
		  </t>		  
		  
		  <t indent="3">ML-DSA-87 {0x0906} <!-- (Section 3 <xref target="I-D.ietf-tls-mldsa" format="default"/>) -->
		  </t>		  
		  
		  <t>Any signature algorithm offered other than ML-DSA-87 MUST NOT be accepted by a CNSA TLS server establishing a CNSA-compliant connection.
		  </t>		  
		  
		    
	  </section>
	  
	  <section numbered="true" toc="default">
	    <name>CertificateRequest Message</name>
	      
		  <t>A CNSA TLS server MAY authenticate the client as needed by the specific application.  
		  </t>
		  
		  <t>If the CNSA TLS server requires mutual authentication, it MUST authenticate the client using X.509 certificates.
		  </t>
		  
		  <t>The "signature_algorithms" extension sent by the CNSA TLS server in the CertificateRequest message MUST include: 
		  </t>

		  <t indent="3">ML-DSA-87 {0x0906} <!-- (Section 3 <xref target="I-D.ietf-tls-mldsa" format="default"/>) -->
		  </t>		  

		  <t>The "signature_algorithms_cert" extension is not required, but if it is included by the CNSA TLS server in the CertificateRequest message, then it MUST include:
		  </t>		  

		  <t indent="3">ML-DSA-87 {0x0906} <!-- (Section 3 <xref target="I-D.ietf-tls-mldsa" format="default"/>) -->
		  </t>		  
		  
		  <t>ML-DSA-87 MUST be the first (most preferred) algorithm in the "signature_algorithms" and "signature_algorithms_cert" extensions.  
		  </t>

		  
	  </section>

	  <section numbered="true" toc="default">
	    <name>Certificate Selection</name>
		  
		  <t>Certificates sent by a CNSA TLS server (and CNSA TLS client, when required) MUST be signed by ML-DSA-87, and MUST be compliant with the CNSA Certificate and Certificate Revocation List Profile <xref target="I-D.jenkins-cnsa2-pkix-profile" format="default"/>. If the client cannot validate the server certificate for any reason, it must abort the handshake.
		  </t>
		  
		  <t>If a CNSA TLS server sends a CertificateRequest message to the client, the client MUST respond with a valid X.509 certificate suitable for authenticating the client. If the CNSA TLS client sends an empty Certificate message, the CNSA TLS server MUST abort the handshake (Section 4.4.2.4 of <xref target="RFC8446" format="default"/>). Also, if some aspect of the certificate chain was unacceptable (e.g., it was not signed by a known, trusted CA), the server MUST abort the handshake.  
		  </t>
		  
	  </section>	  

	  <section numbered="true" toc="default">
	    <name>CertificateVerify Message</name>
	  
	      <t>A CNSA TLS client or CNSA TLS server MUST use ML-DSA-87 when sending the CertificateVerify message. CNSA TLS clients or servers MUST accept only ML-DSA-87 in the CertificateVerify message when establishing a CNSA-compliant connection.
		  </t>
	  </section>

	</section>

	<section numbered="true" toc="default">
	  <name>External Pre-Shared Keys</name>
	  
	    <t>RFC 8773 <xref target="I-D.ietf-tls-8773bis" format="default"/> specifies an extension that allows an external PSK to be used for authentication in addition to (and not in lieu of) certificate-based authentication during the initial handshake. The PSK also contributes to the TLS 1.3 key schedule (Section 7.1, <xref target="RFC8446" format="default"/>). PSK-only authentication is not compliant beyond resumption as covered in <xref target="resump" format="default" />.
		</t>
		
		<t>A CNSA TLS client that supports RFC 8773 MUST include the "tls_cert_with_extern_psk" extension (Section 4, <xref target="I-D.ietf-tls-8773bis" format="default"/>) in the ClientHello message if it desires an external PSK to be used for authentication with certificate-based authentication. This extension is accompanied by the "key_share", "psk_key_exchange_modes", and "pre_shared_key" extensions defined in (Section 4.2.9 and 4.2.11, respectively, of <xref target="RFC8446" format="default"/>).  
		</t>
		
		<t>The "psk_key_exchange_modes" extension MUST NOT include psk_ke mode. The "psk_key_exchange_modes" extension MUST be psk_dhe_key using ML-KEM-1024.
		</t>
		
		<t>PSKs shall be at least 256 bits in length and generated from a NIST approved random bit generator that supports 256-bits of entropy <xref target="SP800-90c" format="default"/>. 
		</t>
		
		<t>If the CNSA TLS server recognizes the "tls_cert_with_extern_psk" extension and possesses at least one of the external PSKs offered by the client in the "pre_shared_key" extension in the ClientHello, then the CNSA TLS server MUST select a CNSA compliant PSK and respond with the "tls_cert_with_extern_psk", "key_share", and "pre_shared_key" extensions in the ServerHello message (Section 4, <xref target="I-D.ietf-tls-8773bis" format="default"/>).  
		</t>
		
		
	</section>
	  
    <section numbered="true" toc="default" anchor="resump">
	  <name>Resumption</name>
	  
	    <t>A CNSA TLS server MAY send a CNSA TLS client a NewSessionTicket message to enable resumption. A CNSA TLS client MUST request "psk_dhe_ke" via the "psk_key_exchange_modes" extension in the ClientHello to resume a session. The "supported_groups" and "key_share" extensions MUST comply with those detailed in Section 5.2.1 and Section 5.2.2 of this document, respectively.  
	    </t>
	</section>

    <section numbered="true" toc="default">
	  <name>Certificate Status</name>
	  
	    <t>A CNSA TLS server (and CNSA TLS client, if client authentication is required) MUST provide certificate status information either via a Certificate Revocation List (CRL) distribution points or by the Online Certificate Status Protocol (OCSP) (with or without stapling). For details on CNSA requirements for these methods, see  <xref target="I-D.jenkins-cnsa2-pkix-profile" format="default"/>. 
	    </t>
	</section>
	 
    <section numbered="true" toc="default">
	  <name>"early_data" Extension</name>
	  
	    <t>A CNSA TLS client or server MUST NOT include the "early_data" extension.  
	    </t>
	</section>
	
	<section numbered="true" toc="default">
	  <name> DTLS 1.3</name>
	   <t>CNSA DTLS clients and servers MUST negotiate DTLS version 1.3, <xref target="RFC9147" format="default"/> when establishing a CNSA-compliant connection. DTLS 1.3, 0xfefc, MUST be listed first in the "supported _versions" extension sent by the CNSA DTLS client. CNSA DTLS clients and CNSA DTLS servers MUST NOT negotiate DTLS versions prior to DTLS 1.3 in a CNSA-compliant mode. 
	   </t>
	   
	   <t> A CNSA DTLS client MUST offer the cipher suite TLS_AES_256_GCM_SHA384 {0x13, 0x02} as the first (most preferred) cipher suite in the ClientHello message. 
	   </t>
	   
	   <t> For key establishment, CNSA DTLS clients and servers MUST negotiate use of ML-KEM-1024 {0x0202} <!-- (Section 4.1 <xref target="I-D.ietf-tls-mlkem" format="default"/>) -->.
	   </t>
	
	   <t> For authentication, CNSA DTLS clients and servers MUST negotiate use of ML-DSA-87 as the signature algorithm used in the "signature_algorithms" extension (and the "signature_algorithms_cert" extension, if present). 
	   </t>
	   
	   <t>DTLS implementations MUST be consistent with the requirements of TLS defined in this document, except as specified in this section.
	   </t>
	   
	</section>
	
    <section numbered="true" toc="default">
	  <name>Security Considerations</name>
	  
	    <t>Most of the security considerations for this document are described in <xref target="RFC8446" format="default"/>, <xref target="I-D.ietf-tls-8773bis" format="default"/>. <!-- Additional security considerations for the use of ML-KEM and ML-DSA in TLS 1.3 can be found in <xref target="I-D.ietf-tls-mlkem" format="default"/> and <xref target="I-D.ietf-tls-mldsa" format="default"/>, respectively -->
	    </t>
		
		<t>As noted in TLS version 1.3 <xref target="RFC8446" format="default"/>, TLS does not provide inherent replay protections for early data. For this reason, this profile forbids the use of early data.  
		</t>
		
	</section>
	
    <section numbered="true" toc="default">
	  <name>IANA Considerations</name>
	  
	    <t>This document has no IANA considerations.
	    </t>
	</section>
	 
  </middle>
  
  
  <!--  *****BACK MATTER ***** -->

 <back>
    <!-- References split into informative and normative -->

   <references>
      <name>References</name>
		<references>
		  <name>Normative References</name>
			
			<!--  ***** RFC terms ***** -->
			<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
			
			<!--  ***** RFC terms2 ***** -->
			<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
			
			<!--  ***** AES ***** -->
			<reference anchor="AES" target="https://nvlpubs.nist.gov/nistpubs/fips/NIST.FIPS.197.pdf" quoteTitle="true" derivedAnchor="AES">
			  <front>
				<title>Announcing the ADVANCED ENCRYPTION STANDARD (AES)</title>
				<author>
				  <organization showOnFrontPage="true">National Institute of Standards and Technology</organization>
				</author>
				<date month="November" year="2001"/>
			  </front>
			  <seriesInfo name="FIPS" value="197"/>
			  <seriesInfo name="DOI" value="10.6028/NIST.FIPS.197"/>
			</reference>
			
			<!--  ***** GCM ***** -->		
			<reference anchor="GCM" target="https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf" quoteTitle="true" derivedAnchor="GCM">
			  <front>
				<title>Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC</title>
				<author fullname="Morris Dworkin" initials="M" surname="Dworkin"/>
				<date month="November" year="2007"/>
			  </front>
			  <seriesInfo name="NIST Special Publication" value="800-38D"/>
			  <seriesInfo name="DOI" value="10.6028/NIST.SP.800-38D"/>
			</reference>

			<!--  ***** SHA ***** -->
			<reference anchor="SHS" target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf" quoteTitle="true" derivedAnchor="SHS">
			  <front>
				<title>Secure Hash Standard (SHS)</title>
				<author>
				  <organization showOnFrontPage="true">National Institute of Standards and Technology (NIST)</organization>
				</author>
				<date month="August" year="2015"/>
			  </front>
			  <seriesInfo name="DOI" value="10.6028/NIST.FIPS.180-4"/>
			  <seriesInfo name="FIPS PUB" value="180-4"/>
			</reference>

			<!--  ***** ML-KEM FIPS ***** -->
			<reference anchor="FIPS203" target="https://doi.org/10.6028/NIST.FIPS.203" quoteTitle="true" derivedAnchor="FIPS203">
			  <front>
				<title>Module-Lattice-Based Key-Encapsulation Mechanism Standard</title>
				<seriesInfo name="(Department of Commerce, Washington, D.C.)," value="Federal Information Processing Standards Publication (FIPS)"/>
				<author>
				  <organization showOnFrontPage="true">National Institute of Standards and Technology (2024)</organization>
				</author>
			  </front>
			  <seriesInfo name="NIST FIPS" value="203"/>
			</reference>
		
			<!--  ***** ML-DSA FIPS ***** -->
			<reference anchor="FIPS204" target="https://doi.org/10.6028/NIST.FIPS.204" quoteTitle="true" derivedAnchor="FIPS204">
			  <front>
				<title>Module-Lattice-Based Digital Signature Standard</title>
				<seriesInfo name="(Department of Commerce, Washington, D.C.)," value="Federal Information Processing Standards Publication (FIPS)"/>
				<author>
				  <organization showOnFrontPage="true">National Institute of Standards and Technology (2024)</organization>
				</author>
			  </front>
			  <seriesInfo name="NIST FIPS" value="204"/>
			</reference>

			<!--  ***** TLS 1.3 8446 ***** -->
			<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8446.xml"/>	

			<!--  ***** DTLS 1.3 9147 ***** -->
			<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.9147.xml"/>
			<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.9151.xml"/>
			<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.9881.xml"/>

<!--            ***** ML-KEM TLS ***** 
			 <reference anchor="I-D.ietf-tls-mlkem" target="https://datatracker.ietf.org/doc/draft-ietf-tls-mlkem/">
			 <front>
				<title>ML-KEM Post-Quantum Key Agreement for TLS 1.3</title>
				<author initials="D." surname="Connolly" fullname="D. Connolly">
				  <organization/>
				</author>
				<date month="April" year="2025"/>
			 </front>
			</reference>			
		
				***** ML-DSA TLS ***** 
			 <reference anchor="I-D.ietf-tls-mldsa" target="https://datatracker.ietf.org/doc/draft-ietf-tls-mldsa/">
			 <front>
				<title>Use of ML-DSA in TLS 1.3</title>
				<author initials="T." surname="Hollebeek" fullname="T. Hollebeek">
				  <organization/>
				</author>
				<author initials="S." surname="Schmieg" fullname="S. Schmieg">
				  <organization/>
				</author>
				<author initials="B." surname="Westerbaan" fullname="B. Westerbaan">
				  <organization/>
				</author>
				<date month="May" year="2025"/>
			 </front>
			</reference>	
-->

			<!--  ***** CNSA 2.0 ***** -->
			<reference anchor="cnsafaq" target="https://media.defense.gov/2022/Sep/07/2003071836/-1/-1/0/CSI_CNSA_2.0_FAQ_.PDF" quoteTitle="true" derivedAnchor="cnsafaq">
			  <front>
				<title>The Commercial National Security Algorithm Suite 2.0 and Quantum Computing FAQ</title>
				<seriesInfo name="December" value="2024"/>
				<author>
				  <organization showOnFrontPage="true">National Security Agency</organization>
				</author>
			  </front>
			</reference>

			<!--  ***** CNSA2 PKIX ***** -->
			<reference anchor="I-D.jenkins-cnsa2-pkix-profile" target="https://datatracker.ietf.org/doc/draft-jenkins-cnsa2-pkix-profile/">
			 <front>
				<title>Commercial National Security Algorithm Suite Certificate and Certificate Revocation List Profile</title>
				<author initials="M." surname="Jenkins" fullname="M. Jenkins">
				  <organization/>
				</author>
				<author initials="A." surname="Becker" fullname="A. Becker">
				  <organization/>
				</author>
				<date month="January" year="2025"/>
			 </front>
			</reference>	

			<!--  ***** TLS PSK ***** -->
			<reference anchor="I-D.ietf-tls-8773bis" target="https://datatracker.ietf.org/doc/draft-ietf-tls-8773bis/02/">
			 <front>
				<title>TLS 1.3 Extension for Using Certificates with an External Pre-Shared Key</title>
				<author initials="R." surname="Housley" fullname="R. Housley">
				  <organization/>
				</author>
				<date month="July" year="2024"/>
			 </front>
			</reference>
	    </references>
		
		<references>
		  <name>Informative References</name>
		
			<!--  ***** SP 800-59 ***** -->
			<reference anchor="SP80059" target="https://csrc.nist.gov/publications/detail/sp/800-59/final" quoteTitle="true" derivedAnchor="SP80059">
			  <front>
				<title>Guideline for Identifying an Information System as a National Security System</title>
				<author>
				  <organization showOnFrontPage="true">National Institute of Standards and Technology</organization>
				</author>
			  </front>
			  <seriesInfo name="Special Publication 59," value="DOI 10.6028/NIST.SP.800-59"/>
			  <seriesInfo name="August" value="2003"/>
			</reference>

			<!--  ***** SP 800-90c ***** -->
			<reference anchor="SP800-90c" target="https://doi.org/10.6028/NIST.SP.800-90C.4pd" quoteTitle="true" derivedAnchor="SP80059">
			  <front>
				<title>Recommendation for Random Bit Generator (RBG) Constructions.</title>
				<author>
				  <organization showOnFrontPage="true">National Institute of Standards and Technology</organization>
				</author>
			  </front>
			  <seriesInfo name="NIST SP" value="800-90C 4pd"/>
			</reference>
		
      </references>
	  </references>
			 
 </back>
</rfc>
