以下哪些"安全" ECC曲线可在Bouncy Castle中找到?

时间:2014-03-17 14:57:32

标签: encryption cryptography bouncycastle asn.1 elliptic-curve

我想弄清楚Bouncy Castle支持which "safe" ECC curves。我在命名空间Org.BouncyCastle.Asn1中找到了一些曲线,但它们很难找到,我确信我错过了一些。

Bouncy Castle中是否存在以下任何曲线? (我应该使用它们吗?)

  • M-221
  • E-222
  • Curve1174
  • Curve25519
  • E-382
  • M-383
  • Curve383187
  • Curve41417
  • Ed448-金发
  • M-511
  • E-521

2 个答案:

答案 0 :(得分:3)

我发现了Bouncy Castle支持的(显然)definitive list ECC曲线。它似乎与codebase中定义的命名曲线匹配。

没有曲线名称与您列出的名称相匹配。

但是,没有什么可以阻止您追踪 1 并使用定义您列出的任何曲线的参数来定义ECParameterSpec ...或{{1 }}


1 - 参数位于您链接的纸张中。根据@mentalurg的说法,将它们变成正确的形式并不容易。但是,这是一个开源项目,所以如果>>你<<关心这一点,没有什么能阻止你做这项工作并提交补丁。或者如果你没有时间,赞助他们为你做的工作。

答案 1 :(得分:3)

@Stephen C:“追踪并使用定义任何曲线的参数” - 错误。参数(A和B)仅适用于Weierstrass表格。对于Edwards或Mongomery表单,必须对Weierstrass表单执行(容易出错的)坐标转换,调用加密,然后将结果转换回原始坐标系。

除了转换错误之外,这种转换曲线的性能可能不是最佳的。

除了Weierstrass之外,Java原生实现和Bouncy Castle都缺少对曲线形式的直接支持。这就是问题所在。