Nettle¶
3.9.1
Primitives¶
ECDSA on P192, P224, P256, P384 and P521, also EdDSA on Curve25519, Curve448.
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
- 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
- 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.