验证公钥是否属于Twisted Edwards25519及libsodium函数使用疑问
Ed25519公钥曲线验证问题
我需要验证部分公钥是否属于Twisted Edwards25519曲线(该曲线用于Ed25519算法),现有两个从区块链浏览器获取的、理论上有效的公钥示例:
hash_hex = "3afe3342f7192e52e25ebc07ec77c22a8f2d1ba4ead93be774f5e4db918d82a0"
或
hash_hex = "fd739be0e59c072096693b83f67fb2a7fd4e4b487e040c5b128ff602504e6c72"
使用libsodium库的以下代码验证时:
auto result = crypto_core_ed25519_is_valid_point(reinterpret_cast<const unsigned char*>(hash_hex.c_str()));
两次验证结果均为0(表示验证不通过,依据libsodium官方文档)。
现有以下疑问:
- 是否函数使用方式错误?
- 公钥是否需转换为其他格式?
- 这些公钥是否实际无效?
- 是否有在线工具可验证公钥是否属于该椭圆曲线?
内容的提问来源于stack exchange,提问作者bladzio
相关产品推荐
相关产品推荐

