暗号化の基礎

暗号化 あんごうか

暗号復号共通鍵暗号公開鍵暗号TLS
暗号化について教えて

簡単に言うとこんな感じ!

データを「鍵がないと読めないスクランブル状態」に変換することだよ! 手紙を封筒に入れるんじゃなくて、鍵を持っている人しか読めない「謎の暗号文」に書き換えちゃうイメージ。盗み見されても意味不明な文字列にしか見えないから安心なんだ!


暗号化とは

**暗号化(Encryption)とは、データを特定のアルゴリズム(計算手順)と鍵(Key)を使って、第三者が読み取れない形式に変換するプロセスのことです。変換されたデータを暗号文(Ciphertext)と呼び、元のデータは平文(Plaintext)と呼びます。正しい鍵を持つ相手だけが暗号文を元の平文に戻す復号(Decryption)**を行えます。

インターネット上でパスワードやクレジットカード番号、社内の機密文書などをやり取りする際、データはさまざまな中継地点を経由します。そのどこかで盗み見されたとしても、暗号化されていれば情報は守られます。現代のビジネスでオンラインバンキング・クラウドストレージ・テレワークが当たり前になった今、暗号化はあらゆるITシステムの「最後の砦」とも言える技術です。

暗号化の強度は、アルゴリズムの設計と鍵長(Key Length)に大きく依存します。鍵長が長いほど総当たり攻撃(ブルートフォース攻撃)への耐性が高まります。現在はAES-256RSA-2048以上が一般的な推奨水準です。


暗号化の2大方式

暗号化には大きく分けて「共通鍵暗号方式」と「公開鍵暗号方式」の2種類があります。それぞれ特性が異なるため、現実のシステムでは組み合わせて使われます。

項目共通鍵暗号方式公開鍵暗号方式
別名対称鍵暗号 / Symmetric非対称鍵暗号 / Asymmetric
鍵の本数1本(送受信者で共有)2本(公開鍵+秘密鍵)
代表アルゴリズムAES、DES、3DESRSA、ECDSA、EdDSA
処理速度速い ✅遅い ⚠️
鍵の配送問題あり(事前に共有が必要)なし(公開鍵は公開してよい)
主な用途大量データの暗号化鍵交換デジタル署名

🔑 覚え方:「共通は1本・公開は2本」

共通鍵は「合鍵を1本コピーして渡す」イメージ。公開鍵は「誰でも投入できるポスト(公開鍵)と、自分だけ開けられる鍵(秘密鍵)」のイメージで覚えると混乱しにくいです。

ハイブリッド暗号:いいとこ取りの実践

TLSなど実際の通信では、ハイブリッド暗号が使われます。「公開鍵暗号で共通鍵を安全に交換し、以降の通信は速い共通鍵暗号で行う」という2段構えです。

①公開鍵暗号で「共通鍵」を安全に受け渡し
  [クライアント] ──公開鍵で暗号化──▶ [サーバー]
                ◀──秘密鍵で復号──

②以降は共通鍵暗号で高速通信
  [クライアント] ══共通鍵で暗号化══ [サーバー]

歴史と背景

  • 古代〜近代:カエサル暗号(文字をずらす)やエニグマ(第二次大戦の機械式暗号機)など、暗号は戦争・外交の道具として発展
  • 1977年:IBMが開発した DES(Data Encryption Standard) が米国政府標準に。56ビット鍵の共通鍵暗号
  • 1977年:Rivest・Shamir・Adleman の3名が RSA 公開鍵暗号を発表。鍵配送問題を革命的に解決
  • 1990年代:インターネット普及に伴い、SSL(後のTLS)が登場。Webでの暗号化通信が一般化
  • 2001年:DESの後継として AES(Advanced Encryption Standard) が米国標準に採用。現在も主流
  • 2010年代〜:スマートフォン・クラウド時代にあわせ、楕円曲線暗号(ECC)が普及。同じ安全強度でも鍵が短く、モバイルに最適
  • 2020年代〜:量子コンピュータの発展を見越した耐量子暗号(Post-Quantum Cryptography) の標準化が進行中(NISTが2024年に最初の標準を公開)

共通鍵 vs 公開鍵:仕組みの対比

暗号化方式の比較:共通鍵 vs 公開鍵 共通鍵暗号方式 送信者 受信者 🔑 共通の鍵(1本) 暗号化 🔒 暗号文を送信 同じ鍵で復号 📄 元のデータ ⚡ 速い ❗ 鍵の共有が課題 代表:AES 用途:ファイル暗号化・通信本文 公開鍵暗号方式 送信者 受信者 🔓 公開鍵(公開) 🔑 秘密鍵(受信者のみ) 公開鍵で暗号化 🔒 暗号文を送信 秘密鍵でのみ復号可 📄 元のデータ 🔐 安全 🐢 低速 代表:RSA・ECC 用途:鍵交換・デジタル署名

暗号化が使われている身近な場面

場面使われている暗号化見分け方
Webサイト閲覧TLS(AES + 公開鍵)URLが https:// で始まる
Wi-Fi接続WPA3(AES-128/256)Wi-Fi設定の「セキュリティ」欄
スマホのロック画面AES-256(端末ストレージ)iPhoneはデフォルトで有効
メール(機密)S/MIME または PGPメールクライアントの鍵設定
クラウドストレージAES-256(保存時)サービスの「セキュリティ仕様」欄
VPN通信AES-256-GCM などVPNアプリのプロトコル設定

関連する規格・RFC

規格・RFC番号内容
RFC 5246TLS 1.2 — Webの暗号化通信の標準(現在はTLS 1.3に移行推奨)
RFC 8446TLS 1.3 — 現行のWebセキュリティ通信標準
RFC 3447PKCS #1 — RSA暗号実装仕様
RFC 5652CMS(Cryptographic Message Syntax) — S/MIMEなどで使われる暗号メッセージ形式
RFC 4880OpenPGP — メール暗号化・署名の標準

関連用語

  • TLS — 暗号化を使ってWebの通信を保護するプロトコル(https:// の正体)
  • デジタル署名 — 公開鍵暗号を使って「送信者が本物か」を証明する仕組み
  • ハッシュ関数 — データを固定長の文字列に変換する一方向関数。暗号化とは異なり復号不可
  • PKI(公開鍵基盤) — 公開鍵の正しさを証明書で保証する仕組み全体
  • VPN — 暗号化を用いてインターネット上に仮想専用回線を作る技術
  • SSL証明書 — WebサーバーとTLSで使われる公開鍵証明書
  • AES — 現代の共通鍵暗号の代表格。政府・企業で広く採用
  • ゼロ知識証明 — 「知っている」ことを内容を明かさずに証明する暗号技術