Struct cipher_crypt::scytale::Scytale
[−]
[src]
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) -> Result<Scytale, &'static str>
[src]
Initialize a Scytale cipher with a specific cylinder height.
Will return Err
if the key == 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).unwrap(); 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).unwrap(); assert_eq!("Prepare for glory!", ct.decrypt("Pegr lefoporaryr !").unwrap());