Nettle ====== | Version: ``3.9.1`` | Repository: https://git.lysator.liu.se/nettle/nettle | Docs: https://www.lysator.liu.se/~nisse/nettle/nettle.html Primitives ---------- ECDSA on P192, P224, P256, P384 and P521, also EdDSA on Curve25519, Curve448. .. csv-table:: Pippenger parameters :header: "Curve", "K", "C" P192, 8, 6 P224, 16, 7 P256, 11, 6 P384, 32, 6 P521, 44, 6 Curve25519, 11, 6 ECDSA ^^^^^ KeyGen: - Short-Weierstrass - `Pippenger `__ via ``ecdsa_generate_keypair -> ecc_curve.mul_g -> ecc_mul_g``. - Jacobian - `madd-2007-bl `__, `dbl-2001-b `__ Sign: - Short-Weierstrass - `Pippenger `__ via ``ecc_ecdsa_sign -> ecc_mul_g``. - Same as KeyGen. Verify: - Short-Weierstrass - `Pippenger `__ and `4-bit Fixed Window `__ via ``ecc_ecdsa_verify -> ecc_mul_a + ecc_mul_g``. - Jacobian - `madd-2007-bl `__, `dbl-2001-b `__, also `add-2007-bl `__. Ed25519 ^^^^^^^ KeyGen: - Twisted Edwards - `Pippenger `__ via ``ed25519_sha512_public_key -> _eddsa_public_key -> ecc_curve.mul_g -> ecc_mul_g_eh``. - Projective - `madd-2008-bbjlp `__, `add-2008-bbjlp `__ and `dup-2008-bbjlp `__. Sign: - Twisted Edwards - `Pippenger `__ via ``ed25519_sha512_sign -> _eddsa_sign -> ecc_curve.mul_g -> ecc_mul_g_eh``. - Same as KeyGen. Verify: - Twisted Edwards - `Pippenger `__ and `4-bit Fixed Window `__ via ``ed25519_sha512_verify -> _eddsa_verify -> ecc_curve.mul + ecc_curve.mul_g``. - Same as KeyGen.