問3 SHA-⁠512/256 とは

情報処理​安全確保​支援士 令和7年度 春期 午前II、全25問のうちの問3。

出典:令和7年度 春期 情報処理安全確保支援士試験 午前II 問3

SHA-⁠5⁠1⁠2/2⁠5⁠6 の説明はどれか。

  1. ア入力データに SHA-⁠2⁠5⁠6 に基づいたハッシュ関数を 1 回適用し,2⁠5⁠6 ビットの値を出力した後,5⁠1⁠2 ビットに拡張して出力する。
  2. イ入力データに SHA-⁠2⁠5⁠6 に基づいたハッシュ関数を 5⁠1⁠2 回繰り返し適用し,2⁠5⁠6 ビットの値を出力する。
  3. ウ入力データに SHA-⁠5⁠1⁠2 に基づいたハッシュ関数を 1 回適用し,5⁠1⁠2 ビットの値を出力した後,2⁠5⁠6 ビットに切り詰めて出力する。
  4. エ入力データに SHA-⁠5⁠1⁠2 に基づいたハッシュ関数を 2⁠5⁠6 回繰り返し適用し,5⁠1⁠2 ビットの値を出力する。
答えと解説を開く

正解はウです。

SHA-⁠5⁠1⁠2/2⁠5⁠6 は、SHA-⁠5⁠1⁠2 と同じ仕組みで計算し、出てきた 5⁠1⁠2 ビットの値の先頭 2⁠5⁠6 ビットだけを使うハッシュ関数です。ただし、計算の初めに置く値 (初期値) は SHA-⁠5⁠1⁠2 と別の物を使うので、ふつうの SHA-⁠5⁠1⁠2 の結果を切っただけの値とは一致しません。選択肢の中ではウがこの説明に当たるので、正解はウです。

ほかの選択肢が違う理由

  • ア2⁠5⁠6 ビットの値を後から 5⁠1⁠2 ビットに伸ばすことはしません。伸ばしても情報が増えるわけではなく、安全性も上がりません。
  • イSHA-⁠2⁠5⁠6 を何度も繰り返す方式ではありません。名前の 5⁠1⁠2 は、土台にする SHA-⁠5⁠1⁠2 を表します。
  • エ出力は 2⁠5⁠6 ビットです。名前の後ろの 2⁠5⁠6 が、出力の長さを表します。

仕組み

SHA-⁠5⁠1⁠2 は 6⁠4 ビットずつ計算するので、6⁠4 ビットの CPU では SHA-⁠2⁠5⁠6 より速いことがあります。その速さを使いながら、2⁠5⁠6 ビットの長さの値が欲しいときに SHA-⁠5⁠1⁠2/2⁠5⁠6 を選びます。

出力を切り詰めると、計算の途中の状態が外に全部は出ません。そのため、ハッシュ値から続きの計算をして偽の値を作る長さ拡張攻撃にも強くなります。

この問に出る言葉