椭圆曲线定义和关键点
曲线方程为:
( )
mod p(modulo prime number p)表示该曲线位于素数阶p的有限域上,那么曲线形状可以近似为下图:
- 在椭圆曲线数学中,有一个称为“无穷远处的点”的点,它大致对应于零的作用。
- 还有一个名为“加法”的+运算符,它具有一些类似于传统实数加法的属性。
- 给定椭圆曲线上的两个点P1和P2,有第三个点P3 = P1 + P2,P3也位于椭圆曲线上。
- 从几何角度,可以通过在P1和P2之间画线来计算P3。 该线将在一个额外的位置与椭圆曲线相交。称此点为P3'=(x,y)。 然后在x轴上反射得到P3 =(x,-y)
- 如果P1和P2是相同的点,则P1和P2之间的线应该延伸到点P1的切线。切线会和曲线相交。
- 在某些情况下(即,如果P1和P2具有相同的x值但y值不同),则切线将完全垂直,在这种情况下P3 =“无穷远处的点”。
- 如果P1是“无穷远处的点”, 然后P1 + P2 = P2。 类似地,如果P2是无穷远处的点,那么P1 + P2 = P1。
- 事实证明,+是相互关联的,这意味着(A + B)+ C = A +(B + C)。 这意味着我们可以在没有括号的情况下编写A + B + C而且没有歧义
- 现在我们已经定义了加法,我们可以用扩展加法的标准方式定义乘法。 对于椭圆曲线上的点P,如果k是整数,则kP = P + P + P + ... + P(k次)
生成公钥
- 随机生成数字k作为私钥,我们将其乘以曲线上称为生成点G的预定点,在曲线上的其他位置产生另一个点,即相应的公钥K.
- 生成器点G被指定为secp256k1标准的一部分,并且对于所有密钥始终相同