Skip to content

搞英语 → 看世界

翻译英文优质信息和名人推特

Menu
  • 首页
  • 作者列表
  • 独立博客
  • 专业媒体
  • 名人推特
  • 邮件列表
  • 关于本站
Menu

Weierstrass、Montgomery 和 Edwards 椭圆曲线形式

Posted on 2025-08-14

所有椭圆曲线都可以写成 Weierstrass 形式

y² = x³ + ax + b

除少数例外[1]。

蒙哥马利椭圆曲线的形式为

由y² = x³ + A x² + x

扭曲的 Edwards 曲线具有如下形式

a x² + y² = 1 + d x² y²

每条蒙哥马利曲线都有一个扭曲的爱德华兹形式,反之亦然,但并非所有曲线都有蒙哥马利或扭曲的爱德华兹形式。

转换系数

下面是用于在各种形式之间转换系数的 Python 代码。请参阅[2]。

 def Montgomery_to_Twisted_Edwards(B,A,p):     # By^2 = x^3 + Ax^2 + x     a = ((A + 2)*pow(B, -1, p)) % p     d = ((A - 2)*pow(B, -1, p)) % p               返回 a, d  def Twisted_Edwards_to_Montgomery(a,d,p):     # ax^2 + y^2 = 1 + dx^2 y^2     x = pow(a - d, -1, p)     B = (4*x) % p     A = (2*(a + d)*x) % p     返回 B、A  def Montgomery_to_Weierstrass(B,A,p):     # By^2 = x^3 + Ax^2 + x     a = (B**2 * (1 - A**2*pow(3, -1, p))) % p     b = (B**3 * (2*A**3 - 9*A) * pow(27, -1, p)) % p     返回 a, b 

微小的 Jubjub 曲线

下面的代码证实了上一篇文章中给出的Tiny Jubjub 曲线(TJJ)的形式是一致的。

 # Twisted Edwards 定义 a、d、p = 3、8、13  B,A = Twisted_Edwards_to_Montgomery(a,d,p) 断言(B == 7) 断言(A == 6)  wa,b = Montgomery_to_Weierstrass(B,A) 断言(wa == 8) 断言(b == 8) 

宝贝朱布朱布

我查阅了 Baby Jubjub 曲线,发现了一些不相容的定义。大家都同意这个域是整数模素数

p = 21888242871839275222246405745257275088548364400416034343698204186575808495617

蒙哥马利曲线的形式是

y² = x³ + 168698x² + x

但这些来源在曲线的扭曲 Edwards 形式上有所不同。上面的代码显示,正确的扭曲 Edwards 形式是 [2] 中给出的:

168700 x ² + y ² = 1 + 168696 x ² y ²

现在,对于给定的蒙哥马利形式,可以找到多个爱德华兹形式,因此替代形式不一定是错误的。但是,当我将两者都转换为魏尔斯特拉斯形式并计算j不变量时,结果不同,因此曲线不等价。

相关文章

  • Curve25519 和 Ed25519
  • 门罗币的椭圆曲线
  • 爱德华兹曲线的加法

[1] 只要底层域不具有特征 2 或 3,所有椭圆曲线都可以写成魏尔斯特拉斯形式。密码学主要对特征是巨大素数(而不是 2 或 3)的域感兴趣。

[2] Marta Bellés-Muñoz、Barry Whitehat、Jordi Baylina、Vanesa Daza 和 Jose Luis Muñoz-Tapia。零知识电路的扭曲爱德华兹椭圆曲线。数学,9(23),2021。

魏尔斯特拉斯、蒙哥马利和爱德华兹的椭圆曲线形式首先出现在约翰·D·库克 (John D. Cook)的文章中。

原文: https://www.johndcook.com/blog/2025/08/13/weierstrass-montgomery-edwards/

本站文章系自动翻译,站长会周期检查,如果有不当内容,请点此留言,非常感谢。
  • Abhinav
  • Abigail Pain
  • Adam Fortuna
  • Alberto Gallego
  • Alex Wlchan
  • Answer.AI
  • Arne Bahlo
  • Ben Carlson
  • Ben Kuhn
  • Bert Hubert
  • Big Technology
  • Bits about Money
  • Brian Krebs
  • ByteByteGo
  • Chip Huyen
  • Chips and Cheese
  • Christopher Butler
  • Colin Percival
  • Cool Infographics
  • Dan Sinker
  • David Walsh
  • Dmitry Dolzhenko
  • Dustin Curtis
  • eighty twenty
  • Elad Gil
  • Ellie Huxtable
  • Ethan Dalool
  • Ethan Marcotte
  • Exponential View
  • FAIL Blog
  • Founder Weekly
  • Geoffrey Huntley
  • Geoffrey Litt
  • Greg Mankiw
  • HeardThat Blog
  • Henrique Dias
  • Herman Martinus
  • Hypercritical
  • IEEE Spectrum
  • Investment Talk
  • Jaz
  • Jeff Geerling
  • Jonas Hietala
  • Josh Comeau
  • Lenny Rachitsky
  • Li Haoyi
  • Liz Danzico
  • Lou Plummer
  • Luke Wroblewski
  • Maggie Appleton
  • Matt Baer
  • Matt Stoller
  • Matthias Endler
  • Mert Bulan
  • Mind Matters
  • Mostly metrics
  • Naval Ravikant
  • News Letter
  • NextDraft
  • Non_Interactive
  • Not Boring
  • One Useful Thing
  • Phil Eaton
  • Product Market Fit
  • Readwise
  • ReedyBear
  • Robert Heaton
  • Rohit Patel
  • Ruben Schade
  • Sage Economics
  • Sam Altman
  • Sam Rose
  • selfh.st
  • Shtetl-Optimized
  • Simon schreibt
  • Slashdot
  • Small Good Things
  • Steph Ango
  • Stephen Wolfram
  • Steve Blank
  • Taylor Troesh
  • Telegram Blog
  • The Macro Compass
  • The Pomp Letter
  • thesephist
  • Thinking Deep & Wide
  • Tim Kellogg
  • Understanding AI
  • Wes Kao
  • 英文媒体
  • 英文推特
  • 英文独立博客
©2025 搞英语 → 看世界 | Design: Newspaperly WordPress Theme