gpt4 book ai didi

c - 如何使用 OpenSSL 将生成器点添加到 EC 公钥?

转载 作者:太空宇宙 更新时间:2023-11-04 03:50:16 25 4
gpt4 key购买 nike

我有这个,但它不起作用:

EC_GROUP * group = EC_GROUP_new_by_curve_name(NID_secp256k1);
EC_POINT * pub = EC_POINT_new(group);
EC_POINT * new = EC_POINT_new(group);
BN_CTX * ctx = BN_CTX_new();
EC_POINT_oct2point(group, pub, key->pubkey.key, 33, ctx);
EC_POINT_add(group, (EC_POINT *)EC_GROUP_get0_generator(group), pub, new, ctx);
EC_POINT_point2oct(group, new, POINT_CONVERSION_COMPRESSED, key->pubkey.key, 33, ctx);
BN_CTX_free(ctx);
EC_POINT_free(pub);
EC_POINT_free(new);
EC_GROUP_free(group);

公钥保持不变,除了第一个字节不是压缩 key 的 2 或 3 而是 0(我不知道那是什么,或者它是否是有效类型的公钥)。

最佳答案

EC_POINT_add(group, (EC_POINT *)EC_GROUP_get0_generator(group), pub, new, ctx);

应该是

EC_POINT_add(group, new, (EC_POINT *)EC_GROUP_get0_generator(group), pub, ctx);

关于c - 如何使用 OpenSSL 将生成器点添加到 EC 公钥?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21206071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com