Trait snarkvm_models::algorithms::encryption::EncryptionScheme [−][src]
Associated Types
type Parameters: Clone + Debug + Eq + ToBytes + FromBytes
[src]
type PrivateKey: Clone + Debug + Default + Eq + Hash + ToBytes + FromBytes + UniformRand
[src]
type PublicKey: Clone + Debug + Default + Eq + ToBytes + FromBytes
[src]
type Text: Clone + Debug + Default + Eq + ToBytes + FromBytes
[src]
type Randomness: Clone + Debug + Default + Eq + Hash + ToBytes + FromBytes + UniformRand
[src]
type BlindingExponent: Clone + Debug + Default + Eq + Hash + ToBytes
[src]
Required methods
fn setup<R: Rng>(rng: &mut R) -> Self
[src]
fn generate_private_key<R: Rng>(&self, rng: &mut R) -> Self::PrivateKey
[src]
fn generate_public_key(
&self,
private_key: &Self::PrivateKey
) -> Result<Self::PublicKey, EncryptionError>
[src]
&self,
private_key: &Self::PrivateKey
) -> Result<Self::PublicKey, EncryptionError>
fn generate_randomness<R: Rng>(
&self,
public_key: &Self::PublicKey,
rng: &mut R
) -> Result<Self::Randomness, EncryptionError>
[src]
&self,
public_key: &Self::PublicKey,
rng: &mut R
) -> Result<Self::Randomness, EncryptionError>
fn generate_blinding_exponents(
&self,
public_key: &Self::PublicKey,
randomness: &Self::Randomness,
message_length: usize
) -> Result<Vec<Self::BlindingExponent>, EncryptionError>
[src]
&self,
public_key: &Self::PublicKey,
randomness: &Self::Randomness,
message_length: usize
) -> Result<Vec<Self::BlindingExponent>, EncryptionError>
fn encrypt(
&self,
public_key: &Self::PublicKey,
randomness: &Self::Randomness,
message: &[Self::Text]
) -> Result<Vec<Self::Text>, EncryptionError>
[src]
&self,
public_key: &Self::PublicKey,
randomness: &Self::Randomness,
message: &[Self::Text]
) -> Result<Vec<Self::Text>, EncryptionError>
fn decrypt(
&self,
private_key: &Self::PrivateKey,
ciphertext: &[Self::Text]
) -> Result<Vec<Self::Text>, EncryptionError>
[src]
&self,
private_key: &Self::PrivateKey,
ciphertext: &[Self::Text]
) -> Result<Vec<Self::Text>, EncryptionError>