jueves, 16 de marzo de 2017

6. Comparar datos con un hash

Es importante saber si los datos fueron dañados o manipulados. Para comprobar si los datos fueron cambiados o si permanecen igual, puede usarse un programa de hash. Un programa de hash realiza una función hash en datos o en un archivo, lo cual devuelve un valor. Hay varias funciones hash distintas, algunas muy simples y otras muy complejas. Cuando se ejecuta el mismo hash en los mismos datos, el valor devuelto es siempre el mismo. Si se implementa algún cambio en los datos, el valor hash devuelto será diferente.


Creación de un archivo de texto

Se usará un programa para comprar la integridad de los datos. Con el Bloc de notas se creará un archivo de texto, por ejemplo:

Instalar HashCalc

En el navegador web dirigirse al enlace de SlavaSoft.


Hacer clic en Download en la fila de HashCalc 2.02.
Luego descomprimir el archivo hashcalc.zip y ejecutar setup.exe. Seguir el asistente de instalación.
Una vez terminada la instalación ejecutar el programa HashCalc.


Calcular un hash del archivo de texto

En el programa HashCalc colocar los siguientes parámetros:
  • Data Format; Archivo.
  • En Data cargar el archivo de texto creado anteriormente comparar hash.txt.
  • Quitar la selección de HMAC.
  • Quitar la selección de todos los tipos de hash, excepto MD5.

Finalmente hacer clic en Calcular y observar el valor del hash MD5 calculado.


MD5: 9f76fede296290b06dcc76295ec06e6a

Calcular un hash del archivo de texto modificado

Abrir el archivo de texto creado y realizar un pequeño cambio, por ejemplo: borrar una letra, o agregar una letra o signo, luego guardar. En este ejemplo se borró el punto final:


Realizar el mismo procedimiento para calcular el hash de este nuevo archivo, hacer clic en Calcular y observar el valor del hash MD5 calculado.


MD5: c8931016d4b98869e04f437d0f2b6ec7

Con esto se verifica que el valor hash generado es diferente que el valor calculado inicialmente. El hash es un valor único, no existen dos entradas que produzcan el mismo hash de salida, comprobándose que ha existido una modificación del archivo de texto.

Referencia

Introduction to Cybersecurity - Cisco Academy
https://blog.kaspersky.com.mx

3 comentarios:

  1. > El hash es un valor único, no existen dos entradas que produzcan el mismo hash de salida

    Eso es falso, y es un error de concepto grave. Hay solo 2^128 valores de hash posibles (en el caso de MD5), mientras que la cantidad de entradas es practicamente ilimitada. Hay coincidencias, inevitablemente.
    Lo que tiene una buena funcion de hash es que esas coincidencias no pueden encontrarse de una manera eficiente.

    ResponderBorrar
    Respuestas
    1. hernan, tienes la razon al decir que es limitada la cantidad de hash, si no me equivoco el hash es un codigo hexadecimal, lo que impliga que para cada posicion del string hay 16 formas distintas, lo que da lugar a 16^32 distintos hash, que equivale a 2^128

      Borrar
  2. que puedo decir la matemática es exacta y la lógica es la lógica, Contundente
    es buena la critica Hernán y también valiente...
    Efraín Ugarte Profe de Matemática

    ResponderBorrar