|
purify
C++ Purify implementation with native circuit and BPP support
|
Experimental public key aggregation for one ordered coalition roster. More...
#include <accountable_roster.hpp>
Public Member Functions | |
| std::span< const SigningRosterMember > | members () const |
| Members in their original order; effective weights include parity. | |
| const std::array< unsigned char, 32 > & | signing_key () const |
| Canonical even-Y aggregate signing key for ConflictContext. | |
| const std::array< unsigned char, 32 > & | key_list_hash () const |
| BIP327 key-list hash; this is NOT the authenticated Purify host commitment U. | |
| bool | aggregate_was_negated () const |
| Whether the unnormalized weighted sum had odd Y. | |
Static Public Member Functions | |
| static Result< SigningRoster > | aggregate (std::span< const std::array< unsigned char, 33 > > ordered_public_keys, purify_secp_context *secp_context) |
This uses BIP327's untweaked KeyAgg calculation, with exact duplicate keys and zero coefficients rejected as coalition enrollment policy. Individual keys are compressed SEC1 points; the aggregate is normalized to even Y. No nonce protocol, member consent, host association, or signature security follows from constructing this object.
Definition at line 31 of file accountable_roster.hpp.
|
staticnodiscard |
Definition at line 15 of file accountable_roster.cpp.
References purify::BindingMismatch, purify::checked_mul_size(), purify::TaggedHash::digest(), purify::TaggedHash::digest_many(), purify::EmptyInput, purify::detail::FieldElementAccess::from_raw(), purify::FieldElement::from_u64(), purify::InternalMismatch, purify_bip340_validate_xonly_pubkey(), purify_point_add(), purify_point_scale(), PURIFY_RETURN_IF_ERROR, purify_scalar_set_b32(), purify::RangeViolation, purify::require_secp_context(), purify::size_fits_u32(), and purify::unexpected_error().
|
inlinenodiscard |
Definition at line 47 of file accountable_roster.hpp.
|
inlinenodiscard |
Definition at line 44 of file accountable_roster.hpp.
|
inlinenodiscard |
Definition at line 38 of file accountable_roster.hpp.
Referenced by purify::accountable::aggregate_responses(), and purify::accountable::verify_partial_response().
|
inlinenodiscard |
Definition at line 41 of file accountable_roster.hpp.
Referenced by purify::accountable::aggregate_responses().