0

如何将两个 ECDSA 私钥/公钥对组合成一个?我知道它是通过 openssl 中的模块化添加完成的,我只是不明白它是如何工作的。谁能给我解释一下?

4

2 回答 2

2

您可以通过添加两个私钥来做到这一点

privkey = privateA + privateB (mod order)

或者,在 OpenSSL 代码中:

BN_mod_add_quick(privkey, privateA, privateB, order);

这里order是最小的数 where order = s - j,这样sP = jP对于椭圆曲线上的点 P。您的新私钥的公钥是pubkey = privkey * G,或者:

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

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

于 2013-04-25T03:19:22.597 回答
0

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

于 2013-04-24T17:46:16.833 回答