Saltar al contenido

¿Deberíamos usar SHA3? (2017)

Este artículo fue analizado por nuestros expertos así aseguramos la exactitud de nuestra esta crónica.

Solución:

No estoy convencido de que debamos. SHA-3 tiene algunas características interesantes, pero por las razones que enumero a continuación, probablemente sugeriría usar SHA-2 o BLAKE2 por el momento. Incluso el propio NIST dice:

Actualmente no hay necesidad de hacer la transición de aplicaciones de SHA-2 a SHA-3.


Dicho esto, es posible que todavía estés pensando “Por qué no”?

  1. SHA-3 aún no cumple con FIPS-140. Sin FIPS 140-3, está fuera del alcance de agencias gubernamentales no militares y contratistas gubernamentales. Si le preocupa el cumplimiento de FIPS, por ahora está atascado con la suite SHA-2.SHA-3 estaba incluido en FIPS 140-2 Anexo Ay aunque este documento todavía dice “Borrador” en la portada, parece haber sido finalizado a través de estas dos páginas.
  2. Actuación. SHA-3 es increíblemente rápido en implementaciones de hardware (ASIC). Sin embargo, es mucho más lento en el software que se ejecuta en CPU con registros limitados, lo que significa que es menos útil en general*. Su principal competidor (al menos, después de la competencia) es BLAKE2, que ha demostrado ser mucho más rápido en las CPU generales y, a veces, se prefiere a Keccak/SHA-3 por otras razones. Si bien creo que NIST subestimó las diferencias de rendimiento en el software entre los finalistas, sus comentarios sobre el rendimiento en la última ronda de toma de decisiones pueden ser útiles para proporcionar contexto. De NISTIR 7896, sección 3.2:

    una. Los cinco finalistas se desempeñan lo suficientemente bien como para ser utilizables en la mayoría de las aplicaciones.
    b. Ninguno de los cinco finalistas es el mejor para todas las aplicaciones, y ninguno ofrece mejoras realmente convincentes sobre los algoritmos SHA-2.
    C. Los algoritmos basados ​​en ARX, BLAKE y Skein, funcionan muy bien en el software.
    d. Keccak tiene una clara ventaja en rendimiento de rendimiento/área en implementaciones de hardware.
    mi. Grøstl y JH son considerablemente más lentos que los otros tres algoritmos en la mayoría de las implementaciones de software.

  3. Prudencia potencialmente innecesaria. También vale la pena señalar que BLAKE recibió comentarios negativos debido a lo similar que era a SHA-2. Por prudencia, esto ayudó a Keccak/SHA-3 a ganar la competencia. De NISTIR 7896, sección 3.4:

    b. Debido a que SHA-2 es un diseño basado en ARX con un key horario, tiene algunos elementos de diseño importantes en común con BLAKE y Skein, aunque ninguno está estrechamente relacionado con SHA-2. Sin embargo, parece más probable que las herramientas criptoanalíticas que se apliquen a SHA-2 en el futuro se apliquen a BLAKE o Skein que a los otros tres finalistas.

* Recuerde que aquí estamos discutiendo funciones hash criptográficas, no necesariamente funciones hash de contraseñas o KDF.


Algunas lecturas más que pueden valer la pena:

  1. NIST puede no tenerte en mente, por Adam Langley
  2. La familia de funciones de esponja Keccak
  3. NISTIR 7896
  4. BLAKE2: “Más duro, mejor, más rápido, más fuerte” que MD5
  5. ¿Por qué reemplazar SHA-1 con BLAKE2?
  6. Tal vez Saltar SHA-3

Sección de Reseñas y Valoraciones

Recuerda algo, que tienes la capacidad de esclarecer si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *