[−][src]Trait snarkvm_models::algorithms::encryption::EncryptionScheme
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
pub fn setup<R: Rng>(rng: &mut R) -> Self[src]
pub fn generate_private_key<R: Rng>(&self, rng: &mut R) -> Self::PrivateKey[src]
pub fn generate_public_key(
&self,
private_key: &Self::PrivateKey
) -> Result<Self::PublicKey, EncryptionError>[src]
&self,
private_key: &Self::PrivateKey
) -> Result<Self::PublicKey, EncryptionError>
pub 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>
pub 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>
pub 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>
pub 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>