Skip to content

Conversation

@PranavSenthilnathan
Copy link
Member

Contributes to #117259

@Copilot Copilot AI review requested due to automatic review settings July 20, 2025 00:23
@PranavSenthilnathan PranavSenthilnathan self-assigned this Jul 20, 2025
@PranavSenthilnathan PranavSenthilnathan added this to the 10.0.0 milestone Jul 20, 2025
Copy link
Contributor

Copilot AI left a 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 GenerateKeyImpl method 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

@dotnet-policy-service
Copy link
Contributor

Tagging subscribers to this area: @dotnet/area-system-security, @bartonjs, @vcsjones
See info in area-owners.md if you want to be subscribed.

@Neustradamus
Copy link

@PranavSenthilnathan: Nice PR!

@PranavSenthilnathan PranavSenthilnathan changed the title KeyGen for managed Composite ML-DSA + RSA KeyGen and OSSL support for managed Composite ML-DSA + RSA Jul 20, 2025
@PranavSenthilnathan PranavSenthilnathan enabled auto-merge (squash) July 25, 2025 18:17
@PranavSenthilnathan PranavSenthilnathan merged commit cf41052 into dotnet:main Jul 25, 2025
85 of 87 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Aug 25, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants