pub struct ElGamal;
Expand description
Algorithm handle for the twisted ElGamal encryption scheme
Implementations§
Source§impl ElGamal
impl ElGamal
Sourcepub fn encode<T: Into<Scalar>>(amount: T) -> ElGamalCiphertext
pub fn encode<T: Into<Scalar>>(amount: T) -> ElGamalCiphertext
On input an amount, the function returns a twisted ElGamal ciphertext where the associated Pedersen opening is always zero. Since the opening is zero, any twisted ElGamal ciphertext of this form is a valid ciphertext under any ElGamal public key.
Auto Trait Implementations§
impl Freeze for ElGamal
impl RefUnwindSafe for ElGamal
impl Send for ElGamal
impl Sync for ElGamal
impl Unpin for ElGamal
impl UnwindSafe for ElGamal
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more