func ECDH(priv PrivateKey, pub PublicKey) ([]byte, error) {
	privKey := (*ecdsa.PrivateKey)(&priv)
	pubKey := (*ecdsa.PublicKey)(&pub)
	return ECDH_Ecdsa(privKey, pubKey)
}
// ECDH computes a shared key from a private key and a peer's public key.
ECDH computes a shared key from a private key and a peer's public key.
// ECDH computes a shared key from a private key and a peer ' s public key .
func ECDH(priv PrivateKey, pub PublicKey) ([]byte, error) {
	privKey := (*ecdsa.PrivateKey)(&priv)
	pubKey := (*ecdsa.PublicKey)(&pub)
	return ECDH_Ecdsa(privKey, pubKey)
}
func ECDH ( priv PrivateKey , pub PublicKey ) ( [ ] byte , error ) { privKey := ( * ecdsa . PrivateKey ) ( & priv ) pubKey := ( * ecdsa . PublicKey ) ( & pub ) return ECDH_Ecdsa ( privKey , pubKey ) }
ECDH computes a shared key from a private key and a peer's public key.
ECDH computes a shared key from a private key and a peer ' s public key .