本文介绍椭圆曲线加密算法。

概述

运算规则

离散对数问题

嵌入度

椭圆曲线的嵌入度(Embedding Degree)是一个与椭圆曲线密码学中的数学参数相关的概念。它表示一个椭圆曲线上的点如何映射到有限域中的元素,并影响到密码学协议的性能和安全性。以下是对椭圆曲线嵌入度的解释:

有限域和椭圆曲线: 在椭圆曲线密码学中,通常会使用有限域(Finite Field)上的椭圆曲线。有限域是一个包含有限元素的数学结构,椭圆曲线则是定义在这个有限域上的一组点的集合。

椭圆曲线上的点映射到有限域: 椭圆曲线上的点(通常表示为 (x, y) 坐标)需要映射到有限域中的元素。这个映射过程将一个椭圆曲线上的点映射为有限域中的整数。

嵌入度的定义: 嵌入度表示了椭圆曲线上的点在映射到有限域中时的“放大倍数”。具体来说,如果椭圆曲线的嵌入度为 k,那么椭圆曲线上的一个点在映射到有限域中时,其坐标值需要乘以 k 才能表示为有限域中的整数。

影响: 嵌入度对密码学协议的性能和安全性有一定的影响。较小的嵌入度可能会导致更高效的计算,但也可能降低协议的安全性。较大的嵌入度通常提供更强的安全性,但可能需要更复杂的计算。因此,在设计和选择椭圆曲线时,需要权衡这些因素,以满足协议的需求。

总之,椭圆曲线的嵌入度是描述椭圆曲线上的点如何映射到有限域中的整数的概念。它对密码学协议的性能和安全性有重要影响,需要根据具体的应用需求进行选择和权衡。

配对

椭圆曲线配对(Elliptic Curve Pairing)是密码学中的一个重要概念,它将两个椭圆曲线上的点进行映射,得到一个标量值。

具体来说,给定两个椭圆曲线 $G_1$ 和 $G_2$,以及各自的生成元 $P_1$ 和 $P_2$,椭圆曲线配对可以定义为一个映射

$$ e: G_1 × G_2 → G_T $$

其中 $G_T$ 是一个多项式群。这个映射满足双线性和非退化性。

双线性

e 必须满足: $$ e(P + P’, Q) = e(P, Q) · e(P’, Q)\\ e(P, Q + Q’) = e(P, Q) · e(P, Q’) $$

椭圆曲线配对(Elliptic Curve Pairing)和 双线性映射(Bilinear Mapping) 之间存在密切的关系,因为椭圆曲线配对通常是一种实现双线性映射的特殊数学运算。该性质可以推论:$$e(m \ast P_1, n \ast P_2) = e(P_1, P_2)^{m \ast n}$$

非退化性

e 必须是 非退化的 (Non-Degeneracy),指的是椭圆曲线上的特定配对操作不会在某些情况下返回无限远点(曲线上的零元素)。主要体现在以下两个方面:

  • 不同的点不会产生无限远点: 对于椭圆曲线上的不同点 P 和 Q,进行配对操作 e(P, Q) 不会返回无限远点。也就是说,如果 P ≠ Q,则 e(P, Q) ≠ ∞,其中 ∞ 表示曲线上的无限远点。

  • 一对点不会使配对结果为无限远点: 对于椭圆曲线上的一对点 P 和 Q,进行配对操作 e(P, Q) 不会返回无限远点。也就是说,如果 P 和 Q 是有效的曲线点,e(P, Q) ≠ ∞。

这个非退化性性质对于椭圆曲线密码学中的协议非常关键,因为它确保了配对操作的可逆性和安全性。如果配对操作可能返回无限远点,那么在密码学协议中可能会引入漏洞,导致信息泄漏或不正确的计算结果。

Tate 配对

Tate 配对(Tate Pairing)是椭圆曲线密码学中一种重要的数学工具,用于在两个椭圆曲线上计算离散对数问题的解,或者用于构建密码学协议,如身份验证和数字签名。Tate 配对是由约翰·图尔(John Tate)提出的,它利用了椭圆曲线上的双线性映射的性质

要理解 Tate 配对,首先需要了解以下基本概念:

椭圆曲线: 椭圆曲线是一种代数结构,通常表示为 $y^2 = x^3 + ax + b$,其中 $a$ 和 $b$ 是曲线的参数。它包括一组点,满足曲线方程,形成一个群结构,可以进行点的加法和乘法运算。

双线性映射: 双线性映射是一种映射函数,它满足一些特定的性质。对于两个椭圆曲线上的点,Tate 配对利用了双线性映射的性质,使得它能够将两个点映射到一个有限域中的元素。

离散对数问题: 在椭圆曲线密码学中,离散对数问题是一个基本的难题。给定点 $P$ 和 $Q$,找到一个整数 $n$,使得 $nP = Q$,其中 $n$ 就是离散对数。Tate 配对可以用于解决这个问题。

Tate 配对的主要思想是利用双线性映射来将两个椭圆曲线上的点映射到一个有限域中的元素,并通过计算这个映射值来实现离散对数问题的解。Tate 配对的具体计算过程相当复杂,涉及大量的数学运算,包括指数运算和模运算。但总的来说,它为椭圆曲线密码学提供了一种强大的工具,用于实现安全的加密和数字签名算法。

需要注意的是,Tate 配对不仅可以用于解决离散对数问题,还可以用于设计具有高度安全性的密码学协议,例如身份验证方案和属性基础加密(Attribute-Based Encryption,ABE)等。它是椭圆曲线密码学领域中的一个重要数学工具,对于构建安全的密码学系统起着关键作用。

延伸阅读

BLS12_381 曲线

BLS12-381 曲线是一种椭圆曲线,属于椭圆曲线密码学中的一类曲线,具有一定的数学性质,通常用于密码学协议和数字签名算法等安全性应用。以下是关于 BLS12-381 曲线的一些解释:

  1. 曲线方程: BLS12-381 曲线的方程通常表示为 $y^2 = x^3 + 4$,其中 $x$ 和 $y$ 是曲线上的点坐标。这是一个超奇异椭圆曲线,其形状与经典的椭圆曲线稍有不同。
  2. 有限域: BLS12-381 曲线的点坐标通常属于一个有限域(Finite Field),这个有限域的特点是其元素数量是一个大素数,通常用来增强密码学安全性。
  3. 安全性: BLS12-381 曲线被认为在密码学应用中具有高度的安全性,尤其是在签名算法中。这意味着使用这个曲线的密码学协议通常具有良好的安全性质,难以受到攻击。
  4. 性能: 虽然安全性很高,但 BLS12-381 曲线在计算上也相对高效。这意味着它可以在相对较短的时间内执行加密、解密和签名等操作,适用于实际应用。
  5. 应用领域: BLS12-381 曲线广泛应用于密码学领域,特别是在零知识证明、数字签名、身份验证协议和机密计算等方面。它通常被用来构建安全的分布式系统和区块链协议。

总的来说,BLS12-381 曲线是一种在密码学中具有重要地位的椭圆曲线,它具有高度的安全性和性能,适用于一系列密码学协议和应用中。