bls12-381 icon indicating copy to clipboard operation
bls12-381 copied to clipboard

Make certain functions and variables public

Open mikelodder7 opened this issue 4 years ago • 1 comments

Is there any reason why we can't use fe, modulus, and q directly? For example, I want to implement the BBS+ signature scheme using this library and it involves operations on fe like add, sub, inverse all mod q.

I'd rather not do it in BigInt and duplicate the code you have written here. I don't mind submitting a PR to do so.

mikelodder7 avatar May 15 '20 16:05 mikelodder7

As far as I understand from BBS+ signature scheme you need to do arithmetic in scalar field instead of base field fe. Is that right?

At this current version, big.Int is already used for scalar fields. And we are planning to implement optimized scalar field operations soon and make it publicly available.

I agree on q that it should be used directly however for now you can reach it using g1.Q() or g2.Q().

kilic avatar May 17 '20 11:05 kilic