椭圆曲线深入解析(第一部分)

深入解析椭圆曲线

前言

密码学在不断发展。

新技术始终在被开发。特别是在一些如今看似炙手可热的领域,如零知识证明全同态加密后量子密码学

更好、更快、更安全的方法不断被研究。大量的密码技术令人不知所措。

然而,这个多样化技术世界所基于的基本数学结构却相对不变。

尽管可能有一些新的技术出现,比如多项式环理想,以及一些关于更奇特替代方案的研究,比如 p-进数

我们每天使用的大多数密码方法(常常在不知不觉中)都是基于一个单一构造:椭圆曲线

它们可能会在不久的将来变得过时。但至少在非常近的未来,它们不会消失!

我最近在密码学 101 系列中谈到过它们。说实话,那只是对这个主题的简要友好概述。作为第一次接触足够好——但远不是完整的故事。

这次,我想深入探讨椭圆曲线的世界。有很多内容要覆盖,所以我会把它分成几个部分。

椭圆曲线

自然地,首先想到的问题是椭圆曲线到底是什么?

不再多说,我向你们展示——这就是一条椭圆曲线:

你所看到的是椭圆曲线的一般魏尔斯特拉斯方程——它实际上就是一个三次(三次方)多项式。没什么可害怕的。

一般来说,我们将使用以下简化版本,在某些我们不在这里讨论的条件下是等效的:

这是在直角坐标系中绘制的椭圆曲线的样子:

看着这个图,你可能会想这些曲线有什么“椭圆”的地方。恰好这有点名字不当,如这里所解释的那样。

我们在这里表示的是满足我们之前定义的方程E的点的集合,就像抛物线满足方程y = x²一样。

现在,我们可以从一开始就说几件关于这些曲线的事情。

首先,注意它们在 x 轴上是对称的。很容易看出,罪魁祸首是 项,因为对于任何正值的x³ + ax + b,都有正方根和负方根,都是y的有效解。

其次,这条曲线是光滑的。并非所有满足表达式E的曲线都是光滑的——就像这个:

这是曲线 E:y² = x³ -3x + 2

我们可以看到似乎有一个交点。如果你尝试绘制曲线y² = x³,你也会注意到一些奇怪的行为。

从技术上讲,这不是一个交点,而是曲线的两个尖尖部分相互接触。

我们称这些曲线为奇异。奇异曲线在我们尝试将它们用于我们的意图时会出现问题——因为这些点的导数是定义不清的。由于这个原因,这样的非光滑曲线不被认为是椭圆曲线。

介绍到此!这些小东西到底有什么用呢?

定义运算

这些曲线的吸引之处在于我们可以利用它们来定义一种运算。我想将本文剩余的部分用于理解该运算,并暂时不考虑它的有用性——但我们将在后续文章中讨论这个。

尽管如此,我想在继续之前提供一些背景。

我们的运算将作为数学群构造中的一个关键部分。我们稍后会讨论这些——但想法是,群是一些非常复杂的数学问题的基础,这些问题使我们都知道和喜爱的公钥密码学得以实现,还有更多。

我们将要呈现的椭圆曲线运算有一种奇怪的定义。请暂时耐心听我解释。它是这样的:

  1. 选择曲线上的两个点PQ,并画一条通过它们的线。
  2. 你会发现这条线与曲线上的另一个点相交。我们称它为-R
  3. 现在,围绕 x 轴翻转 -R 。由于 -R 是曲线上的一个点,并且曲线是对称的,你将得到曲线上的另一个点:R

整个过程看起来大致如此:

顺便说一下,这也是一个有效的椭圆曲线形状。

通过遵循这个步骤,我们计算出了一个新的点R,作为“相加”PQ的结果。我们可以将其写为:

确实是一个奇怪的加法定义——但以这种方式思考运算是有帮助的。我们用符号来区分它与“正常”加法。

不过,如果我们想将P自己相加,会发生什么呢?

相反,假设我们有一个在曲线上与P非常接近的点——我们称之为P'。随着P’逐渐接近P,通过它们的直线慢慢靠近P处的切线。很自然地,我们可以推断出找到PP是用之前相同的过程,但在第一步中使用P的切线。

这就是...

剩余50%的内容订阅专栏后可查看

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Frank Mangone
Frank Mangone
Software developer based in Uruguay. Math and Cryptography enthusiast.