====== 1.3 Vergleich mit .NET 10 ======
Warum WvdS.System.Security.Cryptography statt .NET 10 PQC?
----
===== .NET 10 PQC-Unterstützung =====
Microsoft hat in .NET 10 (Preview, GA November 2025) native PQC-Unterstützung eingebaut((Microsoft .NET 10 PQC: https://learn.microsoft.com/en-us/dotnet/api/system.security.cryptography?view=net-10.0)):
* ''MLDsa'' / ''MLDsaCng'' / ''MLDsaOpenSsl'' – ML-DSA Signaturen
* ''MLKem'' / ''MLKemCng'' / ''MLKemOpenSsl'' – ML-KEM Schlüsselkapselung
* ''SlhDsa'' / ''SlhDsaCng'' / ''SlhDsaOpenSsl'' – SLH-DSA Signaturen
* ''CompositeMLDsa'' – Hybrid-Ansatz (manuell)
----
===== Vorteile unserer Lösung =====
^ Aspekt ^ Microsoft .NET 10 ^ WvdS-Lösung ^
| **Verfügbarkeit** | .NET 10+ (November 2025) | .NET 8.0+ (jetzt verfügbar) |
| **Migrationsstrategie** | Neues API, Code-Änderungen | Drop-in Replacement, 2 Zeilen |
| **Hybrid-Modus** | Manuell via ''CompositeMLDsa'' | Automatisch mit ''CryptoMode.Hybrid'' |
| **Bestehender Code** | Muss umgeschrieben werden | Funktioniert unverändert |
| **X.509 Integration** | Neue Klassen | Erweitert bestehende ''X509Certificate2'' |
| **CMS/PKCS#7** | Nicht dokumentiert | Volle Unterstützung |
| **RSA/ECDSA Extensions** | Separate Klassen | Erweitert bestehende ''RSA'', ''ECDsa'' |
----
===== Migration: .NET 10 vs. WvdS =====
==== Mit .NET 10 (neues API) ====
// .NET 10: Komplett neuer Code erforderlich
using var mlDsa = MLDsa.Create(MLDsaAlgorithm.MLDsa65);
byte[] signature = mlDsa.SignData(data);
// Hybrid manuell implementieren
using var composite = CompositeMLDsa.Create(
CompositeMLDsaAlgorithm.MlDsa65Ecdsa256);
byte[] hybridSig = composite.SignData(data);
// Bestehender RSA-Code funktioniert NICHT mehr
// using var rsa = RSA.Create(); // → keine PQ-Signatur
==== Mit WvdS-Lösung (Drop-in) ====
using WvdS.System.Security.Cryptography;
// Zwei Zeilen – fertig!
CryptoConfig.DefaultMode = CryptoMode.Hybrid;
// Bestehender Code funktioniert automatisch mit PQ
using var rsa = RSA.Create(4096);
byte[] signature = rsa.SignData(data,
HashAlgorithmName.SHA256,
RSASignaturePadding.Pkcs1);
// → Enthält automatisch RSA + ML-DSA Signatur
----
===== Szenarien-Vergleich =====
==== Szenario 1: Bestehendes Projekt migrieren ====
**Problem:** Großes Projekt mit hunderten RSA/ECDSA-Aufrufen.
| .NET 10 | Jede Stelle im Code ändern, neue Klassen verwenden |
| WvdS | ''CryptoConfig.DefaultMode = CryptoMode.Hybrid;'' – fertig |
==== Szenario 2: Rückwärtskompatibilität benötigt ====
**Problem:** Partner unterstützen noch kein PQC.
| .NET 10 | Zwei Code-Pfade: klassisch für alte, PQ für neue Partner |
| WvdS | Hybrid-Modus: Alte Partner ignorieren PQ-Extension, neue validieren sie |
==== Szenario 3: CMS/PKCS#7 Dokumentensignaturen ====
**Problem:** Bestehende ''SignedCms''-Integration.
| .NET 10 | Nicht dokumentiert, wahrscheinlich manuelle Integration |
| WvdS | ''SignedCmsExtensions'' erweitert bestehende API transparent |
==== Szenario 4: X.509-Zertifikatsketten ====
**Problem:** ''X509Chain.Build()'' soll PQ-Signaturen validieren.
| .NET 10 | Neue Chain-Klassen erforderlich (unklar) |
| WvdS | Bestehende ''X509Chain'' funktioniert, PQ-Validierung automatisch |
----
===== Wann .NET 10 wählen? =====
Microsoft .NET 10 PQC kann sinnvoll sein wenn:
* Greenfield-Projekt (keine bestehende Codebasis)
* Nur .NET 10+ unterstützt wird
* Keine Hybrid-Strategie benötigt wird
* Keine CMS/PKCS#7-Anforderungen
----
===== Wann WvdS wählen? =====
WvdS.System.Security.Cryptography ist besser wenn:
* Bestehendes Projekt migriert werden soll
* .NET 8.0 oder frühere LTS-Versionen verwendet werden
* Rückwärtskompatibilität wichtig ist (Hybrid-Modus)
* CMS/PKCS#7-Signaturen benötigt werden
* Minimaler Migrationsaufwand gewünscht ist
* Sofortige Verfügbarkeit (nicht auf .NET 10 GA warten)
----
===== Zusammenfassung =====
^ Kriterium ^ Empfehlung ^
| Bestehendes Projekt | **WvdS** |
| .NET 8.0 LTS | **WvdS** |
| Hybrid-Strategie | **WvdS** |
| CMS/PKCS#7 | **WvdS** |
| Greenfield + .NET 10 only | .NET 10 oder WvdS |
| Nur PQ (kein Hybrid) | Beides möglich |
**Fazit:** Für die meisten realen Migrationsszenarien bietet WvdS.System.Security.Cryptography den einfachsten und risikoärmsten Weg zu Post-Quantum-Kryptographie.
----
===== Weiterführend =====
* [[de:int:pqcrypt:developer:migration|Migration]] – Phasen-basierte Umstellung
* [[de:int:pqcrypt:developer:erste-schritte|Erste Schritte]] – Schnellstart
----
//Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//
{{tag>konzepte vergleich dotnet10 migration}}