---
title: "ブロック暗号とストリーム暗号の違いとは？暗号方式を整理【SG試験】"
description: "ブロック暗号は固定長のまとまり、ストリーム暗号は連続するデータ単位で処理する方式として整理し、暗号化の処理単位に注目します。AESなどの代表例や用途の違いを手掛かりに、暗号方式を取り違える選択肢を判断します。"
last_modified_at: "2026-06-30"
canonical_url: "https://stemtazoo.github.io/sg/block-stream-cipher/"
section: "sg"
---

## まず結論
ブロック暗号は**一定のまとまりごとに暗号化する方式**、ストリーム暗号は**データを連続的に処理して暗号化する方式**です。  
SG試験では「処理の単位の違い」を判断させる問題で問われます。

---

## 直感的な説明
文章を処理するイメージで考えると分かりやすいです。

- ブロック暗号  
  → 文章を「単語ごと」に区切って処理する  
- ストリーム暗号  
  → 文章を「1文字ずつ流れるように」処理する  

👉  
**まとめて処理するか、流しながら処理するかの違い**です。

---

## 定義・仕組み
### ブロック暗号
- データを一定の長さ（ブロック）に分割
- 1ブロックずつ暗号化する

例：
- AES（現在主流）

特徴：
- 安定した処理
- 暗号モード（CBC・CTRなど）と組み合わせて使う

---

### ストリーム暗号
- データをビットやバイト単位で逐次処理
- 鍵とデータを組み合わせて暗号化（例：XOR）

特徴：
- リアルタイム処理に強い
- 連続データの暗号化に向いている

---

👉 SG試験では  
**「まとまり」＝ブロック暗号  
「逐次処理」＝ストリーム暗号**  
と覚えるのが重要です。

---

## どんな場面で使う？
### ブロック暗号
- ファイル暗号化
- データベース暗号化
- HTTPS通信（内部で使用）

👉  
**まとまったデータを安全に処理したいとき**

---

### ストリーム暗号
- 音声通信・動画配信
- リアルタイム通信

👉  
**遅延なく連続データを処理したいとき**

---

### 使うと誤解しやすい場面
- 「ストリーム暗号は単独で使われる」  
→ 実際はブロック暗号と組み合わせて使うケースも多い

---

## よくある誤解・混同
SG試験ではここが狙われます。

### ❌ ブロック暗号は一度に全部処理する
→ ⭕ **一定サイズごとに分割して処理する**

---

### ❌ ストリーム暗号はデータをまとめて処理する
→ ⭕ **1ビット／1バイト単位で逐次処理する**

---

### ❌ ストリーム暗号の方が常に安全
→ ⭕  
用途によって使い分けるもので優劣ではない

---

### ❌ AESはストリーム暗号
→ ⭕ **AESはブロック暗号**

---

👉 SG試験では  
**「処理単位で判断」するのが最重要です。**

---

## 確認問題（SG試験対策）

ブロック暗号とストリーム暗号の説明として適切なものはどれか。

- ア. ブロック暗号は固定長単位で処理し、動作モードで利用形態が変わる。
- イ. ストリーム暗号は必ず公開鍵を使う。
- ウ. ブロック暗号は復号できない。
- エ. どちらもハッシュ関数の一種である。

<details markdown="1">
<summary>▶ クリックして答えと解説を見る（ここを開く）</summary>

**正解：ア**

### 解説
- ア：適切。
- イ：不適切。
- ウ：不適切。
- エ：不適切。

👉 判断ポイント  
用語の役割・対象・実施タイミングを分けて判断する。

</details>

## まとめ（試験直前用）
- ブロック暗号：**一定サイズごとに処理**
- ストリーム暗号：**連続的に逐次処理**
- AESはブロック暗号
- 用途で使い分ける（優劣ではない）

👉 判断基準  
**まとまり処理 → ブロック暗号  
逐次処理 → ストリーム暗号**
