-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Scaffold SLH-DSA based on ML-DSA #113634
Scaffold SLH-DSA based on ML-DSA #113634
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR scaffolds SLH-DSA based on ML-DSA by introducing new algorithm identifiers, implementation stubs, and corresponding OID definitions.
- Added a new SLHDsaAlgorithm class with static properties for each SLH-DSA variant.
- Introduced platform-specific stub implementations in SLHDsaImplementation.Windows.cs and SLHDsaImplementation.NotSupported.cs.
- Extended the Oids class with SLH-DSA specific OIDs.
Reviewed Changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.
Show a summary per file
File | Description |
---|---|
src/libraries/Common/src/System/Security/Cryptography/SLHDsaAlgorithm.cs | Added algorithm identifiers for SLH-DSA. |
src/libraries/Common/src/System/Security/Cryptography/SLHDsaImplementation.Windows.cs | Provided Windows-specific stub implementations throwing PlatformNotSupportedException. |
src/libraries/Common/src/System/Security/Cryptography/SLHDsaImplementation.NotSupported.cs | Provided fallback stub implementations throwing PlatformNotSupportedException. |
src/libraries/Common/src/System/Security/Cryptography/SLHDsaImplementation.cs | Defined the core SLHDsa implementation scaffolding. |
src/libraries/Common/src/System/Security/Cryptography/Oids.cs | Extended OID definitions with SLH-DSA specific values. |
Comments suppressed due to low confidence (1)
src/libraries/Common/src/System/Security/Cryptography/SLHDsaImplementation.cs:21
- There is an inconsistency in referencing the ParameterSetInfo type: some implementations qualify it as SLHDsa.ParameterSetInfo while others do not. Consider using a consistent reference (either fully qualified or unqualified) across all implementations.
internal static partial SLHDsa ImportPublicKey(ParameterSetInfo info, ReadOnlySpan<byte> source);
Tagging subscribers to this area: @dotnet/area-system-security, @bartonjs, @vcsjones |
Moslty copied from SLH-DSA with algorithm name, oid, parameters updated for SLH-DSA based on FIPS 205.
Notes:
I expect that the ML-DSA skeleton might change as work on the implementation progresses, but it's still a useful reference for SLH-DSA in order to have some APIs to start writing tests against.
Progress towards #113506