-
Notifications
You must be signed in to change notification settings - Fork 5.2k
KeyGen and OSSL support for managed Composite ML-DSA + RSA #117856
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
KeyGen and OSSL support for managed Composite ML-DSA + RSA #117856
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 implements key generation functionality for managed Composite ML-DSA + RSA, contributing to issue #117259. It adds the ability to generate new key pairs for composite digital signature algorithms that combine ML-DSA (quantum-resistant) with traditional RSA algorithms.
Key changes include:
- Implementation of the
GenerateKeyImplmethod following IETF draft specification for composite key generation - Addition of RSA key generation support with proper key size handling across different .NET targets
- Comprehensive test coverage for key generation, export/import roundtrips, and signature operations
Reviewed Changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
src/libraries/System.Security.Cryptography/src/Resources/Strings.resx |
Adds error message resource for composite key generation failures |
src/libraries/Microsoft.Bcl.Cryptography/src/Resources/Strings.resx |
Adds same error message resource for BCL cryptography library |
src/libraries/Common/tests/System/Security/Cryptography/AlgorithmImplementations/CompositeMLDsa/CompositeMLDsaTestsBase.cs |
Adds abstract GenerateKey method and comprehensive test methods for key generation scenarios |
src/libraries/Common/tests/System/Security/Cryptography/AlgorithmImplementations/CompositeMLDsa/CompositeMLDsaTestData.cs |
Adds SupportedAlgorithmsTestData property for filtering test data to supported algorithms |
src/libraries/Common/tests/System/Security/Cryptography/AlgorithmImplementations/CompositeMLDsa/CompositeMLDsaImplementationTests.cs |
Implements GenerateKey method and adds roundtrip tests for generated keys |
src/libraries/Common/tests/System/Security/Cryptography/AlgorithmImplementations/CompositeMLDsa/CompositeMLDsaFactoryTests.cs |
Adds validation tests for the GenerateKey factory method |
src/libraries/Common/src/System/Security/Cryptography/CompositeMLDsaManaged.cs |
Implements the core key generation logic following IETF specification |
src/libraries/Common/src/System/Security/Cryptography/CompositeMLDsaManaged.RSA.cs |
Implements RSA key generation with platform-specific handling |
src/libraries/Common/src/System/Security/Cryptography/CompositeMLDsaImplementation.Windows.cs |
Updates Windows implementation to delegate to managed implementation |
src/libraries/Common/src/System/Security/Cryptography/CompositeMLDsaManaged.cs
Show resolved
Hide resolved
|
Tagging subscribers to this area: @dotnet/area-system-security, @bartonjs, @vcsjones |
|
@PranavSenthilnathan: Nice PR! |
Contributes to #117259