Рейтинг:1

Чем Blake2b Argon2 отличается от обычного Blake2b?

флаг in

Эта почта говорит, что Blake2b из Argon2 — это уменьшенный один, который также согласован Спецификации Argon2 поскольку в нем говорится, что он использует только 2 раунда Blake2b.

Но, с другой стороны, стр. 15 в спецификациях Argon2 говорится, что он модифицирует Blake2b, чтобы добавить 32-битные умножения для увеличения задержки (я думаю, они имеют в виду необходимость ждать дополнительных циклов процессора?).

Мои вопросы:

  1. Если Argon2 хочет сделать Blake2b сложнее, зачем сокращать 12 раундов до 2?
  2. Есть ли какие-либо другие различия, которые я не упомянул здесь?
  3. Каким образом эти различия влияют на безопасность Blake2b Argon2 по сравнению со стандартным Blake2b, найденным, скажем, в либнатрия?

Мои мысли

Я думаю, что использование Argon2 функции хэширования (Blake2b) для заполнения блока памяти - не лучший выбор. Поскольку при заполнении памяти не используется сжатие; 1024 байта ввода становятся еще 1024 байтами вывода. Никакого сжатия не происходит, поэтому все агрессивные раунды хэш-функции, которая пытается сохранить максимальную входную энтропию при сжатии в гораздо меньшее количество байтов, совершенно не нужны.

Я думаю, именно поэтому Argon2 создал свой собственный уменьшенный вариант Blake2b всего с 2 раундами вместо 12: потому что очевидно, что хеширование не нужно.

Фактически, модифицировав Blake2b, Argon2 создал вариант симметричного блочного шифра, и они продолжали использовать его как один (фиксированный ввод становится фиксированным выходом равного размера).

Я думаю, что лучший подход, чем подход Argon2, вместо того, чтобы заново изобретать симметричный блочный шифр на основе хэш-функции (путем модификации Blake2b), состоит в том, чтобы отказаться от погони и использовать существующий симметричный шифр, такой как ChaCha20.

Использование симметричного шифра, такого как ChaCha20, будет примерно таким же быстрым, как заново изобретенный симметричный шифр Argon2 (сокращенный Blake2b), даже несмотря на то, что это ChaCha20 с 20 раундами. ChaCha20, согласно моим тестам, лишь немного медленнее, чем Argon2, для выполнения той же работы. Плюс другие преимущества: использование преимуществ существующих библиотек и дополнительных исследований в области криптоанализа, которые уже проводились с существующими шифрами.

Рейтинг:1
флаг cn

Вы правы, когда говорите, что в этом случае не требуется никакого сжатия и что для этой цели также можно использовать симметричный блочный шифр. Несколько соображений, вероятно, сыграли роль в выборе Blake2b.

  1. уменьшенная версия используется для максимально быстрого заполнения большого вектора, к которому затем обращаются, чтобы сделать схему жесткой памяти. Идея, стоящая за этим, вероятно, заключалась не только в том, чтобы быстро заполнить вектор, но также и то, что жесткость памяти может быть установлена ​​независимо от жесткости времени. Это означает, что алгоритм должен быть быстрым. Отсюда и уменьшенное количество раундов.

  2. алгоритм не должен работать намного быстрее на специальном оборудовании, например. ASIC, чем на обычном пользовательском устройстве. Это означает, что важна не только чистая производительность, но и разница в производительности между различными аппаратными средствами. Blake2b оптимизирован именно для типичных пользовательских устройств.

  3. алгоритм не должен быть уязвим для атак с синхронизацией кэша. Поэтому предпочтение было отдано конструкции ARX.

ChaCha20 также в принципе соответствует этим критериям, вероятно, Blake2b работает лучше только в пункте 2, чем уменьшенная форма ChaCha20. Возможно, также сыграло свою роль то, что в то время хеш-функциям уделялось больше внимания из-за только что завершившегося конкурса SHA-3, и поэтому новые хэш-алгоритмы, такие как Blake2b, были лучше изучены, чем новые блочные шифры.

Указание на то, что Blake2b подходит для этого приложения: В дополнение к Argon2 команда Catena также разработала (другую) уменьшенную форму Blake2b для той же цели.

И указание на то, что ваше предположение о блочных шифрах также верно: Напротив, схема Scrypt, разработанная в 2010 году, использует сокращенную форму Salsa20, предшественника ChaCha20.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.