Hello curves fans,

about two months ago Trevor asked me to post the series at once when it is complete - and I finally managed to finish it.

I started creating videos explaining various phenomena of elliptic curves in simple Weierstrass form over real numbers and over GF(p) finite fields. Each video takes very narrow topic and shows it in 2D plane (for real numbers), on 3D torus (for finite fields) and on 3D sphere representing the projective plane, where we can see the point at infinity.

All the articles can be found on my blog. There is a special ECC category where only these articles reside[1] - I do not want to spam [curves] by unrelated topics.

All the videos can be seen on my YouTube channel - I created a dedicated playlist for the elliptic curves in simple Weierstrass form[2] for the same reason as above.

Last article I linked here was about point at infinity shown on the projective plane depicted as sphere. Since then, I produced following new videos and accompanying articles:

8. Elliptic curves: multiplication by scalar
9. Elliptic curves: scalar multiplication revisited
10. Elliptic curves: prime-order curves
11. Elliptic curves: double and add
12. Elliptic curves: discrete logarithm problem
13. Elliptic curve Diffie-Hellman key exchange
14. Elliptic Curve Digital Signature Algorithm

Just to complete the list, the first seven posts were:

1. Introduction to elliptic curves
2. Elliptic curves over finite fields
3. Elliptic curves: point negation
4. Elliptic curves: point addition
5. Elliptic curves: point doubling
6. Elliptic curves: point at infinity
7. Elliptic curves: point at infinity revisited

Throughout the series, the readers are given a walk-through starting from elliptic curves in generic Weierstrass form and their mapping to simple Weierstrass form. Then the elliptic curves in simple Weierstrass form over GF(p) are explained and the "doughnut" renderings are presented. After that, the algebraic operations required to create an Abelian group from the points of elliptic curves in simple Weierstrass form are introduced one by one: negation, addition and doubling. With the basic operations explained, the point at infinity is introduced and the spherical rendering of the projective plane is presented.

After these basics, multiplication by scalar over R, GF(p) and in the projective plane are shown. Nearing the end of the series the reader is presented with additional features the curve must possess in order to be usable for some real cryptography and the double-and-add algorithm is shown. The last article explaining the theory is the introduction to the discrete logarithm problem.

Final two articles and videos put it all together and give the explanation of ECDH and ECDSA respectively.

My goal was to explain ECC using simple Weierstrass curves to a general audience and I think that it should be possible for everyone to understand at least ECDH. Although the series ends with ECDSA, it actually just shows ECDSA - for explanation why it works the way it works, more theory would have to be presented and I wanted to keep it short.

Although all the work is subject to copyright, I - as the author - would be more than happy to give anyone permission to re-use it as they see fit. Especially - but not limited to - for any educative purposes. Just give credit where credit is due and let me know. Also, if the published videos and pictures do not fit your needs, let me know and I'll do my best to create renderings with generally any parameters you like. However, I am not open-sourcing the code right now, as it is:

1) in Racket[3], and
2) a HUGE mess :)

Thank you for reading this far and public thanks to Trevor for running this list!


Cheers,
Dominik

[1] https://trustica.cz/en/category/ecc/
[2] https://www.youtube.com/playlist?list=PLN9KZDpNfsHMd7d7PX87JGesGY_Qzyb3V
[3] http://racket-lang.org/
_______________________________________________
Curves mailing list
Curves@moderncrypto.org
https://moderncrypto.org/mailman/listinfo/curves

Reply via email to