Struct safe_zk_token_sdk::encryption::elgamal::ElGamalPubkey
source · pub struct ElGamalPubkey(_);
Expand description
Public key for the ElGamal encryption scheme.
Implementations§
source§impl 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]) -> 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§
source§impl Clone for ElGamalPubkey
impl Clone for ElGamalPubkey
source§fn clone(&self) -> ElGamalPubkey
fn clone(&self) -> ElGamalPubkey
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for ElGamalPubkey
impl Debug for ElGamalPubkey
source§impl Default for ElGamalPubkey
impl Default for ElGamalPubkey
source§fn default() -> ElGamalPubkey
fn default() -> ElGamalPubkey
Returns the “default value” for a type. Read more
source§impl<'de> Deserialize<'de> for ElGamalPubkey
impl<'de> Deserialize<'de> for ElGamalPubkey
source§fn 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
source§impl Display for ElGamalPubkey
impl Display for ElGamalPubkey
source§impl From<ElGamalPubkey> for ElGamalPubkey
impl From<ElGamalPubkey> for ElGamalPubkey
source§fn from(pk: ElGamalPubkey) -> Self
fn from(pk: ElGamalPubkey) -> Self
Converts to this type from the input type.
source§impl PartialEq<ElGamalPubkey> for ElGamalPubkey
impl PartialEq<ElGamalPubkey> for ElGamalPubkey
source§fn 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 ==
.source§impl Serialize for ElGamalPubkey
impl Serialize for ElGamalPubkey
source§impl 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.