Un algoritmo hash criptográfico produce una cadena de salida de longitud fija (a menudo, llamada resumen) a partir de una cadena de entrada de longitud variable. La entrada sirve como texto sin formato y el hash de salida es el cifrado. Para todos los efectos prácticos, las siguientes afirmaciones describen una buena función hash:
- Resistente a colisiones: si se modifica alguna parte de los datos, se genera un hash diferente, lo que garantiza la integridad de los datos.
- Unidireccional: la función es irreversible.Es decir, dado un resumen, no es posible encontrar los datos que lo producen, lo que garantiza la seguridad de los datos.
Por estas razones, los algoritmos hash son criptosistemas efectivos porque el algoritmo hash cifra los datos directamente sin necesidad de claves diferentes. En esencia, el texto sin formato es su propia clave.
Considere la vulnerabilidad de seguridad de una base de datos de contraseñas de cuentas bancarias almacenadas. Cualquier persona con acceso autorizado o no autorizado a los sistemas informáticos del banco podría leer todas las contraseñas.
Para mantener la seguridad de los datos, los bancos y otras empresas cifran información confidencial, como contraseñas, en un valor hash y almacenan solo ese valor cifrado en su base de datos. Si no se conoce la contraseña del usuario, el valor hash no se puede destruir.