Crypto Academy / Season 3 / Week 2 - Hash y Criptografía- Homework Post for [@pelon53]

in hive-108451 •  4 years ago 

HASH Y CRIPTOGRAFIA


cryptography-1091254_1280.jpg
Imagen de tumbledore en Pixabay


Saludos a todos en la comunidad, nueva semana nuevos aprendizajes, esta clase fue un poco difícil de digerir, la verdad es un tema algo pesado, mucho lenguaje técnico pero de mucha importancia, usar bitcoin sin saber criptografía o al menos su fundamentos es como manejar un auto sin tener licencia, lo puedes hacer bien pero te pueden atrapar.

Gracias profesor @pelon53 por impartir esta clase, la verdad nunca me había preocupado por estos temas.

TAREA:

Explique ¿Qué significa la resistencia a la colisión? Y ¿Qué significa resistencia a la preimagen?

Una colisión se produce cuando dos entradas distintas nos dan como resultado la misma salida, cuando hay dos mensajes distintos que tienen el mismo hash, la probabilidad de que se den esas colisiones va depender del tamaño del hash, mientras mas grande sea el hash, las probabilidades de colisión van a ser mas pequeñas.

La resistencia simple a colisiones pretende evitar que un potencial atacante que disponga de un mensaje M y por tanto su correspondiente hash h(M), puede encontrar otro mensaje M´ (siendo M´distinto de M) cuyo hash h(M´) sea el mismo que el anterior, lo que permitiria al atacante poder reemplazar un mensaje M por otro M`anterior.

colision.jpg
fuente

Ejemplo de colisión, “x” e “y” son distintos y sin embargo cuando les aplicamos la función hash producen la misma salida (la comprobación de la firma son iguales).

La probabilidad de una colisión usando el algoritmo SHA256 son extremadamente bajas mas no imposibles, son muy bajas por la cantidad bits que utiliza.

La resistencia a preimagen, ocurre cuando tenemos un valor resumen H = h(m) debe ser computacionalmente imposible encontrar una pre imagen M para ese valor H, es decir, será computacionalmente difícil que conocido H, se encuentre un mensaje M tal que h (M)=H (principio de unidireccionalidad) puedo convertir una vaca en una hamburguesa pero no puedo convertir la hamburguesa en una vaca, ese es el ejemplo mas claro que encontré.

Esta resistencia a preimagen va depender de la longitud del resumen, y mediante técnicas de fuerza bruta se podria obtener una preimagen de un hash después de 2 elevado a la (n-1) intentos.

Fortaleza para SHA1= 7,307 x 10 elevado a 47 intentos
Fortaleza para SHA256(usado para bitcoin) = 5,789 x 10 elevado a 76 intentos

Es decir que si alguien mal intencionado quisiera atacar y romper algoritmo le llevaría algo así como 30 mil millones de años con la tecnología actual, estamos hablando de un numero increíblemente alto, en ello radica su seguridad y ya están trabajando el próximo algoritmo el SHA-3 que será aun mas difícil de romper.

La resistencia a preimagen es importante para proteger datos porque un simple hash de un mensaje puede demostrar su autenticidad, sin la necesidad de divulgar la información, en la práctica, muchos proveedores de servicios y aplicaciones web almacenan y utilizan hashes generados a partir de contraseñas en lugar de contraseñas en texto plano, en lugar de guardar nuestras contraseñas los sitios web guardan un hash, y lo comparan con el hash cuando ingresamos la contraseña, si el hash es el mismo podemos acceder, si no, no podremos ingresar.

Use tronscan y etherscan para verificar el hash del último bloque y el hash de esa transacción. Se requiere capture de pantalla para su comprobación.


hash1.png


hash2.png


El hash de esta transacción 0x8f7027120326e2e32fb2d ed4f95557040817a32c9713b7ae0f7fbb8a3b370b50 corresponde al mismo bloque, es decir, este fue el minero que valido la transacción y recibió una recompensa.

Ahora vamos al explorador de bloques de TRON.


tron1.png


Observemos el numero de bloque generado el 31715426 el cual genero 16 trx de recompensa


tron2.png


Detalle de transacción correspondiente al mismo bloque, el hash corresponde al bloque 31715426

Genere el hash usando SHA-256, de la palabra CryptoAcademy y de cryptoacademy. Se requiere capture de pantalla. ¿Observa alguna diferencia entre ambas palabras? Explique.

Generamos un hash usando el algoritmo SHA-256 a continuación podemos observar que el resultado es decir el hash de ambas palabras son totalmente diferentes.


cry1.png


cry2.png


cryptoacademy hash = 0592F5DD27DC72E675B2AB9 C77487A69FAAF84196597FA052EC099C18EE7C4C5

CryptoAcademy hash = D03CA34B258E6E0FD06B207 0DDE61B50BD4EEF6161A8EDAA4A420C9AE1BEB7F9

No se parecen en lo absoluto esto es debido a que la primera palabra esta escrita todo en letras minúsculas, mientras quela segunda palabra, la primera letra esta escrita en mayúscula, esta pequeña diferencia termino en esta gran diferencia, esto es porque el algoritmo convierte la función a un mensaje (hash) totalmente aleatorio, y una minúscula diferencia genera un hash totalmente diferente debido a este proceso de aleatoriedad, no importa que sea una letra diferente, siempre nos va dar un hash totalmente aleatorio.

En sus propias palabras explique la diferencia entre el hash y la criptografía:

En primer lugar el hash es unidireccional (no se puede revertir), es una función como vimos, de longitud fija y generan una cadena de caracteres única, en cambio la criptografía es bidireccional (se puede descifrar), por ejemplo encriptar un texto significa aplicarle un algoritmo que, en relación a una cierta variable (clave de encriptación), lo transforma en otro texto incomprensible e indescifrable por parte de quien no posee la clave, pero la función es reversible, si posees la llave puedes descifrar el mensaje, es común confundir hash y criptografía porque ciertamente están relacionadas, criptografía es la disciplina y el hash es una herramienta de criptografía.

image.png

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  
Gracias por participar en Steemit Crypto Academy Season 3: Espero seguir leyendo tus publicaciones.
NoPreguntas.Puntaje.
1Explique ¿Qué significa la resistencia a la colisión? Y ¿Qué significa resistencia a la preimagen?2.0
2Use tronscan y etherscan para verificar el hash del último bloque y el hash de esa transacción. Se requiere capture de pantalla para su comprobación.1.5
3Genere el hash usando SHA-256, de la palabra CryptoAcademy y de cryptoacademy. Se requiere capture de pantalla. ¿Observa alguna diferencia entre ambas palabras? Explique.3.0
4En sus propias palabras explique la diferencia entre el hash y la criptografía.1.5

puedo convertir una vaca en una hamburguesa pero no puedo convertir la hamburguesa en una vaca, ese es el ejemplo mas claro que encontré.

👆 Buen ejemplo, la carne de hamburguesa.

Pregunta 2: Faltó explicar un poco el proceso completo de encontrar los hash.

Pregunta 3: Muy bien explicada.

Pregunta 4: Muy bien explicada. Pero para mejorar la presentación se puede hacer tipo tabla o separadas ambas.

Buen trabajo, continua mejorando, sigue adelante.

Recomendaciones:

Es importante que coloques tus propias conclusiones de tu investigación. En algunas preguntas profundizar un poco más, como el caso de la pregunta 2.

Calificación: 8.0