purify
C++ Purify implementation with native circuit and BPP support
Loading...
Searching...
No Matches
purify::puresign_plusplus::TopicProofCache Struct Reference

Cacheable topic-bound nonce-proof template for the BPPP-backed PureSign++ proof(R) flow. More...

#include <bppp.hpp>

Static Public Member Functions

static Result< TopicProofCache > build (std::span< const unsigned char > topic)
 Builds a reusable verifier template for one exact topic.

Data Fields

Bytes topic
Bytes eval_input
NativeBulletproofCircuitTemplate circuit_template
Bytes template_digest
bppp::ExperimentalCircuitCache backend_cache

Detailed Description

This bundles the exact topic together with the public-key-agnostic circuit template needed for topic-bound proof creation and verification. The mutable BPPP circuit cache can be reused across multiple signers for the same topic.

Definition at line 240 of file bppp.hpp.

Member Function Documentation

◆ build()

Result< TopicProofCache > purify::puresign_plusplus::TopicProofCache::build ( std::span< const unsigned char > topic)
staticnodiscard
Parameters
topicThe topic that all later prepared nonces or proofs must bind to.
Returns
The reusable cache for that topic.

Definition at line 285 of file bppp.cpp.

References circuit_template, purify::detail::copy_bytes(), purify::EmptyInput, eval_input, PURIFY_ASSIGN_OR_RETURN, purify::detail::tagged_eval_input(), template_digest, topic, purify::unexpected_error(), and purify::verifier_circuit_template().

Referenced by purify::puresign_plusplus::api_impl::build_topic_proof_cache().

Field Documentation

◆ backend_cache

bppp::ExperimentalCircuitCache purify::puresign_plusplus::TopicProofCache::backend_cache
mutable

◆ circuit_template

◆ eval_input

Bytes purify::puresign_plusplus::TopicProofCache::eval_input

◆ template_digest

Bytes purify::puresign_plusplus::TopicProofCache::template_digest

Definition at line 244 of file bppp.hpp.

Referenced by build().

◆ topic

Bytes purify::puresign_plusplus::TopicProofCache::topic

The documentation for this struct was generated from the following files: