pub struct Baconian { /* private fields */ }
Expand description

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

Trait Implementations§

Initialise a Baconian cipher

The key tuple maps to the following: (bool, Option<str>) = (use_distinct_alphabet, decoy_text). Where …

  • The encoding will be use_distinct_alphabet for all alphabetical characters, or classical where I, J, U and V are mapped to the same value pairs
  • An optional decoy message that will will be used to hide the message - default is boilerplate “Lorem ipsum” text.

Encrypt a message using the Baconian cipher

  • The message to be encrypted can only be ~18% of the decoy_text as each character of message is encoded by 5 encoding characters AAAAA, AAAAB, etc.
  • The italicised ciphertext is then hidden in a decoy text, where, for each ‘B’ in the ciphertext, the character is italicised in the decoy_text.
Examples

Basic usage:

use cipher_crypt::{Cipher, Baconian};

let b = Baconian::new((false, None));;
let message = "Hello";
let cipher_text = "Lo𝘳𝘦𝘮 ip𝘴um d𝘰l𝘰𝘳 s𝘪t 𝘢𝘮e𝘵, 𝘤𝘰n";

assert_eq!(cipher_text, b.encrypt(message).unwrap());

Decrypt a message that was encrypted with the Baconian cipher

Examples

Basic usage:

use cipher_crypt::{Cipher, Baconian};

let b = Baconian::new((false, None));;
let cipher_text = "Lo𝘳𝘦𝘮 ip𝘴um d𝘰l𝘰𝘳 s𝘪t 𝘢𝘮e𝘵, 𝘯𝘦 t";

assert_eq!("HELLO", b.decrypt(cipher_text).unwrap());

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.