Kyber

De la Viquipèdia, l'enciclopèdia lliure
Logotip del mecanisme d'encapsulació de claus basat en gelosia Kyber a partir del 2017

Kyber és un mecanisme d'encapsulació de claus (KEM) dissenyat per ser resistent als atacs criptoanalítics amb futurs ordinadors quàntics potents. S'utilitza per establir un secret compartit entre dues parts que es comuniquen sense que un atacant (IND-CCA2) al sistema de transmissió pugui desxifrar-lo. Aquest criptosistema asimètric utilitza una variant del problema de la gelosia d'aprenentatge amb errors com a funció bàsica de trampa. Va guanyar el concurs NIST per al primer estàndard de criptografia postquàntica (PQ). El NIST anomena el seu esborrany estàndard Mecanisme d'encapsulació de claus basat en mòduls (ML-KEM).[1] No obstant això, almenys per a Kyber512, hi ha afirmacions que els càlculs de seguretat del NIST estaven malament.[2]

Propietats[modifica]

El sistema es basa en el problema del mòdul d'aprenentatge amb errors (M-LWE), conjuntament amb els anells ciclotòmics. Recentment, també s'ha produït una estreta reducció formal de seguretat matemàtica del problema de l'anell-LWE a MLWE. En comparació amb els mètodes PQ de la competència, té els avantatges típics dels mètodes basats en gelosia, per exemple, pel que fa al temps d'execució, així com a la mida dels textos xifrats i del material clau.

S'han definit variants amb diferents nivells de seguretat: Kyber512 (nivell de seguretat NIST 1, ≈ AES 128), Kyber768 (nivell de seguretat NIST 3, ≈AES 192) i Kyber1024 (nivell de seguretat NIST 5, ≈AES 256). Al nivell Kyber768, les claus secretes tenen una mida de 2400 bytes, les claus públiques 1184 i els textos xifrats 1088. Tanmateix, almenys per a Kyber512, hi ha afirmacions que els càlculs de seguretat del NIST estaven malament.[3]

Amb una implementació optimitzada en conseqüència, 4 kilobytes de memòria poden ser suficients per a les operacions criptogràfiques. Per a un escenari de xifratge del xat amb liboqs, es va trobar que la substitució de l'intercanvi de claus ECDH extremadament eficient i no segur quàntic mitjançant Curve25519 augmenta el temps d'execució en un factor d'aproximadament 2,3 (1,5–7), aproximadament 2,3 vegades (1,4–3,1) augment del consum d'energia i té unes 70 vegades (48–92) més sobrecàrregues de dades. Les operacions de hash intern representen la major part del temps d'execució, la qual cosa podria beneficiar-se enormement de l'acceleració de maquinari corresponent.

Desenvolupament[modifica]

Kyber es deriva d'un mètode publicat l'any 2005 per Oded Regev, desenvolupat per desenvolupadors d'Europa i Amèrica del Nord, que són empleats per diverses universitats governamentals o institucions de recerca, o per empreses privades, amb finançament de la Comissió Europea, Suïssa, Països Baixos, i Alemanya. També van desenvolupar l'esquema de signatura relacionat i complementari Dilithium, com un altre component del seu "Cryptographic Suite for Algebraic Lattices" (CRYSTALS). Igual que altres mètodes PQC-KEM, Kyber fa un ús extensiu del hash internament. En el cas de Kyber, aquí s'utilitzen variants de Keccak (SHA-3 /SHAKE) per generar nombres pseudoaleatoris, entre altres coses. L'any 2017, el mètode es va presentar a l'Institut Nacional d'Estàndards i Tecnologia (NIST) dels EUA per al seu procés de selecció pública d'un primer estàndard per a primitives criptogràfiques de seguretat quàntica (NISTPQC). És l'únic mecanisme d'encapsulació clau que s'ha seleccionat per a l'estandardització al final de la tercera ronda del procés d'estandardització del NIST. Segons una nota a peu de pàgina de l'informe que anuncia la decisió, està condicionada a l'execució de diversos acords relacionats amb les patents, sent NTRU una opció alternativa. Actualment, s'està duent a terme una quarta ronda del procés d'estandardització, amb l'objectiu d'estandarditzar un KEM addicional. En la segona fase del procés de selecció, es van ajustar diversos paràmetres de l'algorisme i es va baixar la compressió de les claus públiques. Més recentment, el NIST va prestar especial atenció als costos en termes de temps d'execució i complexitat de les implementacions que emmascaren els temps d'execució per tal d'evitar els corresponents atacs de canal lateral (SCA).

Ús[modifica]

Els desenvolupadors han llançat una implementació de referència al domini públic (o sota CC0), que està escrita en C. La biblioteca de programes liboqs del projecte Open Quantum Safe (OQS) conté una implementació basada [4] en això. OQS també manté una branca de desenvolupament de seguretat quàntica d' OpenSSL, l'ha integrat a BoringSSL, i el seu codi també s'ha integrat a WolfSSL. Hi ha un grapat d'implementacions que utilitzen diversos altres llenguatges de programació de desenvolupadors de tercers, inclosos JavaScript i Java.[5][6][7] Existeixen diverses implementacions de maquinari optimitzades (gratuïtes), inclosa una que és resistent als atacs del canal lateral. L'Oficina Federal Alemanya de Seguretat de la Informació té com a objectiu la implementació a Thunderbird, i en aquest context també una implementació a la biblioteca del programa Botan i els corresponents ajustos a l'estàndard OpenPGP. El 2023, el servei de missatgeria xifrada Signal va implementar PQXDH, un algorisme de xifratge postquàntic basat en Kyber, al seu protocol de senyal que utilitzen WhatsApp i altres.[8]

Referències[modifica]

  1. Technology, National Institute of Standards and. «Module-Lattice-Based Key-Encapsulation Mechanism Standard [FIPS 203 (Initial Public Draft)]» (en anglès). U.S. Department of Commerce, 24-08-2023.
  2. Bernstein, Daniel J. «The inability to count correctly: Debunking NIST's calculation of the Kyber-512 security level.» (en anglès), 30-10-2023.
  3. Bernstein, Daniel J. «The inability to count correctly: Debunking NIST's calculation of the Kyber-512 security level.» (en anglès), 30-10-2023.
  4. «Kyber – Open Quantum Safe» (en anglès). Arxivat de l'original el 2021-04-20. [Consulta: 13 gener 2022].
  5. «CRYSTALS KYBER Java» (en anglès). GitHub, 25-10-2021.
  6. «CRYSTALS-KYBER JavaScript» (en anglès). GitHub, 11 December 2021.
  7. «Yawning/Kyber» (en anglès). Arxivat de l'original el 2021-07-28. [Consulta: 13 gener 2022].
  8. «Signal Messenger Introduces PQXDH Quantum-Resistant Encryption» (en anglès). The Hacker News. [Consulta: 22 setembre 2023].