Articulo de referencia

ESPINOS +

+ "},"designers":{"wt":"Jean-Philippe Aumasson, [[Daniel J. Bernstein]], Ward Beullens, Christoph Dobraunig, Maria Eichlseder, Scott Fluhrer, Stefan-Lukas Gazdag, Andreas Hülsin...

SPHINCS + es un esquema de firma digital post-cuántica basado en funciones hash criptográficas . Como parte del proceso de estandarización de criptografía post-cuántica del NIST , una versión del esquema fue seleccionada por el NIST para servir de base al algoritmo de firma digital basado en hash sin estado ( SLH-DSA ) y se estandarizó como FIPS 205. [ 1 ]

Diseño

SPHINCS + se basa en un esquema de firma de un solo uso llamado WOTS + (una versión modificada del esquema de firma de un solo uso de Winternitz), un esquema de firma de pocos usos llamado FORS (Forest of Random Subsets) y árboles Merkle . [ 2 ]

Al firmar, el mensaje se firma con una clave FORS. Esta clave FORS se firma con una clave WOTS + que es una hoja de un árbol Merkle. La raíz del árbol se firma con otra clave WOTS + que, a su vez, es una hoja de otro árbol. La raíz de este último árbol se firma nuevamente con una clave WOTS + . El número de capas de árboles es un parámetro que se especifica como parte del algoritmo. Este "árbol de árboles" se denomina hiperárbol. La raíz del árbol superior es la clave pública. La firma consta de la clave FORS y su firma, las claves WOTS + con sus firmas y pruebas de inclusión para el árbol Merkle, y un valor aleatorio llamado R que se utilizó para generar la ruta en el hiperárbol. [ 2 ]

Para verificar una firma, el verificador primero verifica la prueba de inclusión de la primera clave WOTS + contra la clave pública y luego verifica la firma de la clave de la siguiente raíz. A continuación, comprueba la prueba de inclusión de la siguiente clave WOTS + contra la nueva raíz. Este proceso continúa hasta llegar a la última clave WOTS + , que se utiliza para verificar la clave FORS. Dicha clave se utiliza posteriormente para verificar la firma del mensaje. [ 2 ]

Todas las claves WOTS + y FORS se generan de forma determinista a partir de la clave privada. Durante la firma, el firmante genera una cadena de bits aleatoria llamada R y la somete a una función hash junto con el mensaje. Partes del hash resultante se utilizan para seleccionar la ruta a través del hiperárbol, mientras que el resto se firma con la clave FORS. [ 2 ]

Seguridad

SPHINCS + ha sido calificado como una opción "conservadora" por el NIST, ya que su seguridad se basa únicamente en la preimagen y la resistencia a colisiones de la función hash subyacente. [ 3 ] [ 4 ]

Se ha descrito un ataque de falsificación teórico para instancias específicas de SHA256 que requiere una gran cantidad de firmas legítimas y una cantidad de cálculo inviable. Se basa en la estructura Merkle-Damgård de SHA256 [ a ] y reduce cada declaración de seguridad en 40 bits. Los autores del ataque creen que no "pone en duda la solidez general del diseño de SPHINCS + " y se han propuesto medidas de mitigación. [ 2 ]

Historia

SPHINCS + se basa en el esquema SPHINCS, que se presentó en EUROCRYPT 2015. [ 6 ]

SPHINCS presenta un tamaño de clave pública y privada mayor de 1 kB y un tamaño de firma de 41 kB. [ 6 ]

SPHINCS + se lanzó por primera vez en 2017 [ 7 ] debido a que SPHINCS sufre una vulnerabilidad denominada "ataques multiobjetivo en firmas basadas en hash", que fue abordada en un artículo de 2016. Además, no tiene una selección de índice verificable (la ruta a través de los árboles), lo que permite otro tipo de ataque multiobjetivo. SPHINCS + se diseñó para abordar todos estos problemas y también reducir el tamaño de las claves y firmas mediante la compresión de claves WOTS + sin árboles , la adición del parámetro R durante la firma y el reemplazo del esquema de firma de pocas veces con FORS. [ 8 ] [ 9 ]

SPHINCS + fue estandarizado como SLH-DSA por el NIST en agosto de 2024 en el estándar FIPS 205, [ 1 ] convirtiéndose en uno de los dos esquemas de firma post-cuántica estandarizados por el NIST, siendo el otro ML-DSA . [ 10 ] [ 11 ] [ 12 ]

Instancias

SLH-DSA especifica las siguientes instancias en función de la función hash ( SHA256 o SHAKE256 ), el tipo (f para un tiempo de firma más rápido y s para una firma más corta) y el nivel de seguridad (por ejemplo, 128 significa que falsificar firmas es tan difícil como romper AES-128 ): [ 1 ] [ 13 ]

Implementaciones

  • Sitio web oficialEdita esto en Wikidata

Referencias

  1. Las instancias de SHAKE256 no se ven afectadas ya que dependen de la construcción de esponja [ 5 ].
  2. La falsificación de firmas debería ser tan difícil como una búsqueda exitosa de claves en AES-128 o unacolisión SHA256.
  3. La falsificación de firmas debería ser tan difícil como una búsqueda exitosa de claves en AES-192 o unacolisión SHA384.
  4. La falsificación de firmas debería ser tan difícil como una búsqueda exitosa de claves en AES-256.
  1. 1 2 3 Estándar de firma digital basado en hash sin estado (Informe). Washington, DC: Instituto Nacional de Estándares y Tecnología (EE. UU.). 13 de agosto de 2024. doi : 10.6028/nist.fips.205 .
  2. 1 2 3 4 5 "Rompiendo la categoría cinco de SPHINCS+ con SHA-256" . Recuperado el 12 de mayo de 2025 .
  3. "Recuperando la prueba de seguridad estricta de SPHINCS+" (PDF) . Consultado el 29 de junio de 2025 .
  4. "Una prueba de seguridad rigurosa para SPHINCS+, verificada formalmente" . PQShield . 30 de enero de 2025. Consultado el 30 de junio de 2025 .
  5. "Equipo Keccak" . Equipo Keccak . Consultado el 24 de octubre de 2025 .
  6. 1 2 "SPHINCS: Introducción" . SPHINCS . 18 de julio de 2013. Consultado el 29 de junio de 2025 .
  7. "Presentación de SPHINCS+ al proyecto post-cuántico del NIST" (PDF) . Consultado el 29 de junio de 2025 .
  8. "SPHINCS+ – Los SPHINCS más pequeños" . Andreas Hülsing . 4 de diciembre de 2017. Consultado el 29 de junio de 2025 .
  9. "Mitigación de ataques multiobjetivo en firmas basadas en hash" (PDF) . Consultado el 29 de junio de 2025 .
  10. Valenta, Luke; Gonçalves, Vânia; Westerbaan, Bas; Rosenberg, Michael; Kipp, Kevin; Dincer, Renan; Araya, Felipe Astroza; Galicer, Mari; Meunier, Thibault (20 de agosto de 2024). "Los primeros estándares post-cuánticos del NIST" . El blog de Cloudflare . Consultado el 29 de junio de 2025 .
  11. "SPHINCS+" . Open Quantum Safe . 10 de junio de 2022. Consultado el 29 de junio de 2025 .
  12. Boutin, Chad (13 de agosto de 2024). "NIST publica los primeros 3 estándares de cifrado post-cuántico finalizados" . NIST . Consultado el 29 de junio de 2025 .
  13. "Seguridad (Criterios de evaluación)" . CSRC . 3 de enero de 2017. Consultado el 29 de junio de 2025 .
  14. "randombit/botan: Kit de herramientas de criptografía" . GitHub . 6 de marzo de 2013. Consultado el 29 de junio de 2025 .
  15. "Actualizaciones de PQC y criptografía ligera" . Bouncycastle . 24 de enero de 2025. Consultado el 29 de junio de 2025 .
  16. Hess, Tjaden (15 de agosto de 2024). "Escribimos el código, y el código ganó" . Blog The Trail of Bits . Consultado el 29 de junio de 2025 .
  17. "open-quantum-safe/liboqs: Biblioteca C para prototipar y experimentar con criptografía resistente a la computación cuántica" . GitHub . 12 de agosto de 2016. Consultado el 29 de junio de 2025 .