[][src]Struct rust_sodium::crypto::stream::chacha20::Nonce

#[must_use]
pub struct Nonce(pub [u8; 8]);

Nonce for symmetric encryption

Methods

impl Nonce
[src]

pub fn from_slice(bs: &[u8]) -> Option<Nonce>
[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

pub fn increment_le(&self) -> Nonce
[src]

increment_le() treats the nonce as an unsigned little-endian number and returns an incremented version of it.

WARNING: this method does not check for arithmetic overflow. It is the callers responsibility to ensure that any given nonce value is only used once. If the caller does not do that the cryptographic primitives in rust_sodium will not uphold any security guarantees (i.e. they will break)

pub fn increment_le_inplace(&mut self)
[src]

increment_le_inplace() treats the nonce as an unsigned little-endian number and increments it.

WARNING: this method does not check for arithmetic overflow. It is the callers responsibility to ensure that any given nonce value is only used once. If the caller does not do that the cryptographic primitives in rust_sodium will not uphold any security guarantees.

Trait Implementations

impl Eq for Nonce
[src]

impl PartialOrd<Nonce> for Nonce
[src]

impl Copy for Nonce
[src]

impl PartialEq<Nonce> for Nonce
[src]

#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0
[src]

This method tests for !=.

impl AsRef<[u8]> for Nonce
[src]

impl Clone for Nonce
[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Ord for Nonce
[src]

fn max(self, other: Self) -> Self
1.21.0
[src]

Compares and returns the maximum of two values. Read more

fn min(self, other: Self) -> Self
1.21.0
[src]

Compares and returns the minimum of two values. Read more

impl Debug for Nonce
[src]

impl Hash for Nonce
[src]

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0
[src]

Feeds a slice of this type into the given [Hasher]. Read more

impl Index<Range<usize>> for Nonce
[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.

type Output = [u8]

The returned type after indexing.

impl Index<RangeTo<usize>> for Nonce
[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.

type Output = [u8]

The returned type after indexing.

impl Index<RangeFrom<usize>> for Nonce
[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.

type Output = [u8]

The returned type after indexing.

impl Index<RangeFull> for Nonce
[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.

type Output = [u8]

The returned type after indexing.

impl Serialize for Nonce
[src]

impl<'de> Deserialize<'de> for Nonce
[src]

Auto Trait Implementations

impl Send for Nonce

impl Sync for Nonce

Blanket Implementations

impl<T> From for T
[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: Deserialize<'de>, 
[src]