<?xml version="1.0" encoding="us-ascii"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.21 (Ruby 3.2.2) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8174 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC8446 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8446.xml">
<!ENTITY RFC8998 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8998.xml">
]>


<rfc ipr="trust200902" docName="draft-yang-tls-hybrid-sm2-mlkem-00" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="TLSv1.3 hybrid SM2-MLKEM Key Exchange">Hybrid Post-quantum Key Exchange SM2-MLKEM for TLSv1.3</title>

    <author initials="P." surname="Yang" fullname="Paul Yang">
      <organization>Ant Group</organization>
      <address>
        <postal>
          <street>A Space, No. 569 Xixi Road,</street>
          <city>Hangzhou</city>
          <code>310000</code>
          <country>China</country>
        </postal>
        <phone>+86-571-2688-8888</phone>
        <facsimile>+86-571-8643-2811</facsimile>
        <email>kaishen.yy@alipay.com</email>
      </address>
    </author>
    <author initials="C." surname="Peng" fullname="Cong Peng">
      <organization>Wuhan University</organization>
      <address>
        <postal>
          <street>Dongxihu District</street>
          <city>Wuhan</city>
          <code>430000</code>
          <country>China</country>
        </postal>
        <phone>+86-186-7403-6424</phone>
        <email>cpeng@whu.edu.cn</email>
      </address>
    </author>

    <date year="2025" month="January" day="08"/>

    <area>Security</area>
    <workgroup>TLS</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 112?>

<t>This document specifies how to form a hybrid key exchange with CurveSM2
and MLKEM in Transport Layer Security (TLS) protocol version 1.3.</t>

<t>Related IETF drafts include <xref target="hybrid"/> and <xref target="ecdhe-mlkem"/>.</t>



    </abstract>



  </front>

  <middle>


<?line 120?>

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

<t>This document introduces one new NamedGroup and related key exchange scheme in TLSv1.3 protocol.
This NamedGroup is used in the Supported Groups extension during the handshake procedure of
TLSv1.3, to achieve a hybrid key exchange in combination with the post-quantum key exchange algorithm
ML-KEM768 (<xref target="FIPS203"/>):</t>

<figure><artwork><![CDATA[
   NamedGroup curveSM2MLKEM768 = { XX };
]]></artwork></figure>

<t>This new NamedGroup uses an elliptic curve called curveSM2 which is defined in SM2 related
standards. Those standards are either published by international standard organizations
or by Chinese standard organizations. Please read <xref target="sm2-curve"/>.</t>

<section anchor="sm2-curve"><name>The SM2 Elliptic Curve</name>

<t>SM2, ISO/IEC 14888-3:2018 <xref target="ISO-SM2"/> (as well as in <xref target="GBT.32918.2-2016"/>)
is a set of elliptic curve based cryptographic algorithms including digital signature,
public key encryption and key exchange scheme. In this document, only the
SM2 elliptic curve is involved, which has already been added assigned by IANA.</t>

<t>Please read <xref target="curvesm2"/> for more information.</t>

</section>
<section anchor="term"><name>Terminology</name>

<t>Although this document is not an IETF Standards Track publication it
adopts the conventions for normative language to provide clarity of
instructions to the implementer, and to indicate requirement levels
for compliant TLSv1.3 implementations.</t>

<t>The key words &quot;MUST&quot;, &quot;MUST NOT&quot;, &quot;REQUIRED&quot;, &quot;SHALL&quot;, &quot;SHALL NOT&quot;,
&quot;SHOULD&quot;, &quot;SHOULD NOT&quot;, &quot;RECOMMENDED&quot;, &quot;NOT RECOMMENDED&quot;, &quot;MAY&quot;, and
&quot;OPTIONAL&quot; 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>
<section anchor="definitions"><name>Hybrid Key Exchange Scheme Definitions</name>

<section anchor="tls-versions"><name>TLS Versions</name>

<t>The new supported group item and related key exchange scheme defined in this document
are only applicable to TLSv1.3.</t>

<t>Implementations of this document MUST NOT apply this supported group or
key exchange scheme to any older versions of TLS.</t>

</section>
<section anchor="curvesm2"><name>CurveSM2</name>

<t>The hybrid key exchange scheme defined in this document uses a fixed elliptic curve
parameter set defined in <xref target="GBT.32918.5-2016"/>. This curve has the name curveSM2.</t>

<t>As per <xref target="RFC8998"/>, the SM2 elliptic curve ID used in the Supported Groups extension is defined as:</t>

<figure><artwork><![CDATA[
      NamedGroup curveSM2 = { 41 };
]]></artwork></figure>

<t>Implementations of the hybrid key exchange mechanism defined in this document MUST conform to
what <xref target="GBT.32918.5-2016"/> requires, that is to say, the only valid elliptic curve
parameter set for SM2 signature algorithm (a.k.a curveSM2) is defined as follows:</t>

<figure><artwork><![CDATA[
   curveSM2: a prime field of 256 bits

   y^2 = x^3 + ax + b

   p  = FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF
        FFFFFFFF 00000000 FFFFFFFF FFFFFFFF
   a  = FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF
        FFFFFFFF 00000000 FFFFFFFF FFFFFFFC
   b  = 28E9FA9E 9D9F5E34 4D5A9E4B CF6509A7
        F39789F5 15AB8F92 DDBCBD41 4D940E93
   n  = FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF
        7203DF6B 21C6052B 53BBF409 39D54123
   Gx = 32C4AE2C 1F198119 5F990446 6A39C994
        8FE30BBF F2660BE1 715A4589 334C74C7
   Gy = BC3736A2 F4F6779C 59BDCEE3 6B692153
        D0A9877C C62A4740 02DF32E5 2139F0A0
]]></artwork></figure>

<t>The above elliptic curve parameter set is also previously defined in <xref target="RFC8998"/>.</t>

</section>
<section anchor="kx"><name>Hybrid Key Exchange</name>

<section anchor="hello-messages"><name>Hello Messages</name>

<t>The use of the hybrid named group defined by this document is negotiated during
the TLS handshake with information exchanged in the Hello messages.</t>

<t>The main procedure follows what <xref target="hybrid"/> defines. That is to say, the
non-post-quantum part (a.k.a. the ECDHE part) of the hybrid key exchange is based
on standard ECDH with curveSM2.</t>

<section anchor="clienthello"><name>ClientHello</name>

<t>To use the hybrid named group curveSM2MLKEM768 defined by this document, a TLSv1.3
client MUST include &#39;curveSM2MLKEM768&#39; in the &#39;supported_groups&#39; extension of the
ClientHello structure defined in Section 4.2.7 of <xref target="RFC8446"/>.</t>

<t>Then the TLS client&#39;s &#39;key_exchange&#39; value of the &#39;key_share&#39; extension is the
concatenation of the curveSM2 ephemeral share and ML-KEM768 encapsulation key.</t>

<t>The ECDHE share is the serialized value of the uncompressed ECDH point representation
as defined in Section 4.2.8.2 of <xref target="RFC8446"/>.  The size of the client share is 1249 bytes
(65 bytes for the curveSM2 public key and 1184 bytes for ML-KEM).</t>

</section>
<section anchor="serverhello"><name>ServerHello</name>

<t>If a TLSv1.3 server receives a ClientHello message containing the hybrid named group
curveSM2MLKEM768 defined in this document, it MAY choose to negotiate on it.</t>

<t>If so, then the server MUST construct its &#39;key_exchange&#39; value of the &#39;key_share&#39;
extension as the concatenation of the server&#39;s ephemeral curveSM2 share encoded in
the same way as the client share and an ML-KEM ciphertext encapsulated by the client&#39;s
encapsulation key. The size of the server share is 1153 bytes (1088 bytes for the
ML-KEM part and 65 bytes for curveSM2).</t>

</section>
</section>
<section anchor="key-scheduling"><name>Key Scheduling</name>

<t>According to <xref target="hybrid"/>, the shared secret is calculated in a &#39;concatenation&#39;
approach: the two shared secrets are concatenated together and used as the
shared secret in the standard TLSv1.3 key schedule.</t>

<t>Thus for curveSM2MLKEM768, the shared secret is the concatenation of the
ECDHE and ML-KEM shared secret.  The ECDHE shared secret is the x-coordinate
of the ECDH shared secret elliptic curve point represented as an octet string
as defined in Section 7.4.2 of <xref target="RFC8446"/>. 
The size of the shared secret is 64 bytes (32 bytes for each part).</t>

<t>Both client and server MUST calculate the ECDH part of the shared secret as
described in Section 7.4.2 of <xref target="RFC8446"/>.</t>

<t>As already described in <xref target="RFC8998"/>, SM2 is actually a set of cryptographic
algorithms including one key exchange protocol which defines methods such as
key derivation function, etc. This document does not use an SM2 key exchange
protocol, and an SM2 key exchange protocol SHALL NOT be used in the hybrid key exchange
scheme defined in <xref target="kx"/>. Implementations of this document MUST always conform to
what TLSv1.3 <xref target="RFC8446"/> and its successors require about the key derivation and
related methods.</t>

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

<t>IANA has assigned the value XX with the name &#39;curveSM2MLKEM768&#39;, to the
&quot;TLS Supported Groups&quot; registry:</t>

<texttable>
      <ttcol align='right'>Value</ttcol>
      <ttcol align='left'>Description</ttcol>
      <ttcol align='left'>DTLS-OK</ttcol>
      <ttcol align='left'>Recommended</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>XX</c>
      <c>curveSM2MLKEM768</c>
      <c>No</c>
      <c>No</c>
      <c>this RFC</c>
</texttable>

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

<t>At the time of writing, there are no security issues
have been found for relevant algorithms.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">

&RFC2119;
&RFC8174;
&RFC8446;
&RFC8998;
<reference anchor="ISO-SM2" target="https://www.iso.org/standard/76382.html">
  <front>
    <title>IT Security techniques -- Digital signatures with appendix -- Part 3: Discrete logarithm based mechanisms</title>
    <author >
      <organization>International Organization for Standardization</organization>
    </author>
    <date year="2018" month="November"/>
  </front>
  <seriesInfo name="ISO" value="ISO/IEC 14888-3:2018"/>
</reference>
<reference anchor="FIPS203" target="https://doi.org/10.6028/nist.fips.203">
  <front>
    <title>Module-Lattice-Based Key-Encapsulation Mechanism Standard</title>
    <author >
      <organization>National Institute of Standards and Technology</organization>
    </author>
    <date year="2024" month="August"/>
  </front>
  <seriesInfo name="DOI" value="10.6028/nist.fips.203"/>
</reference>


    </references>

    <references title='Informative References' anchor="sec-informative-references">

<reference anchor="GBT.32918.2-2016" target="http://www.gmbz.org.cn/upload/2018-07-24/1532401673138056311.pdf">
  <front>
    <title>Information security technology --- Public key cryptographic algorithm SM2 based on elliptic curves --- Part 2: Digital signature algorithm</title>
    <author >
      <organization>Standardization Administration of China</organization>
    </author>
    <date year="2017" month="March" day="01"/>
  </front>
  <seriesInfo name="GB/T" value="32918.2-2016"/>
</reference>
<reference anchor="GBT.32918.5-2016" target="http://www.gmbz.org.cn/upload/2018-07-24/1532401863206085511.pdf">
  <front>
    <title>Information security technology --- Public key cryptographic algorithm SM2 based on elliptic curves --- Part 5: Parameter definition</title>
    <author >
      <organization>Standardization Administration of China</organization>
    </author>
    <date year="2017" month="March" day="01"/>
  </front>
  <seriesInfo name="GB/T" value="32918.5-2016"/>
</reference>
<reference anchor="hybrid" target="https://datatracker.ietf.org/doc/html/draft-ietf-tls-hybrid-design-11">
  <front>
    <title>Hybrid key exchange in TLS 1.3</title>
    <author >
      <organization>Stebila, D., Fluhrer, S., and S. Gueron</organization>
    </author>
    <date year="2024" month="October" day="07"/>
  </front>
  <seriesInfo name="Work in Progress, Internet-Draft" value=""/>
</reference>
<reference anchor="ecdhe-mlkem" target="https://datatracker.ietf.org/doc/html/draft-kwiatkowski-tls-ecdhe-mlkem-03">
  <front>
    <title>Post-quantum hybrid ECDHE-MLKEM Key Agreement for TLSv1.3</title>
    <author >
      <organization>Kris Kwiatkowski, Panos Kampanakis, Bas Westerbaan, Douglas Stebila</organization>
    </author>
    <date year="2024" month="December" day="24"/>
  </front>
  <seriesInfo name="Work in Progress, Internet-Draft" value=""/>
</reference>


    </references>

</references>


<?line 288?>

<section anchor="contributors"><name>Contributors</name>

<t>Place Holder<br />
Ant Group<br />
place.holder@antfin.com</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA81a63LbxhX+v0+xY/+QPSEoEryzk04oXmyNdaulJO6fepbA
SsAIBBAsIIpR1OlD9An7JP3OLgACEJWkmc60nDgGF7tnz37nO7elLctiqZ8G
cso/7taJ7/KrSKXWT5kI02zDP8kdXz46ngjvJL8+t63zs0/Lc34bJfzm7Pqh
2+4xsV4n8mFafOeeEbOfXJXB3MgJxQa7uYm4Ta0dBq00UJZZZamNbW2Ce7mx
Oh3mihQT7Y49sDpdqzNmTKUidL+KIArxIoxoIJFiM+Wny5sV8+NkytMkU6nd
6Uw6NhN4OeXX0skSP92x7Z3Wkt1vsSBMZRLK1FqQHswR6ZT74S1EOpHrh5iZ
KUsox/dZ7E85Pm+5I0KMSi6SROz4O/+WiyDgO6nec+DhCeVxTyaScZ5GzpRe
4FFFCXS8VVN63m30o37FRJZ6UULj9LHyvznUwIyrNv8rsCkHDWhXIgvq41EC
VWdhyj8kURaXw4SLxJFm/DoWjmzxi6jNB8MJ/+I/+vxzJNxWOdcBNrA+pP7s
Rdl+OHKxY6/bwacymIVpgulzzw9FORx72iLfjIfWYNS17OF4bI3xKSfcCkf5
Gz+oTBoP+z3LHne75SS5EX4w5ffCV54M27vddyLwY7FrO9HmMErzNr+SL1Ca
R+FdfVyj9GMGCvLvQ/9BJor40ARrgXWPvpfxhY8h30kbEGkBDXz6vf8Qny7+
jPqdnjXs2/3m0Z0YWn+39bK2dLO2EzIWRslGpFCZePJ5Nbe73Un+OO6O+sVj
vz8sHieTMT2eXl9a8EFDr9zD/5zvd3pTOgVPpeOF/k+ZVNyycPI7PxUBV/5d
KNIswejWTz0uYmjm+o8050okKe8VvAVWTiJTyYPoTkCit+FroaTLN5Jc3lcb
ZVQQyR2B7KVprKbHx9vttu2rqA3THGu3Fol7PBr2xnbbSzeBXlP3EG1E47dA
JAqh5mVyhy1+1l91ULrOJeVjemURRrpjKyebkokvFbl7IRtoTel/x6fLOe/2
QV2rN6UleL86vbq2O72DSJ5HbhZI60ykqe9I60SfHAHPWoaOiFUWGNXOCyxK
BQ9i4ka+xqPbaQ879vgYK9L2rR+rNvZ/DZGLAozTUEG7DKaIbst9FMff/IaM
HMFCuxoidp+i6mFEFpenU35YEUbzKrT8cHLT7tmT7rhtW8BseJhzxRrAoWrk
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

-->

</rfc>

