scrypt
scrypt es una función de derivación de claves (KDF) con alta exigencia de memoria diseñada por Colin Percival: resiste la fuerza bruta paralela en GPU/ASIC mediante grandes requisitos de memoria y se usa para el hash de contraseñas y la derivación de claves.
Propósito
Añade dureza de memoria sobre la dureza de CPU, elevando bruscamente el coste de los ataques con hardware especializado (ASIC).
Mecanismo
Se construye sobre PBKDF2 y ROMix (BlockMix accede aleatoriamente a un arreglo ya relleno en memoria). Parámetros: N (coste de memoria/tiempo), r (tamaño de bloque), p (paralelismo); asigna unos N×r×128 bytes de memoria. Ajustes habituales: N=2^15, r=8, p=1.
Casos de uso
- Minería de Litecoin
- Cifrado de copias de seguridad en Tarsnap
- Hash de contraseñas (alternativa a bcrypt)
- Derivación de claves en ETH 2.0
Ejemplos
- entrada
password, salt, N=2^15, r=8, p=1Output256-bit keyNeeds about 32 MB of memory
Errores comunes
- An N value too low loses the memory-hard property
- Tune per environment; N≥2^15 recommended for servers
Términos relacionados
PBKDF2
PBKDF2 (Password-Based Key Derivation Function 2) es el KDF estandarizado en PKCS#5 que deriva claves de contraseñas mediante HMAC iterado, muy usado para hash de contraseñas y derivación de claves. GLOSARIO
Key Derivation
La derivación de claves es el proceso de generar claves de cifrado a partir de contraseñas de baja entropía o claves maestras de alta entropía, usando KDFs (p. ej., PBKDF2, scrypt, Argon2) para elevar el coste de la fuerza bruta. GLOSARIO
Salt
Una sal es un valor aleatorio que se añade durante el hash de contraseñas para que contraseñas idénticas produzcan hashes distintos, anulando las tablas arcoíris y la detección de contraseñas repetidas. GLOSARIO
Herramientas relacionadas
Derivación de claves scrypt
Derive a key from a password using scrypt (memory-hard KDF). Gratis, privado y 100% del lado del cliente. HERRAMIENTA
Derivación de claves PBKDF2
Derive a key from a password using PBKDF2 (RFC 2898) with Web Crypto API. Gratis, privado y 100% del lado del cliente. HERRAMIENTA