1. 58
curves.ulfheim.net
1. 10

1. 2

meta question: how did you generate the diagrams? Those are neat!

1. 4

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.

2. 1

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…

1. 1

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:

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.

1. 2

I’ll admit I spent an embarrassingly long time looking for where 25519 showed up as the modulus.

3. -10

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.