Struct ubiq::encryption::Encryption

source ·
pub struct Encryption<'a> { /* private fields */ }
Expand description

Structure encompassing parameters used for encrypting data

Using this structure, a caller is able to encrypt a plaintext by feeding it to the member functions in a piecewise fashion (or by doing so all at once). The encryption object can be reused to encrypt as many plaintexts as were initially specified by the call to new()

Implementations§

source§

impl Encryption<'_>

source

pub fn new<'a>(creds: &Credentials, uses: usize) -> Result<Encryption<'a>>

source

pub fn begin(&mut self) -> Result<Vec<u8>>

Begin a new encryption “session”

Encryption of a plaintext consists of a begin(), some number of update() calls, and an end(). It is an error to call begin() more than once without an intervening end().

source

pub fn update(&mut self, pt: &[u8]) -> Result<Vec<u8>>

Input (some) plaintext for encryption

The update function writes data into the Encryption object. Ciphertext data may or may not be returned with each call to this function.

source

pub fn end(&mut self) -> Result<Vec<u8>>

End an encryption “session”

After all plaintext has been written to the object via the update() function, the caller must call this function to finalize the encryption. Any remaining plaintext will be returned along with any authentication information produced by the algorithm.

source

pub fn cipher(&mut self, pt: &[u8]) -> Result<Vec<u8>>

Encrypt a single plaintext in one shot

This function is equivalent to calling begin(), update(pt), and end()

Trait Implementations§

source§

impl<'a> Debug for Encryption<'a>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> !RefUnwindSafe for Encryption<'a>

§

impl<'a> !Send for Encryption<'a>

§

impl<'a> !Sync for Encryption<'a>

§

impl<'a> Unpin for Encryption<'a>

§

impl<'a> !UnwindSafe for Encryption<'a>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more