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).[1] L'algoritmo prende il nome dagli immaginari cristalli kyber, che forniscono energia alle spade laser nell'universo di Guerre stellari.
Caratteristiche
[modifica | modifica wikitesto]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 pubbliche 1184 byte, e il testo cifrato 1088 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
[modifica | modifica wikitesto]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
[modifica | modifica wikitesto]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.[6][10] 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 informatica mira ad includere l'algoritmo nel client di posta elettronica Mozilla Thunderbird, nella libreria Botan e nello standard OpenPGP.[15]
Note
[modifica | modifica wikitesto]- ^ a b Dustin Moody, Status Report on the Third Round of the NIST Post-Quantum Cryptography Standardization Process (PDF), Gaithersburg, MD, 2022, pp. NIST IR 8413, DOI:10.6028/nist.ir.8413.
- ^ Overview of NIST Round 3 Post-Quantum cryptography Candidates (PDF; 157 kB)
- ^ Joppe Bos, Léo Ducas, Eike Kiltz, Tancrède Lepoint, Vadim Lyubashevsky, John M. Schanck, Peter Schwabe, Gregor Seiler, and Damien Stehlé, CRYSTALS -- Kyber: a CCA-secure module-lattice-based KEM, in 2018 IEEE European Symposium on Security and Privacy, EuroS&P 2018., IEEE, 2018, pp. 353-367, DOI:10.1109/EuroSP.2018.00032, ISBN 978-1-5386-4228-3.
- ^ https://pq-crystals.org/kyber/data/kyber-specification-round3-20210804.pdf
- ^ a b c (DE) Leon Botros, Matthias J. Kannwischer, Peter Schwabe, Memory-Efficient High-Speed Implementation of Kyber on Cortex-M4 (PDF), in Progress in Cryptology – AFRICACRYPT 2019, Lecture Notes in Computer Science, vol. 11627, Cham, Springer International Publishing, 2019, pp. 209–228, DOI:10.1007/978-3-030-23696-0_11, ISBN 978-3-030-23696-0.
- ^ a b (DE) Ines Duits, The Post-Quantum Signal Protocol: Secure Chat in a Quantum World (PDF), 5 febbraio 2019.
- ^ https://pq-crystals.org/
- ^ (EN) Sarah Henderson, NIST's Post-Quantum Cryptography Program Enters 'Selection Round', in Nist, 22 luglio 2020.
- ^ Kyber/LICENSE at master · pq-crystals/kyber · GitHub
- ^ Kyber – Open Quantum Safe, su openquantumsafe.org. URL consultato il 27 agosto 2022 (archiviato dall'url originale il 20 aprile 2021).
- ^ (EN) Post-Quantum TLS, in Microsoft Research.
- ^ (EN) wolfSSL and libOQS Integration, in WolfSSL-Website, 1º settembre 2021.
- ^ (DE) B. Dang, Kamyar Mohajerani, K. Gaj, High-Speed Hardware Architectures and Fair FPGA Benchmarking (PDF), 2021.
- ^ (DE) Arpan Jati, Naina Gupta, A. Chattopadhyay, S. Sanadhya, A Configurable Crystals-Kyber Hardware Implementation with Side-Channel Protection (PDF), in IACR Cryptol. ePrint Arch., 2021.
- ^ E-Vergabe, die Vergabeplattform des Bundes, su evergabe-online.de.
Voci correlate
[modifica | modifica wikitesto]Collegamenti esterni
[modifica | modifica wikitesto]- Sito ufficiale, su pq-crystals.org.
- Repository sorgenti di Kyber, su github.com.