Sponge Construction
La construcción esponja es el marco subyacente de Keccak/SHA-3: el estado se divide en una tasa r y una capacidad c, absorbiendo y exprimiendo para manejar entrada y salida de longitud arbitraria.
Propósito
Trata de forma uniforme hashing, cifradores de flujo, generación pseudoaleatoria y más; resiste ataques de extensión de longitud y soporta longitud de salida variable.
Mecanismo
Estado de b=r+c bits. Absorción: cada bloque se XORa con la parte de tasa y luego se aplica la permutación f. Exprimir: el digest se lee de la parte de tasa; si se necesita más, se aplica f de nuevo y se lee. La capacidad c aporta la seguridad.
Casos de uso
- Base de SHA-3/Keccak
- Digests de longitud variable
- Hashing resistente a la extensión de longitud