Crate cipher_crypt
source ·Expand description
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
The ADFGVX cipher was a field cipher used by the German Army on the Western Front during World War I.
The Affine cipher is a special case of the more general monoalphabetic substitution cipher.
An autokey cipher (also known as the autoclave cipher) is a cipher which incorporates the
message (the plaintext) into the key.
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.
The Caesar cipher is named after Julius Caesar, who used it (allegedly) with a shift of three
to protect messages of military significance.
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.
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.
In classical cryptography, the Hill cipher is a polygraphic substitution cipher based on
linear algebra.
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.
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.
The Porta Cipher is a polyalphabetic substitution cipher. It was invented
by Giovanni Battista della Porta, an Italian polymath, in 1563.
The Railfence Cipher is a transposition cipher. It has a very low keyspace and is therefore
incredibly insecure.
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.
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.
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.