This Boneh-Lynn-Shacham (BLS) signature implementation is constructed from a pairing friendly elliptic curve, the BLS12-381 curve. It uses parameters as defined in https://z.cash/blog/new-snark-curve and the points in groups G1 and G2 are defined https://github.com/zkcrypto/pairing/blob/master/src/bls12_381/README.md
This class depends upon the Apache Milagro library being available. See https://milagro.apache.org.
Apache Milagro can be included using the gradle dependency 'org.miracl.milagro.amcl:milagro-crypto-java'.
Generates a SignatureAndPublicKey.
Verifies the given BLS signature against the message bytes using the public key.