Inhaltsverzeichnis
Upravljanje ključev
Kompaktni primeri za upravljanje ključev. → Podrobnosti: Scenariji ključev
Generiranje ključev
// ML-DSA (podpisi) using var mlDsa65 = MlDsaSigner.Create(MlDsaParameterSet.MlDsa65); using var mlDsa87 = MlDsaSigner.Create(MlDsaParameterSet.MlDsa87); // ML-KEM (izmenjava ključev) using var mlKem768 = MlKem.Create(MlKemParameterSet.MlKem768); using var mlKem1024 = MlKem.Create(MlKemParameterSet.MlKem1024); // Klasično (hibridno) using var ecdsa = ECDsa.Create(ECCurve.NamedCurves.nistP384); using var rsa = RSA.Create(4096);
→ Podrobnosti: Generiranje
Shranjevanje ključev
// DPAPI (Windows) byte[] privateKey = mlDsa.ExportPrivateKey(); byte[] encrypted = ProtectedData.Protect(privateKey, entropy: null, DataProtectionScope.CurrentUser); // PEM z geslom string pem = mlDsa.ExportEncryptedPkcs8PrivateKeyPem( "geslo"u8, new PbeParameters( PbeEncryptionAlgorithm.Aes256Cbc, HashAlgorithmName.SHA256, 100000));
→ Podrobnosti: Shranjevanje
Rotacija ključev
var rotationService = new KeyRotationService(options => { options.RotationInterval = TimeSpan.FromDays(90); options.MaxKeyAge = TimeSpan.FromDays(365); }); // Preverjanje, ali je rotacija potrebna if (rotationService.ShouldRotate(currentKey)) { var newKey = MlDsaSigner.Create(MlDsaParameterSet.MlDsa65); rotationService.Rotate(currentKey, newKey); }
→ Podrobnosti: Rotacija
Varnostna kopija ključev
// Shamir Secret Sharing (3-of-5) var shares = ShamirSecretSharing.Split( privateKey, totalShares: 5, threshold: 3); // Razdelitev skrbnikom foreach (var (index, share) in shares) SaveToTrustee(index, share); // Obnovitev var recoveredShares = new[] { shares[0], shares[2], shares[4] }; byte[] recovered = ShamirSecretSharing.Combine(recoveredShares);
→ Podrobnosti: Varnostna kopija
Uničenje ključev
// Varno brisanje CryptographicOperations.ZeroMemory(privateKeyBytes); // Preklic certifikata var crlBuilder = new CertificateRevocationListBuilder(); crlBuilder.AddEntry(cert.SerialNumber, DateTimeOffset.UtcNow, X509RevocationReason.KeyCompromise);
→ Podrobnosti: Uničenje
Priporočila
| Tip ključa | Algoritem | Veljavnost |
|---|---|---|
| Root-CA | ML-DSA-87 | 20+ let |
| Intermediate-CA | ML-DSA-65 | 5-10 let |
| End-Entity | ML-DSA-65 / hibridno | 1-2 leti |
| Efemerni | ML-KEM-768 | Seja |
« ← Kratka referenca | → Scenariji ključev (podrobnosti) »
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional
Zuletzt geändert: dne 30.01.2026 ob 08:21