ECC(椭圆曲线加密算法)公私钥生成方法

本文深入解析椭圆曲线的数学原理,介绍其在密码学中的应用。涵盖椭圆曲线定义、关键点如无穷远处的点及加法运算,解释生成公钥的过程。适合对密码学有兴趣的读者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

椭圆曲线定义和关键点

微信图片_20181019144533.png

曲线方程为:

y2y^2y2 modmodmod ppp === (x3x^3x3 +++ 777 ) modmodmod ppp

mod p(modulo prime number p)表示该曲线位于素数阶p的有限域上,那么曲线形状可以近似为下图:

微信图片_20181019145914.png

  • 在椭圆曲线数学中,有一个称为“无穷远处的点”的点,它大致对应于零的作用。
  • 还有一个名为“加法”的+运算符,它具有一些类似于传统实数加法的属性。
  • 给定椭圆曲线上的两个点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标准的一部分,并且对于所有密钥始终相同
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雷动软件工作室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值