← チャプター一覧
第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通りしかなく総当たりで解ける
文字が消えてしまう
アルファベットしか使えない
🎉

第9章クリア!

シーザー暗号からTLSまで、
暗号の進化と仕組みを学んだ!

📚 今日学んだこと

  • シーザー暗号は文字をずらすだけ(弱い!)
  • 公開鍵暗号は「誰でも暗号化、自分だけ復号」
  • RSAは素因数分解の難しさを利用する
  • TLSハンドシェイクで安全な通信路を確立
  • HTTPSはTLSでHTTPを包んだもの