Безопасно ли использовать PBKDF2 с SHA256 для генерации 128-битных ключей AES? - PullRequest
3 голосов
/ 29 августа 2009

Я хочу использовать PBKDF2 с некоторой криптографической хеш-функцией для генерации 128-битных ключей AES. SHA1 также 128-битный, поэтому я подумал об использовании этого с PBKDF2, но он был сломан, поэтому я решил использовать SHA256 вместо этого. Безопасно ли это, или разница между размером хэша и результирующим размером ключа вызовет какое-то катастрофическое тихое усечение, которое ослабит ключи AES? Должен ли он просто генерировать 256-битные ключи для AES?

1 Ответ

3 голосов
/ 29 августа 2009

В то время как SHA-1 «сломан», в большинстве разумных систем используется только версия HMAC , которая сильнее и , вероятно, все еще в порядке . Тем не менее, новые протоколы, такие как TLS 1.2 , используют как минимум SHA-256 для своей псевдослучайной функции (PRF).

Вы должны быть в порядке, обрезая результат до нужного вам размера (как это делают большинство PRF). Некоторое предварительное обсуждение доступно по этому вопросу .

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

...