组合ECDSA密钥

Combining ECDSA keys

本文关键字:密钥 ECDSA 组合      更新时间:2023-10-16

如何将两个ECDSA私有/公共对组合为一个?我知道它是在openssl中使用模块化添加完成的,我只是不明白这是如何工作的。有人能给我解释一下吗?

可以通过添加两个私钥来实现

privkey = privateA + privateB (mod order)

或者,在OpenSSL代码中:

BN_mod_add_quick(privkey, privateA, privateB, order);

这里orderorder = s - j的最小值,使得sP = jP对于椭圆曲线上的点p。新私钥的公钥是pubkey = privkey * G,即:

EC_POINT_mul(group, pubkey, privkey, NULL, NULL, ctx);

order和生成点G的值为曲线参数,在创建和设置group (EC_GROUP对象)时设置。

ECDSA私钥-只是一个数字,基数的顺序。您可以只添加两个私钥(即数字),减少和模基点顺序,并对基点取幂到这个顺序。但你为什么需要这个呢?