crypto: introduce ECDH

cc @trevnorris