En informática , una lista hash es típicamente una lista de hashes de los bloques de datos en un archivo o conjunto de archivos. Las listas de hashes se utilizan para diversos fines, como la búsqueda rápida en tablas ( tablas hash ) y las bases de datos distribuidas ( tablas hash distribuidas ).

Una lista hash es una extensión del concepto de hash de un elemento (por ejemplo, un archivo). Una lista hash es un subárbol de un árbol Merkle .
Hash raíz
A menudo, se utiliza un hash adicional de la lista de hashes (un hash principal , también llamado hash raíz o hash maestro ). Antes de descargar un archivo en una red P2P , en la mayoría de los casos, el hash principal se obtiene de una fuente confiable, por ejemplo, un amigo o un sitio web conocido por ofrecer buenas recomendaciones de archivos para descargar. Cuando se dispone del hash principal, la lista de hashes puede recibirse de cualquier fuente no confiable, como cualquier otro nodo en la red P2P. A continuación, la lista de hashes recibida se compara con el hash principal confiable, y si la lista de hashes está dañada o es falsa, se probará con otra lista de hashes de otra fuente hasta que el programa encuentre una que coincida con el hash principal.
En algunos sistemas (por ejemplo, BitTorrent ), en lugar de un hash principal, la lista completa de hashes está disponible en un sitio web en un archivo pequeño. Este " archivo torrent " contiene una descripción, nombres de archivos, una lista de hashes y algunos datos adicionales.
Aplicaciones
Las listas hash se pueden usar para proteger cualquier tipo de datos almacenados, gestionados y transferidos entre ordenadores. Un uso importante de las listas hash es garantizar que los bloques de datos recibidos de otros nodos en una red peer-to-peer se reciban intactos y sin alteraciones, y comprobar que los demás nodos no "mientan" ni envían bloques falsos.
Generalmente, para el hash se utiliza una función hash criptográfica como SHA-256 . Si la lista hash solo necesita proteger contra daños involuntarios, se pueden usar sumas de verificación no seguras como CRC .
Las listas hash son mejores que un simple hash del archivo completo, ya que, en caso de que un bloque de datos esté dañado, se detecta y solo es necesario volver a descargar el bloque dañado. Con solo un hash del archivo, habría que volver a descargar muchos bloques intactos, reconstruir el archivo y probarlo hasta obtener el hash correcto del archivo completo. Las listas hash también protegen contra nodos que intentan sabotear enviando bloques falsos, ya que en tal caso el bloque dañado se puede obtener de otra fuente.
Las listas hash se utilizan para identificar CSAM en línea. [ 1 ]
Protocolos que utilizan listas hash
Véase también
- Árbol hash
- Tabla hash
- Cadena hash
- Ed2k: esquema URI , que utiliza un hash MD4 superior de una lista de hashes MD4 para identificar de forma única un archivo.
- Función hash criptográfica
- Lista
Referencias
- Detección y corrección de errores
- funciones hash criptográficas
- Hashing