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

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

#include <bppp.hpp>

Static Public Member Functions

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

Data Fields

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

Detailed Description

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

Definition at line 218 of file bppp.hpp.

Member Function Documentation

◆ build()

Result< MessageProofCache > purify::puresign_plusplus::MessageProofCache::build ( std::span< const unsigned char >  message)
static
Parameters
messageThe message that all later prepared nonces or proofs must bind to.
Returns
The reusable cache for that message.

Definition at line 271 of file bppp.cpp.

References circuit_template, purify::detail::copy_bytes(), eval_input, purify::NativeBulletproofCircuitTemplate::integrity_digest(), message, PURIFY_ASSIGN_OR_RETURN, purify::detail::tagged_eval_input(), template_digest, and purify::verifier_circuit_template().

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

Field Documentation

◆ backend_cache

bppp::ExperimentalCircuitCache purify::puresign_plusplus::MessageProofCache::backend_cache
mutable

◆ circuit_template

◆ eval_input

Bytes purify::puresign_plusplus::MessageProofCache::eval_input

◆ message

◆ template_digest

Bytes purify::puresign_plusplus::MessageProofCache::template_digest

Definition at line 222 of file bppp.hpp.

Referenced by build().


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