Obviously, this could have been phrased better.

What TLS signs is, in fact, exactly what it signs with any other signature 
algorithm (RSA, ECDSA, etc), except that the "hash function" is implicit 
(rather than being explicitly defined in the SignatureScheme code point).  So, 
as far as TLS is concerned, it looks like any other signature algorithm.

Now, if we go into how that signature algorithm works, it does some preliminary 
hashing, including some data that indicates the precise combination of PQ and 
conventional components we're using.  I could go on and talk about why we do 
that (rather than the obvious "just hand the message being signed to both RSA 
and ML-DSA to sign"), but I don't expect you care.

Obviously, if an intelligent reader (such as you) finds it confusing, the text 
needs to be reworked.  I'll need to discuss it with my coauthors; my first 
impulse would be to remove the second paragraph ("In composite ML-DSA 
schemes...") entirely, and instead refer the reader to the composite PKI draft 
(soon to be RFC, we hope) if they care about the details (which TLS 
implementors shouldn't have to).

________________________________
From: Eric Rescorla <[email protected]>
Sent: Monday, April 13, 2026 6:20 PM
To: Andrei Popov <[email protected]>
Cc: Muhammad Usama Sardar <[email protected]>; 
[email protected] <[email protected]>; 
[email protected] 
<[email protected]>; [email protected] <[email protected]>
Subject: Re: [TLS] Re: [EXTERNAL] Attestation and request for expediting the 
call for adoption of draft-reddy-tls-composite-mldsa

Document: draft-reddy-tls-composite-mldsa-09.txt

   Unlike traditional TLS signature schemes such as RSA or ECDSA, TLS
   does not apply or select a hash function when using Composite ML-DSA.
   Composite ML-DSA is treated as an opaque signature algorithm, similar
   to Ed25519 and Ed448, which are specified in TLS 1.3 as "PureEdDSA"
   algorithms (Section 4.2.3 of [RFC8446]).  Any hash functions used as
   part of the composite signature construction are fully determined by
   the composite algorithm associated with the negotiated TLS
   SignatureScheme and are internal to the Composite ML-DSA algorithm.

   In composite ML-DSA schemes, the trailing portion of the
   SignatureScheme name identifies the traditional signature algorithm
   used as part of the composite construction.  This identification is
   for algorithm selection and interoperability purposes only and does
   not imply any TLS-level processing of the traditional component.

What is this text trying to say? It seems like you're saying you're not
signing the same value as TLS normally does, containing the transcript
hash, but that doesn't seem to be the case.

   When a composite ML-DSA signature scheme defined in this document is
   negotiated, the TLS 1.3 CertificateVerify signing input constructed
   as specified in Section 4.4.3 of [RFC8446] is signed using the
   negotiated composite ML-DSA SignatureScheme, as specified in
   [I-D.ietf-lamps-pq-composite-sigs].

I also don't understand what it means to say

   Unlike traditional TLS signature schemes such as RSA or ECDSA, TLS
   does not apply or select a hash function when using Composite ML-DSA.

And then to have the hash algorithms defined as part of the scheme;
that sure seems like you're selecting a hash algorithm.

How is this different from (say) ECDSA.


S 3.

   TLS 1.3 removed support for RSASSA-PKCS1-v1_5 [RFC8017] in
   CertificateVerify messages, opting for RSASSA-PSS instead.
   Similarly, this document restricts the use of the composite signature
   algorithms mldsa44_rsa2048_pkcs15_sha256,
   mldsa65_rsa3072_pkcs15_sha512, and mldsa65_rsa4096_pkcs15_sha512
   algorithms to the "signature_algorithms_cert" extension.  These
   composite signature algorithms MUST NOT be used with the
   "signature_algorithms" extension.  These values refer solely to
   signatures which appear in certificates (see Section 4.4.2.2 of
   [RFC8446]) and are not defined for use in signed TLS handshake
   messages.

Is there any evidence that there will ever be composite signatures
with PKCS#1.5, even in certificates?

S 4.

   *  Is compatible with traditional digital signatures recommended in
      TLS 1.3, ensuring interoperability and ease of adoption within the
      TLS ecosystem.

How is this interoperable? As far as the implementation is concerned,
this is a new algorithm, no?

-Ekr


On Mon, Apr 13, 2026 at 10:02 AM Andrei Popov 
<[email protected]<mailto:[email protected]>>
 wrote:
+1. I would support adoption of draft-reddy-tls-composite-mldsa; would like to 
implement in the Windows TLS/PKI stacks.

Cheers,

Andrei

-----Original Message-----
From: Muhammad Usama Sardar 
<[email protected]<mailto:[email protected]>>
Sent: Monday, April 13, 2026 2:20 AM
To: [email protected]<mailto:[email protected]>; 
[email protected]<mailto:[email protected]>
Cc: [email protected]<mailto:[email protected]>
Subject: [EXTERNAL] [TLS] Attestation and request for expediting the call for 
adoption of draft-reddy-tls-composite-mldsa

Dear Deirdre, Joe, and Sean,

I would like to attest to this work and request you to please expedite the call 
for adoption of the subject draft.

Thank you.

---

Hi authors,

Thank you for the great work. Please let me know whatever I can do in my 
capacity in order to make it adoption-ready.

One request I have is to revisit the selection criteria (sec. 4) and may try to 
shortlist and reduce the number of algorithms. I believe so many algorithms may 
lead to fragmentation. Thank you.

Best regards,

-Usama

_______________________________________________
TLS mailing list -- [email protected]<mailto:[email protected]>
To unsubscribe send an email to [email protected]<mailto:[email protected]>
_______________________________________________
TLS mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to