Безопасное использование SHA512 - PullRequest
0 голосов
/ 07 марта 2012

У меня есть вопрос о безопасности следующего использования SHA512:

Если у меня две строки, x и y . Можно ли получить SHA ( x ) и SHA ( y ) из SHA ( x + y ) или наоборот? x + y - строка x , объединенная с y .

Заранее спасибо!

Ответы [ 2 ]

4 голосов
/ 08 марта 2012

SHA512 устойчив к изображениям, вторым и префиксным изображениям.

Следовательно:

  • Трудно найти любой X с данным SHA512 (X).
  • Найти любой X с данными SHA512 (X + Y) и Y сложно
  • Найти любой X с данными SHA512 (Y + X) и Y сложно.

УчитываяSHA512 (X) и SHA512 (Y) также сложно вычислить SHA512 (X + Y), потому что SHA512 не является линейной функцией.

В общем, SHA512 устойчив ко всем известным атакам, кроме грубой силыX - это X из небольшого набора - так, например, если SHA512 (X) - это SHA512 пароля, а пароль слабый, возможно, можно найти X путем перебора, но это связано с тем, чточто ваш выбор X нарушен, а не что SHA512 нарушен.

В общем, если X трудно угадать, SHA512 (X) не раскрывает никаких признаков X.

3 голосов
/ 07 марта 2012

Краткий ответ - «нет». Это сделало бы хэш-функцию (например, SHA512) бесполезной для схем хеширования с ключами, таких как HMAC .

...