19

SHA-224、SHA-256、SHA-384、および SHA-512 はすべてSHA-2 ハッシュ関数ファミリーの一部であることを知っています。しかし、新しい SHA-3 ハッシュ アルゴリズムもあります。

SHA-2 と SHA-3 の違いを教えてください。いつ、なぜ SHA-3 を使用する必要があるのですか? また、SHA-3 に実際に含まれているセキュア ハッシュ アルゴリズムはどれですか?

4

1 に答える 1

32

SHA-3は、Keccak( NIST SHA-3コンペティションの勝者として選ばれる前の元の名前)とも呼ばれ、SHA-1およびSHA-2とは関係のないまったく新しいハッシュアルゴリズムです。

実際、NISTが他のSHA-3コンペティションファイナリストよりもKeccakを選択した理由の1つは、既存のSHA-1/2アルゴリズムとの相違点でした。この非類似性により、既存のSHA-2アルゴリズム(NISTによって安全であると見なされ、推奨されている)をより適切に補完し、将来の暗号解読の突破口が両方のSHA-のセキュリティを危険にさらす可能性が低くなると主張されました。 2およびSHA-3。

いくつかの背景として、SHA-3ハッシュ関数の競合は、いくつかの新しい暗号解読攻撃がSHA-1のセキュリティに疑問を投げかけた後、2007年にNISTによって最初に発表されました。当時、SHA-1への攻撃は主に理論上の関心事でしたが、これらの手法をさらに改善すると、SHA-1に対する実際の衝突発見攻撃が可能になり、同じ手法がSHA-2にも適用される可能性があることが懸念されました。 SHA-1と同様のデザインを共有しています。したがって、NISTは、SHA-3という名前のSHA-2の後継者を選択するためのコンテストを開催することを決定しました。

ただし、SHA-1に対する実際の衝突攻撃は、2017年にようやく実証されましたが、SHA-2に対する恐れられた攻撃は実現していません。今日では、SHA-2の破壊は、10年前のように簡単ではないことが一般的に受け入れられています。したがって、SHA-2のすべてのバリアントは、当面の間、安全であると見なされます。しかし、NISTが2012年にSHA-3を選択することを約束していたため、そして多くの人々が競争のための新しいハッシュ関数の提出と評価にかなりの時間と労力を費やしたため、そしていくつかの本当に素晴らしいデザインがあったためファイナリストの中で、結局のところ、勝者としてそれらのいずれかを選ばないのは残念に思えたでしょう。そこで、NISTはSHA-3としてKeccakを選択し、代わりにそれを推奨することにしました。(後継ではありません)SHA-2ハッシュ関数の後継です。

つまり、安全で標準化されたハッシュ関数が必要な場合は、SHA-2またはSHA-3のいずれかを選択できます。本当にパラノイアだと感じている場合は、両方を使用し、ハッシュ関数のいずれかが壊れても安全であるように暗号システムを設計することもできます。

于 2013-01-16T11:47:01.137 に答える