Inhaltsverzeichnis
Imenski prostor KeyExchange
Imenski prostor: WvdS.System.Security.Cryptography.KeyExchange
Vsebuje razrede za post-kvantno izmenjavo ključev z ML-KEM.
Razredi
| Razred | Opis |
|---|---|
| KeyExchangeService | Visokonivojska storitev za izmenjavo ključev med odjemalcem in strežnikom |
| EphemeralKeyPair | Vsebnik za kratkoživljajoče pare ključev ML-KEM/ML-DSA |
| SecureSession | Predstavlja vzpostavljeno varno sejo |
Razredi zahtev/odgovorov
| Razred | Opis |
|---|---|
| KeyExchangeInitRequest | Sporočilo za začetek od odjemalca |
| KeyExchangeInitResponse | Odgovor strežnika |
| KeyExchangeConfirmRequest | Sporočilo za potrditev od odjemalca |
| KeyExchangeConfirmResponse | Odgovor strežnika za potrditev |
Potek protokola
Odjemalec Strežnik | | +- GenerateClientKeysAsync() | | | +- CreateInitRequest() --------------+ | (ML-KEM PubKey + ML-DSA Sig) | | +- ProcessClientRequest() | | (Preveri, Enkapsulira) |<--------------------- InitResponse -+ | (Šifrirano besedilo + ML-DSA Sig)| | | +- ProcessServerResponse() | | (Preveri, Dekapsulira) | | | +- CreateConfirmRequest() -----------+ | (HMAC potrditev) | | +- VerifyConfirmation() |<------------------ ConfirmResponse -+ | | v v SecureSession SecureSession (Skupna skrivnost) (Skupna skrivnost)
Primer
using WvdS.System.Security.Cryptography.KeyExchange; var kex = new KeyExchangeService(); // === Odjemalec === var clientKeys = await kex.GenerateClientKeysAsync(); var initRequest = await kex.CreateInitRequestAsync(clientKeys); // Pošlji initRequest strežniku... // === Strežnik === var serverKeys = await kex.GenerateServerKeysAsync(); var (response, serverSession) = await kex.ProcessClientRequestAsync( initRequest, serverKeys); // Pošlji response odjemalcu... // === Odjemalec === var clientSession = await kex.ProcessServerResponseAsync( response, clientKeys); // Oba imata zdaj identično skupno skrivnost!
Glavne metode
KeyExchangeService
| Metoda | Opis |
|---|---|
GenerateClientKeysAsync | Generiranje ključev na strani odjemalca |
GenerateServerKeysAsync | Generiranje ključev na strani strežnika |
CreateInitRequestAsync | Ustvarjanje sporočila za začetek |
ProcessClientRequestAsync | Strežnik obdela zahtevo odjemalca |
ProcessServerResponseAsync | Odjemalec obdela odgovor strežnika |
CreateConfirmRequestAsync | Ustvarjanje sporočila za potrditev |
VerifyConfirmationAsync | Preverjanje potrditve |
Glejte tudi
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional
Zuletzt geändert: dne 29.01.2026 ob 23:17