pub fn diffie_hellman(
    pk: &PublicKey,
    sk: &PrivateKey
) -> Result<Vec<u8>, CryptoErrno>