Generador de Hash SHA3-256 desde Texto Online
Calcula resúmenes criptográficos SHA3-256 (256 bits / 64 caracteres hexadecimales) bajo el estándar oficial NIST FIPS 202. Basado en la construcción esponja Keccak-f[1600] con sufijo de separación de dominio 0x06, tasa r = 1088 bits y capacidad c = 512 bits. Soporta codificación UTF-8, salidas Hexadecimal, Base64, Binario y HMAC-SHA3-256.
¿Qué es SHA3-256 y por qué Revolucionó la Seguridad de los Estándares Federales?
SHA3-256 es la variante de 256 bits del estándar federal estadounidense de procesamiento de información FIPS 202, publicado oficialmente por el Instituto Nacional de Estándares y Tecnología (NIST) en agosto de 2015. SHA-3 nació a raíz de una histórica competición criptográfica internacional convocada en 2007, tras la caída y colisión práctica de MD5 y la detección de severas grietas teóricas en SHA-1 por parte del equipo de la investigadora china Xiaoyun Wang.
El algoritmo ganador de la competición —seleccionado unánimemente entre más de 64 candidatos de todo el mundo— fue Keccak, obra del equipo de investigadores europeos integrado por Guido Bertoni, Joan Daemen (también coautor de AES junto a Vincent Rijmen), Michaël Peeters y Gilles Van Assche. La victoria de Keccak radicó en su ruptura absoluta con el pasado: mientras que todas las normas anteriores del NIST (SHA-0, SHA-1, SHA-224, SHA-256, SHA-384 y SHA-512) pertenecían a la misma familia arquitectónica Merkle–Damgård, SHA-3 introdujo un paradigma matemático enteramente nuevo: la construcción esponja criptográfica.
La Construcción Esponja: Fase de Absorción y Fase de Exprimido
A diferencia de las funciones hash tradicionales basadas en compresión iterativa de bloques de tamaño fijo, la construcción esponja opera sobre un estado global amplio de $b = 1600$ bits divididos conceptualmente en dos componentes:
El ciclo de vida de la esponja se divide en dos fases bien diferenciadas:
- Fase de Absorción (Absorbing Phase): El mensaje de entrada $M$ se fragmenta en bloques uniformes de $r = 1088$ bits. Cada bloque se aplica mediante una operación XOR directamente sobre los primeros $r$ bits del estado interno. A continuación, el estado completo de 1600 bits se somete a la permutación iterativa no lineal Keccak-$f[1600]$ (compuesta por 24 rondas de mezcla profunda). Este proceso se repite hasta que todos los bloques del mensaje han sido completamente "absorbidos".
- Fase de Exprimido (Squeezing Phase): Una vez absorbido todo el mensaje, los primeros $r$ bits del estado se extraen ("exprimen") como flujo de salida. Para SHA3-256, se extraen exactamente los primeros 256 bits (32 bytes) del estado de una sola vez, obteniendo el resumen criptográfico final.
La capacidad $c = 512$ bits permanece siempre oculta y nunca interactúa directamente con la entrada ni con la salida, lo que confiere a SHA3-256 una barrera de seguridad matemática formal de $c/2 = 256$ bits contra cualquier intento de colisión o ataque de extensión de longitud sin requerir truncamientos artificiales.
Distinción Crítica: ¿En qué se Diferencia SHA3-256 de Keccak-256?
Existe una extendida confusión en el sector tecnológico entre SHA3-256 y Keccak-256, originada por el calendario de adopción de la red Ethereum. Cuando Vitalik Buterin y el equipo fundador de Ethereum diseñaron los contratos inteligentes de Solidity en 2014, implementaron la versión ganadora original de Keccak según la especificación preliminar de la competición del NIST.
Sin embargo, al redactar la norma oficial definitiva FIPS 202 en 2015, el NIST añadió un mecanismo de separación de dominios que añade dos bits de sufijo (01) a todos los mensajes antes del relleno multirate $10^*1$. En representación en bytes little-endian, esto modifica el primer byte de relleno:
| Parámetro Criptográfico | SHA3-256 (NIST FIPS 202 Oficial) | Keccak-256 (Estándar Ethereum / EVM) |
|---|---|---|
| Sufijo de Dominio | Bits 01 (Byte de relleno: 0x06) | Bits vacíos (Byte de relleno: 0x01) |
| Tasa ($r$) / Capacidad ($c$) | $r = 1088$ bits, $c = 512$ bits | $r = 1088$ bits, $c = 512$ bits |
Hash de Cadena Vacía "" | a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a | c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 |
| Ámbito de Uso Principal | Normativas federales, firmas FIPS, TLS, certificados gubernamentales | Smart Contracts Solidity, Ethereum EVM, selectores de funciones, Web3 |
Si estás trabajando con desarrollo de contratos inteligentes en Ethereum, debes utilizar nuestro Generador Keccak256 específico para EVM.
Las 5 Transformaciones de la Permutación Keccak-f[1600]
El núcleo de SHA3-256 somete al estado tridimensional de 25 palabras de 64 bits ($5 \times 5 \times 64$) a 24 rondas idénticas compuestas por cinco operaciones geométricas modulares:
- $\theta$ (Theta): Difusión de paridad lineal en columnas. Calcula la paridad de cada columna de 5 bits e inyecta el resultado mediante XOR en dos columnas adyacentes.
- $\rho$ (Rho): Dispersión por rotación de bits. Rota los 64 bits de cada una de las 25 palabras por una cantidad fija calculada triangularmente según su posición en la cuadrícula.
- $\pi$ (Pi): Transposición espacial. Permuta la posición física de las palabras en el plano $x-y$ según la transformación afín $(x, y) \mapsto (y, 2x + 3y \pmod 5)$.
- $\chi$ (Chi): Capa no lineal elemental. Es la única operación no lineal de Keccak, combinando cada bit con el complemento lógico de su vecino mediante puertas AND y XOR: $a_{x} \leftarrow a_{x} \oplus ((\neg a_{x+1}) \wedge a_{x+2})$.
- $\iota$ (Iota): Ruptura de simetrías de ronda. Suma una constante pseudoaleatoria de ronda generada por un registro lineal de desplazamiento (LFSR) sobre la palabra de origen $a_{0,0}$ para prevenir ataques de punto fijo.
Vectores de Prueba Oficiales NIST FIPS 202 para SHA3-256
Verifica el rigor de cualquier cálculo comparándolo con los vectores oficiales de calibración del NIST:
| Texto de Entrada | Hash Oficial SHA3-256 (64 caracteres hexadecimales) |
|---|---|
"" (cadena vacía) | a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a |
"abc" | 3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532 |
"The quick brown fox jumps over the lazy dog" | 69070dda01975c8c120c3aada1b282394e7f032fa9cf32f4cb2259a08971104c |
Para explorar otros estándares criptográficos de nuestra suite, consulta el Generador Whirlpool, el Generador BLAKE2b y el Convertidor de Texto a Cifra Base32.
Preguntas Frecuentes sobre el Generador de Hash SHA3-256 (FAQ)
¿SHA3-256 sustituye por completo a SHA-256?
No necesariamente. El NIST no diseñó SHA-3 para reemplazar a SHA-2 porque SHA-2 no ha sido vulnerado y continúa siendo seguro y ampliamente utilizado en estándares como Bitcoin, TLS 1.3 y DNSSEC. El propósito del NIST fue establecer un estándar formal complementario con una arquitectura completamente distinta (esponja Keccak frente a Merkle–Damgård) para garantizar que la infraestructura mundial disponga de una alternativa madura si en el futuro se descubriera una vulnerabilidad matemática imprevista en SHA-2.
¿Qué longitud de clave utiliza el modo HMAC-SHA3-256?
En el modo HMAC-SHA3-256, se recomienda una clave secreta de al menos 32 bytes (256 bits) para igualar la resistencia del digest. Debido a que el tamaño de bloque de absorción de SHA3-256 es de $r = 136$ bytes (1088 bits), cualquier clave de hasta 136 bytes se utiliza de forma directa con los rellenos ipad y opad sin necesidad de hashing previo, ofreciendo una autenticación de mensajes extraordinariamente robusta.
¿Es seguro procesar datos sensibles o contraseñas en esta herramienta?
Sí, con absoluta certeza. Toda la computación de SHA3-256 y HMAC se realiza de manera 100% autónoma en el navegador web mediante TypedArrays y BigInt sin enviar jamás peticiones de red ni telemetría a servidores. La herramienta funciona incluso sin conexión a internet una vez cargada la página.