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. |