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 = g^{a} mod p (Modular exponentiation) 
Exchange: 
Send A, receive B 
same 
After exchange: 
S = b * A 
S = A^{b} mod p 
Why does it work? 
a * (b * g) = b * (a * g) 
g^{a*b} = g^{b*a} 
Why is it secure? 
Division on Elliptic Curve seems hard. 
Discrete Logarithm problem seems hard. 