因此,我一直在使用c / c ++ OpenSSL库,并且正在开发一个应用程序,我希望使用EC scep256k1密钥作为身份验证的形式。我已经阅读了openssl文档和不计其数的表格,每个人似乎都有不同的方法来生成密钥和使用签名方法。有达成共识的方式吗?
答案 0 :(得分:0)
椭圆曲线(EC)“ scep256k1”是可用于生成EC密钥的许多曲线之一。 NIST等一些组织已标准化了一些曲线。但是,对于那些标准化曲线(例如所谓的P-256(aka scep256r1))的安全性存在一些担忧。曲线“ scep256k1”是比特币用于签署交易的Koblitz曲线。 Koblitz曲线有效,但不如随机曲线安全。人们认为Satoshi希望避免使用NIST曲线,因此他寻找另一条有效但又提供合理安全性的曲线。但是根据此post,他选择“ scep256k1”没有特殊原因。一些EC研究人员定义了椭圆曲线所需的一些属性,以便将其归类为“安全曲线”,这意味着它不受任何当前已知攻击的影响。该link详细介绍了当前使用的椭圆曲线的安全性。从链接中可以看到,“ Curve25519”通过了安全审查,目前用于实现椭圆曲线Diffie-Hellman密钥交换协议(例如TLS)的安全协议中。