Ir al contenido principal

Hash

 


Introducción
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).a
Desarrollo
¿Qué es 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.
Características de hash
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.
¿Para que sirve?
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).
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 webs que proporcionan descargas de archivos grandes, por ejemplos software, dando junto a su vez el resumen del archivo y la función usada.
Firmar un documento no es algo novedoso, pero la firma digital si lo es un poco más y nos ayuda a verificar la identidad del emisor de un mensaje (así nos podemos asegurar que nuestro jefe nos manda un archivo concreto y no es el vecino que nos gasta una broma).
El método más simple de firma digital consiste en crear un hash de la información enviada y cifrarlo con nuestra cave privada (de nuestro par de claves de la criptografía asimétrica) para que cualquiera con nuestra clave pública pueda ver el hash real y verificar que el contenido del archivo es el que hemos mandado nosotros.
Conclusión
La función criptográfica 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. 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.
Referencias bibliográficas:
1. Quintero, G. (julio 27, 2015). ¿Qué Es Un Hash Y Cómo Funciona?. noviembre 29, 2017, de Kaspersky web: https://latam.kaspersky.com/blog/que-es-un-hash-y-como-funciona/2806/

Comentarios

Entradas más populares de este blog

Conclusiones: Soporte de Software, Mantenimiento de Software y Soporte Técnico

  Conclusiones El software es parte indispensable de nuestra vida cotidiana, ya que lo utilizamos en todas partes y es indispensable para todos. Empresas y Organizaciones suelen utilizar software para poder automatizar y mejorar la producción. En la actualidad es habitual que el software de soporte avanzado permita a los técnicos la motorización continua de todos los dispositivos de la organización, la verificación remota del correcto funcionamiento, la obtención de parámetros de funcionamiento que permiten adelantarse a posibles errores así como la posibilidad de tomar el control remoto de ordenadores y servidores sin la necesidad de desplazarse para solucionar el problema. Otro aspecto a tomar en cuenta es el servicio de mantenimiento de software, que es el proceso de mejorar y optimizar el software desplegado, así como también remediar los defectos. Y por ultimo el soporte técnico es un rango de servicios por medio del cual se proporciona asistencia a los usuarios al tener ...

RMI

  Introducción RMI ("Remote Method Invocation") es un mecanismo para invocar/ejecutar procedimientos remotos en computadoras o servidores distribuidos. La gran mayoría de los sistemas empresariales hoy en día requieren de esta funcionalidad , esto se debe tanto a distancias geográficas como a requerimientos de computo, ya que seria iluso pensar que las necesidades de computo de TODA una empresa fueran satisfechas por una sola computadora y/o servidor. A continuacion hablaremos mas a detalle sobre lo que ofrece RMI. . Desarrollo ¿Qué es RMI? RMI ("Remote Method Invocation") es el mecanismo ofrecido en Java que permite a un procedimiento poder ser invocado remotamente. Una de las ventajas al diseñar un procedimiento con RMI es interoperabilidad , ya que RMI forma parte de todo JDK , por ende, cualquier plataforma que tenga acceso a un JDK también tendrá acceso a estos procedimientos. RMI se caracteriza por la facilidad de su uso en la programación por estar...

Seguridad: Kerberos

Seguridad web y aplicaciones Introducción La seguridad e integridad de sistemas dentro de una red puede ser complicada. Puede ocupar el tiempo de varios administradores de sistemas sólo para mantener la pista de cuáles servicios se estan ejecutando en una red y la manera en que estos servicios son usados. Más aún, la autenticación de los usuarios a los servicios de red puede mostrarse peligrosa cuando el método utilizado por el protocolo es inseguro, como se evidencia por la transferencia de contraseñas sin encriptar sobre la red bajo los protocolos FTP y Telnet. Kerberos es una forma eliminar la necesidad deaquellos protocolos que permiten métodos de autenticación inseguros, y de esta forma mejorar la seguridad general de la red. . Desarrollo ¿Qué es Kerberos? El servicio Kerberos es una arquitectura cliente-servidor que proporciona seguridad a las transacciones en las redes. El servicio ofrece una sólida autenticación de usuario y también integridad y privacidad. La auten...