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§
Sourcefn new_zk_elgamal_transcript(label: &'static [u8]) -> Transcript
fn new_zk_elgamal_transcript(label: &'static [u8]) -> Transcript
Create a new transcript with the global domain separator and a specific label.
Sourcefn append_scalar(&mut self, label: &'static [u8], scalar: &Scalar)
fn append_scalar(&mut self, label: &'static [u8], scalar: &Scalar)
Append a scalar with the given label.
Sourcefn append_point(&mut self, label: &'static [u8], point: &CompressedRistretto)
fn append_point(&mut self, label: &'static [u8], point: &CompressedRistretto)
Append a point with the given label.
Sourcefn validate_and_append_point(
&mut self,
label: &'static [u8],
point: &CompressedRistretto,
) -> Result<(), TranscriptError>
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.
Sourcefn range_proof_domain_separator(&mut self, n: u64)
fn range_proof_domain_separator(&mut self, n: u64)
Append a domain separator for an n-bit range proof
Sourcefn inner_product_proof_domain_separator(&mut self, n: u64)
fn inner_product_proof_domain_separator(&mut self, n: u64)
Append a domain separator for a length-n inner product proof.
Sourcefn ciphertext_ciphertext_equality_proof_domain_separator(&mut self)
fn ciphertext_ciphertext_equality_proof_domain_separator(&mut self)
Append a domain separator for ciphertext-ciphertext equality proof.
Sourcefn ciphertext_commitment_equality_proof_domain_separator(&mut self)
fn ciphertext_commitment_equality_proof_domain_separator(&mut self)
Append a domain separator for ciphertext-commitment equality proof.
Sourcefn zero_ciphertext_proof_domain_separator(&mut self)
fn zero_ciphertext_proof_domain_separator(&mut self)
Append a domain separator for zero-ciphertext proof.
Sourcefn grouped_ciphertext_validity_proof_domain_separator(&mut self, handles: u64)
fn grouped_ciphertext_validity_proof_domain_separator(&mut self, handles: u64)
Append a domain separator for grouped ciphertext validity proof.
Sourcefn batched_grouped_ciphertext_validity_proof_domain_separator(
&mut self,
handles: u64,
)
fn batched_grouped_ciphertext_validity_proof_domain_separator( &mut self, handles: u64, )
Append a domain separator for batched grouped ciphertext validity proof.
Sourcefn percentage_with_cap_proof_domain_separator(&mut self)
fn percentage_with_cap_proof_domain_separator(&mut self)
Append a domain separator for percentage with cap proof.
Sourcefn pubkey_proof_domain_separator(&mut self)
fn pubkey_proof_domain_separator(&mut self)
Append a domain separator for public-key proof.
Sourcefn challenge_scalar(&mut self, label: &'static [u8]) -> Scalar
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.