[][src]Struct cipher_crypt::scytale::Scytale

pub struct Scytale { /* fields omitted */ }

A Scytale cipher.

This struct is created by the new() method. See its documentation for more.

Trait Implementations

impl Cipher for Scytale[src]

type Key = usize

type Algorithm = Scytale

fn new(key: usize) -> Scytale[src]

Initialize a Scytale cipher with a specific cylinder height.

Panics

  • The key is 0.

fn encrypt(&self, message: &str) -> Result<String, &'static str>[src]

Encrypt a message using a Scytale cipher.

Whilst all characters (including utf8) can be encrypted during the transposition process, it is important to note that the space character is also treated as padding. As such, whitespace characters at the end of a message are not preserved during the decryption process.

Examples

Basic usage:

use cipher_crypt::{Cipher, Scytale};

let s = Scytale::new(6);
assert_eq!("Pegr lefoporaryr !", s.encrypt("Prepare for glory!").unwrap());

fn decrypt(&self, ciphertext: &str) -> Result<String, &'static str>[src]

Decrypt a message using a Scytale cipher.

Examples

Basic usage:

use cipher_crypt::{Cipher, Scytale};

let ct = Scytale::new(6);
assert_eq!("Prepare for glory!", ct.decrypt("Pegr lefoporaryr !").unwrap());

Auto Trait Implementations

impl Send for Scytale

impl Unpin for Scytale

impl Sync for Scytale

impl UnwindSafe for Scytale

impl RefUnwindSafe for Scytale

Blanket Implementations

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

impl<T> From<T> for T[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

The type returned in the event of a conversion error.

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

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

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