<?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-pq-sig-recommend-00"
  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="PQ Signature Recommendations for TLS"> Recommendations for Post-Quantum Signature Algorithms in 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-pq-sig-recommend-00"/>
   
    <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>
	
	
	
<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> Security </area>

    <workgroup> Transport Layer Security Working Group </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> With over 30 distinct post-quantum and hybrid/composite signature algorithm parameters proposed or registered for TLS 1.3 <xref target="RFC9847"></xref> <xref target="IANA-TLS"></xref> <xref target="I-D.ietf-tls-composite-mldsa"></xref>, implementations face increasing complexity and deployment overhead. This document provides curated guidance to recommend a manageable subset of post-quantum signature schemes for standard TLS 1.3 deployments. </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" anchor="Introduction" >

 <t> The rapid advancement of quantum computing structures introduces severe systemic risks to prevailing public-key infrastructures (PKIs) globally. Traditional cryptographic primitives—primarily those reliant on integer factorization, finite field discrete logarithms, or elliptic curve discrete logarithms—are inherently vulnerable to polynomial-time quantum cryptanalysis via Shor's algorithm. To preemptively mitigate these threats, the cryptographic community has initiated a wholesale transition toward post-quantum (PQ) cryptography and hybrid post-quantum/traditional (PQ/T) architectures across core transport layer validation frameworks.</t>

 <t> Within the context of Transport Layer Security (TLS) version 1.3 <xref target="RFC8446"/> <xref target="RFC9846"/>, this migration has triggered a massive expansion of the signature scheme namespace. Various working groups within the Internet Engineering Task Force (IETF) and the broader cryptographic ecosystem have introduced an extensive library of algorithm specifications. Specifically, 16 distinct composite ML-DSA combinations <xref target="I-D.ietf-tls-composite-mldsa"/> have been proposed to use in TLS 1.3, alongside 3 standalone pure ML-DSA parameter sets <xref target="I-D.ietf-tls-mldsa"/> <xref target="IANA-TLS"/> and 12 stateless hash-based SLH-DSA parameter variations <xref target="I-D.reddy-tls-slhdsa"/> <xref target="IANA-TLS"/>. When aggregated across the Internet Assigned Numbers Authority (IANA) registries <xref target="IANA-TLS"/>, over 30 separate post-quantum and hybrid signature schemes are now available for session negotiation and certificate chain path building.</t>

 <t> While this wide array of parameters offers flexible trade-offs between performance, signature boundaries, and mathematical hardness assumptions, it simultaneously introduces a critical challenge: implementation complexity. Requiring TLS engines to store, process, and negotiate an unmanaged number of code points invariably leads to increased software attack surfaces, potential interoperability friction, and inefficient ClientHello negotiations. Furthermore, the inclusion of heavy signature options can induce network-level penalties, such as packet fragmentation and increased time-to-last-byte metrics across volatile or lossy connection channels.</t>

 <t> To prevent systemic fragmentation of the TLS ecosystem, this document provides structured deployment profiles that identify a curated, highly interoperable subset of post-quantum signature schemes. By delineating clear boundaries between general-purpose handshake authentication and long-term certificate authority trust anchors, these recommendations enable protocol implementers to align with strict regulatory frameworks while keeping operational execution costs manageable.</t>
		
</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="The Post-Quantum Signature Landscape" anchor="landscape">
  
      <t> The post-quantum signature options currently specified for use within TLS 1.3 <xref target="RFC8446"/> originate from two fundamentally distinct mathematical families standardized by NIST: module-lattice-based cryptography and stateless hash-based cryptography. Each family presents varying engineering trade-offs regarding computational execution times, public key boundaries, and signature verification payloads. Understanding these characteristics is essential for analyzing how different algorithms affect standard TLS handshakes and packet processing pipelines.</t>

      <t> The Module-Lattice-Based Digital Signature Algorithm (ML-DSA) <xref target="FIPS204"/> represents the primary general-purpose public-key signature framework for post-quantum migration. Derived from the Crystals-Dilithium primitive, ML-DSA is specified across three security levels: ML-DSA-44, ML-DSA-65, and ML-DSA-87, mapped respectively to the TLS SignatureScheme namespace as <tt>mldsa44</tt>, <tt>mldsa65</tt>, and <tt>mldsa87</tt> <xref target="I-D.ietf-tls-mldsa"/>. ML-DSA achieves a highly optimized balance between public key generation, signing speed, and verification efficiency. Its signature sizes range from roughly 2,420 bytes to 4,595 bytes. While significantly larger than traditional elliptic curve or RSA signatures, these sizes generally fit within standard TCP initial window limits without triggering extensive packet fragmentation.</t>

      <t> Conversely, the Stateless Hash-Based Digital Signature Algorithm (SLH-DSA) <xref target="FIPS205"/>, derived from SPHINCS+, relies on the conservative security assumptions of symmetric hash functions (such as SHA-256 or SHAKE256). SLH-DSA introduces zero new structural mathematical hardness assumptions beyond the collision resistance of its underlying hash primitives. This property makes it exceptionally resilient against prospective lattice cryptanalysis breakthroughs. However, this robust security comes with heavy performance trade-offs. Across its 12 registered variations <xref target="I-D.reddy-tls-slhdsa"/>, the "small" (S) variants minimize payload size at the cost of slower signing speeds, yet still produce signatures ranging from 7,856 bytes to nearly 30 kilobytes. The "fast" (F) variants accelerate signature production but increase verification overhead and result in much larger transmission payloads. This substantial size boundary introduces a persistent risk of network-level disruptions, such as middlebox drops caused by fragmented UDP packets in DTLS environments.</t>

      <t> To bridge the operational gap during this multi-decade migration, Composite ML-DSA signature schemes <xref target="I-D.ietf-tls-composite-mldsa"/> have been introduced as a transitional framework for Post-Quantum/Traditional (PQ/T) hybrids. A composite scheme packages both a post-quantum algorithm (such as ML-DSA) and a classical primitive (such as ECDSA, Ed25519, or RSA) into a single cryptographic element. Protocol logic treats this combination as a single opaque identifier, executing both signing and verification routines sequentially. Authentication succeeds if and only if both component signatures are verified as structurally valid. This architecture provides robust defense-in-depth, protecting session security even in the event of an unforeseen structural break in early post-quantum lattice primitives or their initial software implementations. </t>
    
	</section>

  <section title="Algorithm Recommendations and Engineering Logic" anchor="recommendations">
  
      <t> Selecting post-quantum signature schemes for TLS 1.3 requires navigating a multi-dimensional engineering trade-off matrix consisting of payload size, processing latency, and security longevity. Ecosystem fragmentation can be avoided by dividing recommendations into distinct deployment profiles based on operational roles. The following is a preliminary recommendation. </t> 

      <section title="The Performance Matrix" anchor="matrix">
        
		<t>To establish baseline engineering logic, the structural metrics of the candidate algorithms are compared below. Byte overhead figures represent the combined total of the public key and the signature payload, which directly impacts the TLS handshake packet footprint.</t>
        
		 <table anchor="perf_table" align="center">
          <name>Post-Quantum Signature Scheme Resource Metrics</name>
          <thead>
            <tr>
              <th align="left">Signature Scheme Identifier</th>
              <th align="center">Public Key &amp; Signature (Bytes)</th>
              <th align="center">Signing Latency</th>
              <th align="center">Verification Latency</th>
              <th align="left">Primary Mathematical Assumption</th>
            </tr>
          </thead>

          <tbody>
            <tr>
              <td align="left"><tt>mldsa65</tt></td>
              <td align="center">5,251</td>
              <td align="center">Low</td>
              <td align="center">Very Low</td>
              <td align="left">Module Learning With Errors (M-LWE)</td>
            </tr>
           
           <tr>
              <td align="left"><tt>mldsa65_ecdsa_secp256r1_sha512</tt></td>
              <td align="center">5,379</td>
              <td align="center">Low-Medium</td>
              <td align="center">Low</td>
              <td align="left">Dual: M-LWE and Elliptic Curve ECDSA</td>
            </tr>
           
           <tr>
              <td align="left"><tt>slhdsa_shake_128s</tt></td>
              <td align="center">7,888</td>
              <td align="center">High</td>
              <td align="center">Low-Medium</td>
              <td align="left">Symmetric Hash Function Strength</td>
            </tr>

            <tr>
              <td align="left"><tt>slhdsa_shake_192s</tt></td>
              <td align="center">16,272</td>
              <td align="center">High</td>
              <td align="center">Medium</td>
              <td align="left">Symmetric Hash Function Strength</td>
            </tr>
          </tbody>
        </table>

      </section>

  <section title="Profile A: General-Purpose Handshake Authentication" anchor="profile_a">
        <t>For standard ephemeral TLS handshakes where minimal time-to-last-byte (TTLB) and low CPU utilization are critical constraints, <tt>mldsa65</tt> is RECOMMENDED as the default pure post-quantum baseline scheme. As demonstrated in <xref target="perf_table"/>, the ~5.2 KB overhead of <tt>mldsa65</tt> allows the handshake transmission to comfortably fit within standard TCP Initial Congestion Window limits (typically 10 packets or ~14.6 KB) without triggering multi-round-trip IP fragmentation anomalies.</t>
        
        <t>For deployments governed by transitional regulatory mandates or requiring cryptographic risk mitigation against prospective lattice flaws, the composite signature scheme <tt>mldsa65_ecdsa_secp256r1_sha512</tt> is RECOMMENDED. The incremental transmission cost of adding the classical ECDSA layer is negligible (+128 bytes), while the processing overhead remains well within the operational tolerances of modern hardware accelerators.</t>
      </section>



      <section title="Profile B: Long-Term Certificate Authority Trust Anchors" anchor="profile_b">
        <t>The engineering logic shifts significantly when evaluating root and intermediate Certificate Authority (CA) trust anchors. Because trust anchors and intermediate certificates are infrequently updated and are often cached by relying parties, signature verification reliability and long-term security safety take precedence over signature size limits.</t>
        
        <t>For these scenarios, SLH-DSA variants—specifically <tt>slhdsa_shake_128s</tt>—are RECOMMENDED for signing long-lived intermediate and root structures. By trading away signing performance, the small ("s") variants limit the byte boundary inflation to under 8 KB, ensuring compatibility with standard X.509 certificate path parsers. Leveraging the conservative symmetric assumptions of SHAKE256 ensures that the root anchor framework remains secure against algorithmic breakthroughs targeting lattice geometry, providing a secure foundation throughout the post-quantum migration era.</t>
      </section>
    </section>


    

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

<t> To be added later. </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.8446.xml"/>
		<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9846.xml"/>
		<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9847.xml"/>
		
        
	<reference anchor="FIPS204"  target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.204.pdf">
          <front>
            <title>FIPS 204: Module-Lattice-Based Digital Signature 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="FIPS205"  target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.205.pdf">
          <front>
            <title>FIPS 205: Stateless Hash-Based Digital Signature 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>

	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-tls-composite-mldsa.xml"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-tls-mldsa.xml"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.reddy-tls-slhdsa.xml"/>


        <reference anchor="IANA-TLS" target="https://www.iana.org/assignments/tls-parameters">
          <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>

		
        <!-- 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"/>
		
      </references>
    

</back>

</rfc>

