Introducción
¡Bienvenidos al mundo de la criptografía! En este laboratorio, obtendrá experiencia práctica con uno de los conceptos más fundamentales de la seguridad moderna: el hash criptográfico. Específicamente, trabajaremos con el algoritmo SHA-256.
Una función de hash criptográfico es un algoritmo matemático que toma una entrada (o 'mensaje') de cualquier tamaño y devuelve una cadena de bytes de tamaño fijo. Esta salida es típicamente un 'resumen' o 'hash'. SHA-256, por ejemplo, siempre produce un hash de 256 bits (32 bytes).
Estas funciones tienen varias propiedades importantes:
- Determinista: La misma entrada siempre producirá la misma salida.
- Unidireccional (One-way): Es computacionalmente inviable revertir la función y encontrar la entrada original a partir de su hash.
- Efecto Avalancha (Avalanche Effect): Un pequeño cambio en la entrada (como cambiar un solo carácter) producirá un hash de salida drásticamente diferente.
A lo largo de este laboratorio, utilizará la herramienta de línea de comandos openssl y un script simple de Python para explorar estas propiedades y comprender cómo se utiliza el hashing en escenarios del mundo real, como la verificación de la integridad de archivos y la protección de contraseñas.



