Lab Hash

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

Ejercicio Práctico de Laboratorio

Antes de comenzar, necesitamos tener presente la terminología.

Texto sin formato: datos antes del cifrado o hashing, a menudo texto, pero no siempre, ya que podría
ser una fotografía u otro archivo.

Codificación - Esta NO es una forma de cifrado, solo una forma de representación de datos como
base64 o hexadecimal. Inmediatamente reversible.

Hash - Un hash es la salida de una función hash. El hashing también se puede usar como un verbo,
"hash", que significa producir el valor hash de algunos datos.

Fuerza bruta: atacar la criptografía probando cada contraseña diferente o cada clave diferente.

Criptoanálisis: atacar la criptografía al encontrar una debilidad en las matemáticas subyacentes.

Estas actividades probablemente implicarán algo de investigación. Debe usar los motores de búsqueda,
es crucial para desarrollar la actividad.

Pasos a seguir Parte 1

¿Es base64 cifrado o codificación?

Base64 es un algoritmo de codificación

¿Qué es una función hash?

Las funciones hash son bastante diferentes del cifrado. No hay una clave, y está destinado a ser imposible
(o muy, muy difícil) pasar de la salida a la entrada.

Una función hash toma algunos datos de entrada de cualquier tamaño y crea un resumen o "resumen" de
esos datos. La salida es de un tamaño fijo. Es difícil predecir cuál será la salida para cualquier entrada y
viceversa. Los buenos algoritmos de hash serán (relativamente) rápidos de calcular y lentos para revertir
(ir desde la salida y determinar la entrada). Cualquier pequeño cambio en los datos de entrada (incluso un
solo bit) debería causar un gran cambio en la salida. La salida de una función hash es normalmente bytes
sin procesar, que luego se codifican. Las codificaciones comunes para esto son base 64 o hexadecimal.
Decodificarlos no te dará nada útil.

¿Por qué debería importarme?

El hashing se utiliza muy a menudo en la ciberseguridad. Cuando inicio sesión en moodle, eso usó hash
para verificar tu contraseña. Cuando iniciaba sesión en su computadora, eso también usaba hash para

Prof. Fabian Valero Duque


verificar su contraseña. Interactúa indirectamente con el hashing más de lo que piensa, principalmente en
el contexto de las contraseñas.

¿Qué es una colisión de hash?

Una colisión hash es cuando 2 entradas diferentes dan la misma salida. Las funciones hash están diseñadas
para evitar esto lo mejor que puedan. Las colisiones no son evitables. El efecto de encasillamiento es
básicamente, hay un número establecido de valores de salida diferentes para la función hash, pero puede
darle cualquier tamaño de entrada. Como hay más entradas que salidas, algunas de las entradas deben dar
la misma salida. Si tienes 128 palomas y 96 casilleros, algunas de las palomas van a tener que compartir.

MD5 y SHA1 han sido atacados y se han vuelto técnicamente inseguros debido a las colisiones de hash
de ingeniería. Sin embargo, ningún ataque ha dado una colisión en ambos algoritmos al mismo tiempo,
por lo que si usa el hash MD5 Y el hash SHA1 para comparar, verá que son diferentes. El ejemplo de
colisión MD5 está disponible en https://www.mscs.dal.ca/~selinger/md5collision/ y los detalles de la
colisión SHA1 están disponibles en https://shattered.io/. Debido a esto, no debe confiar en ninguno de los
algoritmos para hash de contraseñas o datos.

¿Cuál es el tamaño de salida en bytes de la función hash MD5?


El tamaño de salida de la función hash MD5 es de 16 bytes

¿Puedes evitar las colisiones de hash? (sí/no)

PARCIALMENTE

Si tiene una salida hash de 8 bits, ¿cuántos hashes posibles hay?

Si tiene una salida hash de 8 bits, hay 1 hashes posibles

Pasos a seguir Parte 2

Aquí es donde entra el hashing. ¿Qué pasa si, en lugar de almacenar la contraseña, solo almacena el hash
de la contraseña? Esto significa que nunca tendrá que almacenar la contraseña del usuario, y si su base de
datos se filtró, un atacante tendría que descifrar cada contraseña para averiguar cuál era la contraseña. Eso
suena bastante útil.

Una tabla arco iris es una tabla de búsqueda de hashes a textos sin formato, por lo que puede averiguar
rápidamente qué contraseña tenía un usuario solo por el hash. Una tabla arco iris intercambia el tiempo
necesario para descifrar un hash por espacio en el disco duro, pero tardan en crearse.

Aquí hay un ejemplo rápido para que pueda tratar de entender cómo son.

Prof. Fabian Valero Duque


Descifra el hash "d0199f51d2728db6011945145a1b607a" usando la tabla arco iris manualmente.

basketball

Descifre el hash " 5f4dcc3b5aa765d61d8327deb882cf99" usando herramientas en línea

password

Criterios de seguimiento

El ejercicio que está a punto de realizar determinará su capacidad de investigación y de análisis de


información. Para ello deberá interiorizar:

• ¿Cuáles pueden ser dos casos de uso para esta utilidad de cifrado simétrico?
• ¿Qué podemos hacer como especialistas para protegernos de estos ataques?

¡Animo!

Prof. Fabian Valero Duque

You might also like