深入解析椭圆曲线
- 原文链接:medium.com/@francomango...
- 译者:AI翻译官,校对:翻译小组
- 本文链接:learnblockchain.cn/article…
密码学在不断发展。
新技术始终在被开发。特别是在一些如今看似炙手可热的领域,如零知识证明 、全同态加密和后量子密码学 。
更好、更快、更安全的方法不断被研究。大量的密码技术令人不知所措。
然而,这个多样化技术世界所基于的基本数学结构却相对不变。
我们每天使用的大多数密码方法(常常在不知不觉中)都是基于一个单一构造:椭圆曲线。
它们可能会在不久的将来变得过时。但至少在非常近的未来,它们不会消失!
我最近在密码学 101 系列中谈到过它们。说实话,那只是对这个主题的简要友好概述。作为第一次接触足够好——但远不是完整的故事。
这次,我想深入探讨椭圆曲线的世界。有很多内容要覆盖,所以我会把它分成几个部分。
自然地,首先想到的问题是椭圆曲线到底是什么?
不再多说,我向你们展示——这就是一条椭圆曲线:
你所看到的是椭圆曲线的一般魏尔斯特拉斯方程——它实际上就是一个三次(三次方)多项式。没什么可害怕的。
一般来说,我们将使用以下简化版本,在某些我们不在这里讨论的条件下是等效的:
这是在直角坐标系中绘制的椭圆曲线的样子:
看着这个图,你可能会想这些曲线有什么“椭圆”的地方。恰好这有点名字不当,如这里所解释的那样。
我们在这里表示的是满足我们之前定义的方程E的点的集合,就像抛物线满足方程y = x²一样。
现在,我们可以从一开始就说几件关于这些曲线的事情。
首先,注意它们在 x 轴上是对称的。很容易看出,罪魁祸首是 y² 项,因为对于任何正值的x³ + ax + b,都有正方根和负方根,都是y的有效解。
其次,这条曲线是光滑的。并非所有满足表达式E的曲线都是光滑的——就像这个:
这是曲线 E:y² = x³ -3x + 2
我们可以看到似乎有一个交点。如果你尝试绘制曲线y² = x³,你也会注意到一些奇怪的行为。
从技术上讲,这不是一个交点,而是曲线的两个尖尖部分相互接触。
我们称这些曲线为奇异。奇异曲线在我们尝试将它们用于我们的意图时会出现问题——因为这些点的导数是定义不清的。由于这个原因,这样的非光滑曲线不被认为是椭圆曲线。
介绍到此!这些小东西到底有什么用呢?
这些曲线的吸引之处在于我们可以利用它们来定义一种运算。我想将本文剩余的部分用于理解该运算,并暂时不考虑它的有用性——但我们将在后续文章中讨论这个。
尽管如此,我想在继续之前提供一些背景。
我们的运算将作为数学群构造中的一个关键部分。我们稍后会讨论这些——但想法是,群是一些非常复杂的数学问题的基础,这些问题使我们都知道和喜爱的公钥密码学得以实现,还有更多。
我们将要呈现的椭圆曲线运算有一种奇怪的定义。请暂时耐心听我解释。它是这样的:
整个过程看起来大致如此:
顺便说一下,这也是一个有效的椭圆曲线形状。
通过遵循这个步骤,我们计算出了一个新的点R,作为“相加”P和Q的结果。我们可以将其写为:
确实是一个奇怪的加法定义——但以这种方式思考运算是有帮助的。我们用符号⨁来区分它与“正常”加法。
不过,如果我们想将P与自己相加,会发生什么呢?
相反,假设我们有一个在曲线上与P非常接近的点——我们称之为P'。随着P’逐渐接近P,通过它们的直线慢慢靠近P处的切线。很自然地,我们可以推断出找到P ⨁ P是用之前相同的过程,但在第一步中使用P的切线。
这就是...
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!