#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
评论
取决于曲线。主曲线的安全级别大约为n / 2,比kobitz曲线的安全级别低一些。因此,对于256条椭圆曲线来说,Secp256k1并不是最明智的选择,但在实践中仍应足够安全。@CodeInChaos:您是否愿意将此评论扩展为答案?
@PaŭloEbermann我希望有一个知道他在说什么的人来写答案。对我来说,ECC非常神奇。
对于纯凡人,您需要知道的是,只要使用经过专业审查的曲线,安全级别就与密钥长度约为曲线大小一半的对称密码大致相同。因此,256位ECDSA密钥与128位AES一样难以破解。