ハッシュ関数とは?ハッシュかんすう
ハッシュ関数とは、任意の長さの入力データから、決まった長さの値(ハッシュ値・メッセージダイジェスト)を作り出す一方向の関数。同じ入力からは必ず同じ値が得られるが、値から元のデータを求めることは事実上できない。1文字変えるだけで値が大きく変わるため改ざん検知に使え、ディジタル署名やパスワードの保存にも用いられる。代表的なものにSHA-256がある。
最終更新:2026-10-06
この語が出る過去問を解く →背景
大きなファイルが途中で変わっていないことを確かめたくても、原本と全体を突き合わせるのは現実的でない。また利用者のパスワードをそのまま保管すれば、保管先が破られた瞬間に全員分が漏れてしまう。「中身は復元できないが、同じ中身なら必ず同じ値になる」短い値を作れれば、この二つを一度に解決できる。ハッシュ関数はそのために設計され、電子署名や電子契約が成り立つ土台になっている。
具体例
IPAなどが配布するソフトウェアの配布ページには、ファイルとあわせてSHA-256のハッシュ値が掲載されている。ダウンロード後に手元で計算した値が掲載値と一致すれば、途中ですり替えや破損が起きていないことを確認できる。社内で大容量のファイルを受け渡すときにも同じ確認方法が使える。
試験での引っ掛け
ハッシュ化は暗号化ではなく一方向の変換なので、ハッシュ値から元のデータを復号することはできない。「暗号化したから後で戻せる」と考えると誤答する。またハッシュ値が一致することは同一性の確認であって、そのファイルが安全である保証ではない。改ざん者が本文と掲載値の両方を差し替えられる場所では意味を成さない。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成29年度 秋期 情報セキュリティマネジメント試験 午前 問18(IPA)
パスワードを用いて利用者を認証する方法のうち,適切なものはどれか。
正解:パスワードをハッシュ値に変換して登録しておき,認証時に入力されたパスワードをハッシュ関数で変換して比較する。
要点:パスワードはハッシュ値で保存し入力値のハッシュと比較する
パスワードは復元できない形で保存するのが原則であり、登録時にハッシュ値へ変換して保管する。認証時は入力されたパスワードを同じハッシュ関数で変換し、保存済みのハッシュ値と一致するかを比べる。
出典:平成29年度 春期 情報セキュリティマネジメント試験 午前 問20(IPA)
ディジタル署名などに用いるハッシュ関数の特徴はどれか。
正解:メッセージダイジェストからメッセージを復元することは困難である。
要点:ハッシュは固定長・一方向・衝突困難という性質をもつ
ハッシュ関数は任意長のデータから固定長のメッセージダイジェストを生成する一方向性の関数で、ダイジェストから元のメッセージを復元することは計算量的に困難である。加えて、同じダイジェストになる別のメッセージを見つけにくい衝突困難性も求められ、この性質がディジタル署名の改ざん検知を支えている。
出典:令和元年度 秋期 情報セキュリティマネジメント試験 午前 問12(IPA)
セキュアハッシュ関数SHA-256を用いてファイルA及びファイルBのハッシュ値を算出すると、どちらも全く同じ次に示すハッシュ値n(16進数で示すと64桁)となっ…
正解:ファイルAの内容とファイルBの内容は同じである。
要点:ハッシュ値が一致すれば内容は同一、出力長は入力長によらず一定
ハッシュ関数は同じ入力に対して常に同じ値を返し、わずかでも内容が違えば全く異なる値になる。SHA-256の出力は256ビットあり、異なる内容が偶然同じ値になる確率は事実上無視できる。したがって2つのファイルのハッシュ値が完全に一致していれば、内容が同一であると考えるのが妥当である。
出典・参考
公式シラバスの1 技術要素 > 1 情報セキュリティ > 情報セキュリティ技術(暗号技術)に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。