EFECTO AVALANCHA Y FIRMAS DIGITALES
🌊 EL EFECTO AVALANCHA
Un buen hash criptográfico (SHA-256, calculado aquí mismo en tu navegador) hace que cambiar un solo carácter altere, en promedio, la mitad de los bits de salida — sin ningún patrón reconocible.
🚫 Contraejemplo: una suma de verificación simple (NO es un hash criptográfico)
Esto suma el valor de cada carácter del Mensaje A, sin más. Compáralo con la suma de ese mismo mensaje puesto del revés:
✍️ FIRMA DIGITAL Y DETECCIÓN DE MANIPULACIÓN
Genera un par de claves reales (ECDSA P-256, con la Web Crypto API del propio navegador — sin librerías externas), firma un documento, y comprueba qué pasa en cuanto cambia un solo carácter.
📖 CHULETA RÁPIDA
Propiedades de un buen hash
Determinista (misma entrada, mismo hash siempre), longitud fija da igual la entrada, resistencia a preimagen (no se puede volver del hash al original), resistencia a colisiones (casi imposible encontrar dos entradas con el mismo hash).
Hash ≠ cifrado
Un hash no se "descifra": es de un solo sentido por diseño. Si alguien dice que "descifró" un hash, en realidad probó millones de entradas hasta encontrar una que produjera el mismo hash (eso es justo lo que hace un cracker de contraseñas — ver GHOSTCRACK).
SHA-1 ya no es de fiar
SHA-1 tiene el mismo efecto avalancha que SHA-256, pero en 2017 Google y el CWI demostraron una colisión real (el ataque "SHAttered"): dos PDF distintos con el mismo hash SHA-1. Sigue "funcionando", pero ya no protege contra un atacante decidido.
¿Por qué aquí SHA-256 "vale" y en GHOSTCRACK no?
Depende de qué proteges. Para huellas de integridad y firmas quieres un hash rápido — no hay nada que adivinar por fuerza bruta. Para contraseñas quieres uno lento (bcrypt/Argon2) porque ahí el atacante SÍ prueba millones de combinaciones por segundo.
Qué prueba una firma digital
Que el documento no ha cambiado desde que se firmó (integridad) y que lo firmó quien tiene esa clave privada (autenticidad) — nunca has visto tu clave privada en esta página, porque no hace falta exportarla para firmar.
El límite de la firma: la clave pública correcta
Una firma solo es tan de fiar como la clave pública contra la que la compruebas. Si un atacante te cuela SU clave pública haciéndose pasar por la persona correcta, sus firmas falsas pasarán la verificación — ese es el problema que resuelven los certificados y las autoridades de certificación (TLS/HTTPS).