stringtranslate.com

Хэш-цепочка

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

Определение

Хэш -цепочка — это последовательное применение криптографической хэш-функции к строке .

Например,

дает хэш-цепочку длиной 4, часто обозначаемую

Приложения

Лесли Лэмпорт [1] предложил использовать хэш-цепочки в качестве схемы защиты паролем в незащищенной среде. Сервер, которому необходимо обеспечить аутентификацию , может хранить хеш-цепочку, а не простой текстовый пароль, и предотвращать кражу пароля при передаче или кражу с сервера. Например, сервер начинает с хранения данных, предоставляемых пользователем. Когда пользователь желает пройти аутентификацию, он передает его на сервер. Сервер вычисляет и проверяет, что это соответствует сохраненной им хэш-цепочке. Затем он сохраняется до следующего раза, когда пользователь захочет пройти аутентификацию.

Перехватчик, увидевший сообщение, переданное на сервер, не сможет повторно передать ту же цепочку хеш-функций на сервер для аутентификации , поскольку теперь сервер ожидает . Из-за одностороннего свойства криптографически безопасных хеш-функций перехватчику невозможно перевернуть хеш-функцию и получить более раннюю часть хэш-цепочки. В этом примере пользователь может пройти аутентификацию 1000 раз, прежде чем хеш-цепочка будет исчерпана. Каждый раз значение хеш-функции разное и, следовательно, не может быть продублировано злоумышленником.

Двоичные хэш-цепочки

Двоичные хэш-цепочки обычно используются вместе с хеш-деревом . Двоичная хеш-цепочка принимает в качестве входных данных два хеш-значения, объединяет их и применяет к результату хеш-функцию, создавая тем самым третье хеш-значение.

На диаграмме выше показано хэш-дерево, состоящее из восьми конечных узлов и хэш-цепочки для третьего листового узла. В дополнение к самим значениям хеш-функции для завершения хэш-цепочки необходим порядок конкатенации (справа или слева 1,0) или «биты порядка».

Цепи Винтерница

Цепочки Винтерница (также известные как функциональные цепочки [2] ) используются в криптографии на основе хеширования . Цепь параметризуетсяПараметр Винтерница w(количество битов в «цифре»d) ипараметр безопасности n(количество битов в хеш-значении, обычно удваивающееуровень безопасности,[3]256 или 512). Цепочка состоит из,которые являются результатом многократного применения односторонней«цепочной» функцииFк секретному ключуsk:.Функция цепочки обычно основана на стандартномкриптографическом хеше, но ее необходимо параметризовать («рандомизировать»[4]), поэтому она требует небольшого количества вызовов базового хеша.[5]mиспользуется цепочка, поэтому подпись Винтерница использует приблизительнобиты, ее расчет связан сприменением функции F.[3]Обратите внимание, что некоторые стандарты подписи ( как расширенная схема подписи Меркла, XMSS) определяютwкак количество возможных значений в цифре, поэтомув XMSS соответствуетстандарту (например, подпись Лейтона-Микали, LMS), который определяетwтаким же образом, как указано выше, - как число бит в цифре.[6]

Хэш-цепочка против блокчейна

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

Смотрите также

Рекомендации

  1. ^ Л. Лэмпорт, «Аутентификация пароля при небезопасной связи», Communications of ACM 24.11 (ноябрь 1981 г.), стр. 770-772. [1]
  2. ^ Хюльсинг 2013b, стр. 18–20.
  3. ^ аб Бухманн и др. 2011, с. 2.
  4. ^ Хюльсинг 2013b.
  5. ^ RFC  8391
  6. ^ NIST SP 800-208, Рекомендации по схемам подписи на основе хэша с отслеживанием состояния, стр. 5

Источники