<?xml version='1.0' encoding='utf-8'?>

<rfc
      xmlns:xi="http://www.w3.org/2001/XInclude"
      category="info"
      docName="draft-becker-cnsa2-ssh-profile-02"
      ipr="trust200902"
      obsoletes="9212"
      updates=""
      submissionType="IETF"
      xml:lang="en"
      tocInclude="true"
      tocDepth="4"
      symRefs="true"
      sortRefs="true"
      version="3"
	  consensus="true">


 <front>

   <title abbrev="CNSA2 SSH Profile">Commercial National Security Algorithm (CNSA) Suite Profile for SSH</title>
    <seriesInfo name="Internet-Draft" value="draft-becker-cnsa2-ssh-profile-02"/>

    <author fullname="Alison Becker" initials="A." surname="Becker">
      <organization abbrev="NSA">National Security Agency</organization>
      <address>
        <email>aebecke@uwe.nsa.gov</email>
      </address>
    </author>
	
	<author fullname="Casey Wynn" initials="C." surname="Wynn">
      <organization abbrev="NSA">National Security Agency</organization>
      <address>
        <email>cwwynn@uwe.nsa.gov</email>
      </address>
    </author>
	
    <date year="2025"/>

   <abstract>
      <t>This document defines a base profile of SSH for use 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 SSH. It is also appropriate for all other U.S. 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>
 
 
 <!--  ***** INTRO, TERMINOLOGY, CNSA ***** -->
 
    <section numbered="true" toc="default">
      <name>Introduction</name>
	    <t>This document specifies a profile of SSH <xref target="RFC4253" 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 SSH. 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 SSH; instead, it profiles CNSA 2.0-compliant conventions for SSH, and uses algorithms already specified for use in SSH that are also allowed by the CNSA Suite 2.0. This document applies to all CNSA Suite solutions that make use of SSH. 
		</t>
		
		<t>The reader is assumed to have familiarity with <xref target="RFC4253" format="default"/>, <xref target="I-D.harrison-sshm-mlkem" format="default"/>, <xref target="I-D.sfluhrer-ssh-mldsa" format="default"/>. 
		</t>
		
		<t>This memo is not an IETF standard, and has not been shown to have IETF community consensus.</t>
		
		<t>[ED NOTE: This document uses guidance from <xref target="I-D.harrison-sshm-mlkem" format="default"/>, and <xref target="I-D.sfluhrer-ssh-mldsa" format="default"/> to specify use of ML-KEM and ML-DSA in SSH, 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 SSH <xref target="RFC4253" 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</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 SHA384, SHA512, 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>


<!--  ***** CNSA 2.0 GENERAL GUIDANCE ***** -->

	<section numbered="true" toc="default">
	  <name>CNSA 2.0 Compliance</name>
	  <t>The purpose of this document is to provide guidance for CNSA-compliant implementations of the Secure Shell (SSH) protocol <xref target="RFC4253" format="default"/>. Note that, while compliant Secure Shell implementations MUST follow the guidance in this document, that requirement does not in and of itself imply that a given implementation of Secure Shell is suitable for use in NSS.  An implementation must be validated by the appropriate authority before such usage is permitted. </t>
	  
	<section numbered="true" toc="default">
	  <name>CNSA 2.0 Suite</name>
		<t>The choice of all but the user authentication methods is determined by the exchange of SSH_MSG_KEXINIT between the client and the server. The algorithms provided in the name-lists specified in SSH_MSG_KEXINIT are listed in order of preference. CNSA-compliant implementations MUST list the following algorithms as the first (most preferred) algorithms in their respective name-lists. </t>
		
		<t>Key Exchange Algorithms: </t>
		
		<t indent="3"> mlkem1024-sha384 (Section 3.1.3 <xref target="I-D.harrison-sshm-mlkem" format="default"/>), <xref target="FIPS203" format="default"/>, <xref target="SHS" format="default"/> 
		</t>
		
		<t>Public Key Algorithms: </t>
		
		<t indent="3"> ML-DSA-87 (ssh-mldsa87) (Section 8 <xref target="I-D.sfluhrer-ssh-mldsa" format="default"/>), <xref target="FIPS204" format="default"/> 
		</t>
		
		<t>Encryption Algorithms:</t>
		
		<t indent="3">AEAD_AES_256_GCM <xref target="RFC5647" format="default"/> </t>
		<t indent="3">aes256-gcm@openssh.com </t>
		
		<t>MAC Algorithms (both client_to_server and server_to_client):</t>
		
		<t indent="3">AEAD_AES_256_GCM <xref target="RFC5647" format="default"/></t>
		
		<t>Any algorithms not appearing in the above list MUST NOT be negotiated for use in a CNSA-compliant implementation of SSH. </t>
		
		<t>The procedures for applying the negotiated algorithms are given in the following sections.
		</t>
		
	</section>
    </section>
	
	
<!--  ***** TRANSPORT LAYER ***** -->	

	<section numbered="true" toc="default">
      <name>Transport Layer</name>
	
		  
	<!--  ***** SSH_MSG_KEXINIT OVERVIEW ***** -->	  
	
		<section numbered="true" toc="default">
          <name>SSH_MSG_KEXINIT Overview</name>
			<t>The server and client use the SSH_MSG_KEXINIT exchange [<xref target="RFC4253" format="default"/>, Section 7.1] to negotiate the following name-lists:</t>
				<ul empty="true" spacing="normal">
					<li>kex_algorithms</li>	
					<li>server_host_key_algorithms</li>
					<li>encryption_algorithms (client_to_server and server_to_client)</li>
					<li>mac_algorithms (client_to_server and server_to_client </li>
				</ul>
			<t>The kex_algorithms name-list is used to negotiate key exchange algorithms and hash used in the exchange hash. This is discussed further in Section 5.2. </t>
			
			<t>The server_host_key_algorithms name-list is used to identify the algorithms for which the server has host keys, and which the client is willing to accept. This is discussed in Section 5.3.  </t>
			
			<t>The encryption_algorithms and mac_algorithms name-lists are used to negotiate symmetric encryption and MAC algorithm. These name-lists are discussed in more detail in Section 5.4. </t>
			
		</section>
		
	<!--  *****Key Exchange ***** -->		
		
		<section numbered="true" toc="default">
          <name>Key Exchange</name>
		    <t> This document does not preclude implementations that contain algorithms other than those specified in CNSA 2.0, such as the mandatory-to-implement algorithms listed in the Key Exchange Method Names (also known as those containing "MUST" in the OK to Implement column). However, algorithms that are not CNSA compliant must not be negotiated and used in a CNSA-compliant connection.
			</t>
			
			<t>A CNSA compliant connection MUST NOT allow the reuse of ephemeral/exchange values in a key exchange algorithm due to security concerns related to this practice. In accordance with <xref target="SP80056A" format="default"/>, an ephemeral private key shall be used in exactly one key establishment transaction and shall be destroyed (zeroized) as soon as possible. </t>
			
			<t>The key exchange algorithm and hash is determined by the kex_algorithms name-list exchanged in the SSH_MSG_KEXINIT packets [<xref target="RFC4253" format="default"/> Section 7.1], as described above.  
			</t>
			
			<t>For CNSA compliant connections, the following MUST be negotiated in the kex_algorithms name-list of SSH_MSG_KEXINIT, and MUST be the first (most preferred) choice in the list: 
			</t>
			
			<t indent="3">Key Exchange: ML-KEM-1024 MUST be used to establish a shared secret value between the client and the server. Any algorithm other than ML-KEM-1024 MUST NOT be negotiated for key exchange in a CNSA-compliant connection.  </t>
			
			<t indent="3">Hash Algorithm: The exchange hash MUST be generated using either SHA-384 or SHA-512, or the connection MUST be terminated. Any algorithm other than SHA-384 or SHA-512 MUST NOT be negotiated for hashing in a CNSA-compliant connection. </t>
			
			<t>[ED NOTE: CNSA 2.0 compliance requires the use of ML-KEM-1024 for key establishment, and SHA-384 or SHA-512 for hashing. <xref target="RFC9142" format="default"/> does not provide guidance for use of ML-KEM in SSH, but recently posted <xref target="I-D.harrison-sshm-mlkem" format="default"/> details guidance on the technical function necessary to include ML-KEM in SSH, including defining SSH_MSG_KEX_KEM_INIT and SSH_MSG_KEX_KEM_REPLY. This document is subject to change as <xref target="I-D.harrison-sshm-mlkem" format="default"/> progresses.]  </t>
			
			<t>The key exchange is started by the client and server sending an SSH_MSG_KEX_KEM_INIT message. In SSH_MSG_KEX_KEM_INIT, both the client and server MUST include </t>
			
			<t indent="3"> mlkem1024-sha384 <xref target="I-D.harrison-sshm-mlkem" format="default"/> </t>
			
			<t>in the kex_algorithms name-list, and mlkem1024-sha384 MUST be the first (most preferred) algorithm in the list. 
			</t>
			
			<t>For use of ML-KEM, the client sends the public key output, PK, of the ML-KEM KeyGen algorithm in SSH_MSG_KEX_KEM_INIT <xref target="I-D.harrison-sshm-mlkem" format="default"/>.
			</t>
			
			<t>The server then sends its reply, SSH_MSG_KEX_KEM_REPLY <xref target="I-D.harrison-sshm-mlkem" format="default"/>, which includes the ciphertext output, CT, of the ML-KEM Encaps algorithm, and the server's ephemeral public host key (or certificate).  The exchange hash is then generated and signed by the server. 
			</t>

		<t>Note that <xref target="I-D.harrison-sshm-mlkem" format="default"/> details several checks that must also be performed for the ML-KEM algorithm components. </t>
			
		</section>
		
	<!--  *****Server Host Auth ***** -->	

	
		<section numbered="true" toc="default">
			<name>Server Host Authentication</name>
			  <t>For server host authentication, the server sends the client the server_host_key_algorithms name-list packet of the SSH_MSG_KEXINIT message. For CNSA compliant connections, ML-DSA-87 MUST be listed as the first (most preferred) algorithm in server_host_key_algorithms.</t>
			  
			  <t>The server generates the exchange hash H as defined in Section 5.2 and signs it using its private host key. CNSA 2.0 compliance requires the use of ML-DSA-87 for signatures. 
			  </t>
			  
			  <t>Authentication by the client is a two-step process of validating the presented public key and verifying the signature. By default, the server sends a raw public key, but it could be an X.509 certificate.    
			  </t>
			  
			  <t>For CNSA compliant connections, servers MUST be authenticated using digital signatures. The public key algorithm implemented MUST be ML-DSA-87. Where possible, public keys SHOULD be validated with certificates, otherwise, the client MUST validate the presented public key through another secure, possibly offline, mechanism. 
			  </t>
			  
			  <t>CSNA compliant implementations MUST NOT employ a "Trust on First Use (TOFU)" security model where a client accepts the first public host key presented to it from a not-yet-verified server. If raw public key format is used, the trust anchor MUST be securely distributed. 
			  </t>
			  
			  <t>Where X.509 certificates are used, they must comply with <xref target="I-D.jenkins-cnsa2-pkix-profile" format="default"/>.
			  </t>
		</section>
	
	
		<section numbered="true" toc="default">
			<name>Encryption</name>
			  <t>One of the following sets MUST be used for the encryption_algorithms and mac_algorithms name-lists in SSH_MSG_KEXDH. Either set MAY be used for each direction (client_to_server and server_to_client):
			  </t>
			  
			  <t indent="3">encryption_algorithm_name_list := { AEAD_AES_256_GCM } </t>
			  
			  <t indent="3">mac_algorithm_name_list := { AEAD_AES_256_GCM } </t>
			  
			  <t>or</t>
			  
			  <t indent="3">encryption_algorithm_name_list := { aes256-gcm@openssh.com } </t>
			  
			  <t indent="3">mac_algorithm_name_list := {} </t>
			  
			  <t>For encryption, use of AES-GCM MUST meet the requirements in <xref target="SP80038D" format="default"/>, with the additional requirements that all 16 octets of the authentication tag MUST be used as the SSH data integrity value, and that AES is used with a 256-bit key. Use of AES-GCM in SSH should be done as described in <xref target="RFC5647" format="default"/>, with the exception that AES-GCM need not be listed as the MAC algorithm when its use is implicit (such as in aes256-gcm@openssh.com). In addition, the AES-GCM invocation counter is incremented mod 2^64: </t>
			  
			  <t indent="3">invocation_counter = invocation_counter + 1 mod 2^64 </t>
			  
			  <t>CNSA compliant implementations MUST NOT repeat a counter value, and MUST ensure the counter is properly incremented after processing a binary packet. 
			  </t>		  
		</section>	
	</section>
    
<!--  ***** USER AUTHENTICATION ***** -->	
	<section numbered="true" toc="default">
	  <name>User Authentication</name>
		<t>The user authentication protocol for authenticating the client to the server is specified in <xref target="RFC4252" format="default"/>. For CNSA compliant connections, all users MUST be authenticated as outlined in <xref target="RFC4252" format="default"/>, and SHOULD be authenticated using a public key method.  </t>
		
		<t>Specifically, all users MUST be authenticated and SHOULD be authenticated using public key. Users MAY be authenticated using passwords subject to requirements in this section. CNSA compliant connections MUST NOT use other methods of authentication, including hostbased authentication, keyboard-interactive authentication, or "none".  </t>
		
		<t>When authenticating with public key, CNSA compliant connects MUST use ML-DSA-87.  </t>
		
		<t>The server MUST verify that the public key is a valid authenticator for the user. Public key authentication is a two-step process of validating the public key and verifying the signature. In order for the server to verify the client, it must have a copy of the client's public key in advance. If possible, validation SHOULD be done using certificates. Otherwise, the server must validate the public key through another secure, possibly offline, mechanism. When certificates are used, the file can list the CA key preceded by the string "@cert-authority" instead of the user key.  </t>
		
		<t>When algorithms are negotiated in SSH_MSG_KEXINIT, the SSH protocol defined in <xref target="RFC4253" format="default"/> does not require the server to declare its supported algorithms for user host key, and the server will reject public key authentication requests for key types it does not support. For CNSA compliant connections, the client MUST use ML-DSA-87.  </t>
		
		<t>Recent OpenSSH implementations do require the server to declare its supported algorithms via mechanisms detailed in <xref target="RFC8308" format="default"/>. The client includes "ext-info-c" in the kex_algorithms field of the SSH_MSG_KEXINIT message, to indicate that it wants to negotiate an SSH extension. In OpenSSH versions 9.5 and 9.6, "ext-info-c" is automatically appended and forces the server to list the user authentication methods it supports. CNSA compliant servers MUST list ML-DSA-87.  </t>
		
		<t>If authenticating by passwords, it is essential that passwords have sufficient entropy to protect against dictionary attacks. During authentication, the password MUST be protected in the established encrypted communications channel. Additional guidance on password requirements are provided in <xref target="SP80063" format="default"/>. </t>
	</section>  
	  
<!--  ***** CONFIDENTIALITY AND DATA INTEGRITY ***** -->

	<section numbered="true" toc="default">
        <name>Confidentiality and Data Integrity</name>
		  <t>Use of AES-GCM in SSH is detailed in <xref target="RFC5647" format="default"/>. CNSA compliant implementations MUST support AES-GCM as described in SECTION, to provide confidentiality and ensure data integrity. No other confidentiality or data integrity algorithms are permitted.  </t>
		  
		  <t>As specified in <xref target="RFC5647" format="default"/>, all 16 octets of the authentication tag MUST be used as the SSH data integrity value of the SSH binary packet.  </t>
	</section>

<!--  ***** Rekeying ***** -->
	
	<section numbered="true" toc="default">
	  <name>Rekeying</name>	
	    <t>Section 9 of <xref target="RFC4253" format="default"/> allows either the server or the client to initiate a "key re-exchange ... by sending an SSH_MSG_KEXINIT packet" and to "change some or all of the [cipher] algorithms during the reexchange". For CNSA compliant implementations, the same cipher suite MUST be employed when rekeying; that is, the cipher algorithms MUST NOT be changed when a rekey occurs. </t>
	</section>
	
<!--  ***** Security Considerations ***** -->
	
	<section numbered="true" toc="default">
	  <name>Security Considerations</name>	
	    <t>Most of the security considerations for this document are described in <xref target="RFC4253" format="default"/>, <xref target="RFC5647" format="default"/>, <xref target="RFC4252" format="default"/>. Additional security considerations for the use of ML-KEM in SSH can be found in <xref target="I-D.harrison-sshm-mlkem" format="default"/>.</t>
		
	</section>	
	
	
	<section anchor="app-additional" numbered="true" toc="default">
      <name>IANA Considerations</name>
		<t>This document has no IANA actions</t>
	</section>
	
</middle>

 <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"/>
				
				<!--  ***** 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>				
					
				<!--  ***** 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>

				<!--  ***** 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>

				<!--  ***** SSH SPECIFIC DRAFTS BELOW ***** -->
					
					<!--  ***** SSH RFC ***** -->
					<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4253.xml"/>
					
					<!--  ***** KEX METHODS UPDATES FOR SSH ***** -->		
					<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.9142.xml"/>

					<!--  ***** AES GCM IN SSH ***** -->		
					<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5647.xml"/>	

					<!--  ***** AUTHENTICATION IN SSH ***** -->		
					<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4252.xml"/>

					<!--  ***** EXTENSION NEGOTIATION IN SSH ***** -->		
					<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8308.xml"/>

					<!--  ***** ML-KEM SSH ***** -->
					<reference anchor="I-D.harrison-sshm-mlkem" target="https://datatracker.ietf.org/doc/draft-harrison-sshm-mlkem/">
					 <front>
						<title>Module-Lattice Key Exchange in SSH</title>
						<author initials="A." surname="Harrison" fullname="A. Harrison">
						  <organization/>
						</author>
						<date month="January" year="2025"/>
					 </front>
					</reference>
				
					<!--  ***** ML-DSA SSH ***** -->
					<reference anchor="I-D.sfluhrer-ssh-mldsa" target="https://datatracker.ietf.org/doc/draft-sfluhrer-ssh-mldsa/">
					 <front>
						<title>SSH Support of ML-DSA</title>
						<author initials="S." surname="Fluhrer" fullname="S. Fluhrer">
						  <organization/>
						</author>
						<date month="August" year="2025"/>
					 </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-56A ***** -->
			<reference anchor="SP80056A" target="https://doi.org/10.6028/NIST.SP.800-56Ar3>" quoteTitle="true" derivedAnchor="SP80056A">
			  <front>
				<title>Recommendation for Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryptography, Revision 3, NIST Special Publication 800-56A</title>
				<author>
				  <organization showOnFrontPage="true">National Institute of Standards and Technology</organization>
				</author>
			  </front>
			  <seriesInfo name="Special Publication 800-56A," value="DOI 10.6028/NIST.SP.800-56Ar3"/>
			  <seriesInfo name="April" value="2018"/>
			</reference>

			<!--  ***** SP 800-38D ***** -->
			<reference anchor="SP80038D" target="https://doi.org/10.6028/NIST.SP.800-38D>" quoteTitle="true" derivedAnchor="SP80038D">
			  <front>
				<title>Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC, NIST Special Publication 800-38D</title>
				<author>
				  <organization showOnFrontPage="true">National Institute of Standards and Technology</organization>
				</author>
			  </front>
			  <seriesInfo name="Special Publication 800-38D," value="DOI 10.6028/NIST.SP.800-38D"/>
			  <seriesInfo name="November" value="2007"/>
			</reference>

			<!--  ***** SP 800-63 ***** -->
			<reference anchor="SP80063" target="https://doi.org/10.6028/NIST.SP.800-63-3>" quoteTitle="true" derivedAnchor="SP80063">
			  <front>
				<title>Digital Idenity Guidelines</title>
				<author>
				  <organization showOnFrontPage="true">National Institute of Standards and Technology</organization>
				</author>
			  </front>
			  <seriesInfo name="Special Publication 800-63-3," value="DOI 10.6028/NIST.SP.800-63-3"/>
			  <seriesInfo name="June" value="2017"/>
			</reference>		
	</references>
	
   </references>
			 
 </back>

</rfc>
	
 