共通鍵暗号方式(common key cryptography)
- テクノロジ系
- セキュリティ
- 基本情報
- 応用情報
- 重要度 ★★★★☆
暗号化と復号に同じ鍵を使う方式。処理は速いが、その鍵を相手へ安全に渡す手段が要る。
もう少し詳しい説明
共通鍵暗号方式は、かける鍵と開ける鍵が同じ暗号のやり方です。
家の鍵を思い浮かべてください。玄関を施錠した鍵と、開ける鍵は同じものです。その鍵を持っている人だけが中に入れます。データの暗号化も同じで、ある鍵で文章をぐちゃぐちゃにし、同じ鍵でもとに戻します。
途中で通信を盗み見られても、鍵を持っていない人にはぐちゃぐちゃの文字列にしか見えません。だから中身は守られます。
弱点は「鍵をどう渡すか」
ここで困ったことが起きます。受け取る側にも同じ鍵が必要なのです。
では、その鍵をどうやって相手に届けるのでしょうか。メールで送れば、その途中で盗まれるかもしれません。盗まれた鍵で暗号文も開けられてしまうので、暗号にした意味がなくなります。かといって、遠くの相手に手渡しするわけにもいきません。
この「同じ鍵をどうやって安全に届けるか」を鍵配送問題と呼びます。共通鍵暗号方式の最大の弱点で、試験でもここが問われます。
鍵の本数も増えていく
もう1つの弱点は、鍵の本数です。
鍵は相手ごとに別のものを用意しなければなりません。同じ鍵を全員に配ってしまうと、AさんとBさんのやり取りをCさんも読めてしまうからです。
n人が互いにやり取りするなら、必要な鍵は n × (n − 1) ÷ 2 本です。10人なら45本、100人なら4,950本。人数が増えると管理しきれなくなります。
それでも使われている理由
弱点を2つ挙げましたが、共通鍵暗号方式はいまも広く使われています。理由は速いからです。
公開鍵暗号方式に比べて計算が単純で、大きなデータでも短い時間で処理できます。そこで実際のインターネット通信では、鍵の受け渡しだけを公開鍵暗号方式で行い、本文のやり取りは共通鍵暗号方式で行うという組合せが使われます。これをハイブリッド暗号方式と呼びます。弱点だけを他方式で補い、速さは活かす、という考え方です。
代表的な規格は AES です。以前は DES が使われていましたが、鍵の長さが足りず安全性を保てなくなったため、AES に置き換わりました。
試験ではこう出る
科目A(旧・午前)のセキュリティ分野で頻出です。多いのは、公開鍵暗号方式と並べて「どちらの説明か」を選ばせる形と、n人が通信するときに必要な鍵の本数を計算させる形です。応用情報では、ハイブリッド暗号方式の中でどちらの方式がどの役目を負っているかまで問われます。
「かける鍵と開ける鍵が同じ」「だから渡し方に困る」「でも速い」。この3つを押さえておけば、大半の問題は選択肢を読んだ時点で絞り込めます。鍵の本数 n × (n − 1) ÷ 2 は、n人から2人を選ぶ組合せの数だと分かっていれば覚え直す必要がありません。
関連する用語
- 公開鍵暗号方式
- 暗号化と復号で別の鍵を使う方式。鍵を渡す苦労がないかわりに処理が遅い
- ハイブリッド暗号方式
- 鍵の受け渡しだけ公開鍵で行い、本文は共通鍵で送る方式。両方の長所を取る
- 鍵配送問題
- 同じ鍵をどうやって安全に相手へ届けるかという問題。この方式の弱点そのもの
- AES
- いま広く使われている共通鍵暗号の規格。鍵が短くなったDESの後継
- デジタル署名
- 本人が作ったことと、改ざんされていないことを示す仕組み
ミニクイズ
共通鍵暗号方式の特徴として、最も適切なものはどれか。
正解は 4番:公開鍵暗号方式より処理が速いが、通信相手ごとに鍵を用意し安全に渡す必要がある
共通鍵暗号方式は、かける鍵と開ける鍵が同じです。計算が単純なぶん公開鍵方式より処理は速いのですが、その鍵を相手にも渡さなければならず、渡す途中で盗まれれば暗号にした意味がなくなります。これが鍵配送問題です。また鍵は相手ごとに分ける必要があるので、n人が互いに通信するなら n×(n−1)÷2 本必要で、人数が増えると急に膨らみます。暗号化の鍵を公開してよいのは公開鍵暗号方式のほうで、共通鍵では公開した時点で誰でも復号できてしまいます。
最終更新:2026-09-15