我想弄清楚Bouncy Castle支持which "safe" ECC curves。我在命名空间Org.BouncyCastle.Asn1
中找到了一些曲线,但它们很难找到,我确信我错过了一些。
Bouncy Castle中是否存在以下任何曲线? (我应该使用它们吗?)
答案 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都缺少对曲线形式的直接支持。这就是问题所在。