Skip to content

ml-dsa: rename and deprecate ExpandedSigningKey#1145

Merged
tarcieri merged 1 commit intomasterfrom
ml-dsa/rename-and-deprecate-expanded-signing-key
Jan 10, 2026
Merged

ml-dsa: rename and deprecate ExpandedSigningKey#1145
tarcieri merged 1 commit intomasterfrom
ml-dsa/rename-and-deprecate-expanded-signing-key

Conversation

@tarcieri
Copy link
Copy Markdown
Member

Renames EncodedSigningKey to ExpandedSigningKey to contrast it with seeds, the preferred API. Also renames the decode and encode functions to from_expanded and to_expanded, similar to the changes made to ml-kem's DecapsulationKey in RustCrypto/KEMs#163, which also deprecated these APIs.

We don't properly implement validation of such keys which can lead to panics in the event they were improperly or maliciously generated (#1133), a problem avoided by using seeds. For now, this merely documents the panic condition.

Most implementers have opted not to provide support for this key format due to these problems (it's also actually more expensive to validate an expanded key than it is to use a seed), and also where seeds are the same size regardless of security level, the expanded keys vary in size.

Renames `EncodedSigningKey` to `ExpandedSigningKey` to contrast it with
seeds, the preferred API. Also renames the `decode` and `encode`
functions to `from_expanded` and `to_expanded`, similar to the changes
made to `ml-kem`'s `DecapsulationKey` in RustCrypto/KEMs#163,
which also deprecated these APIs.

We don't properly implement validation of such keys which can lead to
panics in the event they were improperly or maliciously generated
(#1133), a problem avoided by using seeds. For now, this merely
documents the panic condition.

Most implementers have opted not to provide support for this key format
due to these problems (it's also actually more expensive to validate an
expanded key than it is to use a seed), and also where seeds are the
same size regardless of security level, the expanded keys vary in size.
@tarcieri tarcieri force-pushed the ml-dsa/rename-and-deprecate-expanded-signing-key branch from 14b4324 to 2238d98 Compare January 10, 2026 20:26
@tarcieri tarcieri merged commit 3138dd2 into master Jan 10, 2026
9 checks passed
@tarcieri tarcieri deleted the ml-dsa/rename-and-deprecate-expanded-signing-key branch January 10, 2026 21:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant