Short answer: a <canvas> tag and requestAnimationFrame().
This MDN page describes the technique with a good example, it’s what I learned from to create my page. Probably the simplest animation on my page is here but it isn’t going to be nearly as easy to follow.
The paper you linked describes why the specific polynomial was chosen, but not why P=9 was chosen. Why was P=9 chosen?
Also, it seems like Curve25519 takes its name because the modulus is 2^255-19. However, you use the name Curve61 because your modulus is 61. Shouldn’t you name it Curve63 because the modulus is 2^6-3? Although Curve448 wouldn’t fit into this naming scheme at all…
The usual choice is the generator with smallest possible x-coordinate for short Weierstrass curves or Montgomery curves, or smallest possible y-coordinate for Edwards curves.
As for your second point, as the creator of the (flawed, insecure) Curve61 I reserve the right to name it via whatever stupid scheme I want, hah. It wouldn’t have served the document to go into a naming digression when I just needed a name for the toy curve.
Here’s my proof for P/NP. Got a problem? No problem? It takes work and computation for anything. Brains manipulate the 12-dimensional Rubik’s cube of life, if you will. Most people are unable to see past P, and think NP is “not a problem;” i.e. it’s incomputable.
NP is more like R&D or building a car. P is your budget; P is your car breaking. NP is how to fix P. It’s called computation+work. Therefore, P? NP. QED.
(author here, any questions or comments and I’ll reply)
meta question: how did you generate the diagrams? Those are neat!
Short answer: a
<canvas>
tag andrequestAnimationFrame()
.This MDN page describes the technique with a good example, it’s what I learned from to create my page. Probably the simplest animation on my page is here but it isn’t going to be nearly as easy to follow.
The paper you linked describes why the specific polynomial was chosen, but not why P=9 was chosen. Why was P=9 chosen?
Also, it seems like Curve25519 takes its name because the modulus is 2^255-19. However, you use the name Curve61 because your modulus is 61. Shouldn’t you name it Curve63 because the modulus is 2^6-3? Although Curve448 wouldn’t fit into this naming scheme at all…
I suspect x=9 is the first x-value with a prime and sufficiently large order. On http://safecurves.cr.yp.to/rigid.html djb hints the same:
As for your second point, as the creator of the (flawed, insecure) Curve61 I reserve the right to name it via whatever stupid scheme I want, hah. It wouldn’t have served the document to go into a naming digression when I just needed a name for the toy curve.
I’ll admit I spent an embarrassingly long time looking for where 25519 showed up as the modulus.
Here’s my proof for P/NP. Got a problem? No problem? It takes work and computation for anything. Brains manipulate the 12-dimensional Rubik’s cube of life, if you will. Most people are unable to see past P, and think NP is “not a problem;” i.e. it’s incomputable. NP is more like R&D or building a car. P is your budget; P is your car breaking. NP is how to fix P. It’s called computation+work. Therefore, P? NP. QED.