1.3 Usporedba s .NET 10

Zašto WvdS.System.Security.Cryptography umjesto .NET 10 PQC?


.NET 10 PQC-podrška

Microsoft je u .NET 10 (Preview, GA studeni 2025) ugradio nativnu PQC-podršku1):

  • MLDsa / MLDsaCng / MLDsaOpenSsl - ML-DSA potpisi
  • MLKem / MLKemCng / MLKemOpenSsl - ML-KEM enkapsulacija ključeva
  • SlhDsa / SlhDsaCng / SlhDsaOpenSsl - SLH-DSA potpisi
  • CompositeMLDsa - Hibridni pristup (ručno)

Prednosti našeg rješenja

Aspekt Microsoft .NET 10 WvdS-rješenje
Dostupnost .NET 10+ (studeni 2025) .NET 8.0+ (sada dostupno)
Strategija migracije Novi API, promjene koda Drop-in Replacement, 2 linije
Hybrid mod Ručno putem CompositeMLDsa Automatski s CryptoMode.Hybrid
Postojeći kod Mora se prepisati Funkcionira nepromijenjeno
X.509 integracija Nove klase Proširuje postojeći X509Certificate2
CMS/PKCS#7 Nije dokumentirano Puna podrška
RSA/ECDSA proširenja Zasebne klase Proširuje postojeće RSA, ECDsa

Migracija: .NET 10 vs. WvdS

S .NET 10 (novi API)

// .NET 10: Potpuno novi kod potreban
using var mlDsa = MLDsa.Create(MLDsaAlgorithm.MLDsa65);
byte[] signature = mlDsa.SignData(data);
 
// Hybrid ručno implementirati
using var composite = CompositeMLDsa.Create(
    CompositeMLDsaAlgorithm.MlDsa65Ecdsa256);
byte[] hybridSig = composite.SignData(data);
 
// Postojeći RSA-kod više NE RADI
// using var rsa = RSA.Create(); // → nema PQ-potpisa

S WvdS-rješenjem (Drop-in)

using WvdS.System.Security.Cryptography;
 
// Dvije linije – gotovo!
CryptoConfig.DefaultMode = CryptoMode.Hybrid;
 
// Postojeći kod automatski radi s PQ
using var rsa = RSA.Create(4096);
byte[] signature = rsa.SignData(data,
    HashAlgorithmName.SHA256,
    RSASignaturePadding.Pkcs1);
// → Automatski sadrži RSA + ML-DSA potpis

Usporedba scenarija

Scenarij 1: Migracija postojećeg projekta

Problem: Veliki projekt sa stotinama RSA/ECDSA poziva.

.NET 10 Svako mjesto u kodu promijeniti, koristiti nove klase
WvdS CryptoConfig.DefaultMode = CryptoMode.Hybrid; - gotovo

Scenarij 2: Potrebna povratna kompatibilnost

Problem: Partneri još ne podržavaju PQC.

.NET 10 Dva puta koda: klasično za stare, PQ za nove partnere
WvdS Hybrid mod: Stari partneri ignoriraju PQ-proširenje, novi ga validiraju

Scenarij 3: CMS/PKCS#7 potpisi dokumenata

Problem: Postojeća SignedCms-integracija.

.NET 10 Nije dokumentirano, vjerojatno ručna integracija
WvdS SignedCmsExtensions proširuje postojeći API transparentno

Scenarij 4: X.509 lanci certifikata

Problem: X509Chain.Build() treba validirati PQ-potpise.

.NET 10 Potrebne nove Chain-klase (nejasno)
WvdS Postojeći X509Chain funkcionira, PQ-validacija automatski

Kada odabrati .NET 10?

Microsoft .NET 10 PQC može biti smislen ako:

  • Greenfield projekt (nema postojeće baze koda)
  • Podržava se samo .NET 10+
  • Nije potrebna Hybrid strategija
  • Nema CMS/PKCS#7 zahtjeva

Kada odabrati WvdS?

WvdS.System.Security.Cryptography je bolji ako:

  • Treba migrirati postojeći projekt
  • Koristi se .NET 8.0 ili ranija LTS verzija
  • Povratna kompatibilnost je važna (Hybrid mod)
  • Potrebni su CMS/PKCS#7 potpisi
  • Željen je minimalan napor migracije
  • Potrebna je trenutna dostupnost (ne čekati .NET 10 GA)

Sažetak

Kriterij Preporuka
Postojeći projekt WvdS
.NET 8.0 LTS WvdS
Hybrid strategija WvdS
CMS/PKCS#7 WvdS
Greenfield + samo .NET 10 .NET 10 ili WvdS
Samo PQ (bez Hybrid) Oboje moguće

Zaključak: Za većinu realnih scenarija migracije WvdS.System.Security.Cryptography nudi najjednostavniji put s najmanjim rizikom do post-kvantne kriptografije.


Daljnje informacije


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

Zuletzt geändert: 30.01.2026. u 08:51