¿Sabes qué es una colisión en criptografía? Existen diferentes tipos de funciones hash o funciones resumen que sirven para representar de manera abreviada una cadena de datos y, de esta forma, verificar su autenticidad, confidencialidad e integridad. Sin embargo, no todos los algoritmos de hash son seguros. En este post, hablaremos sobre una de las vulnerabilidades que hacen que un código hash no se deba utilizar para transmitir información de forma secreta. A continuación, te explicaremos qué es una colisión en criptografía.
¿Qué es una colisión en criptografía?
Para entender qué es una colisión en criptografía, es necesario conocer las tres propiedades de las funciones hash criptográficas seguras:
- Hiding o capacidad de ocultar. Es decir, que sea totalmente imposible encontrar la fuente original de la función hash a partir del código.
- Puzzle friendliness, que es una propiedad similar al hiding. Garantiza que no se pueda romper un hash por medio de ataques de fuerza bruta.
- Ser resistente a un ataque de colisión de hash.
Para saber qué es una colisión en criptografía es importante conocer que ocurre cuando se encuentran dos entradas de datos diferentes que generan el mismo resumen al ser procesados por una función hash criptográfica. En teoría, cada conjunto de datos debería generar un hash diferente y la modificación de un solo bit de información debería producir un resultado totalmente distinto al original. De hecho, ni siquiera debería ser parecido.
A pesar de que un algoritmo criptográfico de función de hash debería ser resistente a colisiones, los investigadores han encontrado sistemas con falencias que, por eso, han dejado de considerarse seguros. El más conocido de ellos es el algoritmo MD5, que crea funciones de hash muy fáciles de romper. Se desaconseja su uso en el área de la criptografía si se desea mantener en secreto el origen del código.
Las colisiones MD5 pueden utilizarse para hacer ciberataques, ya que un hacker malicioso podría intercambiar un fichero por otro y así introducir un virus informático en el ordenador del receptor del mensaje. Al usar un hash MD5, se pierden todas las garantías sobre la confidencialidad, autenticidad e integridad de los datos enviados. Tanto así que es fácil encontrar sitios web en Google que permiten descifrar estos códigos.
Utilizar funciones hash seguras es necesario en el mundo de la computación y, por eso, se han creado alternativas más seguras que permiten crear códigos hash más extensos (de hasta 256 bits y 512 bits de información). Algunos de ellos son:
- SHA-256.
- SHA-512.
Estas dos versiones de SHA (Secure Hash Algorithm) están incluidas en las versiones SHA-2 y SHA-3 de la familia de algoritmos. No obstante, las versiones anteriores (SHA-0 y SHA-1) eran susceptibles a ataques de colisión.
🔴 ¿Quieres entrar de lleno a la Ciberseguridad? 🔴
Descubre el Ciberseguridad Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp en Ciberseguridad por una semanaYa sabes qué es una colisión en criptografía y por qué se debe evitar; aun así, todavía queda mucho más por aprender si lo que buscas es convertirte en un experto en el mundo de la ciberseguridad. Para ayudarte en tu proceso de formación con una metodología que combina teoría y práctica y la guía de profesionales experimentados en este sector, te ofrecemos nuestro Ciberseguridad Full Stack Bootcamp. ¡No dudes en inscribirte ahora mismo y especialízate en menos de 7 meses!