id: Гость   вход   регистрация
текущее время 17:12 29/03/2024
создать
просмотр
ссылки

расширение ключа


Имеется мастер ключ размером 128 бит. Его требуется расширить, например, до 168 бит для использования в 3DES, или до 256 бит для ГОСТ-28147, или до какого еще произвольного размера.
Существует ли стандартная общепринятая процедура для расширения ключа?


http://www.zas-comm.ru


 
Комментарии
— unknown (28/01/2015 12:13, исправлен 28/01/2015 12:16)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Key Derivation Function, HMAC-based Extract-and-Expand Key Derivation Function (HKDF), Key stretching.

— ZAS (28/01/2015 19:05)   <#>
Под KDF обычно имеют в виду другое: вычислительно трудоемкую функцию для преобразования пароля в ключ.
См. например, pkf.cpp из исходников zas communicator.

Можно использовать, например, ANSI 9.31, но хотелось бы более эффективного. Вариантов реализации легко придумать много всяких разных. Пригоден любой CPRNG с 128-битной стойкостью. Вопрос в том, есть ли общепринятый способ.
— gegel (28/01/2015 20:46)   профиль/связь   <#>
комментариев: 393   документов: 4   редакций: 0
Под KDF обычно имеют в виду другое: вычислительно трудоемкую функцию для преобразования пароля в ключ.

Я могу ошибаться, но вроде это подразумевают под PKDF.
А KDF обычно как раз и используется для:
– сжатия/расширения ключа;
– получения нескольких ключей из общего секрета.
— unknown (28/01/2015 21:01)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Да всё правильно. Вообще, если особо жёстких требований нет (например протокол согласования ключа с недоверяемым противником, который используется не просто для шифрования, а для какого-то голосования и пр.), то можно просто и похэшировать.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3