---
title: "メッセージダイジェストとは？ハッシュ値との関係を整理【SG試験】"
description: "メッセージダイジェストは、ハッシュ関数によって入力データから作られる固定長の要約値です。SHA-1やSHA-256との関係、暗号化ではなく改ざん検知に使う点、デジタル署名やMACとの違いをSG試験向けに整理します。科目Aの用語理解と科目Bのケース判断で迷いやすい表現も確認します。"
last_modified_at: "2026-05-06"
canonical_url: "https://stemtazoo.github.io/sg/message-digest/"
section: "sg"
---

## まず結論
メッセージダイジェストとは、**ハッシュ関数によって作られる固定長の要約値**です。  
SG試験では、**暗号化ではなく、改ざん検知や電子署名で使われるハッシュ値**として押さえるのがポイントです。

たとえば、SHA-1では入力データから160ビットのメッセージダイジェストを作ります。  
SHA-256では256ビットのメッセージダイジェストを作ります。

つまり、メッセージダイジェストは特別な別技術というより、**ハッシュ関数の出力結果**と考えると分かりやすいです。

## 直感的な説明
メッセージダイジェストは、データの「要約メモ」や「指紋」のようなものです。

元の文章やファイル全体を毎回比べるのは大変です。  
そこで、データから短い要約値を作っておきます。

同じデータからは、同じメッセージダイジェストが作られます。  
少しでもデータが変わると、メッセージダイジェストも変わります。

そのため、次のように確認できます。

- 送信前のメッセージダイジェスト
- 受信後に計算したメッセージダイジェスト

この2つが一致すれば、データが変わっていない可能性が高いと判断できます。

ここで大事なのは、**メッセージダイジェストから元データを復元するわけではない**ことです。

## 定義・仕組み
メッセージダイジェストは、ハッシュ関数に入力データを与えたときに得られる固定長の値です。

| 観点 | 内容 |
|---|---|
| 入力 | メッセージ、ファイル、文字列など |
| 処理 | ハッシュ関数にかける |
| 出力 | メッセージダイジェスト、ハッシュ値、要約値 |
| 主な目的 | 改ざん検知、電子署名、データ確認 |
| 元に戻せるか | 原則として戻せない |

用語としては、次の言葉がかなり近い意味で使われます。

| 用語 | 意味 |
|---|---|
| ハッシュ値 | ハッシュ関数の出力値 |
| メッセージダイジェスト | メッセージを要約した値 |
| 要約値 | データを短く表した値 |
| フィンガープリント | データの指紋のように識別に使う値 |

SG試験では、これらを完全に別物として覚えるより、**ハッシュ関数の出力を表す言葉**としてまとめて理解すると楽です。

## どんな場面で使う？
メッセージダイジェストは、主に「データが変わっていないか」を確認したい場面で使われます。

| 場面 | 使い方 |
|---|---|
| ファイル確認 | 公開された値と計算した値を比較する |
| 改ざん検知 | データ変更の有無を確認する |
| 電子署名 | 署名対象データの要約値を作る |
| パスワード保存 | パスワードそのものを保存しない工夫に使う |

たとえば、電子署名では、文書全体に直接署名するのではなく、文書から作ったメッセージダイジェストに対して署名する形で使われます。

これにより、文書が少しでも変更されるとメッセージダイジェストが変わるため、改ざんを検知しやすくなります。

ただし、パスワード保存では単純なハッシュだけでは不十分な場合があります。  
実務では、ソルトやストレッチングなどを組み合わせて安全性を高めます。

## よくある誤解・混同
### 誤解1：メッセージダイジェストは暗号文である
メッセージダイジェストは暗号文ではありません。

暗号文は、復号によって元の平文に戻すことを前提にしています。  
一方、メッセージダイジェストはハッシュ関数の出力であり、原則として元データには戻せません。

| 用語 | 目的 | 元に戻せるか |
|---|---|---|
| 暗号文 | 内容を隠す | 復号できる |
| メッセージダイジェスト | 内容の一致を確認する | 原則戻せない |

「復号する」という表現が出てきたら、メッセージダイジェストの説明としては不自然です。

### 誤解2：メッセージダイジェストだけで本人確認ができる
メッセージダイジェストだけでは、誰が作ったデータかまでは確認できません。

メッセージダイジェストで分かるのは、主に「データが変わっていないか」です。  
本人性を確認するには、電子署名や認証の仕組みと組み合わせる必要があります。

### 誤解3：SHA-1とメッセージダイジェストは同じ意味である
SHA-1はハッシュ関数の名前です。  
メッセージダイジェストは、そのハッシュ関数から出力される値です。

| 用語 | 位置づけ |
|---|---|
| SHA-1 | ハッシュ関数 |
| SHA-256 | ハッシュ関数 |
| メッセージダイジェスト | ハッシュ関数の出力 |
| ハッシュ値 | ハッシュ関数の出力 |

試験では、SHA-1を「メッセージダイジェストを作るハッシュ関数」と整理すると分かりやすいです。

## 試験での切り分けポイント
メッセージダイジェストで迷ったら、次の順に確認します。

### 1. 固定長の要約値か
「固定長」「要約値」「ハッシュ値」という言葉が出たら、メッセージダイジェストの可能性が高いです。

### 2. 元に戻す説明になっていないか
メッセージダイジェストは、元データに戻すためのものではありません。

「復号」「平文に戻す」「鍵で戻す」という説明なら、暗号化の話です。

### 3. 目的が改ざん検知か
「改ざんを検知する」「内容が同じか確認する」という目的なら、ハッシュやメッセージダイジェストの話です。

一方、「盗聴されても読めないようにする」という目的なら、暗号化の話です。

## 確認問題
メッセージダイジェストの説明として、最も適切なものはどれか。

ア. ハッシュ関数によって入力データから作られる固定長の要約値である。  
イ. 共通鍵を使って暗号文を平文に戻すための鍵である。  
ウ. 通信経路上のデータを暗号化するプロトコルである。  
エ. 利用者を識別するために発行されるアカウント名である。

<details>
<summary>回答と解説</summary>

正解は、**ア**です。

メッセージダイジェストは、ハッシュ関数によって作られる固定長の要約値です。  
改ざん検知や電子署名などで使われます。

イは復号や鍵の説明です。  
ウはTLSやIPsecなどの通信保護の説明に近いです。  
エは利用者IDの説明です。

</details>

## まとめ（試験直前用）
メッセージダイジェストは、**ハッシュ関数の出力として得られる固定長の要約値**です。

試験直前は、次の3点だけ押さえましょう。

- **メッセージダイジェスト＝ハッシュ値・要約値**
- **目的は改ざん検知や電子署名での確認**
- **暗号文ではないので、復号して元に戻すものではない**

SHA-1やSHA-256は、メッセージダイジェストを作るハッシュ関数です。  
「固定長の要約値」「改ざん検知」「元に戻せない」という言葉で判断すると、選択肢を切りやすくなります。
