6

SHA-1 が FIPS 180-2 標準から廃止されることを読みました。

どうやら、この決定につながった SHA-1 の弱点があるようです。誰かがその決定の根拠を詳しく説明できますか? 商用アプリケーションでの SHA-1 の使用に影響はありますか?

私の本当の質問は次のとおりです。

  • さまざまなクラス ライブラリとプラットフォームでの SHA-2 サポートの状態は?
  • SHA-2 への移行を試みる必要がありますか?

主流のプラットフォームに関心がある: .NET、Java、C/C++、Python、Javascript など。

4

3 に答える 3

5

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 年にリリースされます。 PASSWORDSのように sha-2 でパッチを適用し、可能な場合はSHA-3 に移行する必要がありますが、SHA-512 は非常に長い間有効です。

于 2010-03-08T23:20:58.793 に答える
4

Windows Vista 以降では、Microsoft Enhanced RSA および AES Cryptographic Provider for CryptoAPI で SHA-2 がサポートされており、.NET Framework は .NET 1.1 以降、SHA-2 をサポートしています。

于 2010-03-08T23:34:58.757 に答える
1

現在、ほとんどのプラットフォームが SHA-2 ファミリをサポートしています。ただし、SHA-1 は SSL などの多くのアプリケーションでまだ使用されており、しばらく使用される予定です。

「SHA-3」のコンペは順調に進行中です。SHA-1 から新しい SHA-3 標準が登場したらそれに飛びつくのが合理的かもしれません。

于 2010-03-08T23:41:11.423 に答える