Elliptic Curve (EC)¶
Explore the fascinating world of Elliptic Curve cryptography through the following resources:
- Exploring Elliptic Curve Pairings by Vitalik Buterin
- Cloudflare’s blog An easy to understand primer on elliptic curve cryptography
- Cryptography Algorithms A comprehensive book on cryptography algorithms
- Elliptic Curve (EC)
- What Is An Elliptic Curve?
- Terminology
- Calculations On An Elliptic Curve
- Elliptic Curve Pairings
- Applications
What Is An Elliptic Curve?¶
The equation defining an elliptic curve is \(y^{2} = x^{3} + ax + b\).
Warning
An elliptic curve is not an ellipse.
You should also read about elliptic curve group.
Terminology¶
Point of Infinity¶
\(O\): a point that goes to infinity if we intersect two points in the curve symmetrically with respect to the y-axis. You can imagine the third point as an infinite point lying at the infinite end of the y-axis.
\(P + O = P\)
Order Of A Curve¶
A curve has an “order”; there exists a number \(n\) such that \(P * n = O\) for any \(P\).
\(=> P∗(n+1)=P\)
\(=> P∗(7∗n+5)=P∗5\)
Generator Point¶
There is also a commonly agreed-upon “generator point” \(g\) (or \(G\) interchangeably), which is understood to, in some sense, represent the number “1”.
Denote: \(\langle g \rangle = \mathbb{G}\)
Theoretically, any point on a curve (except \(O\)) can be \(g\); all that matters is that \(g\) is standardized.
Calculations On An Elliptic Curve¶
Given 2 points \(A\) and \(B\) on the elliptic curve, there is no simple/quick way to calculate \(k\) so that: \(A*k = B\) How much energy needed to break EC
\(P + Q = R\)
\(P + Q = O\) if and only if \(x_{p} = x_{q}\), and \(P + P = O\) if and only if \(y_{p} = 0\).
\(P * n = P + P + … + P\)
Elliptic Curve Pairings¶
Applications¶
- Encryption
- Signatures
- Deterministic threshold signatures
- Quadratic arithmetic programs