Kyber
# Kyber

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). 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). Con 161 bit di complessità, le chiavi segrete occupano 2400 byte, le chiavi pubbliche 1184 byte, e il testo cifrato 1088 byte. Un'implementazione ottimizzata richiede 4 kilobyte di memoria per l'esecuzione.

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.

## 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. 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).

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

## Impiego

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

