Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ENSAYO
Estándar SHA-3: Hash basado en permutación y funciones de
salida extensible
ESTUDIANTES
Jeisson Fabian Machuca Ramirez
Keimer Sequeda
Wilder Rozo
DOCENTE
Reinaldo Nicolás Mayol Arnao
Bogotá – Colombia
Octubre 20 de 2020
TABLA DE CONTENIDO
1. INTRODUCCIÓN ................................................................................................................................................ 5
• ¿De qué se trata el tema seleccionado?............................................................................................................... 5
2. Explicación del estándar.............................................................................................................................. 5
3. KECCAK-p PERMUTACIONES....................................................................................................................... 5
3.1. Estado .................................................................................................................................................. 6
3.1.1. Partes de la matriz de estado ....................................................................................................... 6
3.1.2. Conversión de cadenas en matrices estatales ............................................................................ 7
3.1.3. Conversión de matrices de estado en cadenas ........................................................................... 7
3.1.4. Convención de etiquetado para la matriz estatal....................................................................... 7
3.2. Mapeos de pasos ................................................................................................................................ 8
3.2.1. Especificación de θ......................................................................................................................... 9
3.2.2. Especificación de ρ ......................................................................................................................... 9
3.2.3. Especificación de π.......................................................................................................................10
3.2.4. Especificación de χ .......................................................................................................................10
3.2.5. Especificación de ι ........................................................................................................................11
4. CONSTRUCCIÓN ESPONJAS .......................................................................................................................12
4.1. KECCAK..........................................................................................................................................................13
• ¿Cuál es su importancia actual en seguridad? .........................................................................................13
Estado del arte (2017-2020) ..........................................................................................................................13
5. Eficiencia...............................................................................................................................................................15
6. Aplicaciones ....................................................................................................................................................16
7. Eficiencia de Keccak.............................................................................................................................................16
Conclusiones.............................................................................................................................................................17
Bibliografía ...............................................................................................................................................................17
INDICE DE FIGURAS
Este estándar especifica una nueva familia de funciones que complementan SHA-1 y la familia SHA-2 de
funciones hash especificadas en FIPS 180-4. Esta familia, llamada SHA-3 (Secure Hash Algorithm-3), se basa en
KECCAK el algoritmo 1 que NIST seleccionó como el ganador de la Competencia pública de algoritmos hash
criptográficos SHA-3. La familia SHA-3 consta de cuatro funciones hash criptográficas y dos funciones de salida
ampliable. Esta se basa en la construcción de esponja; las funciones con esta estructura se llaman esponja
funciones.
Las cuatro funciones hash SHA-3 se denominan SHA3-224, SHA3-256, SHA3-384 y SHA3-512; en cada caso, el
sufijo después del guion indica la longitud fija del resumen, por ejemplo, SHA3-256 produce resúmenes de
256 bits. Las funciones SHA-2, es decir, SHA-224, SHA-256, SHA-384 SHA-512, SHA-512/224 y SHA-512/256,
ofrecen el mismo conjunto de longitudes de resumen. Así, las funciones hash SHA-3 se pueden implementar
como alternativas a las funciones SHA-2, o viceversa.
Las seis funciones SHA-3 están diseñadas para proporcionar propiedades especiales, como resistencia a la
colisión, preimagen y ataques de segunda preimagen. El nivel de resistencia a estos tres tipos de ataques se
resume en la Sec. A.1. Las funciones hash criptográficas son componentes fundamentales en una variedad de
aplicaciones de seguridad de la información, como la generación y verificación de firmas digitales, la
derivación de claves y la generación de bits pseudoaleatorios.
Las cuatro funciones hash SHA-3 difieren ligeramente de las instancias de KECCAK que fueron propuestos para
el concurso SHA-3. En particular, se agrega un sufijo de dos bits a los mensajes para distinguir las funciones
hash SHA-3 de las XOF SHA-3 y para facilitar el desarrollo de nuevas variantes de las funciones SHA-3 que se
pueden dedicar a dominios de aplicaciones individuales.
Si A denota un 5 por 5 por w matriz de bits que representa el estado, entonces sus índices son los enteros
triples ( x, y, z) para el cual 0 ≤ x < 5, 0 ≤ y < 5 y 0 ≤ z. El bit que corresponde a (x, y, z) se denota por A[ x, y, z].
A matriz de estado es una representación del estado mediante una matriz tridimensional que se indexa de
esta manera
3.1.1. Partes de la matriz de estado
T ABL A 2 D ESPLAZAMIENTOS DE Ρ
Las compensaciones para cada carril que resultan del cálculo en el Paso 3a en el Algoritmo 2 se enumeran en
la Tabla 2 anterior.
Para cada carril en la Figura 4, el punto negro indica el bit cuyo z la coordenada es 0, y el cubo sombreado
indica la posición de ese bit después de la ejecución de ρ. Los otros bits del carril cambian con el mismo
desplazamiento y el cambio es circular. Por ejemplo, el desfase del carril A [ 1, 0] es 1, por lo que el último bit,
cuyo z coordenada es 7 para este ejemplo, se desplaza a la posición delantera, cuya z coordinar 1 3 es 0. En
consecuencia, las compensaciones pueden reducirse módulo el tamaño del carril; por ejemplo, el carril para
A [ 3, 2], en la parte superior de la hoja más a la izquierda, tiene un desplazamiento de 153 mod 8 para este
ejemplo, es decir, el desplazamiento es de 1 bit.
FI GU RA 5 I LUSTRACIÓ N DE Ρ PARA B = 200
3.2.3. Especificación de π
El efecto de π es reorganizar las posiciones de los carriles, como se ilustra para cualquier segmento en la
Figura 5 a continuación. La convención para el etiquetado de las coordenadas se muestra en la Figura 2
anterior; por ejemplo, el bit con coordenadas x = y = 0 se representa en el centro del corte
El módulo pi permuta los elementos de 64 bits.
La permutación sigue la asignación de patrón fijo que se muestra a continuación: S [j] [2 * i + 3 * j] = S [i] [j]
F I GU RA 9 L A CONSTRUCCIÓN DE L A ESPONJA
• ¿Cuál es su importancia actual en seguridad?
Su principal importancia es sustituir las aplicaciones actuales de su predecesor SHA-2 en caso de ser necesario,
puesto que esta mejora la solidez del algoritmo hash.
SHA-3 es capaz de enfrentar ataques realizados por computadoras cuánticas, destacando entre ellos: el uso
del algoritmo de Grover, ataques de preimagen, de segunda preimagen y de resistencia a colisiones, así como
el ataque de cumpleaños. Esto, dado que la seguridad proporcionada por el algoritmo SHA-3 ante ataques
cuánticos recae en las grandes salidas de datos que este genera, puesto que está comprobado
matemáticamente que es resistente a la colisión cuántica. Hablando en términos de bits, la seguridad que
genera cada una de sus variantes, es del mismo tamaño de bits que la salida, en los ataques a preimagen y
2da preimagen, y a la mitad de los bits en ataques de resistencia a colisiones.
Estado del arte (2017-2020)
15/03/2017 marzo
Nuevos límites en senderos diferenciales en Keccak – f
En un trabajo conjunto con Silvia Mella (STMicroelectronics y Universidad de Milán), proponemos un marco
para delimitar el peso de los senderos diferenciales. Aplicamos esto en Keccak - f con anchos de 200, 400, 800
y 1600 bits para mostrar que no existe un rastro de peso menor que 92 en 6 rondas en cualquiera de es tas
instancias de Keccak - f. Si se usara una pista diferencial de 6 rondas como parte de un ataque de colisión, se
garantiza que la proporción de pares que cumplen es como máximo 2 -92.
Este trabajo mejora nuestros resultados de FSE 2012, extendiendo la cobertura de senderos diferenciales
tanto en los diferentes anchos de Keccak - f como en un peso más alto por ronda. En particular, Silvia pudo
escanear todos los senderos de 3 rondas hasta el peso 45. A 15 por ronda, y dado el crecimiento exponencial
del número de senderos por peso, esto es una mejora significativa con respecto a trabajos anteriores.
12/06/2017 junio
¿SHA-3 es lento?
Hardware y software
Hay un par de ambigüedades en esta declaración. Empecemos por el primero: ¿dónde sería “lento”?
Keccak, el ganador de la competencia SHA-3, es increíblemente rápido cuando se implementa en hardware
dedicado (ASIC) o programable (FPGA). Su rendimiento para un área de circuito dada es un orden de magnitud
mayor que SHA-2 o cualquiera de los finalistas de SHA-3. Y si le importa más allá de la velocidad normal, tenga
en cuenta que también consume mucha menos energía por bit. En este sentido, Keccak es una primitiva
criptográfica verde.
Keccak tiene otras ventajas de implementación, como protecciones eficientes contra ataques de canal lateral,
pero vayamos al grano: lo que parece estar en juego es la velocidad del software.
Seguridad y rendimiento de la mano
Por supuesto, las funciones criptográficas deben equilibrar cuidadosamente la velocidad y la seguridad.
Keccak hace uso de propiedades de diseño de sonido, como la propagación lineal y diferencial rápida o la
alineación deliberadamente débil, y claramente se mantiene alejado del enfoque ARX (adiciones modulares,
rotaciones y exclusivos o). Lo que entendemos de Keccak ahora nos hizo preguntarnos: ¿no son demasiado
24 rondas?
F I GU RA 10 V ELOCIDA D K ECCAK
26/09/2017 Septiembre
Keccak: criptografía de código abierto
Si SHA-2 no está roto, ¿por qué cambiar a SHA-3 y no quedarse con SHA-2? En esta publicación, destacamos
otro argumento de por qué Keccak / SHA-3 es una mejor opción que SHA-2, a saber, la apertura, en analogía
con el código abierto versus el código cerrado en el desarrollo e implementación de software.
El software tiene dos caras: su ejecutable y su código fuente. Los usuarios utilizan el primero como una caja
negra, mientras que el segundo es de interés para los desarrolladores que quieran ampliarlo, comprender su
funcionamiento interno o asegurarse de que no haya ningún código malicioso obvio. Como analogía, vemos
la especificación de la primitiva, modo o algoritmo criptográfico en un estándar criptográfico (propuesto)
como contraparte del ejecutable del software: permite que todos incluyan el objeto criptográfico, tal cual, en
su proyecto. La contraparte del código fuente en criptografía sería la justificación del diseño, el criptoanálisis
preliminar y la evidencia de un criptoanálisis extenso de terceros: estos son los elementos que brindan
información sobre el funcionamiento interno y, en última instancia, la confianza
Los resultados obtenidos al ejecutar las funciones SHA-3 con salidas 224, 256, 384 y 512, dejan ver que el
tiempo utilizado para ejecutar el proceso promedio entre uno y tres segundos, por lo que, a nivel
computacional, es posible ejecutar una función hash post-cuántica dentro de un embebido de recursos
limitados.
Los valores promedio obtenidos con los resultados dejan ver que sin importar la longitud de la salida obtenid a,
el dispositivo podrá tener en promedio, el mismo resultado
Los valores obtenidos en la prueba tres, dejaron ver que una función post-cuántica puede ser ejecutada de
manera exitosa dentro de los embebidos de bajos recursos computacionales, dado que al hacer la
comparación con las familias previas SHA-1 y SHA-2, se puede observar que los tiempos de ejecución de la
función SHA-3 no poseen un comportamiento tan distante de sus antecesoras, por lo que es posible utilizar e
implementar aplicaciones que utilicen algoritmos post-cuánticos en vez de sus antecesoras.
Función de ronda:
R = (ϊ) XOR (χ) XOR (Π) XOR (ρ) XOR (θ) Número de rondas: 12 + 2ℓ
Keccak-f [25] tiene 12 rondas
Keccak-f [ 1600] tiene 24 rondas
5. Eficiencia
Alto nivel de paralelismo
Flexibilidad: entrelazado de bits
Software: competitivo en una amplia gama de CPU
Hardware dedicado: muy competitivo
Adecuado para protección contra ataques de canal lateral
7. Eficiencia de Keccak
F I GU RA 12 E FICIENCIA DE K ECCA K
Se puede concluir que Keccak, JH y Grostl son las funciones Hash más adecuadas para ser implementadas en
hardware, debido a que presentan la mejor relación throughput/área.
Conclusiones
En este trabajo se concluye que Keccak, es una función de Hash más adecuadas para ser implementado en
hardware, se valida que Keccak cumple con las funciones de cifrado, reduciendo los tiempos que tenían sus
antecesores SHA1 y SHA2
Con más ronda que cuenta un algoritmo su margen de seguridad sigue siendo muy grande. Otros tipos de
distintivos en la permutación SHA-3 interna pueden apuntar a un número relativamente grande de rondas,
pero no tienen ninguna influencia en la seguridad del hash SHA-3 real de funciones.
Se tardarían demasiado tiempo en intentar romper un Algoritmo como SHA3 ya que las técnicas de
criptoanálisis actuales solo pueden romper hasta 5 de las 24 rondas completas, en este orden de ideas solo
lograrían romper un 21% del algoritmo.
Bibliografía
Bertoni G, Daemen J, Hoffert S, Peeters M, Van Assche G & Van Keer R(2015). FEDERAL INFORMATION
PROCESSING STANDARDS PUBLICATION SHA-3 Standard: Permutation-Based Hash and Extendable-Output
Functions. U.S. Department of Commerce
Pratheep Joe & Siluvai Rajeev Verma. Keccak. Tomado de:
https://www.slideshare.net/RajeevVerma14/keccakpptx
Bertoni G, Daemen J, Hoffert S, Peeters M, Van Assche G & Van Keer R (9 de marzo 2020). Team Keccak
Tomado de: https://keccak.team/2020/index.html