ITパスポート試験
はっしゅかんすう
ハッシュ関数
Hash Function
どんな長さのデータからも決まった長さの値を作り、元に戻せない計算です。
詳しい説明
1. 定義
ハッシュ関数とは、どんな長さのデータからも決まった長さの値を作り出し、その値から元のデータには戻せない計算のことです。作られた値をハッシュ値、またはメッセージダイジェストと呼びます。
2. 仕組みと内訳
この計算には、次の3つの性質が求められます。
- 決まった長さになる: 元が1文字でも1ギガバイトでも、出てくる値の長さは同じです
- 戻せない: ハッシュ値から元のデータを求めることが、現実的な時間ではできません
- 同じ値になりにくい: 違うデータから同じハッシュ値が出ることを見つけるのが、現実的な時間ではできません
さらに、元のデータが少しでも変われば、ハッシュ値は大きく変わります。この性質があるので、値を比べるだけで書き換えの有無が分かります。
代表的なものに SHA-256 があります。使いどころは主に3つです。
- 改ざんの検出: 配布したファイルのハッシュ値を公開し、受け取った側が確かめます
- デジタル署名: データそのものでなくハッシュ値に署名します
- パスワードの保管: 元に戻せない形で保管し、照合のときは入力値のハッシュ値と比べます
試験で問われること
ITパスポート試験
- 元に戻せない計算であることを理解する
- データが少し変わればハッシュ値が大きく変わることを理解する
- 改ざんの検出に使えることを説明できる
- 暗号技術を扱う設問で、暗号化との違いが問われます。暗号化は戻せる、ハッシュは戻せないという点が見分けどころです。
最終更新日: 2026/09/23