Criptografía aplicada

Cifrados, hashes, claves, intercambio y firmas, construidos y rotos a mano.

13 aulas · 7 horas de práctica · en el navegador, sin instalar nada

Temario

  1. César y sustitución — Desplazar el alfabeto es el cifrado más viejo que existe, y por eso es el mejor lugar para aprender a romper uno: por fuerza bruta y por frecuencia de letras.
  2. XOR y el one-time pad — El único cifrado del que se puede demostrar matemáticamente que es irrompible, y la única regla que si se rompe lo tira todo abajo: usar la clave una sola vez.
  3. Bloques y modos: ECB contra CBC — Un cifrado de bloque de juguete para ver por qué ECB deja ver patrones —el famoso pingüino— y cómo encadenar los bloques con CBC los hace desaparecer.
  4. Taller — Romper el César — Un mensaje cifrado con César y una clave desconocida: lo rompés por fuerza bruta, lo confirmás por frecuencia de letras, y armás un informe que solo confía en la clave cuando los dos métodos coinciden.
  5. Hashes en serio — Dos propiedades más allá del efecto avalancha, varios algoritmos con hashlib, y la paradoja del cumpleaños: por qué una colisión aparece muchísimo antes de lo que parece.
  6. HMAC — Un hash solo no prueba quién lo mandó: HMAC combina un hash con una clave secreta de la forma correcta, y compararlo a mano abre una puerta que nadie nota.
  7. Aleatoriedad — El módulo `random` es determinista a propósito —y por eso nunca sirve para una clave, un token o una contraseña. Para eso existe `secrets`.
  8. Aritmética modular y Diffie-Hellman — Dos personas acuerdan un secreto compartido gritando números en público, sin que nadie que escuche pueda reconstruirlo — mientras el módulo sea lo bastante grande.
  9. Taller — El intercambio de claves — Ana y Bruno acuerdan un secreto por Diffie-Hellman, lo usan para cifrar un mensaje con XOR, y Eve —que escuchó todo el canal— lo rompe porque el módulo elegido es demasiado chico.
  10. RSA de juguete — Multiplicar dos primos es instantáneo; factorizar el resultado, si son lo bastante grandes, no. Toda la seguridad de RSA vive en esa diferencia.
  11. Firmas digitales y certificados — RSA al revés: firmar con la clave privada y verificar con la pública. Y el problema que las firmas solas no resuelven — saber de quién es esa clave pública.
  12. Contraseñas y derivación de claves — Un hash rápido es exactamente lo que NO se quiere para una contraseña: cuanto más cuesta calcularlo, más caro sale para quien intenta adivinar millones.
  13. Taller — Las firmas — Un par de claves RSA, documentos firmados, un detector que encuentra cuál fue alterado, y una mini autoridad certificante que rechaza tanto un certificado tocado como uno directamente trucho.

Es parte de