[−][src]Struct safe_crypto::SymmetricKey
Secret key for authenticated symmetric encryption.
Methods
impl SymmetricKey
[src]
pub fn new() -> Self
[src]
Generates a new symmetric key.
pub fn from_bytes(key: [u8; 32]) -> Self
[src]
Create a symmetric key from bytes. Useful when it has been serialised.
pub fn into_bytes(self) -> [u8; 32]
[src]
Convert the SharedSecretKey
into the raw underlying bytes.
For anyone who wants to store the symmetric key
pub fn encrypt<T: Serialize>(&self, plaintext: &T) -> Result<Vec<u8>, Error>
[src]
Encrypts serialisable plaintext
using authenticated symmetric encryption.
With authenticated encryption the recipient will be able to confirm that the message
is untampered with.
If you wish to encrypt bytestring plaintext, use encrypt_bytes
.
Returns ciphertext in case of success.
Can return an Error
in case of a serialisation error.
pub fn encrypt_with_nonce<T: Serialize>(
&self,
plaintext: &T,
nonce: &Nonce
) -> Result<Vec<u8>, Error>
[src]
&self,
plaintext: &T,
nonce: &Nonce
) -> Result<Vec<u8>, Error>
Encrypts serialisable plaintext
using authenticated symmetric encryption, with a nonce.
See encrypt
.
pub fn encrypt_bytes_with_nonce(
&self,
plaintext: &[u8],
nonce: &Nonce
) -> Result<Vec<u8>, Error>
[src]
&self,
plaintext: &[u8],
nonce: &Nonce
) -> Result<Vec<u8>, Error>
Encrypts bytestring plaintext
using authenticated symmetric encryption, with a nonce.
See encrypt_bytes
.
pub fn encrypt_bytes(&self, plaintext: &[u8]) -> Result<Vec<u8>, Error>
[src]
Encrypts bytestring plaintext
using authenticated symmetric encryption.
With authenticated encryption the recipient will be able to confirm that the message is untampered with.
Returns ciphertext in case of success.
Can return an Error
in case of a serialisation error.
pub fn decrypt<T>(&self, ciphertext: &[u8]) -> Result<T, Error> where
T: DeserializeOwned + Serialize,
[src]
T: DeserializeOwned + Serialize,
Decrypts serialised ciphertext
encrypted using authenticated symmetric encryption.
With authenticated encryption we will be able to tell that the message hasn't been tampered with.
Returns deserialised type T
in case of success.
Can return Error
in case of a deserialisation error, if the ciphertext
is not valid, or if it can not be decrypted.
pub fn decrypt_bytes(&self, ciphertext: &[u8]) -> Result<Vec<u8>, Error>
[src]
Decrypts bytestring ciphertext
encrypted using authenticated symmetric encryption.
With authenticated encryption we will be able to tell that the message hasn't been tampered with.
Returns plaintext in case of success.
Can return Error
in case of a deserialisation error, if the ciphertext
is not valid, or if it can not be decrypted.
Trait Implementations
impl Eq for SymmetricKey
[src]
impl Default for SymmetricKey
[src]
impl Clone for SymmetricKey
[src]
fn clone(&self) -> SymmetricKey
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl PartialEq<SymmetricKey> for SymmetricKey
[src]
fn eq(&self, other: &SymmetricKey) -> bool
[src]
fn ne(&self, other: &SymmetricKey) -> bool
[src]
impl Debug for SymmetricKey
[src]
impl Serialize for SymmetricKey
[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl<'de> Deserialize<'de> for SymmetricKey
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
Auto Trait Implementations
impl Send for SymmetricKey
impl Unpin for SymmetricKey
impl Sync for SymmetricKey
impl UnwindSafe for SymmetricKey
impl RefUnwindSafe for SymmetricKey
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, 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,