Skip to content

[API Proposal]: Add CompositeMLDsa property to CngAlgorithm and CngAlgorithmGroup #130052

Closed

Description

@PranavSenthilnathan

Background and motivation

Windows CNG now supports Composite ML-DSA. This API proposal exposes the relevant constants in .NET so they can be used in our CNG APIs (like CngKey.Create).

API Proposal

public sealed partial class CngAlgorithm
{
    [Experimental("SYSLIB5006", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
    public static CngAlgorithm CompositeMLDsa { get; }
}

public sealed partial class CngAlgorithmGroup
{
    [Experimental("SYSLIB5006", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
    public static CngAlgorithmGroup CompositeMLDsa { get; }
}

We omitted this from the original Composite ML-DSA proposal (#118320) because we did not know how Windows would expose Composite ML-DSA in CNG.

The documentation for the CngAlgorithm constant is here.

Note that the constant for CngAlgorithmGroup is not documented (it should be here) but it can be inferred from the rest. We have already done the same for ML-DSA.

Activity

  1. dotnet-policy-service commented on Jun 30, 2026

    @dotnet-policy-service
    Contributor

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

  2. added
    api-ready-for-reviewAPI is ready for review, it is NOT ready for implementation
    and removed
    api-suggestionEarly API idea and discussion, it is NOT ready for implementation
    untriagedNew issue has not been triaged by the area owner
    on Jul 24, 2026
  3. added this to the 11.0.0 milestone on Jul 24, 2026
  4. bartonjs commented on Aug 11, 2026

    @bartonjs
    Member

    Video

    • It was asked if Experimental is still needed, and we hedged with "yes"
    public sealed partial class CngAlgorithm
    {
        [Experimental("SYSLIB5006", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
        public static CngAlgorithm CompositeMLDsa { get; }
    }
    
    public sealed partial class CngAlgorithmGroup
    {
        [Experimental("SYSLIB5006", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
        public static CngAlgorithmGroup CompositeMLDsa { get; }
    }
  5. added
    api-approvedAPI was approved in API review, it can be implemented
    and removed
    api-ready-for-reviewAPI is ready for review, it is NOT ready for implementation
    on Aug 11, 2026
  6. added a commit that references this issue on Aug 18, 2026
    663c457
  7. locked and limited conversation to collaborators on Sep 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions