pub struct PrecomputedKey(pub [u8; 32]);
Expand description
Applications that send several messages to the same receiver can gain speed by
splitting seal()
into two steps, precompute()
and seal_precomputed()
.
Similarly, applications that receive several messages from the same sender can gain
speed by splitting open()
into two steps, precompute()
and open_precomputed()
.
When a PrecomputedKey
goes out of scope its contents will be zeroed out
Tuple Fields§
§0: [u8; 32]
Implementations§
Source§impl PrecomputedKey
impl PrecomputedKey
Sourcepub fn from_slice(bs: &[u8]) -> Option<PrecomputedKey>
pub fn from_slice(bs: &[u8]) -> Option<PrecomputedKey>
from_slice()
creates an object from a byte slice
This function will fail and return None
if the length of
the byte-slice isn’t equal to the length of the object
Trait Implementations§
Source§impl AsRef<[u8]> for PrecomputedKey
impl AsRef<[u8]> for PrecomputedKey
Source§impl Clone for PrecomputedKey
impl Clone for PrecomputedKey
Source§fn clone(&self) -> PrecomputedKey
fn clone(&self) -> PrecomputedKey
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for PrecomputedKey
impl Debug for PrecomputedKey
Source§impl<'de> Deserialize<'de> for PrecomputedKey
impl<'de> Deserialize<'de> for PrecomputedKey
Source§fn deserialize<D>(
deserializer: D,
) -> Result<PrecomputedKey, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<PrecomputedKey, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Source§impl Drop for PrecomputedKey
impl Drop for PrecomputedKey
Source§impl Index<Range<usize>> for PrecomputedKey
Allows a user to access the byte contents of an object as a slice.
impl Index<Range<usize>> for PrecomputedKey
Allows a user to access the byte contents of an object as a slice.
WARNING: it might be tempting to do comparisons on objects
by using x[a..b] == y[a..b]
. This will open up for timing attacks
when comparing for example authenticator tags. Because of this only
use the comparison functions exposed by the sodiumoxide API.
Source§impl Index<RangeFrom<usize>> for PrecomputedKey
Allows a user to access the byte contents of an object as a slice.
impl Index<RangeFrom<usize>> for PrecomputedKey
Allows a user to access the byte contents of an object as a slice.
WARNING: it might be tempting to do comparisons on objects
by using x[a..] == y[a..]
. This will open up for timing attacks
when comparing for example authenticator tags. Because of this only
use the comparison functions exposed by the sodiumoxide API.
Source§impl Index<RangeFull> for PrecomputedKey
Allows a user to access the byte contents of an object as a slice.
impl Index<RangeFull> for PrecomputedKey
Allows a user to access the byte contents of an object as a slice.
WARNING: it might be tempting to do comparisons on objects
by using x[] == y[]
. This will open up for timing attacks
when comparing for example authenticator tags. Because of this only
use the comparison functions exposed by the sodiumoxide API.
Source§impl Index<RangeTo<usize>> for PrecomputedKey
Allows a user to access the byte contents of an object as a slice.
impl Index<RangeTo<usize>> for PrecomputedKey
Allows a user to access the byte contents of an object as a slice.
WARNING: it might be tempting to do comparisons on objects
by using x[..b] == y[..b]
. This will open up for timing attacks
when comparing for example authenticator tags. Because of this only
use the comparison functions exposed by the sodiumoxide API.