Botan ===== | Version: ``3.2.0`` (tag 3.2.0) | Repository: https://github.com/randombit/botan/ | Docs: https://botan.randombit.net/handbook/ Primitives ---------- Has coordinate and scalar blinding, ECDH ^^^^ KeyGen: - Short-Weierstrass - `Fixed Window with FullPrecomputation (no doublings) (w=3) `__, via ``blinded_base_point_multiply -> EC_Point_Base_Point_Precompute::mul``. - `Jacobian `__ - `add-1998-cmo-2 `__ Derive: - Short-Weierstrass - Fixed Window (w=4) via ``blinded_var_point_multiply -> EC_Point_Var_Point_Precompute::mul``. - `Jacobian `__ - `add-1998-cmo-2 `__, `dbl-1986-cc `__ ECDSA ^^^^^ KeyGen: - Short-Weierstrass - `Fixed Window with FullPrecomputation (no doublings) (w=3) `__, via ``blinded_base_point_multiply -> EC_Point_Base_Point_Precompute::mul``. - `Jacobian `__ - `add-1998-cmo-2 `__ Sign: - Short-Weierstrass - `Fixed Window with FullPrecomputation (no doublings) (w=3) `__, via ``blinded_base_point_multiply -> EC_Point_Base_Point_Precompute::mul``. - `Jacobian `__ - `add-1998-cmo-2 `__ Verify: - Short-Weierstrass - Multi-scalar (interleaved) fixed-window via ``ECDSA::verify -> EC_Point_Multi_Point_Precompute::multi_exp``. - `Jacobian `__ - `add-1998-cmo-2 `__, `dbl-1986-cc `__ X25519 ^^^^^^ Based on curve25519_donna. - Montgomery - Montgomery ladder (unrolled several iterations) - xz - Unknown formula: `ladd-botan-x25519 `__ Ed25519 ^^^^^^^ Based on ref10 of Ed25519. See :doc:`boringssl`.