Computer Science
Computer Catlog
Cryptography Catlog

Caesar Cipher
Digital Signature
Public key cryptography
Symmetric vs. public-key
Key Management
Stream Ciphers
Self-Synchronizing Ciphers
Feedback Shift Registers
Modes of Operation
Multiple Encryption
Transposition Ciphers
Substitution Ciphers
Poly-alpha Substitutions
Poly-alpha Cipher Machine
Cryptanalysis Ciphers
Data Encryption Standard
DES Algorithm
IDEA Algorithm
RC5 Algorithm
RSA Encryption
Rabin Encryption
ElGamal Encryption
MD4 & MD5
Secure Hash Algorithm
Kerberos Authentication
Diffie-Hellman protocols
Key Management Life Cycle

Classical ciphers and historical development

    The term classical ciphers refers to encryption techniques which have become well-known over time, and generally created prior to the second half of the twentieth century (in some cases, many hundreds of years earlier). Many classical techniques are variations of simple substitution and simple transposition. Some techniques that are not technically block ciphers are also included here for convenience and context.

    Classical ciphers and techniques are for historical and pedagogical reasons only. They illustrate important basic principles and common pitfalls. However, since these techniques are neither sophisticated nor secure against current cryptanalytic capabilities, they are not generally suitable for practical use.

Transposition ciphers (background)

    For a simple transposition cipher with fixed period t, encryption involves grouping the plaintext into blocks of t characters, and applying to each block a single permutation e on the numbers 1 through t. More precisely, the ciphertext corresponding to plaintext block m = m1 .... mt is c = Ee(m) = me(1) .... me(t). The encryption key is e, which implicitly defines t; the key space K has cardinality t! for a given value t. Decryption involves use of the permutation d which inverts e. The mathematical notation obscures the simplicity of the encryption procedure, as is evident

    Simple transposition. Consider a simple transposition cipher with t = 6 and e = (6 4 1 3 5 2). The message m = CAESAR is encrypted to c = RSCEAA. Decryption uses the inverse permutation d = (3 6 4 2 5 1). The transposition may be represented by a two-row matrix with the second indicating the position to which the element indexed by the corresponding number of the first is mapped to: Transposition CipherEncryption may be done by writing a block of plaintext under headings "3 6 4 2 5 1", and then reading off the characters under the headings in numerical order.

    Terminology: transposition vs. permutation. While the term "transposition" is traditionally used to describe a transposition cipher may alternately be called a permutation on the set {1, 2.6}. The latter terminology is used, for example, in substitution-permutation networks, and in DES. A mnemonic keyword may be used in place of a key, although this may seriously decrease the key space entropy. For example, for n = 6, the keyword "CIPHER" could be used to specify the column ordering 1, 5, 4, 2, 3, 6 (by alphabetic priority).

    Sequential composition of two or more simple transpositions with respective periods t1, t2. ti is called a compound transposition. The compound transposition is equivalent to a simple transposition of period t = lcm(t1.. ti).

    Recognizing simple transposition. Although simple transposition ciphers alter dependencies between consecutive characters, they are easily recognized because they preserve the frequency distribution of each character.