¿Qué es SHA-3? Guía del Último Estándar Hash

16 Jun 2026 641 words

¿Qué es SHA-3?

SHA-3 (Secure Hash Algorithm 3) es el miembro más reciente de la familia Secure Hash Algorithm, publicado por NIST en 2015. A diferencia de SHA-2, que se basa en la construcción Merkle-Damgård, SHA-3 utiliza un diseño fundamentalmente diferente llamado construcción esponja. Esta diferencia hace que SHA-3 sea resistente a ciertas clases de ataques que amenazan a SHA-2.

El algoritmo originalmente llamado Keccak (pronunciado "ketchak") ganó la competencia de funciones hash de NIST en 2012 después de un proceso de evaluación pública de cinco años. NIST estandarizó cuatro longitudes de hash: SHA3-224, SHA3-256, SHA3-384 y SHA3-512, más dos funciones de salida extensible (XOF): SHAKE128 y SHAKE256.

Cómo Funciona SHA-3

SHA-3 utiliza la construcción esponja, que consta de dos fases: absorción y exprimido. En la fase de absorción, los datos de entrada se alimentan al estado interno en bloques. En la fase de exprimido, se extrae la salida hash.

El estado interno de SHA-3 es un arreglo 3D de 5×5 carriles, cada uno conteniendo 64 bits, para un tamaño total de estado de 1600 bits. La función de permutación, llamada Keccak-f, se aplica iterativamente durante ambas fases para mezclar el estado.

Este diseño le da a SHA-3 varias ventajas:

  • No es vulnerable a ataques de extensión de longitud que afectan a SHA-2
  • La construcción esponja proporciona una prueba de seguridad
  • Funciona bien en implementaciones de hardware
  • Las variantes XOF producen salida de longitud arbitraria

SHA-3 vs SHA-2

Característica SHA-2 SHA-3
Construcción Merkle-Damgård Esponja (Keccak)
Publicado 2001 2015
Tamaños de salida 224, 256, 384, 512 224, 256, 384, 512 + XOF
Extensión de longitud Vulnerable Resistente
Velocidad en software Más rápido Más lento
Velocidad en hardware Moderada Excelente
Resistencia a canal lateral Buena Mejor

Cuándo Usar SHA-3

SHA-3 no está destinado a reemplazar SHA-2 inmediatamente. SHA-2 sigue siendo seguro, y ningún ataque práctico reduce su seguridad por debajo de niveles aceptables. SHA-3 existe como respaldo en caso de que SHA-2 sea eventualmente roto.

Usa SHA-3 cuando:

  • Necesites resistencia a ataques de extensión de longitud
  • Tu aplicación se ejecute en hardware con aceleración SHA-3
  • Quieras diversificar las dependencias criptográficas lejos de SHA-2
  • Necesites una función hash con un diseño fundamentalmente diferente (defensa en profundidad)
  • Necesites salida de longitud variable de SHAKE128 o SHAKE256

Ejemplos de Código

// PHP
echo hash('sha3-256', 'hello');
echo hash('sha3-512', 'hello');
import hashlib

print(hashlib.sha3_256(b'hello').hexdigest())
print(hashlib.sha3_512(b'hello').hexdigest())

# SHAKE (extendable output)
print(hashlib.shake_128(b'hello').hexdigest(16))  # 16 bytes output
print(hashlib.shake_256(b'hello').hexdigest(32))  # 32 bytes output
// Node.js
const crypto = require('crypto');
console.log(crypto.createHash('sha3-256').update('hello').digest('hex'));
console.log(crypto.createHash('sha3-512').update('hello').digest('hex'));

SHAKE128 y SHAKE256

SHAKE (Secure Hash Algorithm KEccak) es una función de salida extensible (XOF). A diferencia de las funciones hash de longitud fija, las XOF producen salida de cualquier longitud deseada. SHAKE128 proporciona seguridad de 128 bits con longitud de salida arbitraria, mientras que SHAKE256 proporciona seguridad de 256 bits.

Las XOF son útiles para:

  • Generar claves criptográficas de longitud arbitraria a partir de una semilla
  • Crear valores de enmascaramiento en esquemas de cifrado
  • Construir cifrados de flujo y generadores de números aleatorios

Herramienta en Línea

El Generador de Hash SHA-3 en Help2Code calcula hashes SHA3-224, SHA3-256, SHA3-384 y SHA3-512 al instante. Compara la salida con hashes SHA-2 usando el Generador de Hash Múltiple.

Conclusión

SHA-3 es una función hash moderna y bien diseñada con un margen de seguridad conservador. Si bien SHA-2 sigue siendo el estándar para la mayoría de las aplicaciones, SHA-3 es una excelente opción cuando necesitas una función hash de respaldo para defensa en profundidad, o cuando necesitas las capacidades únicas de las funciones de salida extensible SHAKE.


About this article

Aprende qué es SHA-3, cómo difiere de SHA-2 y cuándo deberías usar el último estándar hash NIST en tus aplicaciones.


Related Articles


Related Tools

Help2Code Logo
Menu