SHA-2 / SHA-3とは?しゃーつー、しゃーすりー
SHA-2 / SHA-3とは、電子署名や完全性の検証で現在推奨される、ハッシュ関数の2つの系列。SHA-2は圧縮関数を繰り返すMerkle-Damgård構造で、出力長によりSHA-224/256/384/512などに分かれる。SHA-3は公開コンペで選ばれたKeccakを基にしたスポンジ構造で、SHA-2と内部構造を共有しない。設計が互いに独立しているため、一方に効く攻撃が他方へは通じない。
最終更新:2026-10-06
この語が出る過去問を解く →背景
MD5とSHA-1は同じ系統の構造を持ち、片方への攻撃手法がもう片方にも通じた。実際にSHA-1は衝突が実証され、証明書での使用が停止された。同じ轍を踏まないよう、NISTは公開コンペで構造の異なる方式を選び、SHA-3としてSHA-2と併存させた。安全性を単一の設計に依存させないという考え方そのものが出題の対象になる。
具体例
TLS証明書の署名、パスワード保存に使うPBKDF2やHMACの内部関数、ソフトウェア配布時の完全性確認(配布元が示すSHA-256の値との突合)に使われる。CRYPTRECの電子政府推奨暗号リストにもSHA-256以上が収載されている。
試験での引っ掛け
ハッシュは暗号化ではなく、鍵で元に戻す操作は存在しない。SHA-1は衝突が実際に発見されており、証明書や署名の用途では使用しない。またハッシュ値で保存すればパスワードが安全になるわけではなく、ソルトと反復(ストレッチング)を併用しなければ総当たりに耐えない。
関連用語
出た過去問
出典:平成29年度 秋期 情報処理安全確保支援士試験 午前Ⅱ 問4(IPA)解説で登場
ハッシュ関数の性質の一つである衝突発見困難性に関する記述のうち,適切なものはどれか。
正解:衝突発見困難性とは,ハッシュ値が一致する二つのメッセージの探索に要する計算量が大きいことによる,探索の困難性のことである。
要点:衝突発見困難性は同一ハッシュ値の2文書探索の難しさ
衝突発見困難性(collision resistance)は、同じハッシュ値になる異なる2つのメッセージの組を見つけるのが計算量的に難しい性質を指す。これに対し、与えられたハッシュ値から元のメッセージを求めにくい性質は原像計算困難性であり、別概念である。誕生日パラドックスにより、出力長nビットのハッシュ関数の衝突探索の計算量は概ね2の(n/2)乗で、SHA-256なら2の128乗程度となる。
出典:平成31年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問4(IPA)解説で登場
ハッシュ関数の性質の一つである衝突発見困難性に関する記述のうち,適切なものはどれか。
正解:衝突発見困難性とは,ハッシュ値が一致する二つのメッセージの発見に要する計算量が大きいことによる,発見の困難性のことである。
要点:衝突発見困難性は同じハッシュ値の二つの入力を探す難しさ
衝突発見困難性(強衝突耐性)とは、同じハッシュ値になる二つの異なるメッセージの組を見つけ出すのが計算量的に難しい性質を指す。誕生日のパラドックスにより、出力長がnビットのハッシュ関数では2のn/2乗程度の計算量で衝突が見つかり得るため、SHA-256なら約2の128乗となる。与えられたハッシュ値から元のメッセージを探す難しさは、原像計算困難性という別の性質である。
出典:令和3年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問3(IPA)解説で登場
ハッシュ関数の性質の一つである衝突発見困難性に関する記述のうち,適切なものはどれか。
正解:衝突発見困難性とは,ハッシュ値が一致する二つのメッセージの発見に要する計算量が大きいことによる,発見の困難性のことである。
要点:衝突発見困難性は同じハッシュ値になる2文書を見つけにくい性質
ハッシュ関数に求められる性質は、原像計算困難性(ハッシュ値から元のメッセージを求めにくい)、第2原像計算困難性、衝突発見困難性の三つに整理される。このうち衝突発見困難性は、同じハッシュ値になる異なる2つのメッセージの組を見つけることが計算量的に難しい性質を指す。誕生日のパラドックスにより、ハッシュ長nビットの関数で衝突を見つける計算量はおおむね2のn/2乗であり、SHA-256なら約2の128乗となる。
出典:令和7年度 春期 情報処理安全確保支援士試験 午前Ⅱ 問3(IPA)解説で登場
SHA-512/256の説明はどれか。
正解:入力データにSHA-512に基づいたハッシュ関数を1回適用し、512ビットの値を出力した後、256ビットに切り詰めて出力する。
要点:SHA-512/256はSHA-512の出力を256ビットに切り詰めた方式
SHA-512/256はSHA-2ファミリの一種で、SHA-512の演算構造(64ビット語で処理)をそのまま用い、初期ハッシュ値だけを専用の値に差し替えて計算し、得られた512ビットの結果の先頭256ビットだけを出力する方式です。SHA-256を繰り返すものでも、出力を後から拡張するものでもありません。64ビットCPU上ではSHA-256より高速に256ビット出力が得られる利点があり、長さ拡張攻撃(ハッシュ値に続きを足し偽造する攻撃)への耐性も持ちます。
出典・参考
公式シラバスの3 技術要素 > 1. 情報セキュリティ > (8) 情報セキュリティに関する技術に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。