0Pricing
Cyber Security Academy · レッスン

公開鍵暗号:RSAと楕円曲線

公開鍵と秘密鍵のペア、RSAの概念的な仕組み、ECCの方が効率的な理由を理解します。

「公開鍵暗号:RSAと楕円曲線」はCoddyKit上の無料Cyber Security Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCyber Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cyber Security Academyコースには全4レッスンが含まれています。

非対称暗号とは

非対称暗号は、数学的に関連付けられた鍵のペアを使用します。鍵のペアは、自由に共有する公開鍵と、秘密に保持する秘密鍵で構成されます。公開鍵で暗号化されたデータは秘密鍵でしか復号できず、その逆も同様です。

RSA:基盤となる方式

RSA(Rivest–Shamir–Adleman、1977 年)は、大きな素数を因数分解する困難性に基づいています。安全性は鍵長に依存します。RSA-2048 が現在の最小値で、高い安全性が必要な用途では RSA-4096 を使用します。RSA は対称暗号より低速なため、大量データではなく鍵交換に使用されます。

RSA 鍵の生成

RSA 鍵の生成:

# Generate 4096-bit RSA key pair:
openssl genrsa -out private.pem 4096
openssl rsa -in private.pem -pubout -out public.pem

# View key details:
openssl rsa -in private.pem -text -noout

楕円曲線暗号(ECC)

ECC は、はるかに短い鍵長で RSA と同等の安全性を提供します。256 ビットの ECC 鍵は、3072 ビットの RSA 鍵に相当します。鍵が短いことで、処理が高速になり、帯域幅も少なくて済みます。これは TLS ハンドシェイクやモバイルデバイスで重要です。

一般的な楕円曲線

広く使用されている曲線:

  • P-256 (secp256r1) — NIST 標準で、TLS で使用されます
  • X25519 — Bernstein によって設計され、効率的な鍵交換が可能で、特許上の懸念がありません
  • Ed25519 — EdDSA 署名方式で、SSH 鍵に使用されます

ハイブリッド暗号化

実際には、非対称暗号と対称暗号を組み合わせます:

  1. 非対称暗号:受信者の公開鍵でランダムな対称鍵を暗号化します
  2. 対称暗号:その鍵で実際のデータを暗号化します

これが TLS の仕組みです。RSA/ECDH がセッション鍵をネゴシエートし、AES がセッションデータを暗号化します。

Diffie-Hellman 鍵交換

Diffie-Hellman(DH)を使うと、鍵そのものを交換せずに、安全でないチャネル上で 2 者が共有秘密を確立できます。この共有秘密を使って、対称セッション鍵を導出します。ECDH(楕円曲線 DH)は、TLS 1.3 で使用される最新の方式です。

前方秘匿性

完全前方秘匿性(PFS)では、各セッションで一時的な DH 鍵を使用し、使用後に破棄します。後からサーバーの秘密鍵が侵害されても、記録済みの過去のセッションを復号することはできません。TLS 1.3 では PFS が必須です。TLS 1.2 では ECDHE 暗号スイートを選択してください。

暗号化と署名における RSA

RSA には 2 つの用途があります:

  • 暗号化:公開鍵で暗号化 → 秘密鍵の保有者だけが復号できます
  • 署名:秘密鍵で署名 → 公開鍵を持つ誰もが真正性を検証できます

暗号化には OAEP パディングを、署名には PSS パディングを使用してください。PKCS#1 v1.5 は暗号化には決して使用しないでください。

耐量子暗号の脅威

Shor のアルゴリズムを実行する量子コンピューターによって、RSA と ECC が破られる可能性があります。NIST は耐量子暗号アルゴリズムの標準化を進めています(鍵交換用の CRYSTALS-Kyber、署名用の CRYSTALS-Dilithium)。移行には何年もかかるため、今すぐ暗号に依存するシステムの棚卸しを始めてください。

鍵管理

非対称鍵には安全な管理が必要です。信頼できるハードウェア上で生成し、パスフレーズまたは HSM で秘密鍵を保護し、定期的に鍵をローテーションし、CRL/OCSP を使用して侵害された鍵を失効させます。秘密鍵を失うと、暗号化されたすべてのデータにアクセスできなくなります。

クイックチェック:非対称暗号

鍵の交換には非対称暗号を使い、データの暗号化には対称暗号を使う、非対称暗号と対称暗号を組み合わせた方式はどれですか。

レッスンのまとめ

非対称暗号では、公開鍵と秘密鍵のペアを使用します。RSA は実績がありますが低速です。ECC は、より短い鍵で同等の安全性を提供します。ハイブリッド暗号化は、実用上の用途のために両者を組み合わせます。Diffie-Hellman は安全な鍵交換を可能にし、ECDHE は前方秘匿性を提供します。量子コンピューターの脅威が迫っているため、NIST による PQC の標準化に注目してください。

よくある質問

「公開鍵暗号:RSAと楕円曲線」レッスンは無料ですか?

はい。「公開鍵暗号:RSAと楕円曲線」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cyber Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cyber Security Academyコースには全4レッスンが含まれています。

「公開鍵暗号:RSAと楕円曲線」で何を学びますか?

公開鍵と秘密鍵のペア、RSAの概念的な仕組み、ECCの方が効率的な理由を理解します。 ブラウザで直接実行するハンズオンコードでCyber Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Cyber Security Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCyber Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「公開鍵暗号:RSAと楕円曲線」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCyber Security Academyレッスンでコードを書いて実行できますか?

はい。すべてのCyber Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 共通鍵暗号:AESとストリーム暗号
  2. 公開鍵暗号:RSAと楕円曲線
  3. ハッシュ関数:SHA-256とその先
  4. デジタル署名と証明書
← Cyber Security Academyに戻る