A toy elliptic curve implementation in Rust enough to experiment with key exchange
Idea from: https://curves.xargs.org/
Please check the unit test named: test_key_exchange
in curve61.rs:
cargo test
- FiniteField61: auto generate mul_inverse & square_root automatically
- Improve FiniteField trait
- Curve61 point add: handle point addition with INF
- Add a way to plot the Curve61 in real numbers & in FiniteField61
- Add Curve61 Montgomery ladder
-
- benchmark
-
- Improve EllipticCurve trait
- add trait based implementation of eval_at / point_add / point_mul
- add Curve23 and add test_key_exchange too
- add trait based implementation of eval_at / point_add / point_mul
- Add Curve25519 impl
- test it against openssl?
- Add more doc & comments