Struct fpe::ff3_1::FF3_1

source ·
pub struct FF3_1 { /* private fields */ }
Expand description

The FF3_1 context structure

Implementations§

source§

impl FF3_1

source

pub fn new( key: &[u8], opt_twk: Option<&[u8]>, radix: usize, opt_alpha: Option<&str> ) -> Result<Self>

Create a new FF3-1 context

The supplied key may be any of the lengths supported by AES.

The default tweak is optional. If supplied, it’s length must be 7 bytes as per the algorithm specification. Those values are hardcoded within this function. Note that if the default tweak is not supplied, one must be supplied during the encrypt and decrypt operations

The radix must be less than or equal to the number of characters in the supplied alphabet (or the default alphabet) if no alphabet is supplied to this function

source

pub fn encrypt(&self, pt: &str, twk: Option<&[u8]>) -> Result<String>

Encrypt a string

If the tweak is not None, then the specified tweak will be used instead of the default specified by the context structure.

source

pub fn decrypt(&self, ct: &str, twk: Option<&[u8]>) -> Result<String>

Decrypt a string

If the tweak is not None, then the specified tweak will be used instead of the default specified by the context structure. The tweak used must match that used during encryption.

Auto Trait Implementations§

§

impl RefUnwindSafe for FF3_1

§

impl Send for FF3_1

§

impl Sync for FF3_1

§

impl Unpin for FF3_1

§

impl UnwindSafe for FF3_1

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.

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 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.