是否有用于为椭圆曲线生成 private/public 密钥对的首选函数?

Is there a preferred function for generating a private/public key-pair for an elliptic curve?

以下两个函数中的一个是否优于另一个? 他们都做同样的事情,只是实现方式不同吗?

两者似乎 return 具有相同的值,只是在不同的包中。

我想为以下曲线创建一个 private/public 密钥对

提前致谢! :)

在椭圆曲线密码学中,私钥只是某个范围内的一个大随机数,通常是0 - 2^256,但是这个范围是由曲线本身定义的,通常是一些循环子群的顺序,或者整个曲线处理素数阶曲线时的顺序。

ECC 有很多用途,椭圆曲线 Diffie Hellman、椭圆曲线签名 (ECDSA) 它们都需要给定私钥与曲线生成点 [=] 的标量 乘法 29=]建立public键.

出于各种安全和效率原因,这些标量乘法函数的实现方式不同。

简而言之就是三种乘法函数:

  • 固定基地
  • 可变基础
  • 双基

ECDSA使用固定基数,ECDH使用可变基数。

这里有直觉,在 ECDH 期间你必须将你的私钥乘以别人的“变量”public点。

无论如何,要使用 Brainpool,您必须生成适合该曲线顺序的密钥,并将其乘以曲线生成点。通常大多数 API 允许指定曲线。

顺便说一下,不要使用 Brainpool,它 sucks