[−][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 |