| Elliptic Curve Style |
RSA style |
|
| Startup: |
Pick a curve and starting point. |
Pick a prime p and generator g |
| Local secret: |
Pick a secret a |
same |
| Local compute: |
A = a * g (Scalar multiply) |
A = ga mod p (Modular exponentiation) |
| Exchange: |
Send A, receive B |
same |
| After exchange: |
S = b * A |
S = Ab mod p |
| Why does it work? |
a * (b * g) = b * (a * g) |
ga*b = gb*a |
| Why is it secure? |
Division on Elliptic Curve seems hard. |
Discrete Logarithm problem seems hard. |