✨ そもそも「暗号」とは何か
「暗号(Cryptography)」とは、情報を第三者に読まれないよう変換し、意図した相手だけに読める形に戻せる技術の総称です。
暗号には3つの目的があります:
🙈
機密性
第三者に内容を読まれないようにする
✅
完全性
途中で改ざんされていないことを確認する
🪪
認証
通信相手が本物かを確認する
🔸 基本用語:平文・暗号文・暗号化・復号・鍵
| 用語 | 意味 | 例 |
|---|---|---|
| 平文(Plaintext) | 暗号化する前の元データ | 「おかね を おくります」 |
| 暗号文(Ciphertext) | 暗号化後の変換済みデータ | 「x#9fG%2!qz」 |
| 暗号化(Encryption) | 平文→暗号文に変換すること | メッセージを鍵でロックする |
| 復号(Decryption) | 暗号文→平文に戻すこと | 鍵でロックを解除する |
| 鍵(Key) | 暗号化・復号に使うパラメータ | ドアの鍵にあたるもの |
🔸 共通鍵暗号(対称暗号):同じ鍵でロック&解錠
送信者と受信者が同じ鍵を使って暗号化・復号する方式です。
📦 南京錠の例え
アリスとボブが事前に同じ鍵(コピー)を持っている。アリスがメッセージを箱に入れて鍵でロックして送る。ボブは同じ鍵でロックを開けて読む。
- メリット:処理が高速(GB単位のデータも素早く暗号化可能)
- デメリット:「事前に鍵を安全に共有する方法」という問題が残る(鍵配送問題)
- 現代の代表例:AES(Advanced Encryption Standard)——現在の世界標準
🔸 公開鍵暗号(非対称暗号):錠前と鍵を分離
暗号化(ロック)と復号(解錠)に異なる鍵ペア(公開鍵と秘密鍵)を使う方式です。1976年のDiffie-Hellmanの発明から始まった革命的な考え方です。
🔓 公開鍵(Public Key)
- 世界中に公開してよい
- 暗号化・署名検証に使う
- 誰でも持てる「錠前」
🔑 秘密鍵(Private Key)
- 絶対に他人に渡してはいけない
- 復号・電子署名に使う
- 自分だけが持つ「鍵」
- メリット:鍵を事前共有せずに安全な通信を確立できる
- デメリット:処理が共通鍵暗号の約1000倍遅い
- 現代の代表例:RSA・楕円曲線暗号(ECDSA)
- 実際の使い方:TLSでは「公開鍵暗号で鍵を交換→AESで本通信」というハイブリッド方式
🔸 ハッシュ関数:「指紋」を取る一方向変換
ハッシュ関数は暗号化とは異なり、復号できない一方向変換です。データの「デジタル指紋」を作ります。
- 用途1:改ざん検知——ファイルのハッシュ値を比較することで、ダウンロード後に改ざんされていないか確認
- 用途2:パスワード保存——パスワードをハッシュに変換して保存(元のパスワードを保存しない)
- 用途3:電子署名——メッセージのハッシュ値に秘密鍵で署名
- 用途4:ブロックチェーン——各ブロックが前のブロックのハッシュを含み、改ざんを数学的に不可能にする
- 現代の代表例:SHA-256(ビットコインの採掘にも使用)
🔸 電子署名:「本人が書いた」ことを証明する
電子署名は「秘密鍵で署名→公開鍵で検証」の仕組みで、デジタル文書の送信者が本人であることと、内容が改ざんされていないことを証明します。
- ハンコや手書きサインのデジタル版
- 暗号資産のトランザクション(送金)も電子署名で本人確認
- ソフトウェアの配布(Windowsの更新ファイル等)も電子署名で真正性を確認
📌 暗号技術の全体マップ
| 技術 | 方向性 | 主な用途 | 代表例 |
|---|---|---|---|
| 共通鍵暗号 | 双方向(復号可能) | ファイル/通信の暗号化 | AES |
| 公開鍵暗号 | 双方向(鍵ペアで) | 鍵交換・少量データ暗号化 | RSA・ECDH |
| ハッシュ関数 | 一方向(復元不可) | 改ざん検知・パスワード | SHA-256 |
| 電子署名 | 秘密鍵署名→公開鍵検証 | 本人確認・改ざん検知 | RSA-PSS・ECDSA |

もふねこ
この4つの技術が組み合わさって、私たちが使うHTTPS・LINE・ビットコインの安全性を実現しているんだよ!全体像が見えてきたら、各詳細ページで深掘りしてみてね🐾