Project-Arda / bgls

Aggregate and Multi Signatures based on BGLS over BN256 and BLS12-381
Apache License 2.0
60 stars 17 forks source link

Abstract interfaces, add documentation #41

Closed ValarDragon closed 6 years ago

ValarDragon commented 6 years ago

This commit updates alot of the bls / curve interfaces. Key points are that Point1 and Point2 have been abstracted to both just be point, in order to reduce code reuse. More methods have been added to the curve, and this switches bls to use the product of pairings.

This also fixes a vulnerability with authentication proof of knowledge of a secret key in bgls, where it was possible to perform a rogue public key attack on a user if they acted as a signing oracle.