Vigenère cipher

related topics
{math, number, function}
{language, word, form}
{work, book, publish}
{system, computer, user}
{war, force, army}
{@card@, make, design}
{son, year, death}
{rate, high, increase}

The Vigenère cipher is a method of encrypting alphabetic text by using a series of different Caesar ciphers based on the letters of a keyword. It is a simple form of polyalphabetic substitution.

The Vigenère (French pronunciation: [viʒnɛːʁ]) cipher has been reinvented many times. The method was originally described by Giovan Battista Bellaso in his 1553 book La cifra del. Sig. Giovan Battista Bellaso; however, the scheme was later misattributed to Blaise de Vigenère in the 19th century, and is now widely known as the "Vigenère cipher".

This cipher is well known because while it is easy to understand and implement, it often appears to beginners to be unbreakable; this earned it the description le chiffre indéchiffrable (French for 'the indecipherable cipher'). Consequently, many people have tried to implement encryption schemes that are essentially Vigenère ciphers, only to have them broken[1].



The first well documented description of a polyalphabetic cipher was formulated by Leon Battista Alberti around 1467 and used a metal cipher disc to switch between cipher alphabets. Alberti's system only switched alphabets after several words, and switches were indicated by writing the letter of the corresponding alphabet in the ciphertext. Later, in 1508, Johannes Trithemius, in his work Poligraphia, invented the tabula recta, a critical component of the Vigenère cipher. Trithemius, however, only provided a progressive, rigid and predictable system for switching between cipher alphabets. This was known as the Trithemius cipher.

What is now known as the Vigenère cipher was originally described by Giovan Battista Bellaso in his 1553 book La cifra del. Sig. Giovan Battista Bellaso. He built upon the tabula recta of Trithemius, but added a repeating "countersign" (a key) to switch cipher alphabets every letter.

Full article ▸

related documents
Taylor's theorem
Uniform continuity
Extended Euclidean algorithm
Template (programming)
Metric space
Cholesky decomposition
Square root
Hausdorff dimension
Icon (programming language)
Dirac delta function
Kernel (matrix)
Set (mathematics)
Tail recursion
Cantor's diagonal argument
Equivalence relation
Exponential function
Standard ML
Semidirect product
Complete metric space
Communication complexity
Riemannian manifold
L'Hôpital's rule
Insertion sort
Category theory