Хэш-список
В информатике хэш -список обычно представляет собой блоков данных список хэшей в файле или наборе файлов. Списки хэшей используются для множества различных целей, таких как быстрый поиск в таблицах ( хеш-таблицы ) и в распределенных базах данных ( распределенные хеш-таблицы ).

Хэш-список — это расширение концепции хеширования элемента (например, файла). Хэш-список — это поддерево дерева Меркла .
Корневой хэш
[ редактировать ]дополнительный хеш самого хеш-списка ( верхний хэш , также называемый корневым хешем или главным хэшем Часто используется ). Перед загрузкой файла в сети p2p в большинстве случаев верхний хэш получается из надежного источника, например, от друга или веб-сайта, который, как известно, имеет хорошие рекомендации по файлам для загрузки. Когда доступен верхний хэш, список хэшей можно получить из любого недоверенного источника, например, из любого узла в сети p2p. Затем полученный список хэшей сверяется с доверенным верхним хешем, и если список хэшей поврежден или поддельен, будет проверен другой список хэшей из другого источника, пока программа не найдет тот, который соответствует верхнему хешу.
В некоторых системах (например, BitTorrent ) вместо верхнего хэша на веб-сайте доступен весь хеш-лист в небольшом файле. Такой « торрент-файл » содержит описание, имена файлов, хеш-список и некоторые дополнительные данные.
Приложения
[ редактировать ]Хэш-списки можно использовать для защиты любых данных, хранящихся, обрабатываемых и передаваемых между компьютерами. Важным использованием списков хешей является обеспечение того, чтобы блоки данных, полученные от других узлов в одноранговой сети, были получены неповрежденными и неизмененными, а также проверка того, что другие узлы не «лгут» и не отправляют поддельные блоки.
Обычно криптографическая хэш-функция, такая как SHA-256 для хеширования используется . Если хеш-списку необходимо защитить только от непреднамеренного повреждения, незащищенные контрольные суммы, такие как CRC можно использовать .
Списки хэшей лучше, чем простой хеш всего файла, поскольку в случае повреждения блока данных это замечается, и необходимо повторно загрузить только поврежденный блок. Имея только хэш файла, многие неповрежденные блоки придется перезагружать, а файл реконструировать и тестировать до тех пор, пока не будет получен правильный хеш всего файла. Списки хэшей также защищают от узлов, которые пытаются совершить саботаж, отправляя поддельные блоки, поскольку в таком случае поврежденный блок может быть получен из какого-либо другого источника.
Протоколы, использующие хэш-списки
[ редактировать ]См. также
[ редактировать ]- Хэш-дерево
- Хэш-таблица
- Хэш-цепочка
- Ed2k: схема URI , которая использует верхний хэш MD4 хэш-списка MD4 для уникальной идентификации файла.
- Криптографическая хэш-функция
- Список