# Ciphers

Although most people claim they're not familar with cryptography

, they are often familar with the concept of ciphers, whether or not they are actually concious of it.

Ciphers are arguably the corner stone of cryptography. In general, a cipher is simply just a set of steps (an algorithm) for performing both an encryption, and the corresponding decryption.

Despite might what seem to be a relatively simple concept, ciphers play a crucial role in modern technology. Technologies involving communication (including *the internet*, *mobile phones*, *digital television* or even *ATMs*) rely on ciphers in order to maintain both security and privacy.

Although most people claim they're not familar with cryptography

, they are often familar with the concept of ciphers, whether or not they are actually concious of it. Recent films such as The Da Vinci Code

and National Treature: Book of Secrets

have plots centered around cryptography and ciphers, bringing these concepts to the general public.

This section (quite appropriately) deals with individual ciphers and algorithms. They have been divided based on their era and category (i.e. *when were they used* and *how do they work*). If you're looking for a reference guide, refer to the alphabetical list to the right, otherwise continue reading.

In our effort to provide a practical approach to these, we have developed a javascript implementation for each cipher that allows encryption and decryption of abitrary text (of your choosing) using the cipher. Some history of each cipher is also included, and tips on cryptanalysis are also provided.

## What are the eras of cryptography?

Crytography has been through numerous phases of evolution. Early ciphers in cryptography were designed to allow encryption and decryption to take place by hand, while those which are developed and used today are only possible due to the high computational performance of modern machines (i.e the computer you are using right now). The major eras which have shaped cryptography are listed below.

### Classical

The classical algorithms are those invented pre-computer up until around the 1950's. The list below is roughly ordered by complexity, least complex at the top.

- Atbash Cipher
- ROT13 Cipher
- Caesar Cipher
- Affine Cipher
- Rail-fence Cipher
- Baconian Cipher
- Polybius Square Cipher
- Simple Substitution Cipher
- Codes and Nomenclators Cipher
- Columnar Transposition Cipher
- Autokey Cipher
- Beaufort Cipher
- Porta Cipher
- Running Key Cipher
- VigenĂ¨re and Gronsfeld Cipher
- Homophonic Substitution Cipher
- Four-Square Cipher
- Hill Cipher
- Playfair Cipher
- ADFGVX Cipher
- ADFGX Cipher
- Bifid Cipher
- Straddle Checkerboard Cipher
- Trifid Cipher
- Base64 Cipher
- Fractionated Morse Cipher

### Mechanical

Mechanical Ciphers are those that were developed around the second World War, which rely on sophisticated gearing mechanisms to encipher text.

### Modern

Modern algorithms are those that are used in current technology e.g. block ciphers, public key cryptosystems etc. These alogrithms are very secure (otherwise they would not be used), but in many cases we can practice on weakened versions of the algorithms.

## Alphabetical list of ciphers

- ADFGVX Cipher
- ADFGX Cipher
- Affine Cipher
- Atbash Cipher
- Autokey Cipher
- Baconian Cipher
- Base64 Cipher
- Beaufort Cipher
- Bifid Cipher
- Caesar Cipher
- Codes and Nomenclators Cipher
- Columnar Transposition Cipher
- Enigma Cipher
- Four-Square Cipher
- Fractionated Morse Cipher
- Hill Cipher
- Homophonic Substitution Cipher
- Lorenz Cipher
- Playfair Cipher
- Polybius Square Cipher
- Porta Cipher
- ROT13 Cipher
- Rail-fence Cipher
- Running Key Cipher
- Simple Substitution Cipher
- Straddle Checkerboard Cipher
- Trifid Cipher
- VigenĂ¨re and Gronsfeld Cipher