---
title: "レインボーテーブルとは？パスワード解析の仕組みを理解【SG試験】"
description: "レインボーテーブルは、事前計算したハッシュ値の対応表でパスワード解析を高速化する攻撃手法です。ソルトとの関係、ブルートフォース攻撃との違い、SG試験での判断基準を整理します。 選択肢で問われる目的・対象・責任範囲を押さえ、似た用語や対策との違いを判断できるようにします。"
last_modified_at: "2026-05-17"
canonical_url: "https://stemtazoo.github.io/sg/rainbow-table/"
section: "sg"
---

## まず結論
レインボーテーブルは、**あらかじめ計算したハッシュと元のパスワードの対応表を使って、パスワードを高速に解析する攻撃手法**です。  
SG試験では「パスワード解析への対策」を判断させる問題で問われます。

---

## 直感的な説明
「答え一覧表を持っているテスト」です。

通常：
- ハッシュからパスワードを推測する → 時間がかかる  

レインボーテーブル：
- あらかじめ作った「答え表」を使う  
→ 一瞬で分かる  

つまり、レインボーテーブルは**事前準備で解析を高速化する攻撃**です。

---

## 定義・仕組み
レインボーテーブルは、

- パスワード候補
- そのハッシュ値

をあらかじめ大量に計算して保存したものです。

---

### 攻撃の流れ
1. 流出したハッシュ値を入手  
2. レインボーテーブルと照合  
3. 一致するパスワードを特定  

総当たり（ブルートフォース）を、その場で行うのではなく、事前計算によって高速化する攻撃と考えると分かりやすいです。

---

## どんな場面で使う？
### 攻撃される場面
- パスワードデータベースの漏えい
- ハッシュのみ保存しているシステム

現場では、**パスワード漏えい時のリスクとして重要**です。

---

### 試験での判断場面
- 暗号を直接解読する  
→ 実際は「照合」

- 「事前に計算した表」「ハッシュ値との照合」
→ レインボーテーブル

- 「その場で全ての候補を試す」
→ ブルートフォース攻撃

- 「同じパスワードでもハッシュ値を変える」
→ ソルト

---

## よくある誤解・混同
SG試験でよく出ます。

### レインボーテーブルはその場で計算するものではない

レインボーテーブルは、**事前に計算された表を使う**点が特徴です。

---

### ハッシュ化していれば常に安全とは限らない

ソルトなしでハッシュ化している場合、レインボーテーブルで解析される可能性があります。

---

### ソルトはレインボーテーブル対策になる

ソルトを付けると、同じパスワードでも異なるハッシュ値になりやすく、事前計算された表を使いにくくできます。

---

### ブルートフォース攻撃とは同じではない

- ブルートフォース：その場で総当たり  
- レインボーテーブル：**事前計算で高速化**

---

SG試験では、**「レインボーテーブル対策 → ソルト」**で切り分けられるようにします。

---

## まとめ（試験直前用）
- レインボーテーブルは**事前計算による高速解析**
- ハッシュ値からパスワードを特定できる
- ソルトで対策可能
- ブルートフォースとの違いに注意

判断基準は、**事前計算 → レインボーテーブル、 その場で試す → ブルートフォース、対策 → ソルト**です。
