<?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-01" 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>
    <author initials="J." surname="Hu" fullname="Jin Hu">
      <organization>Infosec</organization>
      <address>
        <postal>
          <street>Haidian District</street>
          <city>Beijing</city>
          <code>100096</code>
          <country>China</country>
        </postal>
        <phone>+86-158-7172-6539</phone>
        <email>hujin@infosec.com.cn</email>
      </address>
    </author>
    <author initials="S." surname="Sun" fullname="Shine Sun">
      <organization>Goodix</organization>
      <address>
        <postal>
          <street>No.1 Meikang Road,Futian District</street>
          <city>Shenzhen</city>
          <code>518000</code>
          <country>China</country>
        </postal>
        <phone>+86-138-7138-9521</phone>
        <email>sunjinlong@goodix.com</email>
      </address>
    </author>

    <date year="2025" month="February" day="10"/>

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

    <abstract>


<?line 132?>

<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 140?>

<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>

<t>Since IANA has not assigned a value for the newly introduced NamedGroup item, a reserved value
for private usage is temporarily used in this document at current stage. This value is for testing
purpose only.</t>

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

<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>IANI has not assigned a value for the name &#39;curveSM2MLKEM768&#39; yet. One suggestion from IANA expert
is to use a temporary value reserved for private usage at current stage. Thus implementations can
move forward to test the interoperability. So the value in the following table MUST NOT used in
any production environment. The temporary value is as follows:</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>0xFEFE</c>
      <c>curveSM2MLKEM768</c>
      <c>No</c>
      <c>No</c>
      <c>this RFC</c>
</texttable>

<t>After IANA assigns the real value. The above description should be changed to:</t>

<t>IANA has assigned the value XX with the name &#39;curveSM2MLKEM768&#39;, to the
&quot;TLS Supported Groups&quot; registry:&#39;</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 328?>

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

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

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA81a23LbyLV9x1d02Q+yawiKBO9MTcoUL7Ziy1IsTcZ5iasJ
tMiOQACDBkTRslL5iPOF50uydjcAAiCVGU9SdQ5r7AEbfdm99tpX2rZtK5GJ
L8bs3W4ZS49dhSqxf0l5kKQb9l7s2PzBXfNgJdj1hWNffHg/v2C3YcxuPlzf
t5sdiy+Xsbgf59/Z2myzn1zew/JCN+AbnObF/Daxdxi0E1/ZZpWtNo698e/E
xm61LY8nmOi0nJ7dcux2y7JUwgPvC/fDAC+CkAZiwTdjdj6/WVgyiscsiVOV
OK3WqOVYHC/H7Fq4aSyTnbVdaSmtuy0WBImIA5HYM5LDcnkyZjK4xZZu6MkA
M1Nlc+VKaUVyzPB5yVweYFQwHsd8x17JW8Z9n+2Ees2Ax5qrNVuLWFiMJaE7
phd4VGEMGW/VmJ53G/2oX1k8TdZhTOP0sbP/M4iBGVdN9ldgUwwa0K546lfH
wxiiToKEvY3DNCqGCReBK03YdcRd0WAfwybr9Ufss3yQ7FPIvUYx1wU20D52
/boO0/1w6OHETruFT2kwDZIY06drGfBiOFprjfww7Nu9Qdt2+sOhPcSnmHDL
XSU30i9NGva7HdsZttvFJLHh0h+zOy7VWgTN3e4N92XEd0033BxHadpkV+IA
pWkYrKrjGqWfU1CQ/RTIexEr4kMdrBnWPch1ymYSQ9JNahDpDWr4dDvfiU8b
fwbdVsfud51u/epuBKnfbNdpU3hp0w2O3/pPTfYurd35TzIoD+oLn4PPSrgH
93zHpScBxTPXPBPy77IEnrko8WDU/56L9ob2oD1w7H6vM6pfdJ3iiDfSCEj6
ffay1012nQa1217jUFEZ1xd+G8J2Hw7uC+632YWQd6C44f4iTcoAsBoC16Df
V/ypQdBrD79T1x2CAH+Nes4BzVUaAAO4stWblZZb09wKwnjDE3CUHMOnxdRp
t0fZ47A96OaP3W4/fxyNhvR4fn1pw+kaf5K59D9mh57fFF6QJcJdB/KXVChm
24BgJRPuMyVXAU/SGKNbmawZj0BFCEVzrnicsE7uqACaG4tEMD9ccey43rAl
V8JjG0E+XqqNMiLweEXor5MkUuPT0+1225QqbEJTp9qP89g7HfQ7Q6e5Tja+
XlN1iRmJyVEDkTCAmJfxCkd81V91FLrOdsrG9Mo8brSHduZdlIilUES3fG+g
Naa/Ts/nU9buwlfZnTEtwfvF+dW10+ocRfIi9FJf2B94kkhX2Gf65ohw9jxw
eaRS34h2kWNRCHgUEy+UGo92q9lvOcNTrEiatzJSTZz/HCIfczDOAwXpUqgi
vC3OUQz/Zzek5BAa2lUQcbp2a/gMIrPLc7LyY4JYNK9Ey7dnN82OM2oPm44N
zPrHOZevARyqQj4tF/vff/4Pu0qXvnTZHTIEN95FSbiKebTGCPdXoeEWKJ1t
aFiG3YSPsAD4GTa9B2H1TsRRZ3zI5/1WBxrISLnaLL+SFuCCTtPIh3841dxp
DWyne9rudZwu7jjowJBbvX6n3W5G3u1zyqnxkU28jSQwY/MVitp7i4KnAxvx
oPUcVd+end4gEJfwrqig9/9KBT1KUmI4aVgt88QtLl/Y5e/FftjvOK1+a9jr
/Z9i38uxN7lqBfEsdyYURZ4uIyIj22SUIx+1fZ5wiObeibgpRXKrHQHS41Py
hqcmPabxcnrsCeJ17tWOQiCW0ucNNms22MJP17GIG4ihDe0VEEvfpiKuuUk4
hXYLiD8Dwc9hfEd3uYpBDaFUo547I6K53lqYvL2CSqWUyOqC+XT2bl6qDCbY
VGwEMthyUfF7AbvbSp7chVt1JzVuJcns5z3q+1gq9n6/tAEOByGG+CbiAb+T
uDQ8PftZKNx8yXkAgMN05WMsQ5wdQApT7f5eSK2XiLs2KpxEfDmfX7/98hFP
1ksML3FU9seyaA5fEsGRxFk3a9wCeKQaTRUJV97iYLYOtyhICN4N47kaKkzV
EX9KlkymTkwx+iEGxzxQEWoY9oHvYNJFGvEKqnrNojhErRP6TOfUMDIor2lZ
nwTiIDwFlWWm0lPYzPVTT7DHRyPC05Pm5ONjSUdPT1isr7WRnucLywIwMUKu
qy04+zy+lDT6ZP1Y+tTvL7OFAAD5GAvEFoFzIzxdJ+mT40zIChTKXYONme3q
eja/YtMcUNoE31Lyh5icrCkdjQgoDOjXCpsmItCoeMAMuSfNwjGeWvM7QRu7
SPNjCt9WdlqDNMXdtRT34hll4TQkiktpciKjO9o4KhtbZcU+Al58sKHXQX/I
Xj0+ZmnO09PrsWX9I/sQQ0tXdDNSaD7Quh/ZI/v8mT39Yb/C4FIDGMBQJlIL
FCihfR8A5duyLSLNmoDUocJgSeOZbqw8UVRNdrNGrcDUPs0BcAK3AikjimGo
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
alFLLmUsAAA=

-->

</rfc>

