Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Math 480: Open Source Mathematical Software
2016-05-27
William Stein
**Lectures 27: Number Theoretic Public key crypto (part 3/3) **
Notes:
1: Today is the last day of this class.
Your peer grading and final assignment are due at 6pm tonight.
We will tell you what we think your grade should be and why soon, and you can double check that this agrees with what you think (or not respond).
2: 20 min -- Elliptic curve Diffie-Hellman, which is perhaps the best possible system for agreeing on a shared secret.
3: Finish homework, etc.
Elliptic Curve Diffie-Hellman
Neal Koblitz, a UW professor, co-introduced something called elliptic curve cryptography, which is possibly the best possible way to do public-key cryptography. (It's used heavily in bitcoin and web browsers!)
Recall, DH in the group , where is a prime number.
1: Chose element .
2: A and B generate random and , and send each other and .
3: The shared secret is .
DH in any multiplicative group .
1: Chose element .
2: A and B generate random and , and send each other and .
3: The shared secret is .
DH in an additive group .
1: Chose element .
2: A and B generate random and , and send each other ( times), and .
3: The shared secret is .
A bad example of an additive group: .
But easy to crack, since given and , can instantly compute !
A much better additive abelian group -- the set of points over on an elliptic curve. E.g., where and . (This is NIST curve Curve P-192.)
That can be given the structure of (interesting) additive abelian group is fairly deep, and I won't explain it to you.
That the cardinality can be computed so quickly is AMAZING and deep, and critical to elliptic curve crypto being practical. I won't explain this either. The algorithm was discovered by the guy (Rene Schoof) in the middle in the picture on the right.