crypto: introduce ECDH

cc @trevnorris 
It is just simpler this way.