Struct cipher_crypt::fractionatedmorse::FractionatedMorse [] [src]

pub struct FractionatedMorse { /* fields omitted */ }

A Fractionated Morse cipher.

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

Trait Implementations

impl Cipher for FractionatedMorse
[src]

Initialise a Fractionated Morse cipher given a specific key.

Will return Err if the key contains non-alphabetic symbols.

Encrypt a message using a Fractionated Morse cipher.

Morse code supports the characters a-z, A-Z, 0-9 and the special characters @ ( ) . , : ' " ! ? - ; =. This function will return Err if the message contains any symbol not in this list.

Examples

Basic usage:

use cipher_crypt::{Cipher, FractionatedMorse};

let fm = FractionatedMorse::new(String::from("key")).unwrap();
assert_eq!("cpsujiswhsspfanr", fm.encrypt("AttackAtDawn!").unwrap());

Decrypt a message using a Fractionated Morse cipher.

The Fractionated Morse alphabet only contains the normal alphabetic characters a-z, therefore this function will return Err if the message contains any non-alphabetic characters. Furthermore, it is possible that a purely alphabetic message will not produce valid Morse code, in which case an Err will again be returned.

Examples

Basic usage:

use cipher_crypt::{Cipher, FractionatedMorse};

let fm = FractionatedMorse::new(String::from("key")).unwrap();
assert_eq!("attackatdawn!", fm.decrypt("cpsujiswhsspfanr").unwrap());