skalenetwork / libBLS

Solidity-compatible BLS signatures, threshold encryption, distributed key generation library in modern C++. Actively maintained and used by SKALE for consensus, distributed random number gen, inter-chain communication and protection of transactions. BLS threshold signatures can be verified in Solidity, and used as random beacon (common coin)
https://skale.space
GNU Affero General Public License v3.0
145 stars 45 forks source link

FIX: fill `t` and `n` fields in BLSPublicKey constructors; fill `t` and `n` fields of BLS public keys while generate sample keys #184

Closed gaoweihe closed 2 years ago

gaoweihe commented 2 years ago

With the previous problem in #182, public keys may not pass signers check after serialization and reconstruction. I had to copy and transmit public keys through network, so I cannot construct BLSPublicKey with map of public shares.

I revised BLSPublicKey constructors to fill up t and n fields. Hope this would be an improvement of libBLS.

skale-cla commented 2 years ago

CLA assistant check
All committers have signed the CLA.