Vigenèreversleuteling
De vigenèreversleuteling (ook wel vigenèrecijfer genoemd) is een beroemde versleutelmethode die meerdere cijferalfabetten gebruikt, waardoor ze veel beter bestand is tegen klassieke frequentieanalyse.
Het principe van het versleutelen en ontsleutelen
We kunnen de werkwijze van het versleutelen uitleggen met behulp van de caesarversleuteling. De sleutel van de vigenèreversleuteling is een willekeurig woord dat uit letters van het Nederlandse alfabet bestaat, dus a—z. De sleutel kan bijvoorbeeld het woord “bcf” zijn. Het versleutelen gaat dan zo dat we de leesbare tekst opschrijven en er direct onder de sleutel zetten, die we zo vaak herhalen dat hij even lang is als de leesbare tekst. Voor de leesbare tekst “goedemorgen” ziet dat er zo uit:
| Leesbare tekst: | g | o | e | d | e | m | o | r | g | e | n |
| Sleutel: | b | c | f | b | c | f | b | c | f | b | c |
Nu versleutelen we alle letters van de leesbare tekst met de caesarversleuteling met de bijbehorende sleutel, dus met de sleutel in dezelfde kolom. De caesarversleuteling werkt met verschuiving: de sleutel geeft aan hoeveel letters we de letter van de leesbare tekst moeten opschuiven, gerekend vanaf de letter “a”. De letter “b” betekent bijvoorbeeld een verschuiving van één letter in het alfabet “naar rechts”. De letter “d” betekent een verschuiving van drie letters naar rechts. Het woord “hallo” versleutelen we met de caesarversleuteling en de sleutel “b” tot “ibmmp”.
Terwijl we in de caesarversleuteling de hele tekst met één letter versleutelen, versleutelen we in de vigenèreversleuteling meestal met meerdere letters. Het versleutelen van de tekst “goedemorgen” met de sleutel “bcf” gaat dan zo:
| Leesbare tekst: | g | o | e | d | e | m | o | r | g | e | n |
| Sleutel: | b | c | f | b | c | f | b | c | f | b | c |
| Cijfertekst: | h | q | j | e | g | r | p | t | l | f | p |
De eerste letter “g” hebben we met de sleutel “b” versleuteld, dus met een verschuiving van één letter, daarom is het resultaat de letter “h”. De letter “o” hebben we met de sleutel “c” versleuteld, dus met een verschuiving van twee letters, het resultaat is de letter “q”. Enzovoort.
Ontsleutelen gaat precies op dezelfde manier, alleen schuiven we de letters niet “naar rechts”, maar “naar links”.
Online hulpmiddel voor het versleutelen en ontsleutelen van de vigenèreversleuteling
Het vigenèrevierkant
De hele werkwijze van het versleutelen en ontsleutelen kunnen we ook uitleggen met het vigenèrevierkant, een hulpmiddel dat we tijdens het versleutelen kunnen gebruiken. Het vigenèrevierkant is een tabel met 26 rijen en 26 kolommen. In elke rij staat het alfabet, steeds één letter opgeschoven ten opzichte van de rij erboven:
Als we zo'n vigenèrevierkant hebben, gaat het versleutelen als volgt: we nemen een letter uit de leesbare tekst en zoeken de rij met die letter. Dan nemen we de letter uit de sleutel en zoeken de kolom. De letter uit de cijfertekst is dan de letter in het snijpunt van de bijbehorende rij en kolom.
In het vorige voorbeeld hebben we “goedemorgen” versleuteld met de sleutel “bcf”. We zoeken dus de rij die met “g” begint en de kolom die met “b” begint. In het snijpunt van deze rij en kolom staat de letter “h”, de eerste letter van de cijfertekst.
Bij het ontsleutelen gaan we omgekeerd te werk. Als we de letter “h” met de sleutel “b” willen ontsleutelen, zoeken we de kolom “b”, daarin zoeken we de rij die de letter “h” bevat, en de letter aan het begin van die rij is de letter uit de leesbare tekst.
De kracht van de vigenèreversleuteling
Waarom was de vigenèreversleuteling in haar tijd zo sterk? Omdat ze de klassieke frequentieanalyse aanzienlijk bemoeilijkte. In de caesarversleuteling worden bijvoorbeeld twee dezelfde letters van de leesbare tekst versleuteld tot dezelfde letters in de cijfertekst. Dit geldt in de vigenèreversleuteling niet, althans niet altijd.
Als we de tekst “Regen regen regen” met de sleutel “bank” versleutelen, krijgen we de cijfertekst “setoo rrqfn eohea”. We zien dat, hoewel de leesbare tekst drie keer hetzelfde woord bevat, elk woord in de cijfertekst er helemaal anders uitziet. Het middelste woord, “rrqfn”, bevat zelfs twee letters “r”, die echter uit twee verschillende letters van de leesbare tekst zijn ontstaan: “re”.
De keuze van de sleutel
De veiligheid van de vigenèreversleuteling hangt sterk af van de keuze van de sleutel. Bij de caesarversleuteling maakte het niet uit welke letter we kozen, zolang die maar verschilde van “a”, maar bij de vigenèreversleuteling leiden verschillende sleutels tot een verschillende mate van veiligheid.
- Een sleutel die uit slechts één letter bestaat, herleidt de vigenèreversleuteling tot de caesarversleuteling.
- Een sleutel die uit meerdere dezelfde letters bestaat, bijvoorbeeld “mmm”, leidt opnieuw tot de caesarversleuteling.
- Een tekst die met een korte sleutel is versleuteld, is heel eenvoudig te ontcijferen.
- Een voldoende lange cijfertekst die met een niet al te korte sleutel is versleuteld (rond vijftig tekens) is ook heel eenvoudig te ontcijferen. Op een computer binnen enkele seconden.
- Een tekst die is versleuteld met een sleutel die volledig willekeurig is en even lang als de tekst zelf, is onmogelijk te ontcijferen.