Воздушное хеширование - Balloon hashing
Эта статья нужны дополнительные цитаты для проверка.Ноябрь 2019) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Воздушное хеширование это ключевая деривационная функция проверенное хеширование паролей с жесткой памятью и современный дизайн. Он был создан Дэн Бонех, Генри Корриган-Гиббс (оба в Стэндфордский Университет ) и Стюарт Шехтер (Microsoft Research ) в 2016 году.[1][2] Это рекомендуемая функция в Рекомендации NIST по паролям.[3]
Авторы утверждают, что Balloon:
- имеет доказано свойства твердости памяти,
- построен из стандартных примитивов: он может использовать любые стандарты, не занимающие места криптографическая хеш-функция как вспомогательный алгоритм (например, SHA-3, SHA-512 ),
- устойчив к атаки по побочным каналам: шаблон доступа к памяти не зависит от хешируемых данных,
- прост в реализации и соответствует производительности аналогичных алгоритмов.
Воздушный шар сравнивают его авторы с Аргон2, аналогично работающий алгоритм.[1]
Алгоритм
Алгоритм состоит из трех шагов:[1]
- Расширение, когда начальный буфер заполняется псевдослучайный последовательность байтов, полученная из пароля и многократно хешированной соли.
- Смешивание, когда байты в буфере смешиваются time_cost количество раз.
- Вывод, где за результат хеширования берется часть буфера.
Рекомендации
- ^ а б c Бонех, Дэн; Корриган-Гиббс, Генри; Шехтер, Стюарт (11 января 2016). «Воздушное хеширование: функция с ограниченным объемом памяти, обеспечивающая надежную защиту от последовательных атак». ePrint. 2016 (027). Получено 2019-09-03.
- ^ «Хеширование воздушных шаров». Stanford Applied Crypto Group. Стэндфордский Университет. Получено 2019-09-03.
- ^ NIST SP800-63B Раздел 5.1.1.2
внешняя ссылка
- Изучите код прототипа на Github
- Реализация Python
- Алвен; Блоки. «Эффективное вычисление не зависящих от данных функций с жесткой памятью». ePrint. 2016 (115).
- Алвен; Блоки. «На пути к практическим атакам на Argon2i и хэширование шаров». ePrint. 2016 (759).