Aller au contenu principal

Curve25519


Curve25519


暗号学において、Curve25519とは128ビットの暗号強度を提供する楕円曲線であり、楕円曲線ディフィー・ヘルマン鍵共有 (ECDH) で使用するために設計されている。最も処理の速い楕円曲線暗号 (ECC) の楕円曲線での1つであり、これをカバーする特許は知られていない。リファレンス実装はパブリックドメインである。

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

数学的性質

この曲線は素数 2255 − 19におけるモンゴメリ曲線 y2 = x3 + 486662x2 + xを使用している。また、基点 x = 9も使用している。この基点は位数 ( 2 252 + 27742317777372353535851937790883648493 ) {\displaystyle (2^{252}+27742317777372353535851937790883648493)} を持つ。

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

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

この曲線は、Ed25519で使用されているツイストエドワーズ曲線と双有理同値である。

歴史

Curve25519はダニエル・バーンスタインによって2005年にリリースされたが、Dual_EC_DRBGにアメリカ国家安全保障局 (NSA) が使用するバックドアが存在する可能性があることが判明した2013年以降にこの曲線への関心が高まった。直接関係はないが、アメリカ国立標準技術研究所 (NIST) のP楕円曲線のシード値に、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の利用が推奨されている。

ライブラリ

プロトコル

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

アプリケーション

脚注

注釈

出典

関連項目

  • Curve448
  • Ed25519

外部リンク

  • 公式ウェブサイト

Text submitted to CC-BY-SA license. Source: Curve25519 by Wikipedia (Historical)



PEUGEOT 205