Kyber: differenze tra le versioni

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Contenuto cancellato Contenuto aggiunto
Nuova pagina: '''Kyber''' è un meccanismo di incapsulamento della chiave (KEM) progettato per essere robusto rispetto ad un attacco crittoanalitico condotto tramite un computer quantistico. È usato per stabilire un segreto condiviso tra due parti in modo che non sia decifrabile da un attaccante. È un meccanismo di crittografia asimmetrica che basa la sua funzione botola sul problema di apprendimento con errori (LWE) in reticolo (ma...
(Nessuna differenza)

Versione delle 22:02, 27 ago 2022

Kyber è un meccanismo di incapsulamento della chiave (KEM) progettato per essere robusto rispetto ad un attacco crittoanalitico condotto tramite un computer quantistico. È usato per stabilire un segreto condiviso tra due parti in modo che non sia decifrabile da un attaccante. È un meccanismo di crittografia asimmetrica che basa la sua funzione botola sul problema di apprendimento con errori (LWE) in teoria dei reticoli, che si assume essere NP-difficile.

Kyber è stato il primo algoritmo selezionato dal National Institute of Standards and Technology (NIST) nel processo di standardizzazione di algoritmi di crittografia post-quantistica (PQC).[1] L'algoritmo prende il nome dagli immaginari cristalli kyber, che forniscono energia alle spade laser nell'universo di Guerre stellari.

Caratteristiche

Kyber ha diverse varianti standardizzate per diversi livelli di sicurezza: Kyber512 (livello di sicurezza NIST 1, comparabile a AES 128), Kyber768 (livello 3, comparabile a AES 192), e Kyber1024 (livello 5, comparabile a AES 256).[2] Con 161 bit di complessità, le chiavi segrete occupano 2400 byte, le chiavi pubbliceh 1088 byte, e il testo cifrato 1184 byte.[3][4] Un'implementazione ottimizzata richiede 4 kilobyte di memoria per l'esecuzione.[5]

Rispetto al tradizionale scambio di chiavi Diffie-Hellman (che non è resistente ad attacchi quantistici) con crittografia ellittica usando Curve25519, Kyber è circa 2.3 volte più lento e richiede una trasmissione dati circa 70 volte più alta.[6]

Sviluppo

Kyber è basato su un metodo pubblicato nel 2005 da Oded Regev, sviluppato da diverse università e società in Europa e Nord America, con fondi dalla Commissione Europea e dai governi di Svizzera, Paesi Bassi e Germania.[7] Gli sviluppatori hanno anche implementato la firma digitale Dilithium, parte della suite CRYSTALS (Cryptographic Suite for Algebraic Lattices). Internamente fa uso di una variante della funzione di hash Keccak (SHA-3/SHAKE).[5]

Nel 2017 fu presentato al National Institute of Standards and Technology (NIST) per prendere parte al processo di selezione degli standard crittografici post-quantistici.[8] Nella seconda fase della selezione, diversi parametri vennero rifiniti e venne rimossa la compressione della chiave pubblica.[5] Nel 2022 l'algoritmo fu il primo candidato a superare la selezione per la standardizzazione.[1]

Impiego

Gli sviluppatori hanno pubblicato un'implementazione di riferimento in C disponibile in pubblico dominio (licenza CC0).[9] La libreria liboqs del progetto Open Quantum Safe (OQS) include un'implementazione di Kyber[10][6] OQS sviluppa inoltre un branch quantum-safe di OpenSSL,[11] e ha integrato l'algoritmo in BoringSSL e WolfSSL.[12] Implementazioni hardware ottimizzate sono state sviluppate, incluse versioni resistenti ad attacchi a canale laterale.[13][14] L'Ufficio federale tedesco per la sicurezza informatice mira ad includere l'algoritmo nel client di posta elettronica Mozilla Thunderbird, nella libreria Botan e nello standard OpenPGP.[15]

Note

Collegamenti esterni

  Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica