Skip to content

Commit 342fa1f

Browse files
authored
Merge pull request #12 from tlswg/bas/rewrite
Add table and rewrite for clarity
2 parents 96a1d8c + 644aa98 commit 342fa1f

File tree

1 file changed

+29
-28
lines changed

1 file changed

+29
-28
lines changed

draft-ietf-tls-mldsa.md

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ informative:
4242
RFC5246:
4343
RFC8446:
4444
TLSIANA: I-D.ietf-tls-rfc8447bis
45-
I-D.ietf-lamps-dilithium-certificates:
45+
MLDSACERTS: I-D.ietf-lamps-dilithium-certificates
4646

4747

4848

@@ -60,45 +60,46 @@ ML-DSA is a post-quantum module-lattice based digital signature algorothm
6060
standardised by NIST in {{!FIPS204=DOI.10.6028/NIST.FIPS.204}}.
6161

6262
This memo specifies how ML-DSA can be negotiated for authentication in TLS 1.3
63-
via the "signature_algorithms" and "signature_algorithms_cert" extensions.
63+
via the `signature_algorithms` and `signature_algorithms_cert` extensions.
6464

6565
# Conventions and Definitions
6666

6767
{::boilerplate bcp14-tagged}
6868

69-
# ML-DSA SignatureSchemes Types
69+
# ML-DSA SignatureScheme values
70+
7071
As defined in {{RFC8446}}, the SignatureScheme namespace is used for
7172
the negotiation of signature scheme for authentication via the
72-
"signature_algorithms" and "signature_algorithms_cert" extensions.
73-
This document adds three new SignatureSchemes
74-
types for the three ML-DSA parameter sets as follows.
75-
76-
~~~
77-
enum {
78-
mldsa44(0x0904),
79-
mldsa65(0x0905),
80-
mldsa87(0x0906)
81-
} SignatureScheme;
82-
~~~
83-
84-
These correspond to ML-DSA-44, ML-DSA-65, and ML-DSA-87 defined
85-
in {{FIPS204}} respectively. Note that these are different
86-
from the HashML-DSA pre-hashed variants defined in Section 5.4 of {{FIPS204}}.
87-
88-
If one of those SignatureSchemes values is used in a CertificateVerify message,
73+
`signature_algorithms` and `signature_algorithms_cert` extensions.
74+
This document adds three new SignatureScheme values for the three
75+
ML-DSA parameter sets from {{FIPS204}} as follows.
76+
77+
| SignatureScheme | FIPS 204 | Certificate AlgorithmIdentifier |
78+
|-----------------|-----------|---------------------------------|
79+
| mldsa44(0x0904) | ML-DSA-44 | id-ML-DSA-44 |
80+
| mldsa65(0x0905) | ML-DSA-65 | id-ML-DSA-64 |
81+
| mldsa87(0x0906) | ML-DSA-87 | id-ML-DSA-87 |
82+
{: #schemes title="SignatureSchemes for ML-DSA" }
83+
84+
Note that these are different from the HashML-DSA pre-hashed
85+
variants defined in Section 5.4 of {{FIPS204}}.
86+
87+
## Certificate chain
88+
For the purpose of signalling support for signatures on certificates
89+
as per {{Section 4.2.4 of RFC8446}}, these values indicate support
90+
for signing using the given AlgorithmIdentifier shown in {{schemes}}
91+
as defined in {{MLDSACERTS}}.
92+
93+
## Handshake signature
94+
When one of those SignatureScheme values is used in a CertificateVerify message,
8995
then the signature MUST be computed and verified as specified in
90-
{{Section 4.4.3 of RFC8446}}, and the corresponding end-entity certificate MUST
91-
use id-ML-DSA-44, id-ML-DSA-65, id-ML-DSA-87 respectively as
92-
defined in {{I-D.ietf-lamps-dilithium-certificates}}.
96+
{{Section 4.4.3 of RFC8446}}, and the corresponding end-entity
97+
certificate MUST use the corresponding AlgorithmIdentifier from {{schemes}}.
9398

9499
The context parameter defined in {{FIPS204}} Algorithm 2 and 3
95100
MUST be the empty string.
96101

97-
Presence of those schemes in "signature_algorithms_cert" or
98-
"signature_algorithms" (when the former is not sent) indicates support
99-
for certificates signed by those algorithms in the Certificate message,
100-
as specified in {{Section 4.2.4 of RFC8446}}.
101-
102+
## TLS 1.2
102103
The schemes defined in this document MUST NOT be used in TLS 1.2 {{RFC5246}}.
103104
A peer that receives ServerKeyExchange or CertificateVerify message in a TLS
104105
1.2 connection with schemes defined in this document MUST abort the connection

0 commit comments

Comments
 (0)