# Crate cipher_crypt [−] [src]

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::apply(&ROT13::apply(m1))); let m2 = "Attack at dawn 🗡️"; let c = Caesar::new(3).unwrap(); 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 caesar::Caesar;` |

`pub use vigenere::Vigenere;` |

`pub use railfence::Railfence;` |

`pub use rot13 as ROT13;` |

`pub use hill::Hill;` |

`pub use fractionated_morse::FractionatedMorse;` |

`pub use autokey::Autokey;` |

`pub use affine::Affine;` |

`pub use polybius::Polybius;` |

`pub use scytale::Scytale;` |

`pub use columnar_transposition::ColumnarTransposition;` |

`pub use adfgvx::ADFGVX;` |

## 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. |

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. |

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. |

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 |