Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This upgrades the repo to support the full BLS v04 signatures:
Specs
Public API changes
privToPub
andsecretToPublic
out of place proc have been changed topublicFromSecret
so that a boolean can be returned and catch invalid secret keys == 0.This addresses: [SEC] Infinity Public Key and Signature #76
Note that we used to have 3
aggregate
overloads for the following cases:[SEC] Infinity Public Key and Signature #76 revealed that it wasn't clear that in the first 2 cases
the aggregation precondition of having a non-empty aggregation was always true.
This is now mentioned as a comment and the last overload has also been renamed
aggregateAll
and now has an in-place API + boolean.Notable changes
A zero secret-key or public key is checked at deserialization (see supranational/blst#11) for discussion.
This slightly differ from KeyValidate in the spec which includes zero-key and subgroup check. (related #42)
The spec does mention that KeyValidate MAY be cached (see #90)