-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added verification to certificate #82
Conversation
typo short -> sort Co-authored-by: gusto <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
to prevent Rogue Key Attack mentioned here https://www.notion.so/BLS-Aggregated-and-Threshold-Signature-5a37ed1db01e4f9594080e1e6a5ef5f4, test can be added for PoP (proof of possesion) mechanism
2ccae7f
to
8fa0f8a
Compare
def verify(self, nodes_public_keys: List[BLSPublickey]) -> bool: | ||
""" | ||
List of nodes public keys should be a trusted list of verified proof of possession keys. | ||
Otherwise, we could fall under the Rogue Key Attack | ||
`assert all(bls_pop.PopVerify(pk, proof) for pk, proof in zip(node_public_keys, pops))` | ||
""" | ||
# we sort them as the signers bitfield is sorted by the public keys as well | ||
signers_keys = list(compress(sorted(nodes_public_keys), self.signers)) | ||
message = build_attestation_message(self.aggregated_column_commitment, self.row_commitments) | ||
return bls_pop.AggregateVerify(signers_keys, [message]*len(signers_keys), self.aggregated_signatures) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@davidrusu I added this comment. This keys verification should be done upon registration.
@megonen We have to update the specification documents with this most probably.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚀
No description provided.