LINUX.ORG.RU

значение memlimit и opslimit для embedded (функция crypto_pwhash() из libsodium)

 ,


0

1

Привет!

Кто-нибудь разбирался, какие значения опций к функции crypto_pwhash() оптимально указывать при использовании libsodium в embedded (arm-m4, 200MHz, 500KB RAM)?

О чем речь: https://download.libsodium.org/doc/password_hashing/default_phf#example-2-password-storage

Интересует вариант интерактивного ввода пароля. Предлагаемый вариант crypto_pwhash_MEMLIMIT_INTERACTIVE требует 64MB оперативки. Может, есть какие-то статьи разбора этого? Например, если я укажу 1024 байт, насколько это плохо с точки зрения безопасности?

Тоже самое касается crypto_pwhash_OPSLIMIT_INTERACTIVE - его использование дает время выполнения crypto_pwhash около 20 секунд, это много, конечно.

Суть в том, что мне надо использовать одинаковые алгоритмы (с одинаковыми опциями) в embedded и серверных системах, т.к. одни и те же данные обрабатываются и там и там. Embedded часть ставит жесткие рамки для производительности, и мне не хочется с порога облажаться по стойкости алгоритма.

★★

Последнее исправление: zendrz (всего исправлений: 1)

Кстати, интересно, приведен пример, как в некоторых случаях можно разгрузить один из хостов при вычислении crypto_pwhash, если в системе как минимум два хоста с разными вычислительными способностями (или профилями) участвуют в проверки пароля.

https://download.libsodium.org/doc/password_hashing/#server-relief

zendrz ★★
() автор топика

про указанные в стартовом сообщении опции подробнее написано в

https://download.libsodium.org/doc/password_hashing/default_phf#notes

https://download.libsodium.org/doc/password_hashing/default_phf#guidelines-for-choosing-the-parameters

Непосредственного ответа на вопрос я (пока?) не имею, но смысл вроде ясен

zendrz ★★
() автор топика
Последнее исправление: zendrz (всего исправлений: 1)

У меня задача не авторизации по паролю, а защита паролем блока данных,например, файла. Из пароля генерируется ключ. Я пришел к выводу, что вместе с зашифрованным блоком надо хранить все параметры генерации ключа из пароля и соль {salt, optlimit, memlimit, kind_of_alg} (незашифрованные) для однозначной расшифровки блока. Секретом является только пароль. На счет соли долго не был уверен. Но да. Если что, поправьте меня.

(Тут имею в виду упомянутую crypto_pwhash() функцию и ее параметры)

zendrz ★★
() автор топика
Последнее исправление: zendrz (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.