# Functions
Aggregate produces a unified signature given a list of signatures.
KeyGen derives a private key for the specified group (G1 or G2).
Sign computes a signature of a message using a key (defined in G1 or G1).
Verify returns true if the signature of a message is valid for the corresponding public key.
VerifyAggregate returns true if the aggregated signature is valid for the list of messages and public keys provided.
# Interfaces
KeyGroup determines the group used for keys, while the other group is used for signatures.