首页 > 解决方案 > OpenSSL/c/c++-EC secp256k1 密钥生成

问题描述

所以我一直在玩弄 c/c++ OpenSSL 库,我正在开发一个应用程序,我想使用 EC scep256k1 密钥作为一种身份验证形式。我已经阅读了 openssl 文档和无数表格,每个人似乎都有不同的方法来生成密钥和使用签名方法。有没有商定的方法来做到这一点?

标签: c++copenssl

解决方案


椭圆曲线 (EC) “scep256k1”是可用于生成 EC 密钥的众多曲线之一。有些曲线由 NIST 等组织标准化。但是,对于那些标准化曲线的安全性存在一些担忧,例如所谓的 P-256(又名 scep256r1)。曲线“scep256k1”是比特币用来签署交易的 Koblitz 曲线。Koblitz 曲线是有效的,但不如随机曲线安全。人们认为 Satoshi 想要避免 NIST 曲线,因此他寻找另一条有效但同时提供合理安全性的曲线。但是根据这个帖子,他选择“scep256k1”并没有什么特别的原因。一些 EC 研究人员定义了椭圆曲线所需的一些属性,以便被归类为“安全曲线”,这意味着它不易受到任何当前已知的攻击。此链接对当前使用的椭圆曲线进行了详细的安全审查。从链接中可以看到,“Curve25519”通过了安全审查,目前用于实现椭圆曲线 Diffie-Hellman 密钥交换协议的安全协议,例如 TLS。


推荐阅读