pkg ibe, func MarshalParams(Params) ([]byte, error)
pkg ibe, func MarshalPrivateKey(PrivateKey) ([]byte, error)
pkg ibe, func SetupBB1() (Master, error)
pkg ibe, func UnmarshalParams([]byte) (Params, error)
pkg ibe, func UnmarshalPrivateKey(Params, []byte) (PrivateKey, error)
pkg ibe, type Ciphertext [160]byte
pkg ibe, type Master interface { Extract, Params }
pkg ibe, type Master interface, Extract(string) (PrivateKey, error)
pkg ibe, type Master interface, Params() Params
pkg ibe, type Params interface { Encrypt }
pkg ibe, type Params interface, Encrypt(string, *Plaintext, *Ciphertext) error
pkg ibe, type Plaintext [32]byte
pkg ibe, type PrivateKey interface { Decrypt }
pkg ibe, type PrivateKey interface, Decrypt(*Ciphertext, *Plaintext) error
