Каково состояние поддержки SHA-2 в различных платформах?

Я читал, тот SHA-1 ликвидируется с FIPS стандарт 180-2.

По-видимому, существуют слабые места в SHA-1, который привел к этому решению. Кто-либо может уточнить на основе для того решения? Есть ли последствия для использования SHA-1 в коммерческом применении?

Мои реальные вопросы:

  • Каково состояние поддержки SHA-2 в различных библиотеках классов и платформах?
  • Я должен попытаться переместиться в SHA-2?

Заинтересованный основными платформами:.NET, Java, C/C++, Python, JavaScript, и т.д.

6
задан rook 8 March 2010 в 23:21
поделиться

3 ответа

Sha1, Sha0, md4 и md5 оказались небезопасными за последние несколько лет. Проблема в том, что если злоумышленник может сгенерировать 2 разных сообщения, которые производят один и тот же результирующий хэш, это называется коллизией. Это вызывает множество проблем для PKI, управления паролями, проверки целостности файлов и многого другого. В настоящее время sha1 обеспечивает только 2 ^ 52 бита безопасности, доступных злоумышленникам. Где SHA-256 (наименьший член семейства sha2) предоставляет 2 ^ 256 бит.

Все платформы должны иметь реализацию SHA-256, хотя не все из них являются собственными. В PHP вы должны использовать расширение mhash. Довольно сбивает с толку то, что некоторые платформы не предоставляют безопасных хэш-функций, я искренне верю, что это потому, что они не заботятся о безопасности. В случае PHP я точно знаю, что они не заботятся о безопасности .

В настоящее время в SHA-2 нет ничего плохого, и он имеет очень большой запас прочности. Вы можете использовать SHA-512, если вы действительно параноик. Sha-3 выйдет в 2012 году, вам следует пропатчить все, что вы можете, с помощью sha-2, такого как ваши ПАРОЛИ , а затем перейти на SHA-3, когда сможете, но SHA-512 будет работать ОЧЕНЬ долго время.

5
ответ дан 10 December 2019 в 00:37
поделиться

Windows Vista и более поздние версии поддерживают SHA-2 в Microsoft Enhanced RSA and AES Cryptographic Provider for CryptoAPI, а .NET Framework поддерживает SHA-2 начиная с .NET 1.1.

4
ответ дан 10 December 2019 в 00:37
поделиться

Большинство платформ теперь поддерживают семейство SHA-2. Однако SHA-1 все еще используется во многих приложениях, например, в SSL, и будет использоваться еще некоторое время.

Соревнование за "SHA-3" идет полным ходом. Возможно, будет разумно перейти от SHA-1 к новому стандарту SHA-3, когда он появится.

1
ответ дан 10 December 2019 в 00:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: