- PVSM.RU - https://www.pvsm.ru -
Привет, %username%!
Ранее мы уже затрагивали [1] тему замедления хэширования. Это было еще до введения моды на быстрые хэшедробилки aka майнеры. Как оказалось, тема намного серьезней, чем «прокрутить хэш 100500 раз и подмешивать к нему всякий мусор», потому что GPU и спец девайсы драматически ускоряют перебор, с которым сложно бороться даже с помощью таких вещей как bcrypt.
И вот, люди запилили соревнование [2], результатом которого должен был стать алгоритм, который сложно ускорить на спец чипах и GPU, при этом он должен быть настраиваемым в зависимости от пожеланий разработчика. Таким алгоритмом стал Argon2 [3].
Argon2 позволяет настраивать следующие параметры хэширования:
Так же, Argon2 доступен в двух вариантах: Argon2i и Argon2d. Первый делает больше проходов по памяти и более медленный, второй быстрее, но у него отсутствует защита от timing атак, а так же его сложнее подбирать на GPU. Если не уверены — выбирайте Argon2i.
Первый рекомендуется для хэширования паролей, второй — для криптовалют, там timing атаки не страшны.
Алгоритм оптимизирован именно для архитектуры x86/x64, поэтому его крайне сложно ускорять на ASIC/GPU и прочих железных штуках. Используется многократный проход по памяти, внутри формируется огромная страшная матрица хэшей, которые зависят друг от друга и сложным образом обрабатываются.
Если хочется совсем технических подробностей, то есть официальная дока [4] с матаном и прочими выкладками.
Так же доступны биндинги для многих популярных языков и платформ: Go, Haskell, JavaScript, JVM, Lua, OCaml, Python, Python, Ruby, Rust и C#.
Разработчики рекомендуют [5] подобрать параметры алгоритма таким образом, чтобы хэширование занимало примерно 0.5 секунды при расходе 2-4 гб памяти.
В общем, штука крутая, я считаю нужно её внедрять везде и всюду. Например, уже [6] есть [7] коины [8], основанные на Argon2. Пока что без GPU и asic.
Автор: Scratch
Источник [9]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/informatsionnaya-bezopasnost/118026
Ссылки в тексте:
[1] затрагивали: https://habrahabr.ru/post/100138/
[2] запилили соревнование: https://password-hashing.net/
[3] Argon2: https://github.com/P-H-C/phc-winner-argon2
[4] официальная дока: https://github.com/P-H-C/phc-winner-argon2/blob/master/argon2-specs.pdf
[5] рекомендуют: http://argon2-cffi.readthedocs.org/en/stable/parameters.html
[6] уже: https://bitcointalk.org/index.php?topic=1288816.0
[7] есть: https://bitcointalk.org/index.php?topic=1392177.0
[8] коины: https://bitcointalk.org/index.php?topic=1318683.0
[9] Источник: https://habrahabr.ru/post/281569/
Нажмите здесь для печати.