Elliptic curve representations:
- Short Weierstrass:
- Montgomery:
- Edward:
- Twisted Edwards:
Elliptic curve
- Affine point:
- Projective point:
- Jacobian point:
Negation
Inverse of a point by inverting on x-axis, including the case when :
Addition
Addition: where . Using algebraic formula,
Using chord method,
Cost:
as human species, we have arrived to the unanimous conclusion that we hate divisions, and will do anything to avoid them.
Doubling
Case where,
Using tangent method, slope of the curve comes out to be:
Cost:
Scalar Multiplication
scalar multiplication for elliptic curve refers to multiplication of a scalar value with a point . Three different kinds of scalar mult exists:
- Fixed base: where the point is fixed
- Variable base: where the point can be different
- Double base: multiple points with multiple scalars
Montgomery curve formulae
montgomery curves
List of things and resources to learn
- all different point representations and their advantages/disadvantages.
- affine
- projective
- Jacobian
- extended jacobian
- different curve representations
- short weierstrass
- montgomery
- edwards
- twisted edwards
- hash to curve
- constant time operations
- pairings
resources
- axioms’ halo2curves
- pse’s halo2curves
- dalek-cryptography’s ed25519
- martin klepmann’s paper
- lamdaworks’ ec module
- arkworks’ ec modulehttps://github.com/arkworks-rs/algebra/tree/master/ec
- twisted edwards curve
- twisted edwards curve revisted
- montgomery ladder
- pairing friendly ec curves of prime order
- Hyperelliptic database
- ristretto group
- Constant-Time Arithmetic for Safer Cryptography
- constant time montgomery ladder
- Hardware Aspects of Montgomery Modular Multiplication
- Montgomery Multiplication Using Vector Instructions
- Selecting Elliptic Curves for Cryptography: An Efficiency and Security Analysis
- Faster addition and doubling on elliptic curves
- Montgomery curves and the Montgomery ladder