暗号技術の基礎と応用
ハッシュ関数のSHA-2とSHA-3の説明として、正しいものはどれか。
- ASHA-3は、SHA-2と同じ内部構造のまま、出力を長くした改良版である
- BSHA-3は、SHA-2とは異なるスポンジ構造に基づく方式で、SHA-2も現在広く使われている
- CSHA-256はSHA-3の一種で、SHA-3の系統のうち出力が256ビットのものをSHA-256と呼ぶ
答えと解説を見る
正解:B. SHA-3は、SHA-2とは異なるスポンジ構造に基づく方式で、SHA-2も現在広く使われている
SHA-2は、SHA-224、SHA-256、SHA-384、SHA-512などからなるハッシュ関数の一群で、ブロックを順に圧縮関数に通すMerkle–Damgård構造でできています。SHA-3は、NISTの公募で選ばれたKeccakをもとに、2015年にFIPS 202として標準化されたもので、大きな内部状態に入力を吸収し、出力を絞り出すスポンジ構造を使います。SHA-3はSHA-2が破られたから作られたのではなく、構造の異なる代わりを用意しておく意味をもち、SHA-2は現在も広く使われています。一方、SHA-1は2017年に実際の衝突の例が公表され、デジタル署名などには使われなくなっています。
- A. SHA-3は、内部の構造がSHA-2とまったく違います。
- B. 正しい。構造の異なる2つの系統が、どちらも標準として使われています。
- C. SHA-256はSHA-2の一種です。SHA-3で出力が256ビットのものは、SHA3-256と書きます。