The attribute plugin is not available, 2fa disabled

WvdS.System.Security.Cryptography.Signatures Namespace

Contains extension methods for digital signatures with PQ support.


Classes

Class Description
SignatureExtensions Extensions for RSA, ECDsa, and X509Certificate2 signatures
SignedDataExtensions Extensions for CMS/PKCS#7 SignedCms
HybridSignatureInfo Container for hybrid signature data

Static Classes

Class Description
PqSignedCmsHelper High-level API for PQ-capable CMS operations

Extended Types

.NET Type Extension Class
System.Security.Cryptography.RSA1) SignatureExtensions
System.Security.Cryptography.ECDsa2) SignatureExtensions
System.Security.Cryptography.Pkcs.SignedCms3) SignedDataExtensions

Hybrid Signature Format

In Hybrid mode, two signatures are created:

+------------------------------------------+
| Hybrid Signature                         |
+------------------------------------------+
| [4 Bytes] Length of classic signature    |
| [n Bytes] Classic signature (RSA/ECDSA)  |
| [m Bytes] PQ signature (ML-DSA)          |
+------------------------------------------+

Example

using WvdS.System.Security.Cryptography;
using WvdS.System.Security.Cryptography.Signatures;
 
CryptoConfig.DefaultMode = CryptoMode.Hybrid;
 
using var rsa = RSA.Create(2048);
byte[] data = Encoding.UTF8.GetBytes("Data to sign");
 
// Create hybrid signature
byte[] signature = rsa.SignData(
    data,
    HashAlgorithmName.SHA256,
    RSASignaturePadding.Pkcs1);
 
// Verify
bool valid = rsa.VerifyData(
    data,
    signature,
    HashAlgorithmName.SHA256,
    RSASignaturePadding.Pkcs1);

See Also


Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional

Zuletzt geändert: on 2026/01/29 at 11:24 PM