-
Notifications
You must be signed in to change notification settings - Fork 303
Open
Description
Context:
Currently, KeyStore Explorer serializes ML-DSA private keys (e.g., ML-DSA-44) using the both option from the ASN.1 CHOICE defined in RFC 9881, which includes both the seed (32 bytes) and the expanded key (2560 bytes). This results in a key object of ~2592 bytes.
Problem:
This choice is not viable for environments with strict persistent storage constraints, such as:
- HSMs (Hardware Security Modules)
- Smart cards
- Resource-constrained embedded firmware
In these environments, storing 2.5 KB+ per key is prohibitive compared to alternatives like ECC (32 bytes) or even RSA (256 bytes).
Proposal:
Implement the ability to choose the serialization format for ML-DSA private keys, according to the RFC 9881 options:
- seed (32 bytes) – ideal for HSM storage.
- expandedKey (2560 bytes) – generally not recommended.
- both (2592 bytes) – currently implemented, good for software performance.
Functional requirements:
- Allow import/export of keys in the seed format (ASN.1 tag [0]).
- Keep both as the default for compatibility and general performance.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels