INFO: PQC plugins: ML-KEM and ML-DSA
PQC plugins: ML-KEM and ML-DSA
Suitable as external plugins for Rebex libraries based on Rebex SSH and Rebex TLS.
Overview
Migration to post-quantum cryptography is in full swing, but not all target systems support ML-KEM and ML-DSA algorithm yet.
Additionally, not all systems support X25519 or another elliptic curve Diffie-Hellman named group, which is used together with ML-KEM in hybrid ciphers in both TLS 1.3 and SSH.
Licensing
These libraries build upon various open-source projects and are licensed under various open-source licenses. See the table below for details.
Libraries
| Assembly | Elliptic curve algorithms | Required on | Based on | License |
|---|---|---|---|---|
Rebex.PQC.Castle.dll |
Hybrid ML-KEM + ECDH ML-DSA |
Required on Windows 10 or earlier, on other systems with no ML-KEM or ML-DSA support in .NET. | Bouncy Castle C# API by The Legion of the Bouncy Castle | Adaptation of MIT X11 License |
Rebex.Curve25519.dll |
Hybrid ML-KEM + ECDH with X25519 | Required on Windows 8.1 or earlier and on other systems with no X25519 support in .NET. | C# implementation of Curve25519 by Hans Wolff, Dmitry Skiba and Matthijs van Duin | Apache License 2.0 |
Rebex.Castle.dll |
Hybrid ML-KEM + ECDH with NIST P-256 Hybrid ML-KEM + ECDH with NIST P-384 | Required on Windows 8.1 or earlier for SSH; on Windows XP for TLS, or on other systems with no NIST curve support in .NET. | Bouncy Castle C# API by The Legion of the Bouncy Castle | Adaptation of MIT X11 License |
Using PQC plugins with Rebex libraries
To use these plugins with Rebex libraries version 8.0 or higher, just reference suitable NuGet packages and register desired plugins:
C#
using Rebex.Security.Cryptography; ... // register ML-KEM plugin AsymmetricKeyAlgorithm.Register(MLKem.Create); // register ML-DSA plugin AsymmetricKeyAlgorithm.Register(MLDsa.Create); // register NIST curves plugin AsymmetricKeyAlgorithm.Register(EllipticCurveAlgorithm.Create); // register X25519 curve plugin AsymmetricKeyAlgorithm.Register(Curve25519.Create);
VB.NET
Imports Rebex.Security.Cryptography ... ' register ML-KEM plugin AsymmetricKeyAlgorithm.Register(AddressOf MLKem.Create) ' register ML-DSA plugin AsymmetricKeyAlgorithm.Register(AddressOf MLDsa.Create) ' register NIST curves plugin AsymmetricKeyAlgorithm.Register(AddressOf EllipticCurveAlgorithm.Create) ' register X25519 curve plugin AsymmetricKeyAlgorithm.Register(AddressOf Curve25519.Create)
Changelog
2026-06-24 - v1.0.29 - First version of PQC plugins released.
Send us feedback
Do you have any comments, questions or suggestions? Let us know at Rebex support forum or contact us.