Рейтинг:1

Как получить два ключа из одного пароля с помощью Argon2id

флаг bm

Я хотел бы получить два независимых 256-битных ключа для симметричного шифрования из пароля пользователя. Я использую Argon2id в качестве функции получения ключа на основе пароля. Я планирую сделать следующее:

  1. Создайте 256-битную случайную соль.
  2. Создайте 512-битный тег с помощью Argon2id, используя пароль пользователя и соль.
  3. Возьмите первые 256 бит 512-битного тега для первого ключа и вторые 256 бит для второго ключа.

Создает ли это два независимых ключа?

Примечание: это ответы на вопросы положительные для scrypt.

kelalaka avatar
флаг in
[Использование другой соли используется для получения более одного ключа из пароля.] (https://crypto.stackexchange.com/a/95957/18298) и обратите внимание, что [вы не можете иметь более 512-не безопасность от Argon2] (https://crypto.stackexchange.com/a/98514/18298)
Рейтинг:2
флаг vn

Argon2 поддерживает выходные данные переменной длины, и все выходные данные ведут себя как независимые случайные биты. Вы можете разделить вывод как угодно. Обратите внимание, что общая безопасность не превышает 512 бит, но это не проблема, и больший вывод не приводит к «растягиванию» и ослаблению случайности.

Использование Argon2 для создания вывода переменной длины эквивалентно созданию одного вывода и его передаче в HKDF для создания нескольких ключей или передаче его в XOF для расширения на большее количество байтов.

Видеть https://en.wikipedia.org/wiki/Argon2#Variable-length_hash_function

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

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