Ed25519 署名ツール
Curve25519を使用した高性能EdDSAデジタル署名
鍵生成
新しいEd25519鍵ペアを生成(32バイト秘密鍵 + 32バイト公開鍵)
公開鍵を導出
既存の秘密鍵から公開鍵を導出
Ed25519について
Ed25519は、Curve25519を使用したエドワーズ曲線デジタル署名アルゴリズム(EdDSA)に基づく、現代の高性能デジタル署名アルゴリズムです。Daniel J. Bernsteinによって設計され、RSAやECDSAなどの従来のアルゴリズムよりも大幅に高速でありながら、強力なセキュリティを提供します。
主な特徴
- 高性能:Ed25519は署名と検証の両方で非常に高速で、高スループットアプリケーションに最適です。
- 小さな鍵:256ビット鍵はRSA-3072と同等のセキュリティを提供しますが、鍵サイズははるかに小さくなります(32バイト対384バイト)。
- 決定論的署名:ECDSAとは異なり、Ed25519は決定論的署名を生成し、乱数生成の不備によるリスクを排除します。
- サイドチャネル攻撃への耐性:アルゴリズムはタイミング攻撃やその他のサイドチャネル脆弱性に対して耐性があるように設計されています。
- 秘密ノンス不要:Ed25519は署名に秘密ノンスを必要とせず、実装を簡素化しセキュリティを向上させます。
技術仕様
- 曲線:ツイステッドエドワーズ曲線(Curve25519)
- 秘密鍵サイズ:32バイト(256ビット)
- 公開鍵サイズ:32バイト(256ビット)
- 署名サイズ:64バイト(512ビット)
- セキュリティレベル:約128ビットセキュリティ(RSA-3072相当)
- 標準:RFC 8032(エドワーズ曲線デジタル署名アルゴリズム)
一般的な使用例
- SSH認証:Ed25519はそのセキュリティとパフォーマンスからSSH鍵の推奨アルゴリズムです。
- TLS/SSL証明書:モダンなTLS 1.3は証明書署名にEd25519をサポートしています。
- 暗号通貨:Solana、Cardanoなどのブロックチェーンプラットフォームでトランザクション署名に使用されています。
- ソフトウェア署名:コード署名、パッケージ署名(minisign)、ファームウェア検証。
- API認証:安全なAPIリクエストの署名と検証。
セキュリティベストプラクティス
- 秘密鍵の保護:秘密鍵を共有したり公開したりしないでください。安全に保管し、重要なアプリケーションにはハードウェアセキュリティモジュール(HSM)を使用してください。
- 公開鍵の検証:中間者攻撃を防ぐため、常に信頼できるチャネルを通じて公開鍵を検証してください。
- クライアント側処理:このツールは完全にブラウザで実行されます。秘密鍵がデバイスから外に出ることはありません。
- 鍵のローテーション:長期間使用するアプリケーションでは、潜在的な鍵の漏洩の影響を制限するために定期的に鍵をローテーションしてください。
Ed25519と他のアルゴリズムの比較
| 機能 | Ed25519 | RSA-2048 | ECDSA P-256 |
|---|---|---|---|
| 鍵サイズ | 32バイト | 256バイト | 32バイト |
| 署名サイズ | 64バイト | 256バイト | 64バイト |
| 署名速度 | 非常に速い | 遅い | 速い |
| 検証速度 | 非常に速い | 速い | 普通 |
| 決定論的 | はい | はい | いいえ(ノンスが必要) |