pub fn arbitrary_public_key<A: AsymmetricKey, G: Gen>(
    g: &mut G
) -> PublicKey<A::PubAlg>