purify
C++ Purify implementation with native circuit and BPP support
Loading...
Searching...
No Matches
accountable_responses.hpp
Go to the documentation of this file.
1// Copyright (c) 2026 Judica, Inc.
2// Distributed under the MIT software license, see the accompanying
3// file COPYING or https://opensource.org/license/mit/.
4
5#pragma once
6
9
10namespace purify::accountable {
11
14 std::array<unsigned char, 33> nonce;
16};
17
27 const SigningRoster& roster, std::size_t member_index,
28 const ConflictContext& context, std::span<const unsigned char> canonical_body,
29 const PartialResponse& partial, purify_secp_context* secp_context);
30
40 const SigningRoster& roster, const ConflictContext& context,
41 std::span<const unsigned char> canonical_body,
42 std::span<const PartialResponse> partials, purify_secp_context* secp_context);
43
44} // namespace purify::accountable
Experimental public transcripts for scalar-only accountable signatures.
Canonical 32-byte scalar response; carries no nonce or proof.
Experimental public key aggregation for one ordered coalition roster.
Status verify_partial_response(const SigningRoster &roster, std::size_t member_index, const ConflictContext &context, std::span< const unsigned char > canonical_body, const PartialResponse &partial, purify_secp_context *secp_context)
Check sigma_i*G = R_i + e*b_i*P_i for one ordered roster member.
Result< ScalarSignature > aggregate_responses(const SigningRoster &roster, const ConflictContext &context, std::span< const unsigned char > canonical_body, std::span< const PartialResponse > partials, purify_secp_context *secp_context)
Check all ordered partial equations and sum their scalar responses.
Expected< T, Error > Result
Expected-returning convenience alias for Purify value-producing APIs.
Definition error.hpp:99
Expected< void, Error > Status
Expected-returning convenience alias for Purify status-only APIs.
Definition error.hpp:102
Public context shared by conflicting statements in one slashable slot.
Public session contribution; the raw full nonce is not normalized.
std::array< unsigned char, 33 > nonce