Vigenèrecijfer

Uit Wikipedia, de vrije encyclopedie
Naar navigatie springen Naar zoeken springen

Het Vigenèrecijfer is in de cryptografie een van de klassieke handcijfers. Het werd door Giovan Battista Bellaso in 1553 bedacht, maar het was door Blaise de Vigenère dat het algemeen bekend raakte en het zijn naam kreeg. Het werd lange tijd zelden gebruikt, omdat het daar niet eenvoudig genoeg voor was.

Werkwijze[bewerken | brontekst bewerken]

Het is een vorm van polyalfabetische substitutie. Er wordt bij het vervangen van de letters in de klare tekst van een tabula recta gebruik gemaakt, een tabel of een matrix, waarin op iedere rij een alfabet staat en waarin dat alfabet iedere volgende rij steeds een letter is verschoven.

         A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
-------------------------------------------------------------
   A   | A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
   B   | B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
   C   | C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
   D   | D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
   E   | E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
   F   | F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
   G   | G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
   H   | H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
   I   | I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
   J   | J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
   K   | K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
   L   | L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
   M   | M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
   N   | N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
   O   | O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
   P   | P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
   Q   | Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
   R   | R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
   S   | S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
   T   | T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
   U   | U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
   V   | V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
   W   | W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
   X   | X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
   Y   | Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
   Z   | Z A B C D E F G H I J K L M N O P Q R S T U V W X Y

Men kiest eerst een geheime sleutel in de vorm van een geheim sleutelwoord, bijvoorbeeld ZODIAK. Dit schrijft men onder de klare tekst. Vervolgens zoekt men de klare letter in het verticale alfabet op en de letter van het sleutelwoord in het horizontale alfabet. De kruising van beiden is de resulterende codeletter. Zo kunnen we zien dat de kruising van D en Z in de tabel de letter C is. De enige kolommen die in de tabula recta bij een gegeven sleutelwoord worden gebruikt, zijn dus de kolommen voor de letters, die in het gekozen sleutelwoord voorkomen.

Klare tekst : D I T I S Z E E R G E H E I M
Sleutelwoord: Z O D I A K Z O D I A K Z O D
              -----------------------------
Cijfertekst : C W W Q S J D S U O E R D W P 
CWWQS JDSUO ERDWP

Om de cijfertekst te ontsleutelen schrijft men het sleutelwoord boven de cijfertekst. Vervolgens zoekt men elke sleutelletter op in het horizontale alfabet en gaat naar beneden tot men de betrokken codeletter tegenkomt. De letter, in het verticale alfabet, die zich op dezelfde rij bevindt is de klare letter.

Om het versleutelen en het ontsleutelen gemakkelijker te maken, kan men de letters een waarde van 0 tot 25 geven, A=0, B=1, ... , Z=25. Dan geldt de volgende regel voor het versleutelen per letter:

  • versleutelen: (klare tekst + sleutelwoord) mod 26 = cijfertekst. In het voorbeeld D + Z = 3 + 25 = 28 (mod 26) = 2 = C.
  • ontsleutelen: (cijfertekst - sleutelwoord) mod 26 = klare tekst. C - Z = 2 - 25 = -23 (mod 26) = 3 = D.

De code breken[bewerken | brontekst bewerken]

300 jaar lang dacht men dat de Vigenèrecode niet kon worden gebroken. Het cijfer kreeg zelfs de bijnaam le chiffre indéchiffrable, maar in de 19e eeuw vonden Charles Babbage en Friedrich Kasiski onafhankelijk van elkaar toch een methode om het cijfer te breken.

Merk op dat de letter E afhankelijk van de plaats door verschillende letters wordt vervangen, als D, S en E. Als het sleutelwoord zes letters lang is kan een klare letter tot zes verschillende coderingen hebben. Hierdoor is een meer geavanceerde frequentieanalyse nodig om het cijfer te breken dan bij een cijfer met een monoalfabetische substitutie.

Indien er voldoende cijfertekst is, is het aantal letters in het sleutelwoord af te leiden door de grootste gemene deler van alle afstanden tussen delen cijfertekst te nemen, die veel voorkomen. Indien op die manier het sleutelwoord zes letters lang blijkt, dan moet men frequentieanalyse toepassen op de zes afzonderlijke stukken van de tekst. Een analysetekst zou dan de eerste, zevende, dertiende enzovoort letter bevatten, de tweede tekst de tweede, achtste, veertiende letter enzovoort.