我自己的ECC曲线安全和选择分析
最现代化的加密使用椭圆曲线加密(ECC),与一个较小的关键尺寸和降低的计算能力,相当于传统的加密系统被称为DH(的Diffie-Hellman)或RSA(Rivest,Shamir和Adleman的 )安全强度。
不是每个人都知道,任何未来的TLS / SSL(加密,确保网络使用),甚至移动到ECC加密技术的应用和选择ECC加密。
我发现很多所谓的“专有的加密产品”,抛弃了RSA和DH那张带有ECC的替代品,甚至没有指定的ECC加密的一种习惯,往往任意使用ECC位的密钥大小。
但是有很多椭圆曲线周围的混乱,有很多不同的名称和密钥大小非加密,经验丰富的用户很难进行评估时,一些加密的东西,使自己的身材。
因为这样扩散的混乱,我决定把我自己的分析,找出这是最好的ECC加密曲线和使用正确的ECC密钥大小。
希望这种分析,以提供安全行业选择,各曲线和密钥大小,留下已年期间已完成的数学和密码分析考虑,总结在一些标准和安全协议所采取的各种选择。
第一的结论。
从我的分析只有以下的ECC曲线加密系统使用的考虑,因为只有一个选择在不同的部门(ANSI和国家安全局,凹陷,NIST的,ECC的BrainPool),不同的安全协议标准(IPSEC,OpenPGP的,ZRTP的Kerberos,SSL / TLS),只有一个匹配的体育总会B室的安全要求(事实上也为北约的军事环境标准):
- 总理椭圆曲线256位-的P-256
- 总理椭圆曲线384位-的P-384
与可选的,只是真的偏执,想要得到更关键的大小位,仍然不认为是有益的:
- 总理椭圆曲线521位-的P-521
我想指出,Koblitz曲线应该被避免的 ,在任何关键的大小(163/283/409/571),因为他们没有足够的保修上的密码分析活动,并有效地:
- 不属于体育总会套房-B的加密选择
- 不是ECC Brainpool选择的部分
- 不属于ANSI X9.62选择
- 不属于OpenPGP的ECC扩展选择
- 不是一部分的Kerberos扩展ECC曲线选择
我邀请读者跟随槽我的分析理解,可以理解,即使没有深厚的技术背景,但至少有一个良好的技术背景下,一些基本的加密位的基本面。
在这里,我们一起去分析
我的目标是使上什么/如何分析公开的科学和安全社区选择的ECC加密系统使用的安全协议和由IETF RFC定义的标准(那些在一个开放的和同行评审的方式定义Internet标准)。
下面的RFC推出将ECC的一套到现有系统得到分析,以了解什么是更好地使用,什么是更好的排除:
- RFC5639 :ECC Brainpool标准曲线及曲线生成
- RFC4869 :体育总会B室为IPsec加密套房
- RFC5430 :NSA Suite B的个人资料的传输层安全(TLS)
- RFC5008 :体育总会套房乙(S / MIME的安全/多用途Internet邮件扩展)
- RFC3766 :用于交换对称密钥的公共密钥确定优势
- RFC5349 :椭圆曲线加密(ECC)支持Kerberos中初始身份验证的公钥加密(PKINIT)
- RFC4492 :椭圆曲线加密(ECC),传输层安全(TLS)加密套件
- 的ZRTP语音加密菲利普·齐默尔曼的ECC曲线
- 在OpenPGP的ECC(吃水d 筏jivsov的OpenPGP-ECC-06 )
- 微软选择的ECC曲线智能卡的Kerberos登录
我们将使用由科学家界定互联网安全协议,以使我们的评估的一部分所作出的选择。
此外,它必须了解来自不同的部门 ,以行业使用什么什么跳过告诉他们自己的选择曲线, 曲线选择 :
- 美国NIST (美国国家标准) 186-2 (最近取代2009年通过的新186-3 )
- 美国ANSI (美国国家标准协会) X9.62
- 美国NSA (国家安全局) 套房-B的加密 绝密信息交流
- 国际SACG (高效加密集团标准) 推荐的椭圆曲线域参数
- 德国ECC Brainpool withECC Brainpool其严格的安全要求
- Certicom公司,微软,Redhat中,日,国家安全局组成的ECC互操作性论坛
我们将使用定义的标准化机构的安全要求,使我们的评估的一部分,科学家做出的选择。
此外,一些大多数人不知道,但我们的分析,这是非常相关的,是有不同种类的ECC曲线加密和他们的“大小”不同的是取决于曲线:
- 超过总理场的ECC曲线(通常被称为椭圆曲线的P-密钥长度为代表)
- ECC的二进制字段曲线(通常被称为Koblitz曲线和K -密钥长度为代表)
鉴于安全强度的等效椭圆曲线和Kobliz曲线有不同的关键尺寸,例如,当我们读到的ECC 571,我们是指具有同等强度的ECC 521总理曲线Koblitz曲线。
一个椭圆曲线和Kotbliz曲线之间的实力比较,报道如下( ECC Internet草案米奇 ):
Koblitz | ECC |卫生署/ DSA / RSA | 163 | 192 | 1024 | 283 | 256 | 3072 | 409 | 384 | 7680 | 571 | 521 | 15360
下面还有所有的各种实体和各自的名称(从比较的所有选定的曲线ECC对TLS使用的IETF RFC4492 ):
不同的标准组织所选择的曲线名 ------------ + --------------- + ------------- SECG ANSI X9.62 NIST的 ------------ + --------------- + ------------- sect163k1 | | NIST的K-163 sect163r1 | | sect163r2 | | NIST的的B-163 sect193r1 | | sect193r2 | | sect233k1 | | NIST的K-233 sect233r1 | | NIST的的B-233 sect239k1 | | sect283k1 | | NIST的K-283 sect283r1 | | NIST的的B-283 sect409k1 | | NIST的K-409 sect409r1 | | NIST的的B-409 sect571k1 | | NIST的K-571 sect571r1 | | NIST的的B-571 secp160k1 | | secp160r1 | | secp160r2 | | secp192k1 | | secp192r1 | prime192v1 NIST的P-192 secp224k1 | | secp224r1 | | NIST的P-224 secp256k1 | | secp256r1 | prime256v1 NIST的P-256 secp384r1 | | NIST的P-384 secp521r1 | | NIST的P-521 ------------ + --------------- + -------------
立即出现的,是有所有当局只选择两条曲线,那里是一个由ANSI.The koblitz一般只有3当局之间商定的曲线一般的反倾销是以下两个ECC的曲线:
- secp192r1 / prime192v1 / NIST的P-192
- secp256r1 / prime256v1 / NIST的P-256
这些选择为TLS的ECC曲线RFC5430完全跳过koblitz曲线,并使用唯一的选择:
- 的P-256 P-384的P-521
ECC的Brainpool完全跳过Koblitz曲线,并使用以下的ECC曲线选择:
- P级-160,带够,224的P-192,P-256,P-380,P级-384,P级-512( 即是,只有特别,因为它是不带够-521,但P级-512,的唯一的密钥大小所提ECC的brainpool。TNX伊恩·西蒙斯从雅典娜SCS )
为ECC使用的OpenPGP互联网在PGPð草案筏jivsov的OpenPGP-ECC-06完全跳过Koblitz曲线,并选择了以下的ECC曲线
- 的P-256 P-384的P-521
定义于RFC5349和微软定义为智能卡登录的 Kerberos协议的扩展ECC使用,完全跳过Koblitz曲线,并选择下面的ECC曲线:
- 的P-256 P-384的P-521
所以,听起来很清楚的P-256 P-384和P-521 ECC正确的选择,而Koblitz曲线已为绝密的使用和跳过任何敏感安全协议(IPSEC,OpenPGP的,ZRTP中,Kerberos,SSL / TLS的)。
我已经做了分析讨论,我就一定的语音加密产品,所有的基础上定制和专有协议,都在使用椭圆曲线Diffie Hellman的571位/ ECDH第571/571-位的ECDH /的Koblitz 571位的。
所有他们使用K-571,如前所述,已删除所有安全敏感的环境和协议,并作为自己的语音加密的东西的设计师,我认为他们的加密选择是绝对没有安全的最佳选择。
大概是已经完成,只是营销的目的,因为的K-571(Koblitz曲线)似乎比P-521(基于素数的椭圆曲线)。 如果你有“位的”你的营销人员可以算得上是“更安全”。 koblitz椭圆曲线是比绝密启用黄金椭圆曲线更快,所以给产品经理一个机会,提供“位”在它自己的产品,同时保持密钥交换快。
这是一个哲学的选择问题。
我宁愿遵循科学界不谦虚的趋势,要考虑自己的加密专家,有见地的整体安全和科学界本身。
我喜欢,而不是使用批准的唯一的算法是高度敏感的环境中使用(绝密分类),已选定由所有当局和分析加密算法存在的,有工作组和代表的选择几乎所有标准的安全协议(IPSEC,OpenPGP的,ZRTP中,Kerberos,SSL / TLS等)。
我宁愿统计工作的大脑密码我所用,真正的安全检查,评估是否有一些弱点金额。
加密广泛传播工作brais幅度超过的只是少数人(如Koblitz曲线)所使用的加密工作的大脑。
所以我没有妖魔化谁使用ECDH 571使用Koblitz曲线,但是可以肯定的,我可以肯定,他们没有在安全方面采取的最佳选择,任何安全专业人员会考虑做一个安全基准的事实,椭圆曲线Diffie Hellman的571 Koblitz曲线位做的是没有得到广泛的扩散,它倾倒标准的安全协议,它不使用绝密认证。
















































3评论
我刚刚签署了您的博客RSS提要。 你会发布更多关于这个问题的呢?
我相信在这篇文章中有一个缺陷。 ECC Brainpool指定的ECC FP 512位的密钥521位。 参见RFC5639 2.2节。 技术要求子弹1。
细算在RFC5639和Brainpool的网站,我肯定不超过的Brainpool的P-曲线SECG,X9.62,NIST的相同。 他们使用了一个非常类似的方法,但选择生成新曲线,使用相同的大小(512位,而不是521位除外)。 他们列举了改进的安全性,使用“P”,有没有特殊形式(以避免专利的快速算法)和NIST的曲线(没有明确地说)有没有解释使用不同的种子一般不信任的价值。