Рейтинг:1

Разумно ли использовать DRBG и PBKDF вместе?

флаг pe

Я хочу сгенерировать случайное число, используя DRBG, следующим образом: Источник энтропии -> DRBG -> PBKDF

добавление PBKDF излишне?

Рейтинг:3
флаг si

PBKDF — это на основе пароля ключевая функция вывода. Вывод DRBG НЕ является паролем.

Выходные данные DRBG могут использоваться в качестве входных данных для функции вывода ключа, если (и только если) этот DRBG криптографически безопасен (также известный как CSPRNG).Например, RSA требует случайного выбора двух больших простых чисел, а CSPRNG используются для предоставления данных для RSA KDF.

Часто бесполезно использовать стандартный KDF для генерации симметричных ключей на основе выходных данных DRBG. Если DRBG не является CSPRNG, вывод небезопасен. Если это так, KDF не нужен, можно просто сгенерировать больше битов! Исключением являются схемы «храповика», когда KDF используется для предыдущего ключа и некоторых других данных для получения следующего ключа. Первый ключ в последовательности мог быть сгенерирован с использованием CSPRNG.

Maarten Bodewes avatar
флаг in
В основном я согласен, но создание главного секрета (с использованием DRBG), а затем получение дополнительных ключей с использованием KBKDF было бы хорошей практикой.
SAI Peregrinus avatar
флаг si
Согласовано. Я пытаюсь понять это с помощью последнего абзаца: это обычно не обязательно, но может быть полезно, особенно для храповых схем.
Maarten Bodewes avatar
флаг in
Я также мог бы видеть это полезным, если бы было несколько способов формирования главного секрета, а не только генерация с использованием PRNG.
Рейтинг:0
флаг kr

Я предполагаю, что вы используете безопасный DRBG.

Если у вас мало энтропии, например. 8 бит на запрос, то результаты DRBG будут легко предсказуемы. Зная несколько значений предыдущих чисел, можно предсказать дальнейшие числа.

Применение PBKDF не помогает. А для PBKDF (если вы имеете в виду PBKDF2, Argon, Makwa, scrypt и т. д.) вам обычно потребуется дополнительное случайное число, что означает, что вам понадобится дополнительная энтропия. Лучше нам эту энтропию в DRBG напрямую.

Если DRBG безопасен и принимает достаточно длинный ввод/начальное число, соберите достаточную энтропию, например. 128 бит и использовать чистый DRBG.

Andy avatar
флаг pe
Да, источник энтропии от TRNG и использует безопасный DRBG.
флаг kr
@Andy: Затем просто соберите достаточную энтропию (в зависимости от того, что вы считаете безопасным для своих целей, например, 128 бит), и используйте чистый DRBG.

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

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