[−][src]Struct safe_crypto::PublicEncryptKey
The public key used encrypt data that can only be decrypted by the corresponding secret key,
which is represented by SecretEncryptKey
.
Use gen_encrypt_keypair()
to generate a public and secret key pair.
Methods
impl PublicEncryptKey
[src]
pub fn from_bytes(public_key: [u8; 32]) -> Self
[src]
Construct public key from bytes. Useful when it was serialised before.
pub fn into_bytes(self) -> [u8; 32]
[src]
Convert the PublicEncryptKey
into the raw underlying bytes.
For anyone who wants to store the public key.
pub fn anonymously_encrypt<T>(&self, plaintext: &T) -> Result<Vec<u8>, Error> where
T: Serialize,
[src]
T: Serialize,
Encrypts serialisable plaintext
using anonymous encryption.
Anonymous encryption will use an ephemeral public key, so the recipient won't
be able to tell who sent the ciphertext.
If you wish to encrypt bytestring plaintext, use anonymously_encrypt_bytes
.
To use authenticated encryption, use SharedSecretKey
.
Returns ciphertext in case of success.
Can return an Error
in case of a serialisation error.
pub fn anonymously_encrypt_bytes(&self, plaintext: &[u8]) -> Vec<u8>
[src]
Encrypts bytestring plaintext
using anonymous encryption.
Anonymous encryption will use an ephemeral public key, so the recipient won't
be able to tell who sent the ciphertext.
To use authenticated encryption, use SharedSecretKey
.
Returns ciphertext in case of success.
Trait Implementations
impl Eq for PublicEncryptKey
[src]
impl Clone for PublicEncryptKey
[src]
fn clone(&self) -> PublicEncryptKey
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl PartialOrd<PublicEncryptKey> for PublicEncryptKey
[src]
fn partial_cmp(&self, other: &PublicEncryptKey) -> Option<Ordering>
[src]
fn lt(&self, other: &PublicEncryptKey) -> bool
[src]
fn le(&self, other: &PublicEncryptKey) -> bool
[src]
fn gt(&self, other: &PublicEncryptKey) -> bool
[src]
fn ge(&self, other: &PublicEncryptKey) -> bool
[src]
impl PartialEq<PublicEncryptKey> for PublicEncryptKey
[src]
fn eq(&self, other: &PublicEncryptKey) -> bool
[src]
fn ne(&self, other: &PublicEncryptKey) -> bool
[src]
impl Ord for PublicEncryptKey
[src]
fn cmp(&self, other: &PublicEncryptKey) -> Ordering
[src]
fn max(self, other: Self) -> Self
1.21.0[src]
fn min(self, other: Self) -> Self
1.21.0[src]
fn clamp(self, min: Self, max: Self) -> Self
[src]
impl Copy for PublicEncryptKey
[src]
impl Hash for PublicEncryptKey
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Debug for PublicEncryptKey
[src]
impl Display for PublicEncryptKey
[src]
impl Serialize for PublicEncryptKey
[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl<'de> Deserialize<'de> for PublicEncryptKey
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
Auto Trait Implementations
impl Send for PublicEncryptKey
impl Unpin for PublicEncryptKey
impl Sync for PublicEncryptKey
impl UnwindSafe for PublicEncryptKey
impl RefUnwindSafe for PublicEncryptKey
Blanket Implementations
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> DeserializeOwned for T where
T: Deserialize<'de>,
[src]
T: Deserialize<'de>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> DebugAny for T where
T: Any + Debug,
T: Any + Debug,
impl<T> CloneAny for T where
T: Clone + Any,
T: Clone + Any,
fn clone_any(&self) -> Box<dyn CloneAny + 'static>
fn clone_any_send(&self) -> Box<dyn CloneAny + 'static + Send> where
T: Send,
T: Send,
fn clone_any_sync(&self) -> Box<dyn CloneAny + 'static + Sync> where
T: Sync,
T: Sync,
fn clone_any_send_sync(&self) -> Box<dyn CloneAny + 'static + Sync + Send> where
T: Send + Sync,
T: Send + Sync,
impl<T> UnsafeAny for T where
T: Any,
T: Any,