Skip to main content

TranscriptProtocol

Trait TranscriptProtocol 

Source
pub trait TranscriptProtocol {
Show 14 methods // Required methods fn new_zk_elgamal_transcript(label: &'static [u8]) -> Transcript; fn append_scalar(&mut self, label: &'static [u8], scalar: &Scalar); fn append_point( &mut self, label: &'static [u8], point: &CompressedRistretto, ); fn validate_and_append_point( &mut self, label: &'static [u8], point: &CompressedRistretto, ) -> Result<(), TranscriptError>; fn range_proof_domain_separator(&mut self, n: u64); fn inner_product_proof_domain_separator(&mut self, n: u64); fn ciphertext_ciphertext_equality_proof_domain_separator(&mut self); fn ciphertext_commitment_equality_proof_domain_separator(&mut self); fn zero_ciphertext_proof_domain_separator(&mut self); fn grouped_ciphertext_validity_proof_domain_separator( &mut self, handles: u64, ); fn batched_grouped_ciphertext_validity_proof_domain_separator( &mut self, handles: u64, ); fn percentage_with_cap_proof_domain_separator(&mut self); fn pubkey_proof_domain_separator(&mut self); fn challenge_scalar(&mut self, label: &'static [u8]) -> Scalar;
}

Required Methods§

Source

fn new_zk_elgamal_transcript(label: &'static [u8]) -> Transcript

Create a new transcript with the global domain separator and a specific label.

Source

fn append_scalar(&mut self, label: &'static [u8], scalar: &Scalar)

Append a scalar with the given label.

Source

fn append_point(&mut self, label: &'static [u8], point: &CompressedRistretto)

Append a point with the given label.

Source

fn validate_and_append_point( &mut self, label: &'static [u8], point: &CompressedRistretto, ) -> Result<(), TranscriptError>

Check that a point is not the identity, then append it to the transcript. Otherwise, return an error.

Source

fn range_proof_domain_separator(&mut self, n: u64)

Append a domain separator for an n-bit range proof

Source

fn inner_product_proof_domain_separator(&mut self, n: u64)

Append a domain separator for a length-n inner product proof.

Source

fn ciphertext_ciphertext_equality_proof_domain_separator(&mut self)

Append a domain separator for ciphertext-ciphertext equality proof.

Source

fn ciphertext_commitment_equality_proof_domain_separator(&mut self)

Append a domain separator for ciphertext-commitment equality proof.

Source

fn zero_ciphertext_proof_domain_separator(&mut self)

Append a domain separator for zero-ciphertext proof.

Source

fn grouped_ciphertext_validity_proof_domain_separator(&mut self, handles: u64)

Append a domain separator for grouped ciphertext validity proof.

Source

fn batched_grouped_ciphertext_validity_proof_domain_separator( &mut self, handles: u64, )

Append a domain separator for batched grouped ciphertext validity proof.

Source

fn percentage_with_cap_proof_domain_separator(&mut self)

Append a domain separator for percentage with cap proof.

Source

fn pubkey_proof_domain_separator(&mut self)

Append a domain separator for public-key proof.

Source

fn challenge_scalar(&mut self, label: &'static [u8]) -> Scalar

Compute a labeled challenge variable.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl TranscriptProtocol for Transcript

Implementors§