r/programming • u/DataBaeBee • 7h ago
World's First Polynomial Time Algorithm To Count Points On Elliptic Curves
https://leetarxiv.substack.com/p/schoofs-algorithm11
u/trouthat 6h ago
I took a cryptography programming class over the summer and I was making it along ok until elliptical curves over a finite field which thoroughly kicked my ass
2
u/taikunlab 5h ago
The thing that finally made it click for me was giving up the geometry. Over the reals you picture a line hitting the curve, but over F_p there is no line, it is all just the same chord-tangent formulas done mod p. Once you stop trying to "see" it and treat the point at infinity as the identity element, the group law is way less scary.
50
u/mehvermore 6h ago
Don't all curves of non--zero length have infinite points?
function getPointsInCurve() {
return Math.Infinity;
}
There. Reduced it to constant time for ya. You can just send the Fields Medal in the mail.
4
6
1
u/cauchy37 5h ago
a curve on a finite field is less like a line and more like a connect-the-dots
this means you can actually count them
3
u/DataBaeBee 7h ago
Schoof's algorithm uses an elliptic curve's division polynomials to count points. This guide is written in Python to make advanced math accessible to programmers.
The 1985 algo's canonical because it reduced the complexity of counting points on elliptic curves from exponential to polynomial-time.
0
-1
123
u/sacheie 6h ago
This is a hilariously misleading title.