セキュアハッシュアルゴリズムとは
頭字語SHAとも呼ばれる安全なハッシュアルゴリズムは、暗号的に安全であると見なされるハッシュアルゴリズムです。 元のデータは、安全なハッシュアルゴリズムによってハッシュされると、通常、実行可能な量の計算能力では再構築できません。 セキュアハッシュアルゴリズムは、デジタル署名などのメッセージを認証するために他のアルゴリズムと組み合わせて使用されることがよくあります。
一部のネットワークルーターとファイアウォールは、ハードウェアに安全なハッシュアルゴリズムを直接実装しています。 これにより、スループットへの影響を制限して、データパケットを認証できます。 多くのオープンソース実装を含む、安全なハッシュアルゴリズムソフトウェアも存在します。 米国国立標準技術研究所(NIST)とカナダ通信セキュリティ機構(CSE)は、暗号モジュール検証プログラム(CMVP)を共同で運営しています。 この公式プログラムは、機密性の高いアプリケーション向けのセキュアハッシュアルゴリズム実装の正しい動作を保証します。
米国政府は、少なくとも6つの安全なハッシュアルゴリズムを標準化しています。 SHA-0およびSHA-1は、1990年代に開発された最も初期の化身でした。 2000年代に開発されたSHA-2シリーズには、SHA-224、-256、-384、および-512が含まれていました。 これらは、異なる内容を持つ2つのドキュメントがハッシュ値の2つの一意のセットを生成し、ハッシュの衝突を回避するように設計されています。
1993年にNISTによって最初に公開されたSHA-0アルゴリズムは、重大な脆弱性が見つかったため、すぐに中止されました。 1995年にSHA-1に置き換えられました。SHA-1には、SHA-0の未公開の問題に対処する追加の計算ステップが含まれています。 両方のアルゴリズムは、最大2 64 -1ビットのメッセージを160ビットの「ダイジェスト」にハッシュします。 どちらも、動作時に512ビットのブロックサイズと32ビットのワードサイズを使用します。
SHA-1は、いくつかの一般的なインターネットプロトコルおよびセキュリティツールで使用されます。 これらには、IPsec、PGP、SSL、S / MIME、SSH、TLSが含まれます。 また、SHA-1は通常、機密扱いでない政府文書の保護スキームの一部として使用されます。 民間部門は、一部の機密情報にもこの安全なハッシュアルゴリズムを利用しています。 2010年に一般政府の使用から廃止される予定です。
SHA-224、-256、-384、および-512は、2001年から2004年の間にNISTによって公開されました。これらの4つのアルゴリズムは、SHA-2ファミリとも呼ばれ、一般にSHA-1よりも堅牢です。 SHA-224およびSHA-256は、SHA-1と同じブロック、ワード、および最大入力メッセージサイズを使用します。 対照的に、SHA-256は224ビットのダイジェストを生成し、SHA-256は256ビットのダイジェストを作成します。 SHA-384およびSHA-512は、ブロックサイズを1024ビットに、ワードサイズを64ビットに、最大入力メッセージ長を2 128 -1ビットに増やします。 SHA-384によって生成されるダイジェストは384ビット長ですが、SHA-512ダイジェストには512ビットが含まれます。
SHA-0およびSHA-1と同様に、SHA-2ファミリは米国国家安全保障局(NSA)によって設計されました。 重大な欠陥はSHA-2で公開されていませんが、NISTは次の安全なハッシュアルゴリズムを開発するための競争を開始しました。 SHA-3と呼ばれるこの新しいアルゴリズムは、2012年に公開エントリのコレクションから選択される可能性があります。 既存のアルゴリズムに基づいたものではなく、新しいデザインであることが期待されます。