From 9256bca2bf6a4ac3c0667af2b8a19155a3a77952 Mon Sep 17 00:00:00 2001 From: Sean Turner Date: Wed, 11 Dec 2024 22:07:04 -0500 Subject: [PATCH 1/2] Constraints on Public & Private Keys Similar to ML-DSA constraints; see [PR](https://github.com/lamps-wg/cms-ml-dsa/pull/13/files). --- draft-ietf-lamps-kyber-certificates.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/draft-ietf-lamps-kyber-certificates.md b/draft-ietf-lamps-kyber-certificates.md index 8597dff..f3423a9 100644 --- a/draft-ietf-lamps-kyber-certificates.md +++ b/draft-ietf-lamps-kyber-certificates.md @@ -217,19 +217,19 @@ certificate extension MUST only contain keyEncipherment --- PRIVATE-KEY no ASN.1 wrapping -- } - ML-KEM-PublicKey ::= OCTET STRING + ML-KEM-PublicKey ::= OCTET STRING (SIZE (800 | 1184 | 1568)) - ML-KEM-PrivateKey ::= OCTET STRING + ML-KEM-PrivateKey ::= OCTET STRING (SIZE (32)) ~~~ No additional encoding of the ML-KEM public key value is applied in the SubjectPublicKeyInfo field of an X.509 certificate {{RFC5280}}. -However, whenever the ML-KEM public key value appears outside of a +However, whenever it appears outside of a certificate, it MAY be encoded as an OCTET STRING. No additional encoding of the ML-KEM private key value is applied in the PrivateKeyInfo field of an Asymmetric Key Package {{RFC5958}}. -However, whenever the ML-KEM private key value appears outside of a +However, whenever it appears outside of a Asymmetric Key Package, it MAY be encoded as an OCTET STRING. # Subject Public Key Fields From 573bc9db496f16c92c7dd1e3b25665ecfd9d3348 Mon Sep 17 00:00:00 2001 From: Sean Turner Date: Thu, 12 Dec 2024 11:12:13 -0500 Subject: [PATCH 2/2] Fix size --- draft-ietf-lamps-kyber-certificates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/draft-ietf-lamps-kyber-certificates.md b/draft-ietf-lamps-kyber-certificates.md index f3423a9..eaf7950 100644 --- a/draft-ietf-lamps-kyber-certificates.md +++ b/draft-ietf-lamps-kyber-certificates.md @@ -219,7 +219,7 @@ certificate extension MUST only contain keyEncipherment ML-KEM-PublicKey ::= OCTET STRING (SIZE (800 | 1184 | 1568)) - ML-KEM-PrivateKey ::= OCTET STRING (SIZE (32)) + ML-KEM-PrivateKey ::= OCTET STRING (SIZE (64)) ~~~ No additional encoding of the ML-KEM public key value is applied in