‹

ハッシュ関数

ハッシュ関数は,入力したデータから決まった長さの値(ハッシュ値)を作る関数です。 試験では2つの顔で出てきます。1つはセキュリティで使う暗号学的ハッシュ関数(改ざんの検出,ディジタル署名,パスワードの保存), もう1つはデータを速く探すためのハッシュ表です。

ひとことで

ハッシュ関数には,次の性質があります。

暗号学的ハッシュ関数に求められる3つの性質

セキュリティに使うハッシュ関数は,次の3つが「計算量的に困難」であることを求められます。

性質何が難しいか
原像計算困難性(一方向性)ハッシュ値が与えられたとき,そのハッシュ値になるメッセージを見つけること
第2原像計算困難性あるメッセージが与えられたとき,それと同じハッシュ値になる別のメッセージを見つけること
衝突発見困難性同じハッシュ値になる2つのメッセージを(どれでもよいので)見つけること

違いは「何が先に決まっているか」です。原像はハッシュ値が,第2原像は片方のメッセージが決まっていて, 衝突は何も決まっていない(2つとも自由に選べる)ので,最も見つけやすい攻撃に耐えることを求める性質です。

代表的なアルゴリズムは SHA-2 系(SHA-256 など)です。SHA-1 は出力が160ビットで, 衝突を見つける攻撃が現実的になったため,いまは新しい用途に使いません。

ハッシュ表

データ構造のハッシュ表は,キーをハッシュ関数に通して格納する場所を計算で決める方法です。 衝突(違うキーが同じ場所になること)が起きなければ,データの数がいくら増えても1回の計算で場所が分かるので, 探索の時間はデータの数によらず一定です。

試験でよく使われるのは,キーを表の大きさ n で割った余りを場所にする h(x) = x mod n です。 2つのキー a と b が衝突するのは余りが同じとき,つまりa − b が n の倍数のときです。

試験での問われ方

当サイトが収録している午前の問題のうち,ハッシュ関数・ハッシュ値・メッセージダイジェスト・SHA のどれかが出てくるのは59問です。 情報処理安全確保支援士の午前Ⅱと午前Ⅰで大半を占めます。型ごとに数えると次のとおりです。

出題された過去問(59問)

リンク先の年度ページで,問題と解説を読めます。

午前Ⅰ(高度試験 共通)(20問)
  • 令和6年度 秋期 問3自然数をキーとするデータを,ハッシュ表を用いて管理する。キー x のハッシュ関数 h(x) を …
  • 令和5年度 秋期 問12パスワードクラック手法の一種である,レインボーテーブル攻撃に該当するものはどれか。
  • 令和5年度 春期 問6ハッシュ表の理論的な探索時間を示すグラフはどれか。ここで,複数のデータが同じハッシュ値になること…
  • 令和5年度 春期 問13デジタルフォレンジックスの手順は収集,検査,分析及び報告から成る。このとき,デジタルフォレンジッ…
  • 令和4年度 秋期 問3自然数をキーとするデータを,ハッシュ表を用いて管理する。キー x のハッシュ関数 h(x) を …
  • 令和3年度 春期 問12暗号学的ハッシュ関数における原像計算困難性,つまり一方向性の性質はどれか。
  • 平成31年度 春期 問13ディジタルフォレンジックスの手順を収集,検査,分析,報告に分けたとき,そのいずれかに該当するもの…
  • 平成30年度 秋期 問9自然数を除数とした剰余を返すハッシュ関数がある。値がそれぞれ571,1168,1566である三つ…
  • 平成27年度 秋期 問3キーが小文字のアルファベット1文字(a,b,…,z のいずれか)であるデータを,大きさが10のハ…
  • 平成27年度 秋期 問12公開鍵暗号方式の暗号アルゴリズムはどれか。
  • 平成27年度 春期 問3自然数をキーとするデータを,ハッシュ表を用いて管理する。キー x のハッシュ関数 h(x) を …
  • 平成26年度 秋期 問12SMTP-AUTH(SMTP Service Extension for Authenticat…
  • 平成26年度 春期 問3記憶領域を管理するアルゴリズムのうち,ベストフィット方式の特徴として,適切なものはどれか。
  • 平成25年度 秋期 問2自然数をキーとするデータを,ハッシュ表を用いて管理する。キー x のハッシュ関数 h(x) を …
  • 平成25年度 秋期 問13ディジタル署名において,発信者がメッセージのハッシュ値からディジタル署名を生成するのに使う鍵はど…
  • 平成24年度 春期 問14ディジタル署名などに用いるハッシュ関数の特徴はどれか。
  • 平成23年度 秋期 問3自然数をキーとするデータを,ハッシュ表を用いて管理する。キー x のハッシュ関数 h(x) を …
  • 平成23年度 秋期 問14ディジタル署名を生成するときに,発信者がメッセージのハッシュ値をディジタル署名に変換するのに使う…
  • 平成23年度 特別試験 問3キーが小文字のアルファベット1文字(a,b,…,z のいずれか)であるデータを,大きさが10のハ…
  • 平成21年度 春期 問3自然数をキーとするデータを,ハッシュ表を用いて管理する。キー x のハッシュ関数 h(x) を …
情報処理安全確保支援士 午前Ⅱ(27問)
ネットワークスペシャリスト 午前Ⅱ(8問)
プロジェクトマネージャ 午前Ⅱ(3問)
ITストラテジスト 午前Ⅱ(1問)
  • 令和6年度 春期 問23OCSP クライアントから OCSP レスポンダーへのリクエストとそのレスポンスに関する記述のう…

関連する用語

ディジタル署名(デジタル署名)