暗号の1つ目のタイプが共通鍵暗号。施錠も開錠も、同じ鍵を使います。
概要 — まず全体をつかむ
詳細 — 1段階ずつ追う
これは何?
家の鍵を想像してください。1本の鍵で、閉めることも開けることもできる。共通鍵暗号も同じで、送る人と受け取る人が、同じ鍵を持ちます。

- 暗号化 — 平文+鍵 → 暗号文
- 復号 — 暗号文+同じ鍵 → 平文
アニメーション『共通鍵暗号(同じ鍵)』を開く
代表は AES。処理が速く、大量のデータの暗号化に向きます。
この部分をもっと深く(中級)
共通鍵暗号には、処理の単位で2つの型があります。
- ブロック暗号 — 固定長(AESは128ビット)ずつ処理する。鍵に応じて中身をかき混ぜる
- ストリーム暗号 — ビット列に鍵ストリームをXORしていく(ChaCha20など)
- 鍵長 — AES-128/256。長いほど総当たりに強い
どちらも「同じ鍵で暗号化・復号できる」点は共通で、速いのが強みです。
強みと弱み
- 強み — 速い(通信の本体や、保存データの暗号化に使う)
- 弱み — 鍵の受け渡し。同じ鍵を、相手にどうやって安全に渡すか?(盗聴されている経路では渡せない)
この「鍵配送問題」を解くのが、次の公開鍵暗号です。実際は、公開鍵で共通鍵を渡してから共通鍵で通信する、と組み合わせます。
この部分をもっと深く(中級)
ブロック暗号は、ブロックをどう連結するか(利用モード)で安全性が大きく変わります。
- モードの存在 — 同じ鍵でも、モードが悪いと規則性が漏れる(ECBは非推奨)
- IV/nonce — 毎回変わる初期値で暗号文を撹拌し、同じ平文が同じ暗号文にならないようにする
- 認証付き暗号(AEAD) — GCMなどは暗号化と改ざん検知を一体で行う(推奨)
- 鍵導出(KDF) — パスワードから鍵を作るときは専用の関数を使う
(各モードの詳しい仕組みは上級で扱います)
アニメーション『ブロック暗号のモード(ECB vs CBC/CTR)』を開く
⚠️ 気をつける
- 鍵配送問題 — 鍵を安全に共有する手段が別に要る
- 鍵が漏れたら終わり — 1本の鍵に全てが懸かる
- 鍵の使い回し — 用途ごとに分け、定期的に更新する
この部分をもっと深く(中級)
- 鍵配送問題 — 同じ鍵をどう安全に渡すか。実際は公開鍵と組み合わせて解く
- IV/nonceの使い回し — 同じ鍵で再利用すると規則が漏れ、平文が復元されうる
- 認証なし暗号 — 改ざん検知が無いと暗号文を細工される(AEADで防ぐ)
- 鍵管理 — 保管・配送・ローテーションが結局は最重要
理解度チェック
そのまま解けます(成績は保存されません)。無料アカウントを作ると、学習の記録と進捗の山登りが始まります。
問1. 共通鍵暗号の代表的なアルゴリズムは?
問2. 共通鍵暗号の特徴は?
問3. 共通鍵暗号の「復号」で使う鍵はどれ?
問4. 共通鍵暗号の弱点(課題)として正しいのは?
問5. 実際の通信で、共通鍵をどう安全に渡すのが一般的?
問6. 共通鍵が漏れるとどうなる?
問7. 共通鍵暗号の「同じ鍵をどう安全に相手へ渡すか」という課題を何と呼ぶ?
問8. 現在標準的に使われる共通鍵暗号アルゴリズムを英字3文字で答えてください。