Struct solana_zk_token_sdk::encryption::elgamal::ElGamalPubkey
source · [−]pub struct ElGamalPubkey(_);
Expand description
Public key for the ElGamal encryption scheme.
Implementations
sourceimpl ElGamalPubkey
impl ElGamalPubkey
sourcepub fn new(secret: &ElGamalSecretKey) -> Self
pub fn new(secret: &ElGamalSecretKey) -> Self
Derives the ElGamalPubkey
that uniquely corresponds to an ElGamalSecretKey
.
pub fn get_point(&self) -> &RistrettoPoint
pub fn to_bytes(&self) -> [u8; 32]
pub fn from_bytes(bytes: &[u8; 32]) -> Option<ElGamalPubkey>
sourcepub fn encrypt<T: Into<Scalar>>(&self, amount: T) -> ElGamalCiphertext
pub fn encrypt<T: Into<Scalar>>(&self, amount: T) -> ElGamalCiphertext
Encrypts an amount under the public key.
This function is randomized. It internally samples a scalar element using OsRng
.
sourcepub fn encrypt_with<T: Into<Scalar>>(
&self,
amount: T,
opening: &PedersenOpening
) -> ElGamalCiphertext
pub fn encrypt_with<T: Into<Scalar>>(
&self,
amount: T,
opening: &PedersenOpening
) -> ElGamalCiphertext
Encrypts an amount under the public key and an input Pedersen opening.
sourcepub fn decrypt_handle(self, opening: &PedersenOpening) -> DecryptHandle
pub fn decrypt_handle(self, opening: &PedersenOpening) -> DecryptHandle
Generates a decryption handle for an ElGamal public key under a Pedersen opening.
Trait Implementations
sourceimpl Clone for ElGamalPubkey
impl Clone for ElGamalPubkey
sourcefn clone(&self) -> ElGamalPubkey
fn clone(&self) -> ElGamalPubkey
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for ElGamalPubkey
impl Debug for ElGamalPubkey
sourceimpl Default for ElGamalPubkey
impl Default for ElGamalPubkey
sourcefn default() -> ElGamalPubkey
fn default() -> ElGamalPubkey
Returns the “default value” for a type. Read more
sourceimpl<'de> Deserialize<'de> for ElGamalPubkey
impl<'de> Deserialize<'de> for ElGamalPubkey
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Display for ElGamalPubkey
impl Display for ElGamalPubkey
sourceimpl From<ElGamalPubkey> for ElGamalPubkey
impl From<ElGamalPubkey> for ElGamalPubkey
sourcefn from(pk: ElGamalPubkey) -> Self
fn from(pk: ElGamalPubkey) -> Self
Converts to this type from the input type.
sourceimpl PartialEq<ElGamalPubkey> for ElGamalPubkey
impl PartialEq<ElGamalPubkey> for ElGamalPubkey
sourcefn eq(&self, other: &ElGamalPubkey) -> bool
fn eq(&self, other: &ElGamalPubkey) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &ElGamalPubkey) -> bool
fn ne(&self, other: &ElGamalPubkey) -> bool
This method tests for !=
.
sourceimpl Serialize for ElGamalPubkey
impl Serialize for ElGamalPubkey
sourceimpl TryFrom<ElGamalPubkey> for ElGamalPubkey
impl TryFrom<ElGamalPubkey> for ElGamalPubkey
type Error = ProofError
type Error = ProofError
The type returned in the event of a conversion error.
sourcefn try_from(pk: ElGamalPubkey) -> Result<Self, Self::Error>
fn try_from(pk: ElGamalPubkey) -> Result<Self, Self::Error>
Performs the conversion.
sourceimpl Zeroize for ElGamalPubkey
impl Zeroize for ElGamalPubkey
impl Copy for ElGamalPubkey
impl Eq for ElGamalPubkey
impl StructuralEq for ElGamalPubkey
impl StructuralPartialEq for ElGamalPubkey
Auto Trait Implementations
impl RefUnwindSafe for ElGamalPubkey
impl Send for ElGamalPubkey
impl Sync for ElGamalPubkey
impl Unpin for ElGamalPubkey
impl UnwindSafe for ElGamalPubkey
Blanket Implementations
impl<T> AbiEnumVisitor for T where
T: Serialize + AbiExample + ?Sized,
impl<T> AbiEnumVisitor for T where
T: Serialize + AbiExample + ?Sized,
default fn visit_for_abi(
&self,
digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
impl<T> AbiEnumVisitor for T where
T: Serialize + ?Sized,
impl<T> AbiEnumVisitor for T where
T: Serialize + ?Sized,
default fn visit_for_abi(
&self,
_digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
impl<T> AbiExample for T
impl<T> AbiExample for T
default fn example() -> T
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more