diff --git a/draft-miller-sshm-composite-sigs.xml b/draft-miller-sshm-composite-sigs.xml
index 1abb403..828e0ac 100644
--- a/draft-miller-sshm-composite-sigs.xml
+++ b/draft-miller-sshm-composite-sigs.xml
@@ -285,14 +285,13 @@
Signature contexts
The
- composite signature scheme, like its
+ composite signature scheme used here, like its
underlying ML-DSA component, accepts a Context
- parameter that may be used to enforce domain
- separation between signatures.
+ parameter that is used to domain separate signatures.
In all cases in the SSH protocol, this
- context value is the empty string.
+ context value MUST be the empty string.
Signature Generation
@@ -319,8 +318,8 @@
to the signature algorithm.
- len(ctx): A single byte representing
- the length of the context string.
+ len(ctx): A single unsigned byte representing the length
+ of the context string.
ctx: The context string.
@@ -331,12 +330,10 @@
- The signer then computes and combines the ML-DSA and
- Elliptic Curve signatures as described in the following
- sections. In the algorithm invocations below, mldsa_sk,
- ed25519_sk, and ecdsa_sk denote the private signing
- keys derived from or represented by mldsa_seed,
- ed25519_seed, and d, respectively.
+ The signer computes and combines the ML-DSA and Elliptic Curve
+ signatures. Below, mldsa_sk, ed25519_sk, and ecdsa_sk are the
+ private signing keys derived from or represented by
+ mldsa_seed, ed25519_seed, and d, respectively.
ssh-mldsa44-ed25519
@@ -348,8 +345,7 @@
creating the M' message to be signed.
- The ML-DSA and Ed25519 signatures are then
- calculated as:
+ The ML-DSA and Ed25519 signatures are calculated as:
- The final composite signature is the
- concatenation of mldsa_sig and ed25519_sig.
+ The final composite signature is the concatenation of
+ mldsa_sig and ed25519_sig in this order.
byte[2420] mldsa_sig
@@ -383,8 +379,7 @@
the M' message to be signed.
- The ML-DSA and ECDSA signatures are then
- calculated as:
+ The ML-DSA and ECDSA signatures are calculated as:
- The final composite signature is the
- concatenation of mldsa_sig, r, and s.
+ The final composite signature is the concatenation of
+ mldsa_sig, r, and s in this order.
byte[4896] mldsa_sig
@@ -431,20 +426,17 @@
Signature Verification
- To verify a signature, the verifier
- reconstructs M' using the same process as
- defined for signature generation. The verifier then
- verifies the ML-DSA and Elliptic Curve
- signatures as described in the following
- sections.
+ To verify a signature, the verifier reconstructs M'
+ using the same process as defined for signature
+ generation and verifies the ML-DSA and Elliptic Curve
+ signatures.
- Both verification operations MUST return success
- for the composite signature to verify
- successfully. Failure
- of either the ML-DSA or Elliptic Curve
- verification MUST cause the verification of
- the composite signature to fail.
+ Both ML-DSA and Elliptic Curve verification operations
+ MUST return success for the composite signature to
+ verify successfully. Failure of either verification
+ operation MUST cause the composite signature
+ verification to fail.
ssh-mldsa44-ed25519
@@ -460,7 +452,8 @@
- The verifier then checks both results as described above.
+ Both signatures must verify for the composite signature
+ to verify.
ssh-mldsa87-p384
@@ -477,7 +470,8 @@
- The verifier then checks both results as described above.
+ Both signatures must verify for the composite signature
+ to verify.