Uporabniška orodja

Barvna shema: Riviera

Postkvantna kriptografija za .NET

ML-DSA in ML-KEM v obstoječo programsko opremo .NET – brez ponovnega pisanja

Knjižnica obstoječo kodo .NET na posameznem mestu klica dopolni s postkvantnim podpisom ML-DSA in enkapsulacijo ključa ML-KEM – hibridno z RSA, ECDSA ali ECDH, kot priporoča BSI TR-02102-1.

Koda C#, ki s CryptoMode.Hybrid ustvari in preveri verigo potrdil; ob njej izpis Chain valid: True

Izhodišče

Vsaka zamenjava s postkvantnimi postopki se začne z vprašanjem, kateri postopek teče kje v vaših sistemih. Naslednje vprašanje: kako nov postopek spraviti v programsko opremo, ki danes uporablja RSA ali ECDSA, ne da bi jo pisali na novo – in ne da bi jo nasprotne strani, ki poznajo le klasične postopke, prenehale brati?

Rešitev

Knjižnica ponuja razširitvene metode z enakim imenom kot v .NET in dodatnim argumentom CryptoMode. Isti klic, en dodatni argument: šele CryptoMode klic usmeri v knjižnico, koda brez tega argumenta pa deluje kot doslej. Tako aplikacijo dopolnjujete klic za klicem. Postkvantni del izračuna OpenSSL.

  • Klic za klicem: potrdila, podpise in šifrirana sporočila dopolnite na posameznem mestu klica; preostala koda ostane nespremenjena.
  • Privzeto hibridno: privzete nastavitve sledijo BSI TR-02102-1 in ML-DSA ali ML-KEM ustvarijo le skupaj s klasičnim postopkom.
  • Klasični preverjevalniki berejo naprej: hibridna potrdila z RSA ali ECDSA in dodatno ML-DSA ostanejo berljiva tudi za nasprotne strani brez te knjižnice.
  • Brez tihega preklopa: če klic zahtevanega postkvantnega dela ne more ustvariti, ne uspe – zgolj klasičnega rezultata ne vrne nikoli.

En argument več, nič drugega

Klic ostane tak kot v .NET. Šele CryptoMode ga usmeri v knjižnico, ki prek OpenSSL hibridno podpisuje ali dogovarja ključe.

Potek: koda .NET s CryptoMode, knjižnica, OpenSSL 3.5, hibridni rezultat iz RSA ali ECDSA in ML-DSA
Brez CryptoMode se koda vede kot doslej. Če postkvantnega dela ni mogoče izdelati, klic ne uspe.

Funkcije

  • ML-DSA in ML-KEM v povezavi z RSA, ECDSA ali ECDH
  • Potrdila in verige potrdil, seznami preklicanih potrdil, PFX
  • Podpisovanje podatkov, sporočil CMS in dokumentov XML; šifriranje sporočil CMS
  • Dogovor o hibridnem ključu
  • Ključi v shrambi ključev operacijskega sistema (Windows, Linux s Secret Service) ali v datoteki PFX
  • Uporaba v Blazorju

Tehnični podatki

  • Zahteve: .NET Framework od 4.6.2 do 4.8, .NET Core 3.1 ali .NET 8 ter OpenSSL 3.5 ali novejši v vašem okolju. Tehnični podatki in zahteve

Pogosta vprašanja

Ali moram kodo napisati na novo?

Dopolnite jo klic za klicem: knjižnica se veže le na klice z dodatnim argumentom CryptoMode; vsi drugi klici delujejo kot doslej.

Katere standarde izvaja?

ML-DSA in ML-KEM po FIPS 204 in FIPS 203, privzeto hibridno po BSI TR-02102-1.

Od kod prihaja postkvantna matematika?

Iz OpenSSL 3.5 ali novejšega, ki ga vzdržujete s svojimi varnostnimi posodobitvami – razširjena in temeljito pregledana osnova.

Kje začnem?

S prvo hibridno verigo potrdil: RSA ali ECDSA in dodatno ML-DSA. Prva hibridna veriga potrdil

Namestitev, primeri in referenca, korak za korakom: vse je v dokumentaciji.

Odprite dokumentacijo