ロゴ

暗号化技術

セキュリティ

暗号化は大きく共通鍵と公開鍵の2方式!それぞれの長所短所を理解しよう!

1

暗号化技術

簡単にいうと

暗号化は大きく共通鍵と公開鍵の2方式!それぞれの長所短所を理解しよう!

① 共通鍵暗号方式

共通鍵暗号方式(対称鍵暗号とも呼ばれる)は、暗号化と復号に同一の鍵(秘密鍵)を使用する方式です。送信者と受信者が事前に同じ鍵を共有しておく必要があります。

処理速度が高速なため大量データの暗号化に適していますが、「どうやって安全に鍵を相手に渡すか」という鍵配送問題が最大の課題です。通信相手が増えるほど管理すべき鍵の数も増大し、nn人の間で通信する場合はn(n1)2\frac{n(n-1)}{2}個の鍵が必要になります。

代表的なアルゴリズムは以下のとおりです。

  • DES(Data Encryption Standard): 56ビットの鍵長を持つ旧来の標準規格。現在はコンピュータの処理能力向上により安全性が不十分とされています
  • 3DES(Triple DES): DESを3回繰り返すことで安全性を高めた方式
  • AES(Advanced Encryption Standard): DESに替わる現在の標準規格。鍵長は128/192/256ビットから選択可能で、高い安全性と処理効率を両立しています

② 公開鍵暗号方式

公開鍵暗号方式(非対称鍵暗号とも呼ばれる)は、暗号化と復号に異なる2つの鍵を使用する方式です。一方を公開鍵として誰でも取得できる状態にし、もう一方を秘密鍵として本人だけが保持します。

暗号化通信の手順は次のとおりです。

1. 受信者があらかじめ公開鍵を公開しておく

2. 送信者は受信者の公開鍵を使ってデータを暗号化する

3. 受信者は自分の秘密鍵を使って暗号文を復号する

公開鍵で暗号化したデータは、対応する秘密鍵でしか復号できないため、鍵配送問題が解消されます。ただし処理速度は共通鍵暗号に比べて低速です。

代表的なアルゴリズムはRSAで、大きな素数の積の素因数分解が困難であるという数学的性質を利用しています。

③ 共通鍵 vs 公開鍵 比較表

項目共通鍵暗号方式公開鍵暗号方式
使用する鍵暗号化・復号とも同じ鍵暗号化=公開鍵、復号=秘密鍵
処理速度高速低速
鍵の管理通信相手ごとに異なる鍵が必要(管理が煩雑)公開鍵は自由に配布可能(管理が容易)
鍵の数(n人)n(n1)/2n(n-1)/22n2n個(各人が公開鍵+秘密鍵を保持)
主な課題鍵配送問題処理速度の遅さ
代表アルゴリズムDES、3DES、AESRSA

④ セッション鍵暗号方式(ハイブリッド暗号)

セッション鍵暗号方式は、共通鍵暗号と公開鍵暗号の長所を組み合わせた方式です。実際のインターネット通信(SSL/TLSなど)で広く使われています。

動作の流れは以下のとおりです。

1. 送信者が通信ごとにランダムなセッション鍵(使い捨ての共通鍵)を生成する

2. 実際のデータ(本文)はこのセッション鍵で暗号化する(共通鍵暗号で高速処理)

3. セッション鍵自体を受信者の公開鍵で暗号化して送信する(公開鍵暗号で鍵を安全に送る)

4. 受信者は自分の秘密鍵でセッション鍵を復号し、そのセッション鍵で本文を復号する

この方式では、大量のデータは高速な共通鍵暗号で処理しつつ、共通鍵の受け渡しだけを安全な公開鍵暗号で行います。セッション鍵は通信ごとに使い捨てにするため、万が一1つのセッション鍵が漏洩しても他の通信には影響しません。

この性質を前方秘匿性(Forward Secrecy / PFS: Perfect Forward Secrecy)と呼びます。たとえサーバの秘密鍵が将来的に漏洩しても、過去の通信に使用されたセッション鍵は既に破棄されているため、過去の暗号文を復号することはできません。

共通鍵暗号と公開鍵暗号の鍵数の計算も重要です。たとえば5人が互いに通信する場合を考えてみましょう。

共通鍵暗号: 5×42=10\frac{5 \times 4}{2} = 10個の鍵が必要

(AとB、AとC、AとD、AとE、BとC、BとD、BとE、CとD、CとE、DとE)

公開鍵暗号: 2×5=102 \times 5 = 10個の鍵が必要

(各人が公開鍵1つ+秘密鍵1つを保持)

人数が少ないうちは同じですが、100人になると共通鍵は100×992=4950\frac{100 \times 99}{2} = 4950個、公開鍵は2×100=2002 \times 100 = 200個と、管理コストに大きな差が出ます。

具体例

セッション鍵暗号方式の仕組みを、郵便の例え話で理解してみましょう。

あなた(送信者)が友人(受信者)に秘密の手紙を送りたいとします。

ステップ1: あなたはまず小さな南京錠つきの箱(セッション鍵)を用意します。この箱の鍵はあなたと友人の2人が持つことになります。

ステップ2: 手紙(本文データ)を南京錠つきの箱に入れて施錠します(共通鍵暗号化)。箱が頑丈なので中身は安全です。

ステップ3: 問題は「南京錠の鍵をどう渡すか」です。ここで友人が公開している大きな金庫(公開鍵)を使います。南京錠の鍵を金庫に入れて施錠し、箱と一緒に送ります。

ステップ4: 友人は自分だけが持つ金庫の暗証番号(秘密鍵)で金庫を開け、南京錠の鍵を取り出し、箱を開けて手紙を読みます。

このように「本文は高速な箱(共通鍵暗号)で保護」し、「箱の鍵は安全な金庫(公開鍵暗号)で渡す」という二段構えがセッション鍵暗号方式の核心です。

同じ鍵で暗号化・復号する共通鍵暗号方式のフロー図

共通鍵暗号方式

受信者の公開鍵で暗号化し秘密鍵で復号する公開鍵暗号方式のフロー図

公開鍵暗号方式

試験のポイント

  • 要は「共通鍵=同じ鍵(速いが鍵共有が課題)、公開鍵=異なる鍵(受信者の公開鍵で暗号化→秘密鍵で復号)
  • セッション鍵=両方のいいとこどり」
  • 鍵の数の計算(共通鍵=n(n1)/2n(n-1)/2、公開鍵=2n2n)も頻出
  • AES=現在の共通鍵標準、RSA=公開鍵の代表

独学で診断士合格を目指すなら

過去問演習・AI添削・テキストPDFまで

すべて揃ったプレミアムプランで合格を掴む!

予備校代の1/10以下で、独学の不安をまるごと解決

  • 📝1次試験 過去問演習(全7科目・年度別)無制限プレミアム限定
  • 🤖2次試験 AI添削(事例I〜IV・無制限)最適なフィードバックで実力アッププレミアム限定
  • 📄科目別テキストPDFダウンロード。印刷して好きな使い方で学習できるプレミアム限定
  • 🔖ブックマーク機能で苦手分野・何度も確認したい部分を管理プレミアム限定
  • 📊学習記録・成績管理で自分の進捗を可視化プレミアム限定

プレミアムプラン

¥9,800(税込)

買い切り

自動更新なし / 1年間有効

決済は Stripe(PCI-DSS準拠)で安全に処理されます。カード情報は当サービスに保存されません。