Internet-Draft Deprecating Expanded ML-DSA and ML-KEM P October 2026
Rosomakho & Benjamin Expires 24 April 2027 [Page]
Workgroup:
Limited Additional Mechanisms for PKIX and SMIME
Internet-Draft:
draft-rosomakho-lamps-mldsa-mlkem-seed-only-latest
Updates:
9881, 9935 (if approved)
Published:
Intended Status:
Standards Track
Expires:
Authors:
Y. Rosomakho
Zscaler
D. Benjamin
Google LLC

Deprecating Expanded ML-DSA and ML-KEM Private Key Encodings

Abstract

This document updates RFC 9881 and RFC 9935 to require the seed representation when encoding Module-Lattice-Based Digital Signature Algorithm (ML-DSA) and Module-Lattice-Based Key-Encapsulation Mechanism (ML-KEM) private keys for interchange. It deprecates the expanded and combined representations, while permitting their continued support for legacy imports. These changes simplify implementation and improve interoperability by aligning the private-key representation with that used by JSON Object Signing and Encryption (JOSE) and CBOR Object Signing and Encryption (COSE). Internal private-key representations are unaffected.

About This Document

This note is to be removed before publishing as an RFC.

The latest revision of this draft can be found at https://yaroslavros.github.io/lamps-mldsa-deprecate-key/draft-rosomakho-lamps-mldsa-mlkem-seed-only.html. Status information for this document may be found at https://datatracker.ietf.org/doc/draft-rosomakho-lamps-mldsa-mlkem-seed-only/.

Discussion of this document takes place on the Limited Additional Mechanisms for PKIX and SMIME Working Group mailing list (mailto:spasm@ietf.org), which is archived at https://mailarchive.ietf.org/arch/browse/spasm/. Subscribe at https://www.ietf.org/mailman/listinfo/spasm/.

Source for this draft and an issue tracker can be found at https://github.com/yaroslavros/lamps-mldsa-deprecate-key.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on 24 April 2027.

▲

Table of Contents

1. Introduction

[X509-MLDSA] and [X509-MLKEM] define, respectively, three representations for Module-Lattice-Based Digital Signature Algorithm (ML-DSA) Module-Lattice-Based Key-Encapsulation Mechanism (ML-KEM) private keys: a 32-octet seed, an expanded private key, and a combination of the seed and expanded private key. The seed deterministically yields both the expanded private key and the public key. Although Section 8.1 of [X509-MLDSA] and Section 6 of [X509-MLKEM] recommend the seed representation, they permit all three representations for private-key interchange.

Multiple representations complicate interoperability between implementations that support different subsets of these formats. An implementation that supports only seeds cannot import an expanded private key without its seed. The combined representation also introduces a consistency check between the seed and expanded private key, which can require additional implementation support solely for importing that representation.

[JOSE-COSE-MLDSA] and [JOSE-COSE-MLKEM] specify only the seed representation for ML-DSA and ML-KEM private keys in JSON Object Signing and Encryption (JOSE) and CBOR Object Signing and Encryption (COSE). Using the seed representation consistently across these specifications simplifies private-key interchange and avoids the need to support multiple representations and their associated validation logic.

This document updates [X509-MLDSA] and [X509-MLKEM] to deprecate the expanded and combined representations, limiting them to legacy compatibility where applicable.

2. Conventions and Definitions

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

3. Updates to ML-DSA Private Key Encoding

This section updates the private-key encoding requirements and format recommendations in Section 6 of [X509-MLDSA], Section 6 of [X509-MLKEM], and Section 8.1 of [X509-MLDSA]. These updates apply to ML-DSA-44, ML-DSA-65, ML-DSA-87, ML-KEM-512, ML-KEM-768, and ML-KEM-1024.

Implementations that decode ML-DSA or ML-KEM private keys for interchange using the structures defined in [X509-MLDSA] and [X509-MLKEM] MUST support their respective seed representations.

Implementations MAY support the both and expandedKey representations for compatibility with legacy systems, but this is optional and not required for conformance with this specification. If decoding the both representation, implementations MUST perform the consistency check described in Section 8.2 of [X509-MLDSA] and Section 8 of [X509-MLKEM].

When decoding a private key in either the seed or both representation, and when generating a new ML-DSA or ML-KEM key, implementations MUST retain the seed, unless the private key will never be encoded for interchange.

Implementations that encode ML-DSA or ML-KEM private keys for interchange MUST use the seed representation, unless the key is a legacy key whose seed has been discarded. If (and only if) the seed was discarded, implementations MAY use the expandedKey representation. However, this encoding will not be interoperable with all implementations of this specification.

Implementations MUST NOT output the both representation.

4. Compatibility and Migration Considerations

Existing private keys can be re-encoded in the seed representation when the original seed is available, including from the both representation. This conversion does not require replacing the key pair or reissuing certificates.

Expanded private keys can be computed from seeds, so the seed representation can be imported into a legacy implementation that expects expanded private keys. When doing so, operators SHOULD ensure that seeds are retained for keys that may need to be exported or restored into another implementation.

As noted in Section 8.1 of [X509-MLDSA] and Section 7 of [X509-MLKEM], a discarded seed cannot be recovered from the expanded private key. If no copy of the seed is available, migration to an implementation that accepts only seeds requires generating a new key pair and replacing any associated certificates or other public-key bindings.

However, such existing keys MAY continue to be used by implementations that support this representation. This document still optionally permits the expandedKey encoding for such cases. It also places no constraints on keys that are never exported for interchange.

5. Security Considerations

The security considerations of [X509-MLDSA] and [X509-MLKEM] continue to apply. The seed is sufficient to reconstruct the private key, so it requires the same protection as the expanded private key, including when retained in backups or transferred between implementations.

6. IANA Considerations

This document has no IANA actions.

7. References

7.1. Normative References

[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/rfc/rfc2119>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/rfc/rfc8174>.
[X509-MLDSA]
Massimo, J., Kampanakis, P., Turner, S., and B. E. Westerbaan, "Internet X.509 Public Key Infrastructure -- Algorithm Identifiers for the Module-Lattice-Based Digital Signature Algorithm (ML-DSA)", RFC 9881, DOI 10.17487/RFC9881, , <https://www.rfc-editor.org/rfc/rfc9881>.
[X509-MLKEM]
Turner, S., Kampanakis, P., Massimo, J., and B. E. Westerbaan, "Internet X.509 Public Key Infrastructure - Algorithm Identifiers for the Module-Lattice-Based Key-Encapsulation Mechanism (ML-KEM)", RFC 9935, DOI 10.17487/RFC9935, , <https://www.rfc-editor.org/rfc/rfc9935>.

7.2. Informative References

[JOSE-COSE-MLDSA]
Prorock, M. and O. Steele, "ML-DSA for JSON Object Signing and Encryption (JOSE) and CBOR Object Signing and Encryption (COSE)", RFC 9964, DOI 10.17487/RFC9964, , <https://www.rfc-editor.org/rfc/rfc9964>.
[JOSE-COSE-MLKEM]
Reddy.K, T., Banerjee, A., and H. Tschofenig, "Post-Quantum Key Encapsulation Mechanisms (PQ KEMs) for COSE", Work in Progress, Internet-Draft, draft-ietf-jose-pqc-kem-06, , <https://datatracker.ietf.org/doc/html/draft-ietf-jose-pqc-kem-06>.

Acknowledgments

TODO acknowledge.

Authors' Addresses

Yaroslav Rosomakho
Zscaler
David Benjamin
Google LLC