Funciones hash
Las funciones hash son funciones informáticas que se utilizan para convertir una entrada del usuario de manera que tenga las siguientes características
- Calcular el hash de cualquier entrada del usuario es extremadamente fácil.
- La ingeniería inversa del hash, es decir, recuperar la entrada original del usuario del valor hash es extremadamente difícil desde el punto de vista informático
- Debería ser extremadamente improbable que dos entradas de usuario diferentes terminen teniendo el mismo hash.
Ahora hay muchos formatos hash estándar como CRC32, MD2, SHA-1, etc.
- ¿Qué medidas se toman para encontrar a los hackers de ransomware?
- Cómo instalar AVG AntiVirus a través del número de soporte técnico de AVG
- ¿Cómo puede un software antivirus ayudarlo a disfrutar de la seguridad?
- Cómo evitar que mi sistema ransomware
- ¿Cuál es el mejor instituto para aprender a hackear en India?
Veamos algunos ejemplos.
Si mi contraseña es- lumpenplorenteriat
Tendrá diferentes valores hash para diferentes estándares, como
MD2
4b6dfec5def4141634d094912836b249
SHA-1
b7793b41c0cfd4c67ba4d7e1496cd1bfe5bf9615
y así.
Ahora estas largas y tediosas cadenas son las que realmente se guardan en los servidores. Entonces, si eres un hacker y terminas en los servidores de Google, encontrarás una cadena similar.
Ahora vea que estas cadenas son muy largas. Además, en realidad no tiene el algoritmo exacto para rastrear la entrada exacta del usuario, por lo que es extremadamente difícil de descifrar computacionalmente.
Entonces, cuando ingrese su contraseña, supongamos que Facebook, en realidad primero encuentra su hash y luego lo compara con su base de datos. De esa manera, incluso si alguien puede piratear su red, solo debería poder ver su valor hash, no su contraseña real, está seguro 🙂
Ahora viene la parte divertida.
¿Qué sucede si dos entradas de usuario completamente diferentes resultan exactamente en el mismo hash?
Bueno, entonces tienes suerte! Obtiene acceso completo a la cuenta de esa otra persona desafortunada.
Tomemos un ejemplo.
Tenemos dos personas con nombres aburridos, A y B. Nunca se han conocido en toda su vida. Lo que no saben es que son las únicas 2 personas en esta Tierra que pueden recordar cadenas alfanuméricas largas y largas con relativa facilidad. Por eso tienen contraseñas largas y tediosas.
UNA-
4dc968ff0ee35c209572d4777b721587d36fa7b21bdc56b74a3dc0783e7b9518afbfa200a8284bf36e8e4b55b35f427593d849676da0d1555d8360fb5f07fea2
SI-
4dc968ff0ee35c209572d4777b721587d36fa7b21bdc56b74a3dc0783e7b9518afbfa202a8284bf36e8e4b55b35f427593d849676da0d1d55d8360fb5f07fea2
Sí, esas son sus contraseñas.
(Puede pensar que ambos son exactamente iguales, no lo son. Hay una ligera diferencia en alguna parte. Esa es la tarea para usted)
Y por un giro completo del destino, A de alguna manera ingresa el nombre de usuario de B pero ingresa su propia contraseña. ¿Y ahora qué?
A obtiene acceso a la cuenta de B, incluso cuando ingresó la contraseña incorrecta. ¿Cómo preguntas?
Porque ambos tienen el mismo hash
008ee33a9d58b51cfeb425b0959121c9
Este es un ejemplo “simple” de colisión MD5, una especie de colisión hash en el estándar MD5 donde dos entradas de usuario producen el mismo hash.
Entonces, si tienes toda la suerte del mundo que te favorece o tal vez todo el tiempo en una eternidad, puedes terminar en la cuenta de otra persona usando tu propia contraseña.
PD: la salida es de 128 bits, lo que hace que el número total de valores posibles sea 2 ^ 128, y solo uno de ellos es el hash de su propia contraseña. Buena suerte con eso.
Traté de simplificarlo tanto como pude. Y tal vez en mi camino hacia la simplificación, terminé complicando demasiado. Déjame saber.
¿Hay dos cadenas conocidas que tengan el mismo valor hash MD5?
KB