0Pricing
Cryptology Academy · レッスン

標準曲線:P-256、Curve25519、secp256k1

NIST曲線、BernsteinのCurve25519、Bitcoinのsecp256k1を比較します。

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

ようこそ

楕円曲線は目的に応じて使い分けられます。このレッスンでは、特に重要な3つの曲線、NIST P-256、BernsteinのCurve25519、Bitcoinのsecp256k1を比較します。

NIST P-256 (secp256r1)

NIST P-256は1999年に標準化されました。a=-3のWeierstrass形式の曲線を使用しており、点の2倍算が高速です。128ビットセキュリティを提供し、米国政府(FIPS)で必須とされています。TLS、JWT、コード署名で広く使われています。

P-256をめぐる論争

P-256の曲線パラメータは、説明のないシード値を使って選ばれました。その手順は、NSAのバックドアがあったDual_EC_DRBGに似ています。バックドアの存在は証明されていませんが、多くの人がNIST曲線に不信感を抱いています。

Curve25519 (X25519 / Ed25519)

Bernsteinは2005年に、パラメータ選定の過程を完全に透明かつ検証可能にしたCurve25519を設計しました。Montgomery形式では、y²=x³+486662x²+x mod (2^255-19) です。すべてのパラメータは恣意的ではなく、効率性に基づいて正当化されています。

Curve25519の特性

128ビットセキュリティを提供します。余因子は8ですが、X25519の実装で処理されます。多くのプラットフォームで自然に定時間処理され、エッジケースとなる点もありません。IETFはRFC 7748およびRFC 8032で採用しています。WireGuard、Signal、SSHでは専用に使用されています。

Ed25519:Edwards形式

Ed25519は、Curve25519をねじれEdwards形式で表した署名アルゴリズムです。決定論的で、ランダムなnonceを必要としません。設計上、定時間で動作します。署名は64バイト、鍵は32バイトです。署名方式の中でも最速の検証を実現します。

secp256k1:Bitcoinの曲線

secp256k1は、256ビット素体上のKoblitz曲線で、y²=x³+7(a=0, b=7)です。Satoshi Nakamotoが2008年にBitcoin用として選択しました。Ethereumでも使われています。Koblitz曲線には、NIST曲線より効率面で有利な点があります。

secp256k1とP-256の比較

どちらも256ビット曲線で、セキュリティレベルは約128ビットです。secp256k1は a=0 により効率的な自己準同型を利用でき、スカラー倍算を高速化できます。P-256は a=-3 により2倍算を高速化できます。secp256k1は署名が、P-256は検証が高速です。

Curve448

Curve448 (X448)は224ビットセキュリティを提供し、RSA-8192に相当します。Goldilocks素数 2^448-2^224-1 を使用します。P-256を上回る長期的なセキュリティが必要なアプリケーション向けです。SignalではX25519と併用するバックアップとして使用されています。

適切な曲線の選択

TLS/汎用用途:P-256(FIPS)またはX25519(性能と信頼性)。 SSH:Ed25519(最新のクライアントの大半)。 Bitcoin/Ethereum:secp256k1(選択肢はありません)。 高いセキュリティ(20年以上):P-384またはX448。

曲線パラメータの検証

P-256については、NIST FIPS 186-5に生成シードを含むすべてのパラメータが記載されています。Curve25519については、Bernsteinの論文で各定数を選んだ理由が説明されています。パラメータ選定の透明性は、重要なセキュリティ基準です。

確認問題

Bitcoinで使用され、Satoshi Nakamotoが選択した曲線はどれですか?

まとめ

標準曲線を比較しました。次は、セキュリティレベル、性能、鍵サイズの観点からECCとRSAのトレードオフを分析します。

よくある質問

「標準曲線:P-256、Curve25519、secp256k1」レッスンは無料ですか?

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

「標準曲線:P-256、Curve25519、secp256k1」で何を学びますか?

NIST曲線、BernsteinのCurve25519、Bitcoinのsecp256k1を比較します。 ブラウザで直接実行するハンズオンコードでCryptology Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

「標準曲線:P-256、Curve25519、secp256k1」レッスンにはどのくらい時間がかかりますか?

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

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

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

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

  1. 楕円曲線の群法則
  2. スカラー倍算とECDLP
  3. 標準曲線:P-256、Curve25519、secp256k1
  4. ECCとRSA:安全性と性能のトレードオフ
← Cryptology Academyに戻る