Add utility to encode a BLS public key and a BLS signature from binary to a text encoding and to decode in the other direction as well. (There is no need to support encoding/decoding or BLS private keys.)
Nice to have (though not required for this issue): Provide convenient method to verify a signature on some message using the public key. Ensure that the BLS signatures generated from the BLS implementation used in Leap (or the sign function in the bls12-381 library) are able to be verified by this signature verification function in CDT.
Depends on https://github.com/AntelopeIO/cdt/issues/202 and https://github.com/AntelopeIO/cdt/issues/251.
This issue doesn't necessarily depend on https://github.com/AntelopeIO/leap/issues/1525, but it may be easier to generate signatures and keys to use for unit tests for this issue if https://github.com/AntelopeIO/leap/issues/1525 was already completed.
Add utility to encode a BLS public key and a BLS signature from binary to a text encoding and to decode in the other direction as well. (There is no need to support encoding/decoding or BLS private keys.)
Add function to verify a proof of possession (PoP) for a public key; see https://github.com/mschoenebeck/aggsigtest/blob/1c4d326e461d5b7c3930f3936494bdbc53f4436d/aggsigtest.cpp#L209-L230. Verify this function can be used to verify the PoPs generated by the leap-util tool (see https://github.com/AntelopeIO/leap/issues/1525).
Nice to have (though not required for this issue): Provide convenient method to verify a signature on some message using the public key. Ensure that the BLS signatures generated from the BLS implementation used in Leap (or the
sign
function in the bls12-381 library) are able to be verified by this signature verification function in CDT.