密码学系列 - 椭圆曲线 ECC - ED25519

密码学 - 椭圆曲线 ECC ED25519

椭圆曲线是一系列满足如下方程的点:
y^2 = x^3 + ax + b
并且
4a^3 + 27b^2 != 0

特性

  1. 封闭性:因为椭圆曲线上的点相加,还是椭圆曲线上的点。
  2. 结合律:P+(Q+R) = (P+Q)+R = 0
  3. 单位元: 单位元是0, 即 P+0 = P
  4. 逆元: 一个椭圆曲线上的点P的逆元,是相对x坐标的对称点
  5. 交换律:P+Q = Q+P

标量乘法

nP = P + P + P + ... +P

  • 计算标量乘法,最简单的方法是一个个P点相加
  • 有个快速的计算方法:double后相加. "Double"主要是依次获得某个位对应的变量的结果。如果该位是1,就加到最后的结果中:

生成一个公钥

通常使用椭圆曲线算法,先选择曲线,计算椭圆曲线的阶,然后在这条曲线上找到最大的子群。找子群,就是寻找子群对应的生成元(G)。

从一个密钥(形式上是一个随机生成的数字k)开始,我们将它与曲线上预定义的点相乘,可以得到曲线上的另一个点,这就是相应的公钥K,而这个预定义的点叫作生成点G。生成点是作为secp256k1标准的一部分定义的,对于比特币而言,其所有密钥均使用相同G点

K=kG

k是密钥,G是生成点,K是生成的公钥,也

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

搬砖魁首

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

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

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

打赏作者

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

抵扣说明:

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

余额充值