Montgomery Curves and Weierstrass Curves
Weierstrass Curves
Weierstrass Curves形如
其中
Weierstrass Curves上的运算
在椭圆曲线(此处即为Weierstrass Curves)上,可以定义点之间的加法运算,其满足:
- 单位元
为无穷远点 - 对于曲线上的两点
和 ,取经过 和 的直线,这条直线与椭圆曲线相较于最多三个点,其中两个点是 和 ,如果第三个点存在且不与 和 重合,记第三个点为 ,那么满足 ,即 。 - 对一点
,其加法逆元 ,也即点 沿 轴的对称点。

那么,对于Weierstrass Curves在有限域上的运算便有:
- 有限域的加法逆元
的加法逆元是 - 斜率的计算分为两种情况,分别为
(也即 和 为曲线上的切点)和 ,计算过程如下: - 有限域的加法
三点(其中 是直线 与曲线交点关于 轴的对称点,即有 )有如下关系:
Weierstrass Curves上的基点运算
下面以曲线
1.
下面首先进行
2.
对于
通过类似与上述过程的运算,可以依次获得
事实上,此处有
Montgomery curve
对于椭圆曲线而言,Montgomery curve形式同样是较为常用表达形式,具体如下:
对于Montgomery curve,可以在一定条件下转换为Weierstrass Curves,转换过程可以通过如下过程:
1.消除等式左侧系数
定义
带入Montgomery curve表达式
2.消除等式右侧二次项
定义
带入上述表达式有
此时,
例如,就上节所述的Weierstrass Curves
转换为Montgomery curve有
此外Montgomery curve同样可以转换为Twisted Edwards curve(形式如
参考
椭圆曲线 - 杰哥的知识库 (jia.je)
密码学[3]:椭圆曲线-腾讯云开发者社区-腾讯云 (tencent.com)
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 35岁程序员的中年求职记:四次碰壁后的深度反思
· ShadowSql之.net sql拼写神器
· 使用MCP C# SDK开发MCP Server + Client
· 感觉程序员要被 AI 淘汰了?学什么才有机会?
· MQTT协议发布和订阅的实现,一步步带你实现发布订阅服务。