<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version  -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>


<rfc ipr="trust200902" docName="draft-josefsson-ssh-mceliece-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Classic McEliece for SSH">Secure Shell Key Exchange Method Using Hybrid Classic McEliece and X25519 with SHA-512: mceliece6688128x25519-sha512</title>

    <author fullname="Simon Josefsson">
      <organization></organization>
      <address>
        <email>simon@josefsson.org</email>
      </address>
    </author>

    <date year="2023" month="December" day="26"/>

    <area>int</area>
    
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This document specify a hybrid key exchange method in the Secure Shell (SSH) protocol based on Classic McEliece (mceliece6688128) and X25519 with SHA-512.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-josefsson-ssh-mceliece/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://gitlab.com/jas/ietf-ssh-mceliece"/>.</t>
    </note>


  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t>Secure Shell (SSH) <xref target="RFC4251"/> is a secure remote login protocol.
The key exchange protocol described in <xref target="RFC4253"/> supports an extensible set of methods.
<xref target="RFC5656"/> defines how elliptic curves are integrated into this extensible SSH framework, and <xref target="RFC8731"/> specify "curve25519-sha256" to support the pre-quantum elliptic-curve Diffie-Hellman X25519 function <xref target="RFC7748"/>.
In <xref target="I-D.josefsson-ntruprime-ssh"/> it is described how the post-quantum lattice-based Streamlined NTRU Prime is combined with X25519 for SSH, and we base our protocol and document on it but replace sntrup761 with mceliece6688128.</t>

<t>Classic McEliece <xref target="I-D.josefsson-mceliece"/> <xref target="CM-spec"/> provides a code-based Key Encapsulation Method designed to be safe even against quantum computers.
The variant "mceliece6688128" offers a balance between performance and output sizes.</t>

<t>To hedge against attacks on either of mceliece6688128 or X25519 a hybrid construction may be used, with the intention that the hybrid would be secure if either of the involved algorithms are flawed.</t>

<t>This document specify how to implement key exchange based on a hybrid between Classic McEliece mceliece6688128 and X25519 with SHA-512 <xref target="RFC6234"/> in SSH.</t>

</section>
<section anchor="conventions-definitions"><name>Conventions and Definitions</name>

<t>The key words "<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 "<bcp14>OPTIONAL</bcp14>" 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>

</section>
<section anchor="mceliece6688128x25519-sha512"><name>Key Exchange Method: mceliece6688128x25519-sha512</name>

<t>The key-agreement is done by the X25519 Diffie-Hellman protocol as described in Section <xref target="RFC8731" section="3" sectionFormat="bare">Key Exchange Methods</xref> of <xref target="RFC8731"/>, and the mceliece6688128 key encapsulation method described in <xref target="I-D.josefsson-mceliece"/> <xref target="CM-spec"/>.</t>

<t>The key exchange procedure reuse the Elliptic Curve Diffie-Hellman (ECDH) key exchange defined in Sections <xref target="RFC5656" section="4" sectionFormat="bare">ECDH Key Exchange</xref> and <xref target="RFC5656" section="7.1" sectionFormat="bare">ECDH Message Numbers</xref> of <xref target="RFC5656"/>.
The protocol flow and the <spanx style="verb">SSH_MSG_KEX_ECDH_INIT</spanx> and <spanx style="verb">SSH_MSG_KEX_ECDH_REPLY</spanx> messages are identical, except that we use different ephemeral public values Q_C and Q_S and shared secret K as described below.</t>

<t>The <spanx style="verb">SSH_MSG_KEX_ECDH_INIT</spanx> value <spanx style="verb">Q_C</spanx> that holds the client's ephemeral public key <bcp14>MUST</bcp14> be constructed by concatenating the 1044992 byte public key output from the key generator of mceliece6688128 (or mceliece6688128f, see <xref target="mceliece6688128f"/>) with the 32 byte K_A = X25519(a, 9) as described in <xref target="I-D.josefsson-mceliece"/> <xref target="CM-spec"/> and <xref target="RFC8731"/>.
The Q_C value is thus 1045024 bytes.</t>

<t>The <spanx style="verb">SSH_MSG_KEX_ECDH_REPLY</spanx> value <spanx style="verb">Q_S</spanx> that holds the server's ephemeral public key <bcp14>MUST</bcp14> be constructed by concatenating the 208 byte ciphertext output from the key encapsulation mechanism of mceliece6688128 (or mceliece6688128f, see <xref target="mceliece6688128f"/>) with the 32 byte K_B = X25519(b, 9) as described in <xref target="I-D.josefsson-mceliece"/> <xref target="CM-spec"/> and <xref target="RFC8731"/>.
The <spanx style="verb">Q_S</spanx> value is thus 240 bytes.</t>

<t>Clients and servers <bcp14>MUST</bcp14> abort if the length of the received public keys <spanx style="verb">Q_C</spanx> or <spanx style="verb">Q_S</spanx> are not the expected lengths.
An abort for these purposes is defined as a disconnect (<spanx style="verb">SSH_MSG_DISCONNECT</spanx>) of the session and <bcp14>SHOULD</bcp14> use the <spanx style="verb">SSH_DISCONNECT_KEY_EXCHANGE_FAILED</spanx> reason for the message, see Section <xref target="RFC4253" section="11.1" sectionFormat="bare">Disconnection Message</xref> of <xref target="RFC4253"/>.
No further validation is required beyond what is described in <xref target="RFC7748"/>, <xref target="RFC8731"/> and <xref target="I-D.josefsson-mceliece"/> <xref target="CM-spec"/>.</t>

<t>The <spanx style="verb">SSH_MSG_KEX_ECDH_REPLY</spanx> signature value is computed as described in <xref target="RFC5656"/> with the following changes.
Instead of encoding the shared secret <spanx style="verb">K</spanx> as 'mpint', it <bcp14>MUST</bcp14> be encoded as 'string'.
The shared secret K value <bcp14>MUST</bcp14> be the 64-byte output octet string of the SHA-512 hash computed with the input as the 32-byte octet string key output from the key encapsulation mechanism of mceliece6688128 (or mceliece6688128f, see <xref target="mceliece6688128f"/>) concatenated with the 32-byte octet string of X25519(a, X25519(b, 9)) = X25519(b, X25519(a, 9)).</t>

</section>
<section anchor="mceliece6688128f"><name>mceliece6688128f</name>

<t>The f and non-f versions are interoperable.
The f versions have faster key generation, while the non-f versions have simpler key generation.
For example, a key generated with mceliece6688128f can decapsulate ciphertexts that were encapsulated with mceliece6688128, and vice versa.
The secret-key sizes (and formats) are the same, the encapsulation functions are the same, and the decapsulation functions are the same.</t>

<t>Implementations of this protocol can chose between mceliece6688128 or mceliece6688128f, however the name of this protocol is "mceliece6688128x25519-sha512" even for implementations that use mceliece6688128f internally.</t>

<t>Choosing mceliece6688128 generally reduce code size and complexity (at the expense of performance), and choosing mceliece6688128f generally improve performance (at the expense of code size and complexity).</t>

</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>The protocol and document is based on <xref target="I-D.josefsson-ntruprime-ssh"/>.
The authors would like to thank <contact fullname="Daniel J. Bernstein"/> for discussion and suggesting the mceliece6688128 variant.</t>

</section>
<section anchor="implementation-status"><name>Implementation Status</name>

<t>One implementation of this protocol is available as a patch <xref target="OpenSSH-McEliece-patch"/> for OpenSSH <xref target="OpenSSH"/>, released under a BSD-style license.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>The security considerations of <xref target="RFC4251"/>, <xref target="RFC5656"/>, <xref target="RFC7748"/>, <xref target="RFC8731"/> and <xref target="I-D.josefsson-mceliece"/> <xref target="CM-spec"/> <xref target="CM-security"/> <xref target="CM-impl"/> are inherited.</t>

<t>Classic McEliece is a KEM designed for IND-CCA2 security at a very high security level, even against quantum computers.
The algorithm has been studied by researchers for many years, and there are implementations in the public domain for a wide range of architectures.
However new cryptographic primitives should be introduced and trusted conservatively, and new research findings may be published at any time that may warrant implementation reconsiderations.
The method described here to combine X25519 with mceliece6688128, i.e., SHA-512 hashing the concatenated outputs, is also available for the same kind of cryptographic scrutiny.</t>

<t>The increase in communication size and computational requirements may be a concern for limited computational devices, which would then not be able to take advantage of the improved security properties offered by this work.</t>

<t>As discussed in the security considerations of Curve25519-sha256 <xref target="RFC8731"/>, the X25519 shared secret <spanx style="verb">K</spanx> is used bignum-encoded in that document, and this raise a potential for a hash-processing time side-channel that could leak one bit of the secret due to different length of the bignum sign pad.
This document resolve that problem by using string-encoding instead of bignum-encoding.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>IANA is requested to add a new "Method Name" of "mceliece6688128x25519-sha512" to the "Key Exchange Method Names" registry for Secure Shell (SSH) Protocol Parameters <xref target="IANA-KEX"/> with a "reference" field to this RFC and the "OK to implement" field of "<bcp14>MAY</bcp14>".</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>



<reference anchor='RFC4251' target='https://www.rfc-editor.org/info/rfc4251'>
  <front>
    <title>The Secure Shell (SSH) Protocol Architecture</title>
    <author fullname='T. Ylonen' initials='T.' surname='Ylonen'/>
    <author fullname='C. Lonvick' initials='C.' role='editor' surname='Lonvick'/>
    <date month='January' year='2006'/>
    <abstract>
      <t>The Secure Shell (SSH) Protocol is a protocol for secure remote login and other secure network services over an insecure network. This document describes the architecture of the SSH protocol, as well as the notation and terminology used in SSH protocol documents. It also discusses the SSH algorithm naming system that allows local extensions. The SSH protocol consists of three major components: The Transport Layer Protocol provides server authentication, confidentiality, and integrity with perfect forward secrecy. The User Authentication Protocol authenticates the client to the server. The Connection Protocol multiplexes the encrypted tunnel into several logical channels. Details of these protocols are described in separate documents. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='4251'/>
  <seriesInfo name='DOI' value='10.17487/RFC4251'/>
</reference>

<reference anchor='RFC4253' target='https://www.rfc-editor.org/info/rfc4253'>
  <front>
    <title>The Secure Shell (SSH) Transport Layer Protocol</title>
    <author fullname='T. Ylonen' initials='T.' surname='Ylonen'/>
    <author fullname='C. Lonvick' initials='C.' role='editor' surname='Lonvick'/>
    <date month='January' year='2006'/>
    <abstract>
      <t>The Secure Shell (SSH) is a protocol for secure remote login and other secure network services over an insecure network.</t>
      <t>This document describes the SSH transport layer protocol, which typically runs on top of TCP/IP. The protocol can be used as a basis for a number of secure network services. It provides strong encryption, server authentication, and integrity protection. It may also provide compression.</t>
      <t>Key exchange method, public key algorithm, symmetric encryption algorithm, message authentication algorithm, and hash algorithm are all negotiated.</t>
      <t>This document also describes the Diffie-Hellman key exchange method and the minimal set of algorithms that are needed to implement the SSH transport layer protocol. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='4253'/>
  <seriesInfo name='DOI' value='10.17487/RFC4253'/>
</reference>

<reference anchor='RFC5656' target='https://www.rfc-editor.org/info/rfc5656'>
  <front>
    <title>Elliptic Curve Algorithm Integration in the Secure Shell Transport Layer</title>
    <author fullname='D. Stebila' initials='D.' surname='Stebila'/>
    <author fullname='J. Green' initials='J.' surname='Green'/>
    <date month='December' year='2009'/>
    <abstract>
      <t>This document describes algorithms based on Elliptic Curve Cryptography (ECC) for use within the Secure Shell (SSH) transport protocol. In particular, it specifies Elliptic Curve Diffie-Hellman (ECDH) key agreement, Elliptic Curve Menezes-Qu-Vanstone (ECMQV) key agreement, and Elliptic Curve Digital Signature Algorithm (ECDSA) for use in the SSH Transport Layer protocol. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='5656'/>
  <seriesInfo name='DOI' value='10.17487/RFC5656'/>
</reference>

<reference anchor='RFC8731' target='https://www.rfc-editor.org/info/rfc8731'>
  <front>
    <title>Secure Shell (SSH) Key Exchange Method Using Curve25519 and Curve448</title>
    <author fullname='A. Adamantiadis' initials='A.' surname='Adamantiadis'/>
    <author fullname='S. Josefsson' initials='S.' surname='Josefsson'/>
    <author fullname='M. Baushke' initials='M.' surname='Baushke'/>
    <date month='February' year='2020'/>
    <abstract>
      <t>This document describes the specification for using Curve25519 and Curve448 key exchange methods in the Secure Shell (SSH) protocol.</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='8731'/>
  <seriesInfo name='DOI' value='10.17487/RFC8731'/>
</reference>

<reference anchor='RFC2119' target='https://www.rfc-editor.org/info/rfc2119'>
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname='S. Bradner' initials='S.' surname='Bradner'/>
    <date month='March' year='1997'/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name='BCP' value='14'/>
  <seriesInfo name='RFC' value='2119'/>
  <seriesInfo name='DOI' value='10.17487/RFC2119'/>
</reference>

<reference anchor='RFC8174' target='https://www.rfc-editor.org/info/rfc8174'>
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname='B. Leiba' initials='B.' surname='Leiba'/>
    <date month='May' year='2017'/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name='BCP' value='14'/>
  <seriesInfo name='RFC' value='8174'/>
  <seriesInfo name='DOI' value='10.17487/RFC8174'/>
</reference>




    </references>

    <references title='Informative References'>



<reference anchor='RFC6234' target='https://www.rfc-editor.org/info/rfc6234'>
  <front>
    <title>US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)</title>
    <author fullname='D. Eastlake 3rd' initials='D.' surname='Eastlake 3rd'/>
    <author fullname='T. Hansen' initials='T.' surname='Hansen'/>
    <date month='May' year='2011'/>
    <abstract>
      <t>Federal Information Processing Standard, FIPS</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='6234'/>
  <seriesInfo name='DOI' value='10.17487/RFC6234'/>
</reference>

<reference anchor='RFC7748' target='https://www.rfc-editor.org/info/rfc7748'>
  <front>
    <title>Elliptic Curves for Security</title>
    <author fullname='A. Langley' initials='A.' surname='Langley'/>
    <author fullname='M. Hamburg' initials='M.' surname='Hamburg'/>
    <author fullname='S. Turner' initials='S.' surname='Turner'/>
    <date month='January' year='2016'/>
    <abstract>
      <t>This memo specifies two elliptic curves over prime fields that offer a high level of practical security in cryptographic applications, including Transport Layer Security (TLS). These curves are intended to operate at the ~128-bit and ~224-bit security level, respectively, and are generated deterministically based on a list of required properties.</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='7748'/>
  <seriesInfo name='DOI' value='10.17487/RFC7748'/>
</reference>


<reference anchor='I-D.josefsson-mceliece' target='https://datatracker.ietf.org/doc/html/draft-josefsson-mceliece-00'>
   <front>
      <title>Classic McEliece</title>
      <author fullname='Simon Josefsson' initials='S.' surname='Josefsson'>
         </author>
      <date day='13' month='October' year='2023'/>
      <abstract>
	 <t>   This document specifies Classic McEliece, a particular family of
   encryption algorithms.

About This Document

   This note is to be removed before publishing as an RFC.

   Status information for this document may be found at
   https://datatracker.ietf.org/doc/draft-josefsson-mceliece/.

   Source for this draft and an issue tracker can be found at
   https://gitlab.com/jas/ietf-mceliece.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-josefsson-mceliece-00'/>
   
</reference>


<reference anchor='I-D.josefsson-ntruprime-ssh' target='https://datatracker.ietf.org/doc/html/draft-josefsson-ntruprime-ssh-02'>
   <front>
      <title>Secure Shell (SSH) Key Exchange Method Using Hybrid Streamlined NTRU Prime sntrup761 and X25519 with SHA-512: sntrup761x25519-sha512</title>
      <author fullname='Markus Friedl' initials='M.' surname='Friedl'>
         <organization>OpenSSH</organization>
      </author>
      <author fullname='Jan Mojzis' initials='J.' surname='Mojzis'>
         <organization>TinySSH</organization>
      </author>
      <author fullname='Simon Josefsson' initials='S.' surname='Josefsson'>
         </author>
      <date day='19' month='September' year='2023'/>
      <abstract>
	 <t>   This document describe a widely deployed hybrid key exchange methods
   in the Secure Shell (SSH) protocol that is based on Streamlined NTRU
   Prime sntrup761 and X25519 with SHA-512.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-josefsson-ntruprime-ssh-02'/>
   
</reference>


<reference anchor="CM-spec" target="https://classic.mceliece.org/mceliece-spec-20221023.pdf">
  <front>
    <title>Classic McEliece: conservative code-based cryptography: cryptosystem specification</title>
    <author >
      <organization>Classic McEliece Team</organization>
    </author>
    <date year="2022" month="October"/>
  </front>
</reference>
<reference anchor="CM-impl" target="https://classic.mceliece.org/mceliece-impl-20221023.pdf">
  <front>
    <title>Classic McEliece: conservative code-based cryptography: guide for implementors</title>
    <author >
      <organization>Classic McEliece Team</organization>
    </author>
    <date year="2022" month="October"/>
  </front>
</reference>
<reference anchor="CM-security" target="https://classic.mceliece.org/mceliece-security-20221023.pdf">
  <front>
    <title>Classic McEliece: conservative code-based cryptography: guide for security reviewers</title>
    <author >
      <organization>Classic McEliece Team</organization>
    </author>
    <date year="2022" month="October"/>
  </front>
</reference>
<reference anchor="IANA-KEX" target="https://www.iana.org/assignments/ssh-parameters/">
  <front>
    <title>Secure Shell (SSH) Protocol Parameters: Key Exchange Method Names</title>
    <author >
      <organization>IANA</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="OpenSSH" target="https://www.openssh.com/">
  <front>
    <title>OpenSSH</title>
    <author >
      <organization>OpenSSH team</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="OpenSSH-McEliece-patch" target="https://gitlab.com/jas/openssh-portable/-/tree/jas/mceliece">
  <front>
    <title>GitLab branch of OpenSSH with McEliece support</title>
    <author >
      <organization>OpenSSH team, Simon Josefsson</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>


    </references>



  </back>

<!-- ##markdown-source:
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
vP8CgAzXDAklAAA=

-->

</rfc>

