web-dev-qa-db-ja.com

SHA-3とは何ですか、なぜ変更したのですか?

10月2日、NISTはSHA-3が新しい標準のハッシュアルゴリズムであると決定しましたが、これは安全ではないため、SHA-2の使用を停止する必要があることを意味しますか?

とにかく、このSHA-3とは何ですか?

60
Lucas Kauffman

SHA- ハッシュコンペティションは、NISTが新しい標準ハッシュ関数を定義するオープンプロセスでした(米国連邦政府の使用法の標準ですが、これはおそらく世界規模になるでしょうデファクト標準)。プロセスは2007年に開始されました。当時、SHA-2機能(SHA-256、SHA-512 ...)の前身、つまりMD5とSHA-1には多くの弱点と攻撃が発見されていました。 SHA-256がすぐに「壊れる」か、少なくとも弱まることが懸念されました。暗号プリミティブの選択と指定には時間がかかるため、NISTはSHA-3プロセスを開始しましたが、SHA-2の置換を見つけるという暗黙のうちに明確な意図があります。

SHA-2は予想よりも堅牢であることが判明しました。理由はわかりません。一部の不完全な引数があります(メッセージの展開は非線形であり、関数はSHA-1の2倍の基本演算を蓄積します...)しかし、すべての研究者が忙しかったため、SHA-256が無傷のままであったという疑いもあります。 SHA-3候補に取り組んでいます。とにかく、SHA-2 Doomが明らかに無期限に延期されたため、NISTは目的を変更し、交換を選択する代わりに、バックアップ計画:緊急時に使用するためにガラスのキャビネットに保管できる機能。同様に、performanceはその関連性のほとんどを失いました。

これは Keccak の選択を際立たせています。コンテストのファイナリストの中では、SHA-2とAESの両方とは最も異なる機能でした。そのため、すべての標準暗号化アルゴリズムが同時に破られ、NISTが比喩的にキルトに陥るリスクが軽減されました。

急いではいけません:SHA-2は(公式にも科学的にも)まだ問題がないだけでなく、SHA-3は発表済み仕様を取得できるようになるまでにはさらに数ヶ月かかります(ただし、コンテストに提出された内容に基づいて実装を準備することはできます)。 nowを実行する必要があります(実際には10年前に実行する必要がありました)は、algorithm agility、つまり、必要に応じて機能を切り替える機能(SSL/TLSに「暗号スイート」があるのと同じ方法で)。

58
Thomas Pornin

SHA-2がSHA-3よりも優れているように見える使用法が少なくとも1つあり、それは キーストレッチング です。

SHA-3は、ハードウェアでは非常に効率的になるように設計されていますが、ソフトウェアでは比較的低速です。 SHA-3は、SHA-2の2倍の時間でソフトウェアで実行され、約4分の1の時間でハードウェアで実行されます。

SHA-3のソフトウェアでの実行には2倍の時間がかかるため、サーバーで同じパスワード処理時間を必要とする場合は、反復回数の半分を実行する必要があります。ただし、攻撃者はハードウェア実装を使用してパスワードを解読することができます。このため、攻撃者はSHA-3ハッシュパスワードをSHA-2ハッシュパスワードの8倍の速さでクラックできます-ハッシュの反復回数を半分にする必要があるため2倍高速になり、SHA-3ハードウェアがSHA-2より高速であるため4倍高速になりますハードウェア。

10

2012年10月2日、NISTはハッシュを実行するために使用するアルゴリズムを決定しました。これはKeccakアルゴリズムでした。

Keccakアルゴリズムは 密閉スポンジ戦略 に基づいています。これは新しい標準アルゴリズムです。標準を使用して、互換性を高めています。

Keccakは、Guido Bertoni、Joan Daemen(AESの作成者の1人)、MichaëlPeeters、Gilles Van Asscheによって設計されました。彼らは Radiogatùnアルゴリズム に基づいてそれを構築しました。

これは、SHA-2が安全でないことを意味しますか?安全と見なされているSHA-2はまだありません。将来的には安全でなくなることを知っているだけであり、利用可能な代替手段があることを保証する必要があります。また、ある日から別の日への移行を望んでいないため、新しいハッシュアルゴリズムがすでに標準化されているため、人々は変更する時間を確保でき、必要なときに安全なアルゴリズムが手元にあることがわかります。

6
Lucas Kauffman

SHA-1およびSHA-2よりもSHA-3の利点の1つは、拡張攻撃に影響されないことです。つまり、それに基づくプロトコル(MACなど)は本質的により堅牢です。