【あんごうか】

暗号化 とは?

💡 データを「鍵がないと読めない」形に変換する
📌 このページのポイント
暗号化と復号の仕組み 共通鍵暗号(AESなど) 平文 Hello 暗号化 🔒 Encrypt 共通鍵 暗号文 x9#kQ... 復号 🔓 Decrypt 共通鍵 同じ鍵を共有 平文 Hello 公開鍵暗号(RSAなど) 平文 Hello 暗号化 🔒 Encrypt 公開鍵 暗号文 x9#kQ... 復号 🔓 Decrypt 秘密鍵 公開鍵で暗号化 → 秘密鍵でのみ復号可能 平文 Hello 共通鍵は高速だが鍵配送が課題 / 公開鍵は鍵配送が容易だが低速
共通鍵暗号と公開鍵暗号の暗号化・復号フロー
ひよこ ひよこ

共通鍵と公開鍵って何が違うの?

ペンギン先生 ペンギン先生

共通鍵暗号AES等)は暗号化と復号に同じ鍵を使う。高速だけど、鍵の受け渡しが問題。公開鍵暗号RSA等)は暗号化用の公開鍵と復号用の秘密鍵が別。鍵の受け渡しが安全だけど処理が重い。HTTPS通信では公開鍵で共通鍵を安全に交換してから、共通鍵で高速に通信するハイブリッド方式を使うよ

ひよこ ひよこ

HTTPSの暗号化はどう動くの?

ペンギン先生 ペンギン先生

ブラウザサーバーに接続、②サーバーSSL証明書(公開鍵含む)を送信、③ブラウザが証明書を検証、④共通鍵を生成して公開鍵で暗号化して送信、⑤以降は共通鍵で暗号化通信。これがTLSハンドシェイクだよ。Let's Encryptで無料のSSL証明書が取得できるから、今やHTTPSは標準だね

ひよこ ひよこ

ハッシュ化と暗号化の違いは?

ペンギン先生 ペンギン先生

暗号化は「元に戻せる(復号可能)」、ハッシュ化は「元に戻せない(一方向)」。パスワードはハッシュ化して保存する(復号できないから漏洩しても安全)。通信データは暗号化する(受信者が復号して読む必要がある)。パスワードを「暗号化」して保存するのはアンチパターンだよ

ひよこ ひよこ

量子コンピュータで暗号が破られる?

ペンギン先生 ペンギン先生

RSAや楕円曲線暗号は、量子コンピュータのShorアルゴリズムで理論上破れるよ。ただしそれに必要な量子コンピュータはまだ実現していない。NISTポスト量子暗号の標準化を進めていて、CRYSTALS-KyberやCRYSTALS-Dilithiumが候補。「今は安全だけど将来に備える」段階だね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「暗号化」って出てきたら「データを鍵なしでは読めない形に変換する技術」と思えればだいたいOK!
📖 おまけ:英語の意味
「Encryption」 = 暗号化
💬 En(〜にする)+ Crypt(暗号)。復号(Decryption)が逆の操作だよ
← 用語集にもどる