Función Hash
Los hash o funciones de resumen son algoritmos que consiguen crear a
partir de una entrada (ya sea un texto, una contraseña o un archivo, por
ejemplo) una salida alfanumérica de longitud normalmente fija que representa un
resumen de toda la información que se le ha dado (es decir, a partir de los
datos de la entrada crea una cadena que solo puede volverse a crear con esos
mismos datos).
Estas funciones no tienen el mismo propósito que la criptografía
simétrica y asimétrica, tiene varios cometidos, entre ellos está asegurar que
no se ha modificado un archivo en una transmisión, hacer ilegible una
contraseña o firmar digitalmente un documento.
Características de los hash
En definitiva las funciones hash se encargan de representar de forma
compacta un archivo o conjunto de datos que normalmente es de mayor tamaño que
el hash independientemente del propósito de su uso.
Este sistema de criptografía usa algoritmos que aseguran que con la
respuesta (o hash) nunca se podrá saber cuales han sido los datos insertados,
lo que indica que es una función unidireccional. Sabiendo que se puede generar
cualquier resumen a partir de cualquier dato nos podemos preguntar si se
podrían repetir estos resúmenes (hash) y la respuesta es que teóricamente si,
podría haber colisiones, ya que no es fácil tener una función hash perfecta
(que consiga que no se repita la respuesta), pero esto no supone un problema,
ya que si se consiguieran (con un buen algoritmo) dos hash iguales los
contenidos serían totalmente distintos.
Ejemplos y formas de uso
Las funciones hash son muy usadas, una de las utilidades que tiene es
proteger la confidencialidad de una contraseña, ya que podría estar en texto
plano y ser accesible por cualquiera y aún así no poder ser capaces de
deducirla. En este caso, para saber si una contraseña que está guardada, por
ejemplo, en una base de datos es igual a la que hemos introducido no se
descifra el hash (ya que debería de ser imposible hacerlo) sino que se aplicará
la misma función de resumen a la contraseña que especificamos y se comparará el
resultado con el que tenemos guardado (como se hace con las contraseñas de los
sistemas Linux).
Asegurar la integridad de la información
Otro uso que tiene esta función es la de garantizar la integridad de los
datos y es algo que habréis visto muchas veces, por ejemplo en algunas web que
proporcionan descargas de archivos grandes, por ejemplos software, dando junto
a su vez el resumen del archivo y la función usada.
Por poner un ejemplo en la página de descarga de Virtual Box podemos
encontrar esta página con todos los resúmenes de las descargas disponibles con
los que podemos comprobar que el archivo se ha descargado correctamente y que
nadie ha modificado su contenido durante la transmisión.
Para poner en práctica este uso cogeré esta imagen de HTML5 y le
aplicaré una función de resumen con el algoritmo MD5.
En conclusión una función Hash es un algoritmo matemático que transforma
cualquier bloque arbitrario de datos en una nueva serie de caracteres con una
longitud fija. Independientemente de la longitud de los datos de entrada, el
valor hash de salida tendrá siempre la misma longitud. Se pueden crear hash
para contraseñas y archivos multimedia, utilizan las funciones criptográficas
hash para detectar malware. Por otra parte, las funciones criptográficas hash
se utilizan también para asegurar la “integridad de los mensajes”. En pocas
palabras, para estar seguros de que
algunas comunicaciones o archivos no fueron alterados de alguna forma, se
pueden examinar los hash creados antes y después de la transmisión de los
datos. Si los dos hash son idénticos, significa que no ha habido ninguna
alteración.
Bibliografía
Facultad de Ingeniería,
UNAM. (Abril de 2016). Esquemas de Seguridad Informatica. Obtenido de
Laboratorio de Redes y Seguriad:
http://redyseguridad.fi-p.unam.mx/proyectos/seguridad/Amenazas.php
Leon, C. (16 de mayo de 2015). Slideshare.
Obtenido de Slideshare: https://es.slideshare.net/jeanleonpsm/mecanismos-de-seguridad-informtica
UNAM. (20 de 10 de
2017). Facultad de Ingeniería. Obtenido de
http://redyseguridad.fi-p.unam.mx/proyectos/criptografia/criptografia/index.php/2-tecnicas-clasicas-de-cifrado/23-numero-de-claves/233-sistemas-de-dos-claves-cifradores-asimetricos
Wordpress,Seguridad
Informática. (21 de 10 de 2017). Seguridad Informática. Obtenido de
https://seguinfo.wordpress.com/2007/09/14/%C2%BFque-es-rsa/
Comentarios
Publicar un comentario