SHA-512/256|情報処理安全確保支援士試験 令和7年春期午前Ⅱ 問3
出典:令和7年春期 午前Ⅱ 問3
分野:セキュリティ / 情報セキュリティ
SHA-512/256の説明はどれか。
- ア:入力データにSHA-256に基づいたハッシュ関数を1回適用し,256ビットの値を出力した後,512ビットに拡張して出力する。
- イ:入力データにSHA-256に基づいたハッシュ関数を512回繰り返し適用し,256ビットの値を出力する。
- ウ:入力データにSHA-512に基づいたハッシュ関数を1回適用し,512ビットの値を出力した後,256ビットに切り詰めて出力する。
- エ:入力データにSHA-512に基づいたハッシュ関数を256回繰り返し適用し,512ビットの値を出力する。
TSUNAGARU-ADVICE
まず押さえたいこと
SHA-512/256は、名前にSHA-256が入っていますが、SHA-512を基にした方式で、最終的な出力を256ビットにしたものです。
迷ったときの判断軸
この問題では、「/256」を見てSHA-256系だと思い込まないことが大切です。SHA-512/256は、SHA-512に基づくハッシュ計算を行い、得られた結果を256ビットで出力する方式と整理すると判断しやすくなります。
科目Bにつなげるために
科目Bでは、暗号やハッシュ方式の名称をそのまま覚えるだけでなく、何を基にした方式で、最終的に何ビット出力するのかを区別できることが重要です。名前の一部だけで判断せず、処理の元になっている方式と出力長を分けて理解しておきましょう。
SHA-512/256は、SHA-2ファミリーに含まれるハッシュ方式の一つです。名前に「512」と「256」の両方が入っているため少し分かりにくいですが、簡単に言うと、SHA-512の仕組みを使って計算し、最終的な出力だけを256ビットにしたものです。
ただし、単純に「SHA-512の結果を半分に切っただけ」というよりは、SHA-512をベースにしながら、SHA-512/256専用の初期値を使って計算する方式です。そのため、SHA-512の出力をそのまま256ビットに切り詰めたものとは別物です。SHA-512/256の出力サイズは256ビットです。これはSHA-256と同じ長さです。そのため、ハッシュ値の衝突、つまり「異なる入力から同じハッシュ値が出てしまう可能性」に対する理論上の強さは、SHA-256と同じ水準と考えられます。
一方で、内部の計算にはSHA-512系の仕組みを使います。SHA-512は、SHA-256よりも大きな内部状態、具体的には512ビット幅の処理を前提としているため、構造的に余裕のある設計になっています。そのため、将来的に新しい攻撃手法が見つかった場合でも、SHA-256より安全面で余裕があると評価されることがあります。
また、SHA-512系は64ビット単位の計算を多く使います。そのため、64ビットCPUを搭載した一般的なサーバーやPCでは、SHA-256よりも高速に処理できる場合があります。特に大量のデータをハッシュ化する処理では、この性能差がメリットになることがあります。まとめると、SHA-512/256は、出力サイズはSHA-256と同じ256ビットでありながら、内部的にはSHA-512の強力な仕組みを使うハッシュ方式です。安全性と性能のバランスが良く、64ビット環境ではSHA-256の代替として有力な選択肢になります。
したがって、ウが適切です。
❌他選択肢が誤りの理由ア:入力データにSHA-256に基づいたハッシュ関数を1回適用し,256ビットの値を出力した後,512ビットに拡張して出力する。
⇒SHA-256の結果を512ビットに拡張する、という点で違います。SHA-512/256はSHA-256ベースではありません。
イ:入力データにSHA-256に基づいたハッシュ関数を512回繰り返し適用し,256ビットの値を出力する。
⇒SHA-256を512回繰り返す、という点で違います。反復回数で定義されるものではありません。
エ:入力データにSHA-512に基づいたハッシュ関数を256回繰り返し適用し,512ビットの値を出力する。
⇒SHA-512を256回繰り返す、という点で違います。反復回数で定義されるものではありません。