An interface to asymmetric cipher keypair.
Instances of this class has at least public portion of a keypair. They might or might not have the private key.
Wrap an arbitrary public key into polymorphic type
Instances of this class has both of public and private portions of a keypair.
Wrap an arbitrary keypair into polymorphic type
This is an opaque type to hold an arbitrary public key in it. The
actual key type can be safelly type-casted using