RFC5480提到了三种不同的曲线“类型”:
ECParameters ::= CHOICE {
namedCurve OBJECT IDENTIFIER
-- implicitCurve NULL
-- specifiedCurve SpecifiedECDomain
}
-- implicitCurve and specifiedCurve MUST NOT be used in PKIX.
-- Details for SpecifiedECDomain can be found in [X9.62].
-- Any future additions to this CHOICE should be coordinated
-- with ANSI X9.
OpenSSL支持指定的曲线-BouncyCastle吗?如果是这样,那么BouncyCastle的实现可能在哪里?
此目录中实现了每个namedCurve BouncyCastle支持的对象:
https://github.com/bcgit/bc-java/blob/master/core/src/main/java/org/bouncycastle/math/ec/custom/sec/
在这些文件中,为素数场曲线设置了a和b参数,设置了阶数,定义了自定义模块化归约等。
但是对于指定的曲线呢?为此,您需要一个更通用的模块化归约算法。.