gpt4 book ai didi

c - OpenSSL EVP API 中的 EC 和 ECDSA 有什么区别?

转载 作者:行者123 更新时间:2023-12-02 22:08:54 25 4
gpt4 key购买 nike

我正在开发一个程序,我想在其中使用 OpenSSL 的 libcrypto EVP API 生成 ECDSA key 。 I found this piece of documentation that deals with this topic.

指定 key 类型时,没有 EVP_PKEY_ECDSA,只有 EVP_PKEY_EC。文档称这是用于 ECDSA 和 ECDH key

但是参数生成函数EVP_PKEY_CTX_set_ec_paramgen_curve_nid仅采用曲线NID(OpenSSL中使用的椭圆曲线的名称)。无法告诉此函数我需要 ECDSA key 。 According to this documentation ,也没有其他 EVP_PKEY_CTX_set_ec_ 函数。

我不是密码学专家,所以我可能理解不正确。

EC key 与 ECDSAECDH key 相同吗? OpenSSL 文档和术语明确表明了这一点,但没有明确说明。如果它们不相同,我如何确保生成 ECDSA key ?

最佳答案

编辑:在回答之前没有注意到,但接近欺骗Is there a difference between ECDH and ECDSA keys?

对于 Weierstrass 曲线,是的,相同的 EC key 对可用于 ECDSA 或 ECDH。 (或者两者都使用,但这不是最佳实践,因为一般来说,您不应该将一个 key 用于不同的目的,并且签名和 key 协议(protocol)是不同的目的。)同一 key 对也可以用于其他椭圆曲线算法,例如 ECMQV 的实现这些算法——OpenSSL 没有。

如果您将 key 与证书结合使用(SSL/TLS 协议(protocol)以及 CMS 和 S/MIME 消息等),那么证书可以强加限制哪些操作(即算法)使用 key 。但并不是所有的东西都使用证书,对于那些使用证书的人来说,从技术上讲,没有什么可以阻止您拥有多个证书,并且同一 key 具有不同的 key 用法。

Bernstein 的“curve25519”使用不同的 key 算法,并作为特殊情况进行处理。

关于c - OpenSSL EVP API 中的 EC 和 ECDSA 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49463023/

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