DICCIONARIO DE INFORMÁTICA Y TECNOLOGÍA
  ¿Qué significa hash? - Información sobre hash

Definición de hash (función)

Leandro Alegsa (Contacto) 2018-06-13

Envíanos un mensaje


Enviar
Anuncios

Hash es una función que convierte un valor en otro. Aplicarle una función hash a datos es una práctica común en informática y se emplea para varios propósitos diferentes como criptografía, compresión, generación de suma de comprobación e indexación de datos.

Los valores devueltos por una función hash se denominan valores hash, datos hash, códigos hash, resúmenes o simplemente hash.

Las funciones hash a menudo se usan en combinación con una tabla hash, una estructura de datos común utilizada en el software de la computadora para una búsqueda rápida de datos.

Las funciones hash están relacionadas (a menudo confundidas) con las sumas de comprobación, dígitos de verificación, huellas dactilares, compresión con pérdida, funciones de aleatorización, códigos de corrección de errores y cifrados. Aunque los conceptos se superponen en cierta medida, cada uno tiene sus propios usos y requisitos, y están diseñados y optimizados de manera diferente.

La base de datos HashKeeper mantenida por el American National Drug Intelligence Center, por ejemplo, se describe más acertadamente como un catálogo de huellas dactilares de archivos que de valores hash.


Origen del término hash

El término proviene de la analogía con el significado original de la palabra hash en inglés: picar y mezclar.

H. P. Luhn, empleado de IBM, fue el primero en emplear el concepto en un memorándum fechado en enero de 1953. Se masificó su uso una década después.

Hash no tiene una traducción directa al español por lo que en todos los textos técnicos de informática se emplea "hash" y "hashing" directamente.


Hashing en criptografía

El hashing es una opción para la criptografía porque enmascara los datos originales con otro valor. Una función hash se puede usar para generar un valor que solo se puede decodificar buscando el valor de una tabla hash. La tabla puede ser una matriz, base de datos u otra estructura de datos.

Una buena función hash criptográfica no es invertible, lo que significa que no se le puede aplicar ingeniería inversa.

Una función hash criptográfica permite verificar fácilmente que algunos datos de entrada se asignan a un valor hash dado, pero si los datos de entrada son desconocidos, es deliberadamente difícil reconstruirlo (o cualquier otra alternativa equivalente) conociendo el valor hash almacenado. Esto se utiliza para asegurar la integridad de los datos transmitidos, y es el componente básico para los HMAC, que proporcionan autenticación de mensajes.

HMAC es un código de autentificación de mensajes en clave-hash: es una construcción específica para calcular un código de autentificación de mensaje (MAC) que implica una función hash criptográfica en combinación con una llave criptográfica secreta.

Como cualquier MAC, puede ser utilizado para verificar simultáneamente la integridad de los datos y la autentificación de un mensaje.


Las colisiones de las funciones hash

Como los valores hash son generalmente más pequeños que los originales, es posible que una función hash genere valores hash duplicados. Estos se conocen como "colisiones" y ocurren cuando se producen valores idénticos a partir de diferentes datos de origen.

Las colisiones se pueden resolver usando múltiples funciones hash o creando una tabla de desbordamiento cuando se encuentran valores hash duplicados. Las colisiones se pueden evitar mediante el uso de valores hash más grandes.

Una función hash que mapea o asigna números a enteros del 0 al 15. En este caso hay una colisión entre Juan y Patricia.

Una función hash que mapea o asigna números a enteros del 0 al 15. En este caso hay una colisión entre Juan y Patricia.


Hashing en compresión

Los diferentes tipos de compresión, como la compresión de imágenes con pérdida de calidad y la compresión de medios, pueden incorporar funciones hash para reducir el tamaño del archivo. Al mezclar los datos en valores más pequeños, los archivos multimedia se pueden comprimir en fragmentos más pequeños. Este tipo de hash unidireccional no se puede revertir, pero puede producir una aproximación de los datos originales que requieren menos espacio en disco.


Valores hash como sumas de verificación

Los valores hash también se usan para crear sumas de verificación, que permiten validar la integridad de archivos. Una suma de comprobación es un valor pequeño que se genera en función de los bits de un archivo o bloque de datos como una imagen de disco. Cuando la función de suma de comprobación se ejecuta en una copia del archivo (como un archivo descargado de Internet), debe producir el mismo valor hash que el archivo original. Si el archivo no produce la misma suma de comprobación, significa que algo se modificó algo en el archivo.


Hash para indexar datos

Los hashes se usan para indexar datos. Los valores hash se pueden usar para asignar datos a "segmentos" individuales dentro de una tabla hash. Cada segmento tiene una ID única que sirve como un puntero a los datos originales. Esto crea un índice que es significativamente más pequeño que los datos originales, lo que permite buscar y acceder a los valores de manera más eficiente.


Terminología relacionada

Criptografía





¿Mejoramos la definición?
Puntos: 0 (0 votos)






Respondemos tus consultas o comentarios a continuación:


¿Dudas? ¿necesita más información? Escriba y responderemos a tu email: clic aquí



 




  Diccionario de informática
  Búsqueda por letras:

A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z - 0,9
 
Búsqueda por categorías
:

Almacenamiento - Aplicaciones - Audio - Compresión - Desarrollo web - Discos ópticos - Inteligencia Artificial - Memorias - Microprocesadores - Seguridad informática - Sistemas de archivos - Terminología de programación - UNIX - Windows - ver categorías

 
Búsqueda por palabras:






Preguntas

No hay ningún comentario todavía

Todos los derechos reservados © 1998 - 2018 - ALEGSA - Santa Fe, Argentina.
Políticas del sitio web - Contacto - Publicidad