Migrazione graduale dalla crittografia classica a quella ibrida/post-quantum.
Fase 1 Fase 2 Fase 3 Fase 4 Classic → Hybrid → Hybrid+ → PostQuantum (solo RSA) (RSA+ML-DSA) (Validazione) (solo ML-DSA)
Obiettivo: Installare la libreria, rimanere in modalita Classic.
// Nessuna modifica al comportamento esistente CryptoConfig.DefaultMode = CryptoMode.Classic;
Obiettivo: I nuovi certificati sono protetti PQ, quelli vecchi continuano a funzionare.
// Attivare modalita Hybrid CryptoConfig.DefaultMode = CryptoMode.Hybrid;
Cosa succede:
Obiettivo: Le firme PQ vengono attivamente verificate (non solo generate).
// Costruire catena con validazione PQ var chain = new X509Chain(); bool valid = chain.Build(cert, CryptoMode.Hybrid); // Verificare se firma PQ presente if (cert.HasPqSignature()) { bool pqValid = cert.VerifyPqSignature(); }
Obiettivo: Solo algoritmi PQ, massima sicurezza.
Solo se tutti i client sono PQ-capable!
CryptoConfig.DefaultMode = CryptoMode.PostQuantum;
| Modalita generatore | Modalita validatore | Risultato |
|---|---|---|
| Classic | Classic | ✓ Funziona |
| Classic | Hybrid | ✓ Funziona (solo RSA validato) |
| Hybrid | Classic | ✓ Funziona (estensione PQ ignorata) |
| Hybrid | Hybrid | ✓ Funziona (entrambi validati) |
| PostQuantum | Classic | ✗ Errore (nessuna firma RSA) |
| PostQuantum | Hybrid | ✗ Errore (nessuna firma RSA) |
| PostQuantum | PostQuantum | ✓ Funziona |