每个程序员都应该了解的椭圆曲线扭运算

每个程序员都应该了解的椭圆曲线扭运算 图片 1

给定13个故障和一台好的电脑,一个人可以在1分钟内破坏secp256k1(和比特币)。

保罗·S.L.M.巴雷托。

立即订阅

这篇免费文章是我们关于程序员实用椭圆曲线理论:

第一部分:在C语言中破解休眠的比特币钱包。

第二部分:对异常曲线的智能攻击。

第三部分:寻找异常曲线。

第四部分:Python 中椭圆曲线的除多项式。

第五部分:将除法多项式应用于点计数。

第六部分:具有高效自同构的曲线上的快速点乘法。

第七部分(我们到了:Sage/Python 中椭圆曲线的扭曲。

第八部分:利用等价类加速在短时间内解决离散对数问题。

巴雷托是BLS椭圆曲线家族中的B型曲线

1.0 简介

椭圆曲线理论有些晦涩,椭圆曲线的扭曲也相当晦涩。本指南向节目观众演示椭圆曲线扭转的工作原理。

按照典型的LeetArxiv风格,我们展示的是实际代码,而不是密集的数学方程。

我们教程序员如何将高级数学论文转化为代码。订阅

我们的主要资料是椭圆曲线的扭曲(《它》,1997年)1.

摘要椭圆曲线的扭曲(《它》,1997年)

1.1 “椭圆曲线扭曲”的定义

椭圆曲线的“扭曲”一词有些模糊。当人们说反转如果没有修饰语,它们往往意味着二次扭转椭圆曲线(Cook,2019)2.不过,立方体、六型以及其他扭曲也存在。

非正式地说,*椭圆曲线的扭曲是另一条与原始椭圆曲线共享某些x或y坐标和群律的代数曲线。

*吹毛求疵的人会把我钉在十字架上。

例如,比特币secp256k1曲线具有以下条件性情转折(伦德维斯特,2020年)3与 的 GLV 自同态第六部分:

y^2 = x^3 + 7 //secp curve

Sextic Twists of secp
E1: y^2 = x^3 + 1
E2: y^2 = x^3 + 2
E3: y^2 = x^3 + 3
E4: y^2 = x^3 + 4
E6: y^2 = x^3 + 6

扭转前的修饰符表示数量等价......

添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论