pluto / ronkathon

Cryptography Educational Foundations
https://pluto.xyz/blog/ronkathon-learn-cryptography-from-first-principles
Apache License 2.0
192 stars 24 forks source link

feat: Diffie-Hellman and elliptic curve DH #81

Open lonerapier opened 6 months ago

lonerapier commented 6 months ago

Since we have ECDSA now, it would be fascinating to see a toy implementation of Diffie-Hellman and ECDH.

Resources:

jtriley-eth commented 5 months ago

i can give this a go tomorrow, maybe move src/ecdsa.rs into src/ecc/ecdsa.rs then add the ecdh

lonerapier commented 4 months ago

sir, if possible, do try tripartite DH using Tate pairings as well

jtriley-eth commented 4 months ago

ecdh

jtriley-eth commented 4 months ago

gonna have to solidify my understanding of bilinear maps & G2+ a bit first, but will do 🫡

Autoparallel commented 4 months ago

classic scary sounding thing for "take two things make new unique new thing"|

lonerapier commented 4 months ago

"Key Exchange", simple and better.

@jtriley-eth just ping me, would love to jam with you and help anywhere possible. Pairings was an amazing topic that I enjoyed battling with a lot (still don't understand it completely lol)

devloper commented 4 months ago

Pluto internal code has some magic ECDH that we depend on :). Definitely recommend diving into and exploring this primitive. It's key to how our web proofs works.

We will be open-sourcing something substantial in ~2 weeks for that.

I wonder if clever tripartite ecdh could be used for web proofs... hm!