<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-sun-ssh-composite-sigs-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <front>
    <title>Composite ML-DSA Signatures for SSH</title>
    <seriesInfo name="Internet-Draft" value="draft-sun-ssh-composite-sigs-00"/>
    <author initials="S." surname="Sun" fullname="Sun Shuzhou">
      <organization>Huawei</organization>
      <address>
        <email>sunshuzhou@huawei.com</email>
      </address>
    </author>
    <author initials="L." surname="Prabel" fullname="Lucas Prabel">
      <organization>Huawei</organization>
      <address>
        <email>lucas.prabel@huawei.com</email>
      </address>
    </author>
    <date year="2025" month="April" day="24"/>
    <area>Security</area>
    <workgroup>sshm</workgroup>
    <keyword>ssh</keyword>
    <keyword>Composite Signatures</keyword>
    <keyword>ML-DSA</keyword>
    <abstract>
      <?line 83?>

<t>This document describes the use of PQ/T composite signatures for the Secure Shell (SSH) protocol. The composite signatures described combine ML-DSA as the post-quantum part and the elliptic curve signature schemes ECDSA, Ed25519 and Ed448 as the traditional part.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://example.com/LATEST"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-sun-ssh-composite-sigs/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Secure Shell Maintenance (sshm) Working Group mailing list (<eref target="mailto:ssh@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/ssh/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/ssh/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/USER/REPO"/>.</t>
    </note>
  </front>
  <middle>
    <?line 87?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The development of quantum computers has raised concern towards traditional asymmetric cryptographic algorithms. A Cryptographically Relevant Quantum Computer (CRQC) will break RSA and elliptic curve signature schemes. There is a need to migrate to quantum-resistant signature schemes.</t>
      <t>Recently, NIST publised the ML-DSA <xref target="FIPS204"/> algorithm, which is a post-quantum signature scheme. However, when using relatively new cryptographic schemes, the lack of maturing time makes people worry. Many hybrid solutions are thus proposed, which combine a traditional algorithm with a post-quantum algorithm.</t>
      <t><xref target="FIPS204"/> defines both pure ML-DSA and pre-hash ML-DSA. This document only uses pure ML-DSA.</t>
      <t>This document describes how to combine ML-DSA with the elliptic curve signature schemes ECDSA, Ed25519 and Ed448 for authentication in the SSH <xref target="RFC4251"/> protocol.</t>
    </section>
    <section anchor="conventions-and-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>
      <?line -18?>

<t>This document is consistent with the terminology for hybrid signatures defined in <xref target="I-D.draft-ietf-pquip-pqt-hybrid-terminology"/>.</t>
      <t>The key and signature formats follows the notation introduced in <xref target="RFC4251"/>, Section 3, and the string data type format follows the notation from <xref target="RFC4251"/>, Section 5.</t>
    </section>
    <section anchor="composite-algorithms">
      <name>Composite Algorithms</name>
      <t>A composite algorithm has one post-quantum algorithm, and one traditional algorithm.</t>
      <section anchor="composite-kg">
        <name>Composite Key Generation</name>
        <t>Composite public and private keys are generated by calling the key generation functions of the two component algorithms and concatenating the keys in an order given by the registered composite algorithm.</t>
        <t>For the composite algorithms described in this document, the Key Generation process is as follows:</t>
        <artwork><![CDATA[
(pk_1, sk_1) <- ML-DSA.KeyGen()
(pk_2, sk_2) <- ECCSigAlg.KeyGen()

Composite Public Key <- pk_1 || pk_2
Composite Private Key <- sk_1 || sk_2
]]></artwork>
        <t>ECCSigAlg is an elliptic curve signature scheme, i.e., ECDSA, Ed25519 or Ed448.</t>
      </section>
      <section anchor="composite-sign">
        <name>Composite Sign</name>
        <t>A composite signature's value <bcp14>MUST</bcp14> include two signature components and <bcp14>MUST</bcp14> be in the same order as the components from the corresponding signing key.</t>
        <t>For the composite algorithms described in this document, the signature process of a message M follows Section 4.2.1 of <xref target="I-D.draft-ietf-lamps-pq-composite-sigs"/>, with an empty application context string:</t>
        <artwork><![CDATA[
M' <- Prefix || Domain || 0 || M

sig_1 <- ML-DSA.Sign(sk_1, M', ctx=Domain)
sig_2 <- ECCSigAlgo.Sign(sk_2, M')

Composite Signature <- (sig_1, sig_2)
]]></artwork>
        <t>The prefix "Prefix" string is defined as in <xref target="I-D.draft-ietf-lamps-pq-composite-sigs"/> as the byte encoding of the string "CompositeAlgorithmSignatures2025", which in hex is 436F6D706F73697465416C676F726974686D5369676E61747572657332303235. It can be used by a traditional verifier to detect if the composite signature has been stripped apart.</t>
        <t>The domain separator "Domain" is defined as the octets of the ASCII representation of the key format identifier of the underlying composite signature algorithm.</t>
      </section>
      <section anchor="composite-verify">
        <name>Composite Verify</name>
        <t>The Verify algorithm <bcp14>MUST</bcp14> validate a signature only if all component signatures are successfully validated.</t>
        <artwork><![CDATA[
(pk_1, pk_2) <- pk
(sig_1, sig_2) <- sig

M' <- Prefix || Domain || 0 || M

if not ML-DSA.Verify(pk_1, M', ctx=Domain)
    output "Invalid signature"
if not ECCSigAlgo.Verify(pk_2, M')
    output "Invalid signature"
if all succeeded, then
    output "Valid signature"
]]></artwork>
      </section>
    </section>
    <section anchor="pk-algos">
      <name>Public Key Algorithm</name>
      <t>This section gives the concrete composite signature algorithms and their component algorithms. Their usage within SSH follows Section 6.6 of <xref target="RFC4253"/>.</t>
      <t>The following table defines a list of algorithms associated with specific PQ/T combinations.</t>
      <table anchor="tab-ssh-algs">
        <name>Composite ML-DSA Signature Algorithms for SSH</name>
        <thead>
          <tr>
            <th align="left">Key Format Identifier</th>
            <th align="left">First Algorithm</th>
            <th align="left">Second Algorithm</th>
            <th align="left">Pre-Hash</th>
            <th align="left">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">ssh-mldsa44-es256</td>
            <td align="left">ML-DSA-44</td>
            <td align="left">ecdsa-with-SHA256 with secp256r1</td>
            <td align="left">id-sha256</td>
            <td align="left">Composite Signature with ML-DSA-44 and ECDSA using P-256 curve and SHA-256</td>
          </tr>
          <tr>
            <td align="left">ssh-mldsa65-es256</td>
            <td align="left">ML-DSA-65</td>
            <td align="left">ecdsa-with-SHA256 with secp256r1</td>
            <td align="left">id-sha256</td>
            <td align="left">Composite Signature with ML-DSA-65 and ECDSA using P-256 curve and SHA-256</td>
          </tr>
          <tr>
            <td align="left">ssh-mldsa87-es384</td>
            <td align="left">ML-DSA-87</td>
            <td align="left">ecdsa-with-SHA384 with secp384r1</td>
            <td align="left">id-sha384</td>
            <td align="left">Composite Signature with ML-DSA-87 and ECDSA using P-384 curve and SHA-384</td>
          </tr>
          <tr>
            <td align="left">ssh-mldsa44-ed25519</td>
            <td align="left">ML-DSA-44</td>
            <td align="left">Ed25519</td>
            <td align="left">id-sha512</td>
            <td align="left">Composite Signature with ML-DSA-44 and Ed25519 and SHA-512</td>
          </tr>
          <tr>
            <td align="left">ssh-mldsa65-ed25519</td>
            <td align="left">ML-DSA-65</td>
            <td align="left">Ed25519</td>
            <td align="left">id-sha512</td>
            <td align="left">Composite Signature with ML-DSA-65 and Ed25519 and SHA-512</td>
          </tr>
          <tr>
            <td align="left">ssh-mldsa87-ed448</td>
            <td align="left">ML-DSA-87</td>
            <td align="left">Ed448</td>
            <td align="left">id-sha512</td>
            <td align="left">Composite Signature with ML-DSA-87 and Ed448 and SHA-512</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="public-key-format">
      <name>Public Key Format</name>
      <t>The key format for all parameter sets defined in this document follows the encoding pattern from <xref target="RFC4253"/>, Section 6.6.</t>
      <t><strong>string</strong> identifier</t>
      <t><strong>string</strong> key</t>
      <t>The 'identifier' is the key format identifier given in <xref target="tab-ssh-algs"/>.</t>
      <t>The 'key' is the composite public key generated as defined in <xref target="composite-kg"/>. It is the concatenation of the public keys of the component schemes.</t>
      <t>For ML-DSA, the public keys are defined in <xref target="FIPS204"/>.</t>
      <t>For ECDSA with curves secp256r1 or secp384r1, the public keys are defined in <xref target="RFC5656"/>, Section 3.1. The public key is encoded from an elliptic curve point into an octet string as defined in Section 2.3.3 of <xref target="SEC1"/>; point compression <bcp14>MAY</bcp14> be used.</t>
      <t>For Ed25519 and Ed448, the public keys are defined in <xref target="RFC8709"/>, Section 6.</t>
      <t>The "ssh-mldsa44-es256" key format has the following encoding:</t>
      <t><strong>string</strong> ssh-mldsa44-es256</t>
      <t><strong>string</strong> key</t>
      <t>Here, 'key' is the concatenation of the 1312-octet ML-DSA-44 public key and the ECDSA public key using the secp256r1 curve.</t>
      <t>The "ssh-mldsa65-es256" key format has the following encoding:</t>
      <t><strong>string</strong> ssh-mldsa65-es256</t>
      <t><strong>string</strong> key</t>
      <t>Here, 'key' is the concatenation of the 1952-octet ML-DSA-65 public key and the ECDSA public key using the secp256r1 curve.</t>
      <t>The "ssh-mldsa87-es384" key format has the following encoding:</t>
      <t><strong>string</strong> ssh-mldsa87-es384</t>
      <t><strong>string</strong> key</t>
      <t>Here, 'key' is the concatenation of the 2592-octet ML-DSA-87 public key and the ECDSA public key using the secp384r1 curve.</t>
      <t>The "ssh-mldsa44-ed25519" key format has the following encoding:</t>
      <t><strong>string</strong> ssh-mldsa44-ed25519</t>
      <t><strong>string</strong> key</t>
      <t>Here, 'key' is the concatenation of the 1312-octet ML-DSA-44 public key and the 32-octet Ed25519 public key.</t>
      <t>The "ssh-mldsa65-ed25519" key format has the following encoding:</t>
      <t><strong>string</strong> ssh-mldsa65-ed25519</t>
      <t><strong>string</strong> key</t>
      <t>Here, 'key' is the concatenation of the 1952-octet ML-DSA-65 public key and the 32-octet Ed25519 public key.</t>
      <t>The "ssh-mldsa87-ed448" key format has the following encoding:</t>
      <t><strong>string</strong> ssh-mldsa87-ed448</t>
      <t><strong>string</strong> key</t>
      <t>Here, 'key' is the concatenation of the 2592-octet ML-DSA-87 public key and the 57-octet Ed448 public key.</t>
    </section>
    <section anchor="signature-format">
      <name>Signature Format</name>
      <t>The signature format for all parameter sets defined in this document following the encoding pattern defined in Section 6.6 of <xref target="RFC4253"/>.</t>
      <t><strong>string</strong> identifier</t>
      <t><strong>string</strong> signature</t>
      <t>The 'identifier' is the key format identifier given in <xref target="pk-algos"/>.</t>
      <t>The 'signature' is the composite signature generated as defined in <xref target="composite-kg"/>. It is the concatenation of the signatures of the component schemes.</t>
      <t>For ML-DSA, the signatures are defined in <xref target="FIPS204"/>.</t>
      <t>For ECDSA with curves secp256r1 and secp384r1, the signatures and their encodings are defined in <xref target="RFC5656"/>, Section 3.1.2.</t>
      <t>For Ed25519 and Ed448, the signature are defined in <xref target="RFC8709"/>, Section 6.</t>
      <t>The "ssh-mldsa44-es256" key format has the following encoding:</t>
      <t><strong>string</strong> ssh-mldsa44-es256</t>
      <t><strong>string</strong> signature</t>
      <t>Here, 'signature' is the concatenation of the 2420-octet ML-DSA-44 signature and the ECDSA signature using the secp256r1 curve.</t>
      <t>The "ssh-mldsa65-es256" key format has the following encoding:</t>
      <t><strong>string</strong> ssh-mldsa65-es256</t>
      <t><strong>string</strong> signature</t>
      <t>Here, 'signature' is the concatenation of the 3309-octet ML-DSA-65 signature and the ECDSA signature using the secp256r1 curve.</t>
      <t>The "ssh-mldsa87-es384" key format has the following encoding:</t>
      <t><strong>string</strong> ssh-mldsa87-es384</t>
      <t><strong>string</strong> signature</t>
      <t>Here, 'signature' is the concatenation of the 4627-octet ML-DSA-44 signature and the ECDSA signature using the secp384r1 curve.</t>
      <t>The "ssh-mldsa44-ed25519" key format has the following encoding:</t>
      <t><strong>string</strong> ssh-mldsa44-ed25519</t>
      <t><strong>string</strong> signature</t>
      <t>Here, 'signature' is the concatenation of the 2420-octet ML-DSA-44 signature and the 64-octet Ed25519 signature.</t>
      <t>The "ssh-mldsa65-ed25519" key format has the following encoding:</t>
      <t><strong>string</strong> ssh-mldsa65-ed25519</t>
      <t><strong>string</strong> signature</t>
      <t>Here, 'signature' is the concatenation of the 3309-octet ML-DSA-44 signature and the 64-octet Ed25519 signature.</t>
      <t>The "ssh-mldsa87-ed448" key format has the following encoding:</t>
      <t><strong>string</strong> ssh-mldsa87-ed448</t>
      <t><strong>string</strong> signature</t>
      <t>Here, 'signature' is the concatenation of the 4627-octet ML-DSA-44 signature and the 114-octet Ed448 signature.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The Security Considerations section of <xref target="RFC4251"/> also applies to this document.</t>
      <t>The user can refer to <xref target="FIPS204"/> for security issues related to the ML-DSA post-quantum component of the composite algorithm and to the Security Considerations sections of <xref target="RFC5656"/> and <xref target="RFC8709"/> for the traditional component.</t>
      <t>For the specific security issues raising from the use of a hybrid composite signature scheme, the user can refer to <xref target="I-D.draft-ietf-pquip-hybrid-signature-spectrums"/>.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to add the following entries to "Public Key Algorithm Names" in the "Secure Shell (SSH) Protocol Parameters" registry <xref target="IANA.SSH"/>:</t>
      <table anchor="tab-pub-key-algo-name">
        <name>SSH Public Key Code Points</name>
        <thead>
          <tr>
            <th align="left">Public Key Algorithm Name</th>
            <th align="left">Key Format</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">ssh-mldsa44-es256</td>
            <td align="left">ssh-mldsa44-es256</td>
            <td align="left">THIS-RFC</td>
          </tr>
          <tr>
            <td align="left">ssh-mldsa65-es256</td>
            <td align="left">ssh-mldsa65-es256</td>
            <td align="left">THIS-RFC</td>
          </tr>
          <tr>
            <td align="left">ssh-mldsa87-es384</td>
            <td align="left">ssh-mldsa87-es384</td>
            <td align="left">THIS-RFC</td>
          </tr>
          <tr>
            <td align="left">ssh-mldsa44-ed25519</td>
            <td align="left">ssh-mldsa44-ed25519</td>
            <td align="left">THIS-RFC</td>
          </tr>
          <tr>
            <td align="left">ssh-mldsa65-ed25519</td>
            <td align="left">ssh-mldsa65-ed25519</td>
            <td align="left">THIS-RFC</td>
          </tr>
          <tr>
            <td align="left">ssh-mldsa87-ed448</td>
            <td align="left">ssh-mldsa87-ed448</td>
            <td align="left">THIS-RFC</td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="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="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="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="RFC8709">
          <front>
            <title>Ed25519 and Ed448 Public Key Algorithms for the Secure Shell (SSH) Protocol</title>
            <author fullname="B. Harris" initials="B." surname="Harris"/>
            <author fullname="L. Velvindron" initials="L." surname="Velvindron"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document describes the use of the Ed25519 and Ed448 digital signature algorithms in the Secure Shell (SSH) protocol. Accordingly, this RFC updates RFC 4253.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8709"/>
          <seriesInfo name="DOI" value="10.17487/RFC8709"/>
        </reference>
        <reference anchor="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">
          <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 anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="IANA.SSH" target="https://www.iana.org/assignments/ssh-parameters/ssh-parameters.xhtml">
          <front>
            <title>Secure Shell (SSH) Protocol Parameters</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="I-D.draft-ietf-lamps-pq-composite-sigs">
          <front>
            <title>Composite ML-DSA for use in X.509 Public Key Infrastructure and CMS</title>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Entrust Limited</organization>
            </author>
            <author fullname="John Gray" initials="J." surname="Gray">
              <organization>Entrust Limited</organization>
            </author>
            <author fullname="Massimiliano Pala" initials="M." surname="Pala">
              <organization>OpenCA Labs</organization>
            </author>
            <author fullname="Jan Klaußner" initials="J." surname="Klaußner">
              <organization>Bundesdruckerei GmbH</organization>
            </author>
            <author fullname="Scott Fluhrer" initials="S." surname="Fluhrer">
              <organization>Cisco Systems</organization>
            </author>
            <date day="3" month="March" year="2025"/>
            <abstract>
              <t>   This document defines combinations of ML-DSA [FIPS.204] in hybrid
   with traditional algorithms RSASSA-PKCS1-v1_5, RSASSA-PSS, ECDSA,
   Ed25519, and Ed448.  These combinations are tailored to meet security
   best practices and regulatory requirements.  Composite ML-DSA is
   applicable in any application that uses X.509, PKIX, and CMS data
   structures and protocols that accept ML-DSA, but where the operator
   wants extra protection against breaks or catastrophic bugs in ML-DSA.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-pq-composite-sigs-04"/>
        </reference>
        <reference anchor="I-D.draft-ietf-pquip-pqt-hybrid-terminology">
          <front>
            <title>Terminology for Post-Quantum Traditional Hybrid Schemes</title>
            <author fullname="Flo D" initials="F." surname="D">
              <organization>UK National Cyber Security Centre</organization>
            </author>
            <author fullname="Michael P" initials="M." surname="P">
              <organization>UK National Cyber Security Centre</organization>
            </author>
            <author fullname="Britta Hale" initials="B." surname="Hale">
              <organization>Naval Postgraduate School</organization>
            </author>
            <date day="10" month="January" year="2025"/>
            <abstract>
              <t>   One aspect of the transition to post-quantum algorithms in
   cryptographic protocols is the development of hybrid schemes that
   incorporate both post-quantum and traditional asymmetric algorithms.
   This document defines terminology for such schemes.  It is intended
   to be used as a reference and, hopefully, to ensure consistency and
   clarity across different protocols, standards, and organisations.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pquip-pqt-hybrid-terminology-06"/>
        </reference>
        <reference anchor="I-D.draft-ietf-pquip-hybrid-signature-spectrums">
          <front>
            <title>Hybrid signature spectrums</title>
            <author fullname="Nina Bindel" initials="N." surname="Bindel">
              <organization>SandboxAQ</organization>
            </author>
            <author fullname="Britta Hale" initials="B." surname="Hale">
              <organization>Naval Postgraduate School</organization>
            </author>
            <author fullname="Deirdre Connolly" initials="D." surname="Connolly">
              <organization>SandboxAQ</organization>
            </author>
            <author fullname="Flo D" initials="F." surname="D">
              <organization>UK National Cyber Security Centre</organization>
            </author>
            <date day="9" month="January" year="2025"/>
            <abstract>
              <t>   This document describes classification of design goals and security
   considerations for hybrid digital signature schemes, including proof
   composability, non-separability of the component signatures given a
   hybrid signature, backwards/forwards compatibility, hybrid
   generality, and simultaneous verification.

   Discussion of this work is encouraged to happen on the IETF PQUIP
   mailing list pqc@ietf.org or on the GitHub repository which contains
   the draft: https://github.com/dconnolly/draft-ietf-pquip-hybrid-
   signature-spectrums

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pquip-hybrid-signature-spectrums-06"/>
        </reference>
        <reference anchor="FIPS204" target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS204.pdf">
          <front>
            <title>Module-Lattice-Based Digital Signature Standard</title>
            <author>
              <organization>National Institute of Standards and Technology (NIST)</organization>
            </author>
            <date year="2024" month="August"/>
          </front>
        </reference>
        <reference anchor="SEC1" target="http://www.secg.org/download/aid-780/sec1-v2.pdf">
          <front>
            <title>Elliptic Curve Cryptography</title>
            <author>
              <organization>Standards for Efficient Cryptography Group</organization>
            </author>
            <date year="2009" month="May"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 362?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
XexE4PpfFaRGkKk0AAA=

-->

</rfc>
