crypto: introduce ECDH

cc @trevnorris 
It is explicit this way, may be we could keep it?