[][src]Crate cipher_crypt

A cryptographic tomb of ciphers forgotten by time.

Example usage

extern crate cipher_crypt;

use cipher_crypt::{Cipher, Caesar, Rot13};

fn main(){
  let m1 = "I am my own inverse";
  assert_eq!(m1, &Rot13::decrypt(&Rot13::encrypt(m1)));

  let m2 = "Attack at dawn 🗡️";
  let c = Caesar::new(3);
  assert_eq!(m2, c.decrypt(&c.encrypt(m2).unwrap()).unwrap());
}

Disclaimer

There's a reason these archaic methods are no longer used - it's because they are extremely easy to crack! Intended for learning purposes only, these ciphers should not be used to encrypt data of any real value.

Re-exports

pub use crate::adfgvx::ADFGVX;
pub use crate::affine::Affine;
pub use crate::autokey::Autokey;
pub use crate::baconian::Baconian;
pub use crate::caesar::Caesar;
pub use crate::columnar_transposition::ColumnarTransposition;
pub use crate::fractionated_morse::FractionatedMorse;
pub use crate::hill::Hill;
pub use crate::playfair::Playfair;
pub use crate::polybius::Polybius;
pub use crate::porta::Porta;
pub use crate::railfence::Railfence;
pub use crate::rot13 as Rot13;
pub use crate::scytale::Scytale;
pub use crate::vigenere::Vigenere;

Modules

adfgvx

The ADFGVX cipher was a field cipher used by the German Army on the Western Front during World War I.

affine

The Affine cipher is a special case of the more general monoalphabetic substitution cipher.

autokey

An autokey cipher (also known as the autoclave cipher) is a cipher which incorporates the message (the plaintext) into the key.

baconian

Bacon's cipher, or the Baconian cipher, hides a secret message in plain sight rather than generating ciphertext (steganography). It was devised by Sir Francis Bacon in 1605.

caesar

The Caesar cipher is named after Julius Caesar, who used it (allegedly) with a shift of three to protect messages of military significance.

columnar_transposition

The Columnar cipher is a transposition cipher. In columnar transposition the message is written out in rows of a fixed length, and then transcribed to a message via the columns. The columns are scrambled based on a secret key.

fractionated_morse

The Fractionated Morse cipher builds upon Morse code, a well-known method for encoding text which can then be sent across simple visual or audio channels.

hill

In classical cryptography, the Hill cipher is a polygraphic substitution cipher based on linear algebra.

playfair

The Playfair cipher is the first bigram substitution cipher. Invented in 1854 by Charles Wheatstone, its name honors Lord Lyon Playfair for promoting its use.

polybius

The Polybius square, also known as the Polybius checkerboard, is a device invented by the Ancient Greek historian and scholar Polybius, for fractionating plaintext characters so that they can be represented by a smaller set of symbols.

porta

The Porta Cipher is a polyalphabetic substitution cipher. It was invented by Giovanni Battista della Porta, an Italian polymath, in 1563.

railfence

The Railfence Cipher is a transposition cipher. It has a very low keyspace and is therefore incredibly insecure.

rot13

ROT13 ("rotate by 13 places"), is a simple implementation of the Caesar cipher. It substitutes a letter with the one 13 places after it in the alphabet.

scytale

One of the oldest cryptography tools was a scytale, which was used to perform transposition encryption. It consisted of a cylinder with a strip of parchment (containing a message) wound around it.

vigenere

The Vigenère Cipher is a polyalphabetic substitution cipher. It was considered 'le chiffre indéchiffrable' for 300 years until Friedrich Kasiski broke it in 1863.

Traits

Cipher