[−][src]Module bls_like::distinct
Aggregation for BLS signatures with distinct message.
In this module, we provide the linear flavor of aggregate BLS signature in which all messages are required to be distinct. In other words, if all messages are distinct then we cannot add public keys from different pairings anyways.
In verification, we can add different message hashes signed by the
same public key, ala e(g1,s*H(m1)+s*H(m2)) = e(s*g1,H(m1)+H(m2))
,
assuming we need not worry about a signers "equivocating" in
advance by providing signatures that verify only when aggregated.
We cannot exploit this before verification however, due to the
requirement to enforce distinct messages.
We also note that most signature schemes permit support extremely efficent signer side batching, which normally out performs BLS. It's ocasioanlly worth asking if signers can be trusted to such collected signatures. See also:
- RSA: https://eprint.iacr.org/2018/082.pdf
- Boneh-Boyen: https://crypto.stanford.edu/~dabo/papers/bbsigs.pdf http://sci-gems.math.bas.bg:8080/jspui/bitstream/10525/1569/1/sjc096-vol3-num3-2009.pdf
Structs
AttackViaDuplicateMessages | Error tyoe for non-distinct messages found during distinct message aggregation. |
DistinctMessages | Distinct messages with attached BLS signature |
Type Definitions
DistinctMessagesResult |