← チャプター一覧
第9章 · 暗号とHTTPSの仕組み
🔐 なぜネット通信は安全なの?
ネットショッピングでクレジットカードを入力しても大丈夫なのはなぜ?暗号化がデータを守っている。古代から現代まで、暗号の進化を体験しよう!
URLバーを見てみよう
🔒
https://example.com
↑ 🔒マーク = 通信が暗号化されている
😈
HTTP(暗号なし)
盗み見される可能性あり!
→
😊
HTTPS(TLS暗号化)
解読不可能!安全✅
第9章 · Step 1/4
🏛️ Step 1:シーザー暗号 — 暗号の始まり
古代ローマのカエサル(シーザー)が使った暗号。アルファベットを決まった数だけずらして暗号化する。シンプルだけど歴史上最初の暗号!
+3
平文(暗号化前)
⬇️ 3文字ずらす
暗号文
💡 シーザー暗号は26通りしかパターンがない。全部試せば解ける(総当たり攻撃)。
現代の暗号は 2^256 通り以上あって、宇宙の原子の数より多い!
第9章 · Step 2/4
🗝️ Step 2:公開鍵暗号(RSA)
シーザー暗号の問題:鍵を共有するのが危険。「鍵を送る途中で盗まれたら?」
RSA公開鍵暗号は「暗号化は誰でもできる、復号できるのは自分だけ」という魔法のような仕組み!
🌐 公開鍵
誰でも使える・公開OK
e=65537
n=3233
暗号化のみ可能
🔐
🔑 秘密鍵
本人だけが持つ
d=2753
n=3233
復号のみ可能
🎯 仕組みのたとえ
📮 南京錠(公開鍵)を世界中に配る
📦 誰でもその南京錠をかけて荷物を送れる
🔑 鍵(秘密鍵)は自分だけが持っている
✅ 開けられるのは自分だけ!
💡 RSAの安全性は「大きな数の素因数分解が難しい」という数学的事実に基づく。
例:3233 = 61 × 53(わかりやすい例)。実際は数百桁の数を使う!
第9章 · Step 3/4
🤝 Step 3:TLSで安全な通信を確立する
HTTPSはTLS(Transport Layer Security)というプロトコルで保護される。接続のたびに「ハンドシェイク」で鍵を交換してから通信開始!
👋Client Hello — ブラウザ:「TLS 1.3が使えます」
対応している暗号スイート・乱数を送る
🏷️Server Hello — サーバー:「では AES-256 を使おう」
証明書(公開鍵入り)と乱数を送る
✅証明書検証 — ブラウザ:「本物のサーバーを確認!」
認証局(CA)の署名を確認する
🔑鍵交換 — セッション鍵を安全に共有
Diffie-Hellman 鍵交換で共通鍵を生成
🔒暗号化通信開始! — AES-256で全データを暗号化
これ以降のHTTP通信はすべて暗号化される
第9章 · クイズ
📝 理解度チェック!
Q1. シーザー暗号の弱点は? 🤔
計算が遅い
パターンが26通りしかなく総当たりで解ける
文字が消えてしまう
アルファベットしか使えない
Q2. 公開鍵暗号の「公開鍵」でできることは? 🗝️
暗号化のみ
復号のみ
暗号化も復号も
何もできない
🎉
第9章クリア!
シーザー暗号からTLSまで、
暗号の進化と仕組みを学んだ!
📚 今日学んだこと
- シーザー暗号は文字をずらすだけ(弱い!)
- 公開鍵暗号は「誰でも暗号化、自分だけ復号」
- RSAは素因数分解の難しさを利用する
- TLSハンドシェイクで安全な通信路を確立
- HTTPSはTLSでHTTPを包んだもの