Crypto Academy / Season 3 / Week 2 - Homework Post for @pelon53 || Hash y Criptografía
¡Comencemos!
- Explique ¿Qué significa la resistencia a la colisión? Y ¿Qué significa resistencia a la preimagen?
- Resistencia a la Colisión:
Una Colisión significa aquel encuentro o enfrentamiento entre dos objetos. En el mundo criptográfico, esta sucede cuando dos entradas o Input (información recibida) que son diferentes entre sí, producen un mismo resumen de la información o código Hash (Output).
Esto presenta una problemática según la función de un Hash, dado que este debería ser único e irrepetible según el tipo de información suministrada, estas características es lo que le confiere un nivel de seguridad muy valorado. Sería como si dos llaves diferentes pudieran abrir una misma puerta o dos personas tuvieran la misma cedula de identidad.
Es por ello que una Función Hash debe tener una alta resistencia a la colisión y esto depende en gran medida de las probabilidades, mientras existan bajas posibilidades o sea casi improbable, que dos de estas entradas colisionen, entonces es menos probable que la función Hash falle, haciéndola más segura contra ataques informáticos o hackers.
Las probabilidades de este algoritmo matemático, se relacionan con una paradoja llamada: Ataque de Cumpleaños, donde entre 23 personas se maneja la duda de: ¿Cuál sería la probabilidad de que dos de estas cumplieran años el mismo día? La probabilidad de que esta colisión/cumpleaños ocurriera aumentaría según el número de personas presentes. Por lo que, tomando en cuenta el tamaño o número del código se podrá conocer cuáles son las probabilidades de que ocurra una colisión.
Afortunadamente el nivel de tecnología actual, también reduce las posibilidades de que ocurran este tipo de sucesos.
- Resistencia a la Pre-Imagen
Puede suceder, aunque no tan frecuentemente, que ocurran ataques de Pre-Imagen contra las funciones Hash, es decir, poder identificar la entrada o input utilizando un Hash de salida u output en específico. Este incluso es un ataque informático más serio, debido a que no solo compromete la seguridad, sino que revierte por completo la información original codifica en un Hash.
Por ello, las funciones Hash deben estar respaldadas con un resistencia a la pre-imagen, la cual impide que cualquier atacante pueda descubrir y rastrear mediante un Hash de salida las entradas que las producen. Algo sumamente importante, debido a que los datos originales podrían ser expuestos con tan solo conocer un mensaje o hash de salida.
De esta manera, las resistencias a pre-imagen se respaldan el principio de función de unilateridad a la que están asociadas las funciones hash, donde calcular un código resulta fácil, pero revertirlo es imposible.
Vemos que ambas resistencias son defensas contra ataques que intentan obtener datos que queremos proteger, ya sea localizando dos entradas de un mismo valor hash o descifrando un los datos principales de una entrada mediante un hash de salida. Gracias a este tipo de resistencias estos sucesos ocurren con menos probabilidad.
- 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.
Comenzare esta demostración utilizando la plataforma de TRONSCAN. Por lo que el primer paso es ingresar al siguiente link: Plataforma TronScan
En ella podremos visualizar (del lado izquierdo en la parte inferior) un recuadro que tiene por título: “BLOQUES” (Azul).
Inmediatamente al top de la lista, podremos ver el último bloque, el cual varía en cada momento, según las transacciones que se realizan en la plataforma. Probablemente si ingreses ahora, veras un bloque con datos diferente al que se muestra en la imagen. Aun así el proceso para conocer los detalles es el mismo.
En mi caso, el último bloque es: 31794658. A simple vista nos ofrece pocos detalles, por lo que seleccionaremos este bloque para ver más información.
La imagen que tendremos será parecida a esta, en donde podremos identificar la información básica de este bloque:
- Numero de Bloque
- Tiempo
- El usuario que produje ese bloque
- Tamaño del bloque
- Estado
Y por supuesto podremos verificar el Hash del bloque: 0000000001e525e203ae71ab300f6bfb43ad84f0da66c14f832c10fe4560ee2a
Si lo que necesitamos es verificar el Hash de una transacción, lo que debemos hacer es volver a la página principal y ubicar el recuadro llamado “TRANSACCIÓN” (Azul) que está justo a un lado del primero que observamos. Por lo que en una vista previa, podemos ver el Hash de la última operación.
Si lo seleccionamos podremos ver detalles más específicos, como por ejemplo a que bloque se encuentra relacionado, el tiempo de creación, entre otras.
Al igual que podremos verificar el Hash: afedc13a12f547ffd89b4729860c0e5cbf04b934e22bae8ab3a1fc98a26f851c
Si utilizamos la plataforma de ETHERSCAN, el primer paso que debemos realizar es dirigirnos a la siguiente dirección: Plataforma EstherScan.
En su página principal podremos observar (similar al anterior plataforma) 2 recuadros con títulos de “Latest Blocks/Ultimos Bloques” y “Latest Transactions/Ultimas Transacciónes”.
En este caso y momento en el que fue consultada la plataforma, el último bloque se mostraba así: Block #12795029
Al seleccionar este último bloque, podremos ver una información más detallada. Por lo que si bajamos un poco, podremos verificar el Hash de este mismo bloque, el cual es:
0xc15b374dcb3ee1d4d4a92d943dc732dc7e717ce918fa8ef0c728fb8f98d46218
Ahora, nos dirigimos nuevamente a la página principal, pero esta vez seleccionaremos el recuadro de últimas transacciones.
En este caso, observamos que el Hash de la última transacción es el siguiente:
0xf7fabaccf720a27b8f1010011194942bf7b5ecf000f9eccfda9063c717f358af
Tal cual se muestra verificado en la imagen.
- 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.
Para realizar este paso, debemos dirigirnos al siguiente Link: SHA-256
Nos aparecerá un cuadro de texto, en donde debemos ingresa la palabra: CryptoAcademy, con el fin de obtener un el Hash único de esta palabra.
Hash de CryptoAcademy:
D03CA34B258E6E0FD06B2070DDE61B50BD4EEF6161A8EDAA4A420C9AE1BEB7F9
Intentemos con una pequeña modificación en la palabra. Haremos el mismo proceso, pero con la palabra: cryptoacademy
Comprobaremos que el Hash obtenido NO es el mismo que obtuvimos con la palabra anterior.
Hash de cryptoacademy:
0592F5DD27DC72E675B2AB9C77487A69FAAF84196597FA052EC099C18EE7C4C5
El hecho de que los dos Hash que obtuvimos sean diferentes, se debe a que la información de entrada que suministramos en el cuadro de texto, no es la misma. Si, es la misma palabra, pero una en minúscula y otra en mayúscula. Con este ejercicio podremos comprobar por nosotros mismos que cada Hash es diferente según los detalles que contengan los datos de entrada.
Si estos son diferentes, aunque sea en un mínimo aspecto, el valor de Hash no podrá ser el mismo de ninguna manera. Por esta razón, las plataformas de blockchain, Wallets o incluso antivirus utilizan este algoritmo matemático para proteger sus datos principales.
- En sus propias palabras explique la diferencia entre el Hash y la Criptografía.
- Diferencias
La principal diferencia entre ambos, es que la Criptografía es el estudio que utiliza un lenguaje de códigos con la finalidad de garantizar una protección a ciertos datos y/o documentos. En cambio el Hash es un algoritmo matemático, un proceso que implica el uso de funciones hash para atribuirle una especie de identidad alfa-numérica a un información original.
Por otra parte, tenemos que el hash, al ser un algoritmo matemático, se encuentra formado por una secuencia de números y letras que dan como resultado un código que no solo es único, sino que mantiene un tamaño en específico para cualquier entrada que se realice. El que utilizamos anteriormente, a pesar de ser diferentes, tiene una cantidad exacta de 64 números y letras. En cambio la criptografía utiliza un cifrado, que es negado a personas no autorizadas para resguardar datos de cualquier longitud.
Podemos notar que ambos, a pesar de tener características que brindan seguridad y resguardo de datos a diferentes plataformas, tienen sus particularidades en cuanto la aplicación en el área informática. Sin embargo, ambas trabajan en conjunto para proteger información que no nos beneficie que quede expuesta a terceros.
Si hay algo que podemos notar, es que el mundo de las Blockchain se conforma de pequeñas partes que al final crean un todo. Elementos como Hash y Criptografía conforman todas estas plataformas que solemos frecuentar, y el hecho de conocer cada una de sus partes nos hace comprender mucho más su funcionamiento.
Ambos elementos han hecho y siguen haciendo posible, que nuestra información permanezca a salvo de otras personas. Y a pesar de que el concepto de codificar mensaje existe desde hace muchísimos años, el avance de la tecnología ha permitido que en el mundo digital también podamos proteger nuestra información.
Agradezco al profesor @pelon53, por brindarnos esta clase en la que podemos conocer una pequeña parte que permite entender de donde salen todos esos números y letras que suelen proteger nuestras criptomonedas, datos y documentos relevantes. ¡Hasta una próxima clase!
Las capturas de pantalla fueron tomadas por mi, desde Pc y Teléfono SA01
Gracias por participar en Steemit Crypto Academy Season 3:
Espero seguir leyendo tus publicaciones.
Recomendaciones:
Calificación: 8.2
Gracias por visitar mi tarea @pelon53 y por sus observaciones, las tendré en cuanta para una próxima tarea ✅