micro-ecc¶
Primitives¶
Offers ECDH and ECDSA on secp160r1, secp192r1, secp224r1, secp256r1, and secp256k1.
ECDH¶
- KeyGen:
Short-Weierstrass
Ladder (coZ, with subtraction) via
uECC_make_key -> EccPoint_compute_public_key -> EccPoint_mult
(also has coordinate randomization).Jacobian coZ coordinates (Z1 == Z2) from https://eprint.iacr.org/2011/338.pdf.
- Derive:
Short-Weierstrass
Ladder (coZ, with subtraction) via
uECC_shared_secret -> EccPoint_compute_public_key -> EccPoint_mult
(also has coordinate randomization).Same coords and formulas as KeyGen.
ECDSA¶
- Keygen:
Same as ECDH.
- Sign:
Short-Weierstrass
Ladder (coZ, with subtraction) via
uECC_sign -> uECC_sign_with_k_internal -> EccPoint_mult
(also has coordinate randomization).Same coords and formulas as KeyGen.
- Verify:
Short-Weierstrass
Shamir’s trick via
uECC_verify
.Same coords and formulas as KeyGen.