Skip to content

Conversation

PranavSenthilnathan
Copy link
Member

Follow up to #118232
Contributes to #116998

@PranavSenthilnathan PranavSenthilnathan added this to the 10.0.0 milestone Aug 4, 2025
@PranavSenthilnathan PranavSenthilnathan self-assigned this Aug 4, 2025
@PranavSenthilnathan PranavSenthilnathan requested review from Copilot and bartonjs and removed request for Copilot August 4, 2025 19:07
Copy link
Contributor

@Copilot 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 adds managed composite ML-DSA + ECDSA support for .NET Framework (netfx). It builds upon previous work to provide composite cryptographic functionality that combines ML-DSA (post-quantum digital signature algorithm) with traditional ECDSA for backward compatibility and migration scenarios.

Key changes:

  • Enables ECDSA component support for .NET Framework in composite ML-DSA algorithms
  • Refactors ECC key blob encoding/decoding for code reuse across platforms
  • Adds infrastructure for CNG provider operations and key management
  • Consolidates signature format conversion utilities

Reviewed Changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
CngHelpers.cs Removed OpenStorageProvider method (moved elsewhere)
AsymmetricAlgorithmHelpers.Der.cs Removed signature format conversion methods (moved elsewhere)
System.Security.Cryptography.csproj Added reference to new ECCng import/export file
CngExtensions.cs Added ExportKeyBlob method for key export operations
Strings.resx Added error message for unsupported curves
Microsoft.Bcl.Cryptography.csproj Added references to new files and interop components
CompositeMLDsaFactoryTests.cs Updated test to use OID string instead of ECCurve object
Oids.cs Added OID constants for brainpool curves
ECCng.ImportExport.cs Refactored to use new encoding/decoding helpers
ECCng.ImportExport.NamedCurve.cs New file with ECC key blob encoding/decoding utilities
CompositeMLDsaManaged.cs Enhanced ECDsaAlgorithm class for .NET Framework support
CompositeMLDsaManaged.ECDsa.cs Added .NET Framework implementation for ECDSA operations
CngHelpers.cs (Common) Re-added OpenStorageProvider method and key export utilities
AsymmetricAlgorithmHelpers.Der.cs (Common) Re-added signature format conversion methods
Interop.Keys.cs Added overload for NCryptExportKey with Span parameter
Interop.Blobs.cs Added Consume method overload for copying to destination span

@PranavSenthilnathan PranavSenthilnathan enabled auto-merge (squash) August 5, 2025 22:28
@PranavSenthilnathan PranavSenthilnathan merged commit b8ed7bb into dotnet:main Aug 6, 2025
79 of 81 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Sep 5, 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.

2 participants