<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc toc="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc linkmailto="no" ?>
<?rfc rfcedstyle="yes"?>
<?rfc-ext allow-markup-in-artwork="yes" ?>
<?rfc-ext include-references-in-index="yes" ?>

<!DOCTYPE rfc []>

<!-- Notes for Paul and Tony

Have a section that is just examples of what is new in v3 (such as new table features)
	Want to add examples of <blockquote>
		Example of a cite for a reference that is already in the spec.
	In the v3-only examples, use "ascii" attributes liberally

-->

<rfc
  xmlns:xi="http://www.w3.org/2001/XInclude"
  category="std"
  docName="draft-wang-tls-hybrid-ecdh-scloud-01"
  ipr="trust200902"
  obsoletes=""
  updates=""
  submissionType="IETF"
  xml:lang="en"
  version="3">
<!-- [REPLACE] 
       * docName with name of your draft
     [CHECK] 
       * category should be one of std, bcp, info, exp, historic
       * ipr should be one of trust200902, noModificationTrust200902, noDerivativesTrust200902, pre5378Trust200902
       * updates can be an RFC number as NNNN
       * obsoletes can be an RFC number as NNNN 
       * obsoletes can be an RFC number as NNNN 
-->

<front>
<title abbrev="ECDHE-SCloud+ for TLS 1.3">Post-quantum Hybrid ECDHE-SCloud+ Key Exchange for TLS 1.3</title>
<!--  [REPLACE/DELETE] abbrev. The abbreviated title is required if the full title is longer than 39 characters -->

<seriesInfo name="Internet-Draft" value="draft-wang-tls-hybrid-ecdh-scloud-01"/>
   
    <author fullname="Guilin Wang" initials="G." role="editor" surname="Wang">
      <!-- [CHECK]
             * initials should not include an initial for the surname
             * role="editor" is optional -->
    <!-- Can have more than one author -->
      
    <!-- all of the following elements are optional -->
      <organization>Huawei Int. Pte Ltd</organization>
      <address>
        <postal>
          <!-- Reorder these if your country does things differently -->
          <street>9 North Buona Vista Drive, #13-01</street>
		  <street> The Metropolis Tower 1</street>
          <city>Singapore</city>
          <code>138588</code>
          <country>Singapore</country>
          <!-- Uses two letter country code -->
        </postal>        
        <email>wang.guilin@huawei.com</email>  
      </address>
    </author>
	
	<author fullname="Anyu Wang" initials="A." surname="Wang">
		   
     <organization> Tsinghua University</organization>
     <address>
	    <postal>
          <street></street>
          <city> Beijing</city>
          <code></code>
          <country>China</country>
        </postal>   
       <email>anyuwang@tsinghua.edu.cn</email>
     </address>
	 
   </author>
	

<date/>
<!-- On draft subbmission:
         * If only the current year is specified, the current day and month will be used.
         * If the month and year are both specified and are the current ones, the current day will
           be used
         * If the year is not the current one, it is necessary to specify at least a month and day="1" will be used.
    -->
	
<area>General</area>
    <workgroup> Transport Layer Security (TLS) </workgroup>
	<!-- "Internet Engineering Task Force" is fine for individual submissions.  If this element is 
          not present, the default is "Network Working Group", which is used by the RFC Editor as 
          a nod to the history of the RFC Series. -->

    <keyword>keyword</keyword>
    <!-- [REPLACE/DELETE]. Multiple allowed.  Keywords are incorporated into HTML output files for 
         use by search engines. -->

<abstract>
      
	  
	 <t> This draft specifies how to enable hybrid key exchange with ECDHE and SCloud+ in Transport Layer Security protocol version 1.3 (TLS 1.3) to mitigate quantum threats. SCloud+ is an unstructured lattice based KEM (key encapsulation mechanism) with post-quantum security. This draft follows the post-quantum hybrid key exchange framework specified by <xref target="TLS.Hybrid"></xref>, by concatenating the public keys and ciphertexts of ECDHE and SCloud+. Three concrete hybrid key exchange schemes are specified in this draft, which are X25519SCloud+128, SecP256r1SCloud+192 and SecP384r1SCloud+256.
     </t>

	  <t> [EDNOTE: ... ] </t>
    </abstract>

<!-- 
--> 

<!-- <note title="Editorial Note (To be removed by RFC Editor)">
<t> Discussion of this draft takes place on the rfc-interest mailing list (rfc-interest@rfc-editor.org), which has its home page at
<eref target="https://www.rfc-editor.org/mailman/listinfo/rfc-interest"/>. </t>
</note> -->

</front>

<middle>

<section title="Introduction">

<section title="Change History">


</section>

<section title="Introduction">

<!--
<t> Cryptographically-relevant quantum computers (CRQCs) pose a threat to data and communications protected by the current secuirty algorithms. The so called harvest-now-and-decrypt-later (HNDL) attack is considered as an imminent threat. As post-quantum (PQ) algorithms are still relatively new, it is more conservative to mitigate the quantum threat via hybrid approach. This is in particular the case for key exchange. As introduced in <xref target="RFC9794"></xref>, PQ and traditional hybrid key encapsulation mechanisms (KEMs) have been proposed to achieve secure key exchange as long as at least one of the KEMs is still secure.</t>
-->

<t> Cryptographically relevant quantum computers (CRQC) may pose a threat to data protected using conventional cryptographic means in the near future. The harvest-now decrypt-later (HNDL) attack threatens existing data even in the absence of a CRCQ because the data can be stored until such time that one CRCQ becomes available. As introduced in <xref target="RFC9794"></xref>, hybrid mechanisms that combine post-quantum (PQ) and traditional KEMs ensure continuing security even if one of the algorithms becomes insecure. </t>

<t> "Hybrid key exchange in TLS 1.3" <xref target="TLS.Hybrid"></xref> specifies the framework of concatenation-based approach. In this approach, each combination of hybrid key exchange is viewed as a single new key exchange method, negotiated and transmitted using the existing TLS 1.3 mechanisms. This approach not only achieves the primary security goal of hybrid key exchange mentioned above, but also has the benefits of backwards compatibility, high performance, low latency, and no extra round trips (refer to Section 1.5 of <xref target="TLS.Hybrid"></xref>). Following this approach, two specifications are proposed to instantiate the combinations of ECDHE with ML-KEM, and SM2 with ML-KEM: "Post-quantum Hybrid ECDHE-MLKEM Key Agreement for TLSv1.3" <xref target="ECDHE-MLKEM"></xref> and "Hybrid Post-quantum Key Exchange SM2-MLKEM for TLSv1.3" <xref target="SM2-MLKEM"></xref>. </t>     
		
<!-- 
<t> This draft specifies how to instantiate hybrid key exchage framework in TLS 1.3 <xref target="TLS.Hybrid"></xref> by concatenating traditional ECDHE and PQ SCloud+ KEM. SCloud+ <xref target="SCloud.SSR24"></xref> is an unstructured lattice based KEM with post-quantum security. An early version of SCloud+ is available at  <xref target="SCloud.e24"></xref>, while the previous algorithm called SCloud is available at <xref target="SCloud.e20"></xref>. SCloud+ (and also its previous version SCloud) is based on unstructured-LWE problem (i.e., without algebraic structures such as rings or modules). The unstructured-LWE problem is resistant to potential attacks exploiting algebraic structures, which makes it a conservative choice for constructing high-security schemes. However, a key disadvantage of such schemes is their limited computational and communication efficiency. As an improvement of SCloud <xref target="SCloud.e20"></xref>, SCloud+ <xref target="SCloud.SSR24"></xref> employs ternary secrets and lattice coding to enhance performance. </t> 
-->

<t> This draft specifies how to instantiate hybrid key exchange in TLS 1.3 using ECDHE and the post-quantum secure KEM SCloud+  <xref target="SCloud.SSR24"></xref> <xref target="SCloud.e24"></xref>. SCloud+ and its predecessor SCloud <xref target="SCloud.e20"></xref> are based on the unstructured LWE problem. The absence of algebraic structure, such as rings or modules, in these algorithms presumes a higher level of security than for algorithms based on structured lattices, such as ML-KEM <xref target="FIPS203"></xref>, in the event of attacks that exploit structure are devised. The downside of this conservative approach is reduced computational and communication efficiency. </t> 


<t> SCloud+ utilizes ternary secrets and lattice codes to enhance noise control and ensure robust error correction during decryption, enabling smaller parameters while maintaining low decryption failure probabilities. Compared with FrodoKEM <xref target="FrodoKEM"></xref> <xref target="I-D.LBES25"></xref>, a well-known PQ KEM based on the unstructured LWE problem, SCloud+ reduces the size of public key and ciphertext from between 17 to 34 percent, depending on the chosen parameter set. The encapsulation plus decapsulation time is reduced about 24 percent. </t>
		
</section>
</section>

<section>
        <name>Requirements Language</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"/>
          <xref target="RFC8174"/> when, and only when, they appear in
          all capitals, as shown here.</t>
    </section>
      <!-- [CHECK] The 'Requirements Language' section is optional -->
	  
<section title="KEMs and SCloud+" anchor="KEM.SCloud">    
	
	<section title="KEMs and LWE" anchor="KEMs">
	
	<t> Key encapsulation mechanism (KEM) is a kind of key exchange, which allows one entity to encapsulate a secret key under a (long-term or ephemeral) public key of another entity. A KEM consists of three algorithms:
    </t>
	<ul spacing="normal">
        <li>KeyGen(k) -> (pk, sk): A probabilistic key generation algorithm, which generates a public encapsulation key pk and a secret decapsulation key sk, when a security parameter k is given.</li>
        <li>Encaps(pk) -> (ct, ss): A probabilistic encapsulation algorithm, which takes as input a public encapsulation key pk and outputs a ciphertext ct and a shared secret ss. </li>
        <li> Decaps(sk, ct) -> ss: A decapsulation algorithm, which takes as input a secret decapsulation key sk and ciphertext ct and
      outputs a shared secret ss.</li>
      </ul>
	 
      <t> Among the post-quantum KEM schemes, those based on the learning with errors (LWE) problem have become prevalent. It has been proven that the LWE problem is at least as hard as the approximate shortest vector problem (SVP) and the shortest independent vectors problem (SIVP) in lattices, which remain difficult even in the sense of quantum computing. This reduction also establishes the average-case hardness of LWE, making it a strong candidate for cryptographic constructions. These schemes can be broadly divided into two categories, depending on whether algebraic structure is introduceed into the LWE problem. </t>

      <t> The first category includes schemes built on variants of the LWE problem that incorporate algebraic structured, such as the Ring-LWE and Module-LWE problems. These structured lattice schemes include the well known NIST standard ML-KEM <xref target="FIPS203"></xref> (ML referring to Module-Lattice). The second category are KEMs whose security are based on hardness of the LWE problem without any algebraic structure. These unstructured lattice schemes, include FrodoKEM <xref target="FrodoKEM"></xref>, which is well known for its conservative security. </t>
	  
	  <!--
	  <t> The first category includes schemes built on variants of the LWE problem that incorporate algebraic structures (referred to as structured-LWE or structured lattices), such as the Ring-LWE problem and the Module-LWE problem. The most well known scheme in this category is the NIST standard algorithm ML-KEM <xref target="FIPS203"></xref>, whic was originally called Kyber. It is a Module-Lattice based Key-Encapsulation Mechanism, so called ML-KEM. The second category are KEMs whose security are purely based on the hardness of the LWE problem without any additional algebraic structure (referred to as unstructured-LWE or unstructured lattices). These schemes, such as FrodoKEM <xref target="FrodoKEM"></xref>, are considered to offer conservative security, as explained below. </t>
	  --> 

	  <t>  The main benefit of introducing algebraic structure is to make LWE-based schemes more compact, i.e., more efficient in both aspects of computation and communication complexity. However, the algebraic structure also complicates the procedures of reducing the structured-LWE problems to the random lattice problems (which lack such structure), such as the approximate SVP and SIVP. Recent research results demonstrate efficient quantum algorithms for the approximate Ideal-SVP, which is related to structured lattice schemes. Although it seems unlikely that these approaches can be directly extended to address the approximate Module-SVP or the Ring-LWE/Module-LWE problems, it remains unclear about the impact of algebraic structure on the security of structured-LWE KEMs（Section 1 of <xref target="SCloud.e24"></xref>). </t>
	 
	  </section>
	  
	  <section title=" FrodoKEM" anchor="Frodo">
	  
      <t> FrodoKEM <xref target="FrodoKEM"></xref> is built on the plain LWE encryption framework，namely, in algebraically unstructured lattices. Specifically, FrodoKEM operates with matrix-matrix multiplication modulo a power-of-2 q. In its key generation and encryption, several variables (e.g., S, U, and E) are set to be matrices so that a ciphertext can pack more message bits. Additionally, FrodoKEM uses rounded Gaussian error sampling, which adheres to the plain LWE problem. This is implemented by constructing a table to store the cumulative distribution function and performing error sampling via table lookup.</t>
	  
	   <t> As discussed in <xref target="KEMs"></xref>, unstructured-LWE based KEMs offer conservative security, compared with structured-LWE based KEMs. FrodoKEM is now one of three KEMs in the process of ISO standardization <xref target="FrodoKEM"></xref>. The algorithm details of FrodoKEM are also specified as an Internet draft in CFRG by <xref target="I-D.LBES25"></xref>. German BSI considers FrodoKEM to be 'suitable for protecting confidential information over the long term'，while French ANSSI 'encourages including FrodoKEM as a valid and conservative option for high-security applications.' </t>
	  
	   <t> However, the computation and communication efficiency of FrodoKEM is much worse than that of ML-KEM. As analyzed in <xref target="IKEv2-FrodoKEM"></xref>, the size of public key and ciphertext for FrodoKEM is about 13 times of that of ML-KEM. This poses a major obstacle to their deployment in practical systems. </t>
	  

      </section>
	  
	 <section title="SCloud+ KEM" anchor="SCloudplus">
	  
      <t> Similar to FrodoKEM, SCloud+ <xref target="SCloud.SSR24"></xref> is also an unstructured lattice based KEM with post-quantum security. In a nutshell, SCloud+ leverages two particular techniques to significantly enhance both computation and communication efficiency: ternary secrets and lattice coding. </t>
	  
	  <t> A ternary secret, where each entry is selected from {0,1,-1}, can be used to significantly reduce parameter sizes and improve the scheme’s efficiency. Ternary secrets have been widely used in homomorphic encryption schemes <xref target="SCloud.e24"></xref>. For all parameters, SCloud+ employs a ternary secret with a Hamming weight equal to half of its length. In unstructured-LWE-based schemes, two of the most time-consuming operations are the generation of matrix and the matrix-vector multiplication. Employing a ternary secret in SCloud+ improves noise control during decryption and thus enables to use a smaller ciphertext modulus ensuring correct decryption. This provides an opportunity to reduce matrix sizes while maintaining the same security level, thereby facilitating faster matrix sampling and more efficient matrix-vector multiplication. Furthermore, setting the Hamming weight of the secret to half of its length prevents it from becoming overly sparse, and also addresses potential security concerns on sparse-secret LWE. </t>
	  
	  <t> Lattice Coding: SCloud+ carefully selects a robust error correction method to ensure a smaller choice of parameters while maintaining a proper decryption failure probability. While the use of lattice coding is common in LWE-based constructions, previous schemes often involve lattice codes with small dimensions (4 to 16, normally). Although larger-dimensional lattice codes generally offer better signal-to-noise ratios and thus stronger error correction capabilities, they require specially designed processes to efficiently map the message to the lattice code or vice versa, which poses a challenge for high-dimensional lattice codes. SCloud+ overcomes this challenge by designing efficient labeling and delabeling for Barnes-Wall lattice codes, enabling the use of 32-dimensional lattice codes for error correction without compromising the scheme’s performance.</t>

<!-- 
	  <t> Lattice codes are finite sets of lattice points within a specific region. In our application, we typically adopt additive lattice codes, which are quotient sets of two nested lattices Ls and Lc. Here Lc is usually referred to as coding lattice and Ls is usually referred to as shaping lattice. Lattice coding is commonly used in message transmission over the additive white Gaussian noise (AWGN) channel. In this process, a message \( m \) is first mapped to a lattice point \( x \) using a labeling algorithm. After transmission, the noisy message \( y = x + e \) is received, where \( e \) is a Gaussian noise vector. The Maximum Likelihood Decoding (MLD) algorithm is then applied to round \( y \) to a lattice point \( x' \), which is ideally equal to \( x \). Finally, a delabeling algorithm is used to recover the message \( m \). </t>

      <t> Lattice coding has been utilized in the construction of LWE-based KEMs. For example, in 2016, Poppelen applied Leech lattice to unstructured-LWE schemes. In 2021, Saliba, Luzzi, and Ling used the E8 lattice and showed that the communication cost of Frodo could be reduced by 7%. In 2022, Lyu et al. experimented with higher-dimensional lattice codes, also achieving a 7% reduction in the communication cost for Frodo. These works suggest an important observation: higher-dimensional lattices generally offer better signal-to-noise ratios and stronger error correction capabilities. However, the need for efficient labeling/delabeling and MLD algorithms remains a significant challenge. </t>
-->
	 
      </section>


<section title=" Comparison to FrodoKEM" anchor="Comparison">

      <t> FrodoKEM <xref target="FrodoKEM"></xref> has 12 variants with IND-CCA security. Namely, it offers 3 NIST security levels 1, 3, and 5; the pseudorandom generator (PRG) uses AES128 or SHAKE 128; and the KEM public key can be a long-term key (standard mode) or a short-term key (ephemeral mode). Here, just FrodoKEM  (standard mode), rather than eFrodoKEM, is compared with SCloud+, regardless the PRG is AES128 or SHAKE 128. </t>
   
	  <t> SCloud+ provides three sets of parameters, targeting 128, 192, and 256 bits of security, which are correpsonding to NIST levels 1, 3 and 5 security, respectively. Benefiting from ternary secrets and Barnes-Wall lattice codes which are carefully selected, SCloud+ achieves a very flexible parameter selection and maintains a moderate security margins (about 88 bits) for all sets of parameters while ensuring the conformed decryption failure probability. The IND-CCA security of SCloud+ is shown, and also comprehensively analyzed using potentially the most effective attacks for LWE, including primal attack, dual attack, and hybrid attack in <xref target="SCloud.SSR24"></xref>.</t>
	    
	  <t> As demonstrated in Table 1 and Table 2, compared to FrodoKEM, SCloud+ achieves better performance in both aspects of communications and computation. Here, the original size numbers in Table 1 come from Table A.5 in <xref target="FrodoKEM"></xref>, and Table 6 in <xref target="SCloud.SSR24"></xref>. About the total length of public key and ciphertext, the corresponding size of SCloud+ is shorter than that of FrodoKEM for 34.5%, 30%, and 17.5%, for security levels 1, 3, and 5, respectively. </t>

<!-- ML-KEM is also specified as an Internet Draft in IETF <xref target="I-D.Kyber24"></xref>. -->

<artwork><![CDATA[
  +===============+=============+=============+============+===============+
  |   Algorithms  |decapsulation|encapsulation| ciphterext | shared secret |
  |               |    key sk   |   key pk    |     ct     |      ss       |
  +===============+=============+=============+============+===============+
  | FrodoKEM-640  |   19,888    |    9,616    |    9,752   |      16       |
  +---------------+---- --------+- -----------+------------+---------------+
  | SCloud+-128   |   14,480    |    7,200    |    5,456   |      16       |  
  +---------------+-------------+-------------+------------+---------------+
  | FrodoKEM-976  |   31,296    |   15,632    |   15,792   |      24       |
  +---------------+-------------+-------------+------------+---------------+
  | SCloud+-192   |   21,968    |   11,136    |   10,832   |      24       |
  +---------------+-------------+-------------+------------+---------------+
  | FrodoKEM-1344 |   43,088    |   21,520    |   21,696   |      32       |
  +---------------+-------------+-------------+------------+---------------+
  | SCloud+-256   |   37,304    |   18,744    |   16,916   |      32       |
  +---------------+-------------+-------------+------------+---------------+
  
  Table 1: Size (in bytes) of keys and ciphertexts of FrodoKEM and SCloud+ 
]]></artwork> 

   <t> As shown in Table 2, for the corresponding computation cost for encapsulation and decapsulation together, SCloud+ is less than that of FrodoKEM for 24.5%, 16%, and 26%, for security levels 1, 3, and 5, respectively. These original numbers come from Tables 5 and 7 in <xref target="SCloud.SSR24"></xref>. Note that here, computation cost is treated as the same as operation efficiency (in 10^3 cycles) shown in Table 2, based on x86 platform <xref target="SCloud.SSR24"></xref>. </t>

<artwork><![CDATA[
  +===============+==========+===============+===============+===========+
  |   Algorithms  |  KeyGen  | Encapsulation | Decapsulation | Enc.+Dec. |
  +===============+==========+===============+===============+===========+
  | FrodoKEM-640  |  1,375   |    1,541      |    1,474      |   3,015   |
  +---------------+---- -----+---------------+---------------+-----------+
  | SCloud+-128   |    998   |    1,125      |    1,127      |   2,273   |  
  +---------------+----------+---------------+---------------+-----------+
  | FrodoKEM-976  |  2,786   |    2,993      |    2,814      |   5,807   |
  +---------------+----------+---------------+---------------+-----------+
  | SCloud+-192   |  2,226   |    2,418      |    2,417      |   4,859   |
  +---------------+----------+---------------+---------------+-----------+
  | FrodoKEM-1344 |  4,906   |    5,183      |    4,922      |  10,174   |
  +---------------+----------+---------------+---------------+-----------+
  | SCloud+-256   |  3,454   |    3,671      |    3,824      |   7,539   |
  +---------------+----------+---------------+---------------+-----------+
  
  Table 2: Operation Efficiency (in 10^3 cycles) of FrodoKEM and SCloud+ 
]]></artwork> 

</section>
</section>

<section title="Negotiated Groups for ECDHE-SCloud+" anchor="Main">

<section title="Client Share and Server Share" anchor="Shares">

<t> As specified in <xref target="TLS.Hybrid"></xref>, each particular combination of a hybrid key exchange is represented as a NamedGroup and sent in the supported_groups extension in TLS 1.3. No internal structure or grammar is implied or required in the value of the identifier; they are simply opaque identifiers. </t> 

<t> This section describes the client's and server's key_exchange values for each of the following three hybrids of ECDHE-SCloud+: </t>

<!--
Namely, X25519 <xref target="RFC7748"></xref>, SecP256r1 (NIST P-256) <xref target="RFC8446"></xref>, and SecP384r1 (NIST P-384) <xref target="RFC8446"></xref> is combined with SCloud+-128, SCloud+-192 and SCloud+-256, respectively. Correspondingly, these groups are called X25519SCloud+128, SecP256r1SCloud+192, and SecP384r1SCloud+256.
-->

<ul spacing="normal">
        <li> X25519SCloud+128: X25519 <xref target="RFC7748"></xref> is combined with SCloud+-128.</li>
        <li> SecP256r1SCloud+192: SecP256r1 (NIST P-256) <xref target="RFC8446"></xref> is combined with SCloud+-192. </li>
        <li> SecP384r1SCloud+256: SecP384r1 (NIST P-384) <xref target="RFC8446"></xref> is combined with SCloud+-256.</li>
      </ul>


<t> When each of these three groups is negotiated, the client's key_exchange value is the concatenation of the client's ECDH ephemeral share and the SCloud+ encapsulation key. The exact size of the client share is shown in Table 3, for all three groups. </t>

<t> When each of these three groups is negotiated, the server's key_exchange value is the concatenation of the server's ECDH ephemeral share and the SCloud+ encapsulated ciphertext. The exact size of the server share is also shown in Table 3, for all three groups. </t>
   
<artwork><![CDATA[
  +=====================+==============+==============+===============+
  |     Groups          | Client Share | Server Share | Shared Secret |
  +=====================+==============+==============+===============+
  | X25519SCloud+128    |     7,232    |     5,488    |      48       |
  +---------------------+--------------+--------------+---------------+
  | SecP256r1SCloud+192 |    11,201    |    10,897    |      56       |
  +---------------------+--------------+--------------+---------------+
  | SecP384r1SCloud+256 |    18,841    |    17,013    |      80       |
  +---------------------+--------------+--------------+---------------+
  
  Table 3: The Size of Client Share, Server Share and Shared Secret (in Bytes)
]]></artwork> 


</section>
	
<section title="Shared Secret" anchor="Secret">

<t> The shared secret is also just the the concatenation of the ECDHE shared secret and the SCloud+ shared secret. Namely, the size of shared secret is 48 (32+16) bytes for X25519SCloud+128, 56 (32+24) bytes for SecP256r1SCloud+192, and 80 (48+32) bytes for SecP384r1SCloud+256. These numbers are also shown in Table 3. </t> 

<t> As highlighted in <xref target="TLS.Hybrid"></xref>, "for all groups, both client and server MUST calculate the ECDH part of the shared secret as described in Section 7.4.2 of <xref target="RFC8446"></xref>, including the all-zero shared secret check for X25519, and abort the connection with an illegal_parameter alert if it fails." </t> 

</section>
</section>
	
<section title="Security Considerations" anchor="Security">

<t> As SCloud+ is shown as an IND-CCA secure post-quantum KEM scheme <xref target="SCloud.SSR24"></xref>, the security analysis given in <xref target="TLS.Hybrid"></xref> applies here as well. At the time of writing, there are no other security issues which may need to be considered here. </t>



</section>
	
<section title="IANA Considerations" anchor="iana.considerations">

<t> Table 4 below gives the list of three IANA values for the three hybrid combinations with ECDHE and SCloud+, specified in this draft. These values are to be assigned by IANA, and registered under the "TLS Supported Groups" registry of Transport Layer Security (TLS) Parameters <xref target="IANA-TLS"></xref>.</t>
	
	  <artwork><![CDATA[   
    +==========+=====================+=========+=============+============+
    |    Value | Description         | DTLS-OK | Recommended | Reference  |
    +==========+=====================+=========+=============+============+
    |(TBD)4591 | X25519SCloud+128    |  Y      |  N          | this draft |
    | (0x11EF) |                     |         |             |            |
    +----------+---------------------+---------+-------------+------------+
    |(TBD)4592 | SecP256r1SCloud+192 |  Y      |  N          | this draft |
    | (0x11F0) |                     |         |             |            |
    +----------+---------------------+---------+-------------+------------+
    |(TBD)4593 | SecP384r1SCloud+256 |  Y      |  N          | this draft |
    | (0x11F1) |                     |         |             |            |
    +----------+---------------------+---------+-------------+------------+

   Table 4: Updates to the IANA "TLS Supported Groups"
   ]]></artwork> 

 </section>


<section title="Acknowledgments" anchor="acknowledgements">

<t>
...  
</t>
</section>

</middle>

<back>
  
<references title="Normative References">

        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
		<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7748.xml"/>
		<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8446.xml"/>
		<reference anchor="IANA-TLS" target="https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml">
          <front>
            <title> Transport Layer Security (TLS) Parameters </title>
            <author fullname=" " initials=" " surname=" "/>
		 
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="the Internet Assigned Numbers Authority (IANA)." value=""/>
        </reference>

			  
	    <reference anchor="TLS.Hybrid"  target="https://datatracker.ietf.org/doc/draft-ietf-tls-hybrid-design/">
          <front>
            <title>Hybrid key exchange in TLS 1.3</title>
            <author fullname="Douglas Stebila" initials="D." surname="Stebila"/>
            <author fullname="Scott Fluhrer" initials="S." surname="Fluhrer"/>
			<author fullname="Shay Gueron" initials="S." surname="Gueron"/>
            <date month="December" year="2025"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="IETF TLS WG Document, " value="Publication Requested)"/>
        </reference>
		
		<reference anchor="FIPS203"  target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.203.pdf">
          <front>
            <title>FIPS 203: Module-Lattice-Based Key-Encapsulation Mechanism Standard </title>
            <author fullname="National Institute of Standards and Technology" initials="" surname="National Institute of Standards and Technology" />
            <date month="August" year="2024"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="Federal Information Processing Standards Publication" value=""/>
        </reference>
		
<reference anchor="FrodoKEM"  target="https://frodokem.org/files/FrodoKEM_standard_proposal_20250929.pdf">
          <front>
            <title>FrodoKEM: Learning With Errors Key Encapsulation</title>
            <author fullname="E. Alkim" initials="E." surname="Alkim"/>
            <author fullname="J. W. Bos" initials="J. W." surname="Bos"/>
			<author fullname="L. Ducas" initials="L." surname="Ducas"/>
			<author fullname="P. Longa" initials="P." surname="Longa"/>
            <author fullname="I. Mironov" initials="I. " surname="Mironov"/>
			<author fullname="M. Naehrig" initials="N." surname="Naehrig"/>
			<author fullname="V. Nikolaenko" initials="V." surname="Nikolaenko"/>
			<author fullname="C. Peikert" initials="C." surname="Peikert"/>
			<author fullname="A. Raghunathan" initials="A." surname="Raghunathan"/>
            <author fullname="D. Stebila" initials="D. " surname="Stebila"/>
            <date month="September" year="2025"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="Preliminary Standardization Proposal submitted to ISO" value=""/>
        </reference>
		
		<reference anchor="SCloud.SSR24"  target="https://doi.org/10.1007/978-3-031-87541-0">
          <front>
            <title>SCloud+: An Efficient LWE-Based KEM Without Ring/Module Structure</title>
            <author fullname="Anyu Wang" initials="A." surname="Wang"/>
            <author fullname="Zhongxiang Zheng" initials="Z." surname="Zheng"/>
			<author fullname="Chunhuan Zhao" initials="C." surname="Zhao"/>
			<author fullname="Zhiyuan Qiu" initials="Z." surname="Qiu"/>
            <author fullname="Guang Zeng" initials="G. " surname="Zeng"/>
			<author fullname="Ye Yuan" initials="Y." surname="Yuan"/>
			<author fullname="Changchun Mu" initials="C." surname="Mu"/>
			<author fullname="Xiaoyun Wang" initials="X." surname="Wang"/>
            <date month="April" year="2025"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="Proceeding of Security Standardization Research Conference 2024 (SSR 2024)," value="LNCS 15559, pp. 147-174, Springer"/>
        </reference>
		
        <!-- The recommended and simplest way to include a well known reference -->
 
</references>


<references>
        <name>Informative References</name>
		
		<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9794.xml"/>
			
	
    <reference anchor="I-D.LBES25"  target="https://datatracker.ietf.org/doc/draft-longa-cfrg-frodokem/">
          <front>
            <title>FrodoKEM: key encapsulation from learning with errors</title>
            <author fullname="P. Longa" initials="P." surname="Longa"/>
            <author fullname="J. W. Bos" initials="J. W." surname="Bos"/>
			<author fullname="S. Ehlen" initials="S." surname="Ehlen"/>
            <author fullname="D. Stebila" initials="D. " surname="Stebila"/>
            <date month="September" year="2025"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="Work in Progress, " value="Internet Draft"/>
        </reference>
		
	<reference anchor="ECDHE-MLKEM"  target="https://datatracker.ietf.org/doc/draft-ietf-tls-ecdhe-mlkem/">
          <front>
            <title>Post-quantum hybrid ECDHE-MLKEM Key Agreement for TLSv1.3</title>
            <author fullname="Kris Kwiatkowski" initials="K." surname="Kwiatkowski"/>
            <author fullname="Panos Kampanakis" initials="P." surname="Kampanakis"/>
			<author fullname="Bas Westerbaan" initials="B." surname="Westerbaan"/>
            <author fullname="Douglas Stebila" initials="S." surname="Stebila"/>
            <date month="November" year="2025"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="IETF TLS WG Document (v03), " value="Publication Requested"/>
        </reference>
		
	 <reference anchor="SM2-MLKEM"  target="https://datatracker.ietf.org/doc/draft-yang-tls-hybrid-sm2-mlkem/">
          <front>
            <title>Hybrid Post-quantum Key Exchange SM2-MLKEM for TLSv1.3</title>
            <author fullname="Paul Yang" initials="P." surname="Yang"/>
            <author fullname="Cong Peng" initials="C." surname="Peng"/>
			<author fullname="Jin Hu" initials="J." surname="Hu"/>
            <author fullname="Shine Sun" initials="S." surname="Sun"/>
            <date month="November" year="2025"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="Work in Progress (v03), " value="Internet Draft"/>
        </reference>
			 
	    <reference anchor="SCloud.e24"  target="https://eprint.iacr.org/2024/1306">
          <front>
            <title>SCloud+: a Lightweight LWE-based KEM without Ring/Module Structure</title>
            <author fullname="Anyu Wang" initials="A." surname="Wang"/>
            <author fullname="Zhongxiang Zheng" initials="Z." surname="Zheng"/>
			<author fullname="Chunhuan Zhao" initials="C." surname="Zhao"/>
			<author fullname="Zhiyuan Qiu" initials="Z." surname="Qiu"/>
            <author fullname="Guang Zeng" initials="G. " surname="Zeng"/>
			<author fullname="Xiaoyun Wang" initials="X." surname="Wang"/>
            <date month="November" year="2024"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="IACR Cryptology ePrint Archive," value="2024/1306."/>
        </reference>
		
	<reference anchor="SCloud.e20"  target="https://eprint.iacr.org/2020/095">
          <front>
            <title>SCloud: Public Key Encryption and Key Encapsulation Mechanism Based on Learning with Errors</title>
            <author fullname="Zhongxiang Zheng" initials="Z." surname="Zheng"/>
			<author fullname="Anyu Wang" initials="A." surname="Wang"/>
			<author fullname="Haining Fan" initials="H." surname="Fan"/>
			<author fullname="Chunhuan Zhao" initials="C." surname="Zhao"/>
            <author fullname="Chao Liu" initials="C. " surname="Liu"/>
			<author fullname="Xue Zhang" initials="X." surname="Zhang"/>
            <date month="February" year="2020"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="IACR Cryptology ePrint Archive," value="2020/95."/>
        </reference>
		
		<reference anchor="IKEv2-FrodoKEM"  target="https://datatracker.ietf.org/doc/draft-wang-ipsecme-hybrid-kem-ikev2-frodo/">
          <front>
            <title>Post-quantum Hybrid Key Exchange in IKEv2 with FrodoKEM</title>
            <author fullname="Guilin Wang" initials="G." surname="Wang"/>
            <author fullname="Leonie Bruckert" initials="L." surname="Bruckert"/>
			<author fullname="Valery Smyslov" initials="V." surname="Smyslov"/>
            <date month="December" year="2025"/>
            <abstract>
              <t> .. </t>
            </abstract>
          </front>
          <seriesInfo name="Work in Progress (v03), " value="Internet Draft"/>
        </reference>
			 
			 
      </references>
    
	

</back>

</rfc>
