本文へ移動

ITパスポート試験

はっしゅかんすう

ハッシュ関数

Hash Function

どんな長さのデータからも決まった長さの値を作り、元に戻せない計算です。

詳しい説明

1. 定義

ハッシュ関数とは、どんな長さのデータからも決まった長さの値を作り出し、その値から元のデータには戻せない計算のことです。作られた値をハッシュ値、またはメッセージダイジェストと呼びます。

2. 仕組みと内訳

この計算には、次の3つの性質が求められます。

  • 決まった長さになる: 元が1文字でも1ギガバイトでも、出てくる値の長さは同じです
  • 戻せない: ハッシュ値から元のデータを求めることが、現実的な時間ではできません
  • 同じ値になりにくい: 違うデータから同じハッシュ値が出ることを見つけるのが、現実的な時間ではできません

さらに、元のデータが少しでも変われば、ハッシュ値は大きく変わります。この性質があるので、値を比べるだけで書き換えの有無が分かります。

代表的なものに SHA-256 があります。使いどころは主に3つです。

  • 改ざんの検出: 配布したファイルのハッシュ値を公開し、受け取った側が確かめます
  • デジタル署名: データそのものでなくハッシュ値に署名します
  • パスワードの保管: 元に戻せない形で保管し、照合のときは入力値のハッシュ値と比べます

試験で問われること

ITパスポート試験

  • 元に戻せない計算であることを理解する
  • データが少し変わればハッシュ値が大きく変わることを理解する
  • 改ざんの検出に使えることを説明できる
  • 暗号技術を扱う設問で、暗号化との違いが問われます。暗号化は戻せる、ハッシュは戻せないという点が見分けどころです。

最終更新日: 2026/09/23