Struct cryptid::elgamal::PublicKey  [−][src]
pub struct PublicKey { /* fields omitted */ }Implementations
impl PublicKey[src]
impl PublicKey[src]pub fn new(value: CurveElem) -> Self[src]
pub fn encrypt<R: Rng + CryptoRng>(
    &self, 
    rng: &mut R, 
    message: &[u8]
) -> Ciphertext[src]
pub fn encrypt<R: Rng + CryptoRng>(
    &self, 
    rng: &mut R, 
    message: &[u8]
) -> Ciphertext[src]Encrypt a message. The message cannot have any trailing null (0u8) bytes, nor can it be over 32 bytes long
pub fn encrypt_curve(&self, m: &CurveElem, r: &Scalar) -> Ciphertext[src]
pub fn rerand(self, ct: &Ciphertext, r: &Scalar) -> Ciphertext[src]
pub fn rerand(self, ct: &Ciphertext, r: &Scalar) -> Ciphertext[src]Re-encrypt the ciphertext, replacing the random factors in the ciphertext with r.
The encrypted message is the same, but an outside observer cannot tell that the two ciphertexts are related.
Trait Implementations
impl AsBase64 for PublicKey[src]
impl AsBase64 for PublicKey[src]type Error = CryptoError
fn as_base64(&self) -> String[src]
fn try_from_base64(encoded: &str) -> Result<Self, Self::Error>[src]
impl<'de> Deserialize<'de> for PublicKey[src]
impl<'de> Deserialize<'de> for PublicKey[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
    __D: Deserializer<'de>, [src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
    __D: Deserializer<'de>, [src]Deserialize this value from the given Serde deserializer. Read more
impl Copy for PublicKey[src]
impl Eq for PublicKey[src]
impl StructuralEq for PublicKey[src]
impl StructuralPartialEq for PublicKey[src]
Auto Trait Implementations
impl RefUnwindSafe for PublicKey
impl Send for PublicKey
impl Sync for PublicKey
impl Unpin for PublicKey
impl UnwindSafe for PublicKey
Blanket Implementations
impl<T> BorrowMut<T> for T where
    T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
    T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized, [src]
impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized, [src]pub fn equivalent(&self, key: &K) -> bool[src]
pub fn equivalent(&self, key: &K) -> bool[src]Compare self to key and return true if they are equal.
impl<T> Pointable for T[src]
impl<T> Pointable for T[src]impl<T> ToOwned for T where
    T: Clone, [src]
impl<T> ToOwned for T where
    T: Clone, [src]type Owned = T
type Owned = TThe resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn to_owned(&self) -> T[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)[src]
pub fn clone_into(&self, target: &mut T)[src]🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, [src]
T: for<'de> Deserialize<'de>,