Endomorphism support for the EC math classes — the GLV / GLS decomposition tables
that accelerate scalar multiplication on suitable curves (secp256k1, etc.).
Constant-time implementations of the Ed25519 and Ed448 signature schemes per RFC 8032,
sitting on top of the Curve25519 / Curve448 scalar-multiplication in
org.bouncycastle.math.ec.rfc7748.
Curve, extension-field and pairing arithmetic for the SM9 identity-based
cryptographic algorithms (GM/T 0044.5-2016): the 256-bit Barreto-Naehrig curve
with its G1 group (see SM9Curve, backed by
the constant-time Montgomery curve
SM9P256V1Curve), the G2 sextic twist over F_p2
(SM9G2Point), the F_p2/F_p4/F_p12
1-2-4-12 tower, and the R-ate pairing e: G1 x G2 -> G_T
(SM9Pairing, target group
Fp12).
Standalone tools for working with elliptic curves — discrete log calculators, curve
parameter generators, and table-generation utilities used to bootstrap the named
curves in org.bouncycastle.math.ec.