Curve25519

暗号学において、Curve25519とは128ビットのを提供する楕円曲線であり、楕円曲線ディフィー・ヘルマン鍵共有 (ECDH) で使用するために設計されている。最も処理の速い楕円曲線暗号 (ECC) の楕円曲線での1つであり、これをカバーする特許は知られていない。リファレンス実装はパブリックドメインであるA state-of-the-art Diffie-Hellman function by Daniel J. Bernstein"My curve25519 library computes the Curve25519 function at very high speed. The library is in the public domain. "。

オリジナルの論文では、Curve25519はディフィー・ヘルマン鍵共有 (DH) 関数の名前として定義していた。ダニエル・バーンスタインがCurve25519をその基本となる楕円曲線の名前で使用することを提案して以来、DH関数についてはX25519と呼ばれている。

 数学的性質 
この曲線は素数 におけるモンゴメリ曲線 を使用している。また、基点 も使用している。この基点は位数 を持つ。

このプロトコルは圧縮された楕円上の点 (X座標のみ) を使用しているので、XZ座標のみを使用して、ECDH用のを効率的に使用することができる。

Curve25519は実装時における潜在的な欠陥の可能性を回避するように構築されている。設計上、タイミング攻撃の影響を受けず、有効な公開鍵として32バイトの文字列を受け入れる。検証は不要である。

この曲線は、Ed25519で使用されていると双有理同値である。

 歴史 
Curve25519はダニエル・バーンスタインによって2005年にリリースされたが、にアメリカ国家安全保障局 (NSA) が使用するバックドアが存在する可能性があることが判明した2013年以降にこの曲線への関心が高まった。直接関係はないが、アメリカ国立標準技術研究所 (NIST) のP楕円曲線https://safecurves.cr.yp.to/のシード値に、NSAが公開鍵の因数分解をする上で有利となる値を選択したという疑惑が持たれた。

それ以来、Curve25519はP-256の事実上の代替手段となり、幅広い用途で使用されている。2014年以降、OpenSSHのデフォルトはCurve25519ベースのECDHである。

2017年、NISTはCurve25519とCurve448がSP 800-186に追加されることを発表した。これによって合衆国政府によって使用される承認された楕円曲線として指定されることになる。どちらの楕円曲線もRFC 7748で説明されている。2019年、FIPS 186-5の2019年の草稿ではデジタル署名としてEd25519の利用が、SP 800-186の草稿ではCurve25519の利用がそれぞれ追加されている。

2018年、ドメインキー・アイデンティファイド・メール (DKIM) の使用はこのアルゴリズムによる署名ができるように修正された。

2018年に公開されたTransport Layer Security (TLS) 1.3では、X25519、Ed25519、X448、Ed448の利用が推奨されている。

 ライブラリ 


 libssh
 NaCl
 GnuTLS
  (formerly PolarSSL)
 wolfSSL
 Botan
 SChannel
 libsodium
 OpenSSL since version 1.1.0
 LibreSSL
 NaCl for Tcl — a port to the Tcl language.
 NSS since version 3.28


 プロトコル 
 OMEMO - XMPP (Jabber)のために提案された拡張
 Secure Shell
 Signalプロトコル
 Tox
 Zcash
 Transport Layer Security

 アプリケーション 



 DNSCrypt
 DNSCurve
 Dropbear
 Facebook Messenger 
 プラグイン経由の
 GNUnet
 GnuPG

 I2P
 IPFShttps://github.com/ipfs/go-ipfs/blob/master/core/commands/keystore.go#L68
 iOS
 Monero
 OpenBSD
 OpenSSH

 PuTTY
 Signal
 Silent Phone
 SmartFTP
 SSHJ

 TinySSH
 TinyTERM
 Tor
 Viber
 WhatsApp
 Wire
 WireGuard

 脚注 
 注釈 

 出典 

 関連項目 
 Curve448
 Ed25519

 外部リンク 


Category:楕円曲線暗号
7748
Category:パブリックドメインソフトウェア