Struct secure_serialisation::PrecomputedKey
[−]
[src]
#[must_use]pub struct PrecomputedKey(pub [u8; PRECOMPUTEDKEYBYTES]);
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
Methods
impl PrecomputedKey
[src]
fn from_slice(bs: &[u8]) -> Option<PrecomputedKey>
[src]
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
impl Index<RangeFrom<usize>> for PrecomputedKey
[src]
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 rust_sodium
API.
impl Index<RangeTo<usize>> for PrecomputedKey
[src]
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 rust_sodium
API.
impl Index<RangeFull> for PrecomputedKey
[src]
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 rust_sodium
API.
impl Index<Range<usize>> for PrecomputedKey
[src]
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 rust_sodium
API.
impl Clone for PrecomputedKey
[src]
fn clone(&self) -> PrecomputedKey
[src]
impl Eq for PrecomputedKey
[src]
impl Drop for PrecomputedKey
[src]
impl PartialEq<PrecomputedKey> for PrecomputedKey
[src]
fn eq(&self, &PrecomputedKey) -> bool
[src]
impl Serialize for PrecomputedKey
[src]
fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
[src]
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Debug for PrecomputedKey
[src]
fn fmt(&self, formatter: &mut Formatter) -> Result<(), Error>
[src]
Formats the value using the given formatter.
impl<'de> Deserialize<'de> for PrecomputedKey
[src]
fn deserialize<D>(
deserializer: D
) -> Result<PrecomputedKey, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
[src]
deserializer: D
) -> Result<PrecomputedKey, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,