relic
, the library used by the majority of BLS implementations, is rather difficult to build cross-platform.
Because of this, I've been looking for other pure BLS implementations that don't rely on C - and I've found one in Go and another in Rust.
However, the nomenclature seems to be different between each library.
I see a mix and match of the words "Affine", "Scalar", "FR", "FRRepr", "G1", "G2", "Public Key", "Secret" and "Seed", among others, which don't necessarily match what I read in articles about BLS, WikiPedia, or other code libraries.
I'm assuming that some of these terms are interchangeable, and some have distinct meaning.
For example, it appears that "G1Element" is synonymous with "Public Key".
But what are the technical synonyms for "Private Key" or "Secret"?
Specifically, I'm trying to discern how I can use something like these:
At this point, all I want to do is be able to cross-compile some code for the 6 most common arch+os platforms that will generate a private + public keypair.
That said, I'd love to learn anything y'all have to offer in regards to how to relate the layperson terminology ("Private Key", "Public Key", "Signature") to the mathematical and programming terminology ("G1", etc).