一些密码算法的强度与其密钥的大小一样强,而另一些则具有一些限制其强度的弱点(例如SHA-1)。 ECDSA算法的强度如何,该强度是否取决于任何因素(例如,使用的曲线等)?

评论

取决于曲线。主曲线的安全级别大约为n / 2,比kobitz曲线的安全级别低一些。因此,对于256条椭圆曲线来说,Secp256k1并不是最明智的选择,但在实践中仍应足够安全。

@CodeInChaos:您是否愿意将此评论扩展为答案?

@PaŭloEbermann我希望有一个知道他在说什么的人来写答案。对我来说,ECC非常神奇。

对于纯凡人,您需要知道的是,只要使用经过专业审查的曲线,安全级别就与密钥长度约为曲线大小一半的对称密码大致相同。因此,256位ECDSA密钥与128位AES一样难以破解。

#1 楼

首先,我不是这方面的专家。通常$ n $位ECC的安全级别大约为$ n / 2 $,但我发现某些类型的曲线的安全级别较低。


RFC4492-椭圆曲线密码学(ECC)密码套件包含下表:

               for Transport Layer Security (TLS)

                Symmetric  |   ECC   |  DH/DSA/RSA
               ------------+---------+-------------
                    80     |   163   |     1024
                   112     |   233   |     2048
                   128     |   283   |     3072
                   192     |   409   |     7680
                   256     |   571   |    15360


似乎无法区分不同的曲线类型。


我找到了一个具有以下安全级别的RFC草案(不是真正的标准RFC):

Symmetric  |  ECC2N  |  ECP  |  DH/DSA/RSA
       80  |   163   |  192  |     1024
      128  |   283   |  256  |     3072
      192  |   409   |  384  |     7680
      256  |   571   |  521  |    15360


这与放置该安全级别的其他来源一致ECC的价格为$ n / 2 $。二进制曲线似乎比素数曲线要差一些。

博客条目并非每个椭圆形曲线都是相同的:ECC安全性上的低谷详细说明:


另外,大多数人不知道,但这与我们的分析极为相关,是有不同类型的ECC曲线密码学,其“大小”因曲线的种类而异:


素场上的ECC曲线(通常称为椭圆曲线,用P-keysize表示)
二值场上的ECC曲线(通常称为Koblitz曲线,用K-keysize表示)

/>鉴于安全强度等效,椭圆曲线和Kobliz曲线具有不同的密钥大小,例如,当我们阅读ECC 571时,我们指的是Koblitz曲线,其强度与ECC 521 Prime曲线相当。


对于某些曲线(如超奇曲线),存在特定的攻击,这会使它们明显变弱。

评论


$ \ begingroup $
对于80位安全二进制曲线,此草案的大小较小(163对192),但是对于所有较高证券的大小较大,这有点奇怪。它看起来像是一个混合,但是在整个文档中始终使用。
$ \ endgroup $
–PaŭloEbermann
2012年4月30日7:33

$ \ begingroup $
该草案的ECC2N列与TLS规范的ECC列相同。知道这些数字是如何计算的很有趣。
$ \ endgroup $
– CodesInChaos
2012年4月30日9:27



$ \ begingroup $
由于超奇曲线易受某些攻击(MOV)的影响,为什么人们仍然使用它们?
$ \ endgroup $
–好奇
13年4月21日在16:37

$ \ begingroup $
我怀疑这些表中奇怪的ECC大小仅仅是标准化曲线的大小,不能反映二进制和素数字段之间的安全性差异。
$ \ endgroup $
– CodesInChaos
16-4-7在17:30