【非对称秘钥】ECC椭圆曲线
🏮【非对称秘钥】ECC椭圆曲线
2022-3-1
| 2023-10-28
0  |  0 分钟
type
status
date
slug
summary
tags
category
icon
password
Sub-item
Last edited time
Oct 28, 2023 10:41 AM
Parent item
领域
ECC(Elliptic curve cryptography)全称椭圆曲线密码学,是一种基于椭圆曲线数学建立非对称的算法。

椭圆曲线定义

ECC椭圆曲线的数学公式定义如下:
其中 是曲线方程的参数。假设, 函数的曲线如下图所示:
notion image
该曲线有2个特点:
  1. 曲线对x轴对称。 X轴上方的曲线上的每个点在X轴下方都有一个映射。
  1. 如果在曲线上绘制非垂直X轴的直线,则它可以与曲线最多有3处相交。

椭圆曲线坐标的加法和乘法

在本小节开头介绍的例子中,我们了解到只要找到容易计算的加减乘运算,和难以计算的除法运算,那么就可以用来加密数据,在椭圆曲线密码算法中,定义加法''为坐标转换,定义乘法''为加法的累积运算。
加法的定义如下:给定椭圆曲线上的两个点 ,则椭圆曲线上必定有第三点。几何图形中,该第三点 可以在 之间画一条线来确定。这条直线恰好与椭圆曲线上的一点相交。此点记为。然后,在 x 轴做映射获得。如下图所示:
notion image
的情况下,相连的直线就是椭圆曲线在(或)点上的切线,因此, 也可以表示为,, 如果在上继续进行切线操作,那么可以定义,也就是。以此类推,如下图所示:
notion image
我们可以得到乘法的定义。即

椭圆曲线公钥私钥

根据椭圆曲线乘法的定义,可以得出私钥和公钥的定义:
  • 私钥: 一个指定长度的随机值。
  • 公钥,其中是椭圆曲线上的一个坐标点,称为基点,公钥就是私钥乘以基点,也可以说是为对点进行次转换。

ECC椭圆曲线的优缺点

椭圆曲线非对称秘钥算法作为目前主流非对称秘钥算法,和其他非对称秘钥算法相比,具有如下的特点:
  • 安全性能更高。椭圆曲线非对称秘钥算法的秘钥长度为160位,但是其安全安全强度与1024位RSA、DSA相同。
  • 处理速度更快。在私钥的处理速度上,ECC远比RSA、DSA快得多。
  • 带宽要求更低。由于ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多,网络传输更快,存储空间更小。
  • 由于涉及到椭圆曲线离散函数,椭圆曲线非对称秘钥算法相对于DSA,RSA而言,其工程实现相对复杂些。
 

secp256k1椭圆曲线

secp256k1是一条用于密码学的椭圆曲线,以太坊以前的比特币使用的就是secp256k1椭圆曲线。
它总共包含以下6个参数:
是函数参数。分别是:。函数可以表示为:
该曲线在实数域的曲线如下:
notion image
上图的是定义在实数范围内的,如果全部取整数,那只有一些离散的坐标值才符合secp256k1椭圆曲线,函数方程变为:
secp256k1椭圆曲线中国参数 p的值是:
参数 G是椭圆上的一个坐标点,称为基点,基点包含x坐标值和y坐标值,有2种表示方式:
  • 压缩格式的G = 0279BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798
  • 非压缩格式的G = 0479BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F FB10D4B8
    • 注意:无论是压缩格式还是非压缩格式,G都包含一个前缀,含义为:
      • 02表示y坐标是偶数
      • 03表示y坐标是奇数
      • 04表示非压缩。
  • 参数是使得 的最小正整数(也称为G的阶),其值为:0xFFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141,也可以表示为:
    • 注意:
    • 随机生成的私钥的上限就是该值,从而保证任何公钥都不可能为0。
  • 参数一般为1,是椭圆曲线群的阶跟由 生成的子群的阶的比值。
secp256k1椭圆曲线的公私钥计算步骤只有两步:
  1. 用户随机生成一个小于  的大整数 ,这就是私钥
  1. 然后计算公钥:。(注意,公钥也是椭圆曲线上的一个坐标,表示方式同基点)。

NIST p-256椭圆曲线

todo

ed25519椭圆曲线

todo
 
 

应用

椭圆曲线DH秘钥交换

notion image

椭圆曲线EIGamal密码

notion image
notion image

椭圆曲线DSA(ECDSA)

notion image
notion image
 
 
密码学
  • 密码学算法
  • 非对称秘钥
  • 【非对称秘钥】RSA【零知识证明】基本原理
    目录