¿Qué es el hashing?

| Última modificación: 23 de mayo de 2024 | Tiempo de Lectura: 4 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Sabes qué es el hashing y para qué se utiliza en el mundo de la computación y la ciberseguridad? En informática, las funciones hash cumplen un rol importante en la protección de la integridad, la autenticidad y la confidencialidad del envío de datos.

Las comunicaciones, con el paso del tiempo, cada vez migran más y con mayor velocidad hacia el mundo digital del internet. Por eso, los algoritmos de funciones hash criptográficas deben ser confiables y los desarrolladores, investigadores y usuarios deben utilizarlo correctamente. En este post, te explicaremos qué es el hashing y cómo se usa de una forma criptográficamente segura.

¿Qué es el hashing?

En computación, el hashind es el área de conocimiento que se encarga de desarrollar algoritmos matemáticos para generar funciones de resumen o hash. Para entender qué es el hashing, comenzaremos hablando de qué es una función hash, cuáles son sus características, funciones y debilidades.

Una función de hash es un algoritmo matemático que permite convertir un conjunto de datos arbitrario en una cadena de datos de resumen, con un tamaño fijo significativamente menor al de los datos de origen. Con el tiempo se halló que cuanto mayor sea la longitud del código hash, más alto es el nivel de seguridad que ofrece y, de este modo, se evitan ciberataques conocidos como ataques de fuerza bruta y ataques de colisión.

Ahora, veremos cuáles son las principales propiedades de una función segura de hashing:

  1. Es un algoritmo determinista. Es decir, unos mismos datos de entrada siempre deben producir como resultado una misma salida.
  2. Usualmente, la creación del código hash se debe hacer de la manera más rápida posible. En algunos casos, se requiere una excepción a esta regla, pero, por lo general, es esencial que se cumpla.
  3. Debe ser imposible encontrar una colisión criptográfica. Es decir, no deben poderse hallar dos mensajes que produzcan como resultado el mismo hash. A pesar de ser una característica indispensable para la ciberseguridad, se han encontrado algoritmos de hash con este tipo de fallos.
  4. Un pequeño cambio en la información del mensaje, así sea de un solo bit, debe producir como resultado un código hash totalmente diferente al original. De hecho, los resultados ni siquiera deben ser similares entre sí.

De acuerdo con el sitio web de Ionos Digital Guide, las funciones hash (o funcionaes de hashing) se utilizan principalmente para:

  • Mantener una comunicación segura entre los navegadores web de los usuarios y los servidores web de un dominio de internet.
  • La protección de datos confidenciales.
  • El uso de firmas digitales.
  • La verificación de la autenticidad e integridad de un archivo, comparando que sea totalmente idéntico a otro. Debido a las propiedades de una función criptográfica de hash, debería ser imposible encontrar dos ficheros con el mismo hash, a excepción de que ocurra un fallo de colisión.

¿Qué es la colisión criptográfica?

Ahora sabes qué es el hashing y cuáles las principales características con las que debe cumplir para que se considere seguro su uso en el campo de la criptografía. A continuación, veremos el fallo de seguridad que podría amenazar a estos sistemas.

🔴 ¿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 semana

En criptografía, una colisión ocurre cuando dos cadenas de datos diferentes producen la misma función de resumen al aplicarles un algoritmo de hash. Esto no debería suceder por definición, pero aun así se han encontrado este tipo de fallos en sistemas criptográficos de funciones hash como el MD5 y las dos primeras versiones de la familia de algoritmos SHA (SHA-0 y SHA-1).

Este fallo criptográfico pueden aprovecharlo los hackers de sombrero negro para modificar los archivos originales de un usuario por virus informáticos que produzcan la misma función hash.

Por eso, en criptografía es necesario utilizar algoritmos a prueba de estos ataques, como, por ejemplo:

  • SHA-256, que genera funciones hash de un tamaño específico de 256 bits.
  • SHA-512, que genera funciones hash de un tamaño específico de 512 bits.

Estos dos algoritmos se pueden encontrar tanto en la familia SHA-2 como en la SHA-3 del Secure Hash Algorithm (SHA), que funcionan como estándares dentro de la industria de la computación actual, aunque no son los únicos. Aunque se considera que estos sistemas son resistentes a ataques de colisión, el avance de la tecnología hace cada vez más probable que algún día se encuentren este tipo de fallos en funciones hash como estas.

¿Qué es una suma de verificación o checksum?

Ya hemos visto qué es el hashing, cuáles son las propiedades de un código hash y cuál podría ser su principal vulnerabilidad. Ahora, hablaremos sobre el proceso de checksum, suma de chequeo o suma de verificación.

Una suma de verificación es un algoritmo matemático de redundancia que permite comparar los valores hash de una cadena de datos con el fin de detectar modificaciones accidentales o malintencionadas en la transmisión de la información. Es un proceso vulnerable a un ataque de colisión, pero si se utiliza un algoritmo de hashing seguro no debería haber nada que temer.

Aun así, es necesario comprender que la criptografía es una medida de seguridad que depende de otras, ya que de nada sirve que un código hash se genere de forma confiable si luego el fichero se almacena de manera insegura.

Ya sabes qué es el hashing y por qué es importante para el mundo de la criptografía y la seguridad informática. Si quieres seguir aprendiendo para convertirte en un experto en ciberseguridad, accede a nuestro Ciberseguridad Full Stack Bootcamp y especialízate en menos de 7 meses. ¡Inscríbete ahora!

Carlos Cilleruelo

CEO and co-founder of Byron Labs & Coordinador del Bootcamp en Ciberseguridad.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Ciberseguridad

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado