0Pricing
Cryptology Academy · Lección

PBKDF2 y elección del algoritmo adecuado

Compare PBKDF2 con bcrypt y Argon2, y seleccione la mejor opción para su aplicación.

PBKDF2 y elección del algoritmo adecuado es una lección gratuita de Cryptology Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cryptology Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cryptology Academy incluye 4 lecciones en total.

Bienvenida

En esta última lección para principiantes estudiaremos PBKDF2, lo compararemos con bcrypt y Argon2, y crearemos un marco de decisión para seleccionar el algoritmo adecuado para calcular hashes de contraseñas.

Descripción general de PBKDF2

PBKDF2 (Password-Based Key Derivation Function 2) se publicó en el RFC 2898 (2000). Aplica iterativamente una función pseudoaleatoria (normalmente HMAC-SHA256) a la contraseña y el salt.

Fórmula de PBKDF2

PBKDF2(PRF, password, salt, iterations, keylen) Ejemplo: key = PBKDF2-HMAC-SHA256(password, salt, 600000, 32) OWASP recomienda 600.000 iteraciones con SHA-256 desde 2023.

PBKDF2 en Python

import hashlib, os salt = os.urandom(16) key = hashlib.pbkdf2_hmac( 'sha256', password.encode(), salt, 600000, dklen=32 ) # Or using cryptography library: from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC

Ventajas de PBKDF2

Cumple con FIPS 140-2/3. Está integrado en las bibliotecas estándar de Python, Java y .NET. Se utiliza ampliamente en entornos empresariales y gubernamentales. Es sencillo de implementar correctamente.

Desventajas de PBKDF2

No es intensivo en memoria. Es adecuado para GPU: permite calcular miles de millones de iteraciones de SHA-256 por segundo. Con 600.000 iteraciones, una GPU todavía alcanza aproximadamente 1 millón de contraseñas por segundo. bcrypt y, especialmente, Argon2 son mucho más difíciles de atacar por fuerza bruta.

Tabla comparativa de algoritmos

Algoritmo | Intensivo en memoria | FIPS | Velocidad (GPU) | Recomendación bcrypt | No | No | 50K/s | Aceptable PBKDF2 | No | Sí | 1M/s | Entornos regulados Argon2id | Sí | No | 100/s | Mejor opción

Marco de decisión

Utilice Argon2id: para aplicaciones nuevas sin restricciones de cumplimiento normativo. Utilice bcrypt: cuando Argon2 no esté disponible o en sistemas heredados. Utilice PBKDF2-SHA256: cuando se requiera el cumplimiento de FIPS o de normativas gubernamentales. Nunca utilice: MD5, SHA-1, SHA-256 sin iteraciones ni ningún algoritmo sin salt.

Notas sobre cumplimiento normativo

PCI-DSS: no especifica un algoritmo, pero exige un hashing «fuerte». bcrypt y Argon2 cumplen este requisito. NIST SP 800-132: aprueba PBKDF2. Algunos sistemas FedRAMP estrictos exigen PBKDF2 con una PRF aprobada por FIPS.

Evolución del número de iteraciones

Iteraciones de PBKDF2-SHA256 recomendadas por OWASP: 2010: 1000, 2016: 100000, 2023: 600000. El hardware se vuelve más rápido: revise y aumente este valor cada 2 años. Coste de bcrypt: 2010: 10, 2023: 12, objetivo para 2025: 13.

Flujo seguro de restablecimiento de contraseña

1. Genere un token criptográficamente aleatorio: secrets.token_urlsafe(32) 2. Calcule su hash con SHA-256 (no con bcrypt; solo se utilizará para almacenarlo) 3. Almacene el hash y envíe el token por correo electrónico 4. Al restablecer la contraseña: calcule el hash del token enviado, compárelo y haga que caduque inmediatamente después de usarlo

Comprobación rápida

¿En qué entorno se prefiere PBKDF2 a Argon2id a pesar de ser más débil frente a los ataques de GPU?

Resumen

¡Ha completado el itinerario de Criptología para principiantes! Ahora comprende los hashes, el cifrado simétrico y asimétrico, las firmas, la PKI y el hashing de contraseñas. A continuación: temas de nivel intermedio: modos de cifrado por bloques, cifrados de flujo e intercambio de claves.

Preguntas frecuentes

¿La lección «PBKDF2 y elección del algoritmo adecuado» es gratis?

Sí — el texto completo de «PBKDF2 y elección del algoritmo adecuado» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cryptology Academy, actualiza a CoddyKit PRO. El curso de Cryptology Academy incluye 4 lecciones en total.

¿Qué aprenderé en «PBKDF2 y elección del algoritmo adecuado»?

Compare PBKDF2 con bcrypt y Argon2, y seleccione la mejor opción para su aplicación. Practicas Cryptology Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Cryptology Academy?

No se requiere experiencia previa. Cryptology Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «PBKDF2 y elección del algoritmo adecuado»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Cryptology Academy?

Sí. Cada lección de Cryptology Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Por qué SHA-256 sin más no sirve para las contraseñas
  2. bcrypt: algoritmo y factor de coste
  3. Argon2: hash de contraseñas con uso intensivo de memoria
  4. PBKDF2 y elección del algoritmo adecuado
← Volver a Cryptology Academy