Naar de inhoud

Vigenère-cijfer Coderen & Decoderen

Codeer of decodeer een bericht met het Vigenère-cijfer door een trefwoord in te voeren. Elke letter wordt verschoven door de bijbehorende sleutelletter, hoofdlettergebruik blijft behouden, en alles wat geen letter is gaat ongewijzigd door. Zet de uitwerkingstabel aan om de sleutelletter en verschuiving voor elk van de eerste 20 letters te zien. Gratis, zonder registratie, en er wordt niets geüpload.

Modus

Zo gebruik je de Vigenère-cijfertool

  1. 1. Kies Coderen of Decoderen. Coderen zet platte tekst om in cijfertekst; Decoderen keert dat om met hetzelfde trefwoord.
  2. 2. Voer het trefwoord in. Alleen letters A–Z, geen spaties of cijfers. Het trefwoord herhaalt zich langs het bericht. Een trefwoord van a verschuift met nul en verandert niets.
  3. 3. Typ of plak het bericht. Het resultaat werkt bij terwijl je typt. Hoofdletters blijven behouden, en cijfers, spaties en leestekens gaan door zonder een sleutelletter te gebruiken.
  4. 4. Vink Uitwerking tonen aan voor een tabel met de platte letter, sleutelletter, verschuiving en het resultaat voor de eerste 20 letters.

Hoe het Vigenère-cijfer werkt

Nummer de letters A = 0 tot Z = 25. Schrijf het trefwoord herhaaldelijk onder het bericht, één sleutelletter per berichtletter. Om te coderen tel je het getal van elke sleutelletter op bij het getal van de berichtletter, met omslag na Z: C = (P + K) mod 26. Om te decoderen trek je af: P = (C − K) mod 26. Elke sleutelletter kiest dus een andere Caesar-verschuiving (A voor 0, B voor 1, tot Z voor 25), en daarom heet het cijfer polyalfabetisch: dezelfde berichtletter kan in verschillende cijferletters veranderen. Het met de hand uitschrijven van de sommen is wat het traditionele Vigenère-vierkant (tableau) versnelt.

Uitgewerkt voorbeeld: trefwoord LEMON

Coderen van Attack at dawn met het trefwoord lemon levert Lxfopv ef rnhr op. De eerste zes letters, zoals de uitwerkingstabel ze toont:

Platte letterSleutelletterVerschuivingResultaat
Al+11L
te+4x
tm+12f
ao+14o
cn+13p
kl+11v

Let op de herhalingen. De twee t's van “Attack” worden x en f, omdat ze onder verschillende sleutelletters staan, en de twee a's worden o en e. Een gewone Caesar-verschuiving had elk paar in identieke letters veranderd, precies het patroon dat frequentieanalyse uitbuit. Decoderen gebruikt dezelfde tabel in omgekeerde richting: de modus Decoderen met lemon zet Lxfopv ef rnhr terug in Attack at dawn. De sleutelletters lopen door over de spatie heen; de spatie zelf gebruikt er geen.

Een korte geschiedenis

Giovan Battista Bellaso beschreef dit cijfer in 1553. De naam komt van Blaise de Vigenère, die in 1586 een verwant maar sterker autokey-cijfer publiceerde; het cijfer werd in de 19e eeuw ten onrechte aan hem toegeschreven. Het kreeg de naam le chiffre indéchiffrable, “het onontcijferbare cijfer”, en weerstond aanvallen tot Friedrich Kasiski in 1863 een algemene methode publiceerde. Charles Babbage had het in 1854 al gekraakt, maar publiceerde niets.

Hoe het Vigenère-cijfer wordt gekraakt

Alles hangt af van de lengte van het trefwoord. Als hetzelfde stuk platte tekst twee keer samenvalt met hetzelfde deel van het trefwoord, levert het twee keer dezelfde cijfertekst op. Kasiski-onderzoek meet de afstanden tussen zulke herhalingen; de sleutellengte is waarschijnlijk een gemene deler ervan. Als je de lengte n kent, is elke n-de letter verschoven met dezelfde sleutelletter, dus elk van die n kolommen is een gewoon Caesar-cijfer dat frequentieanalyse kan oplossen. Een langer, onvoorspelbaar trefwoord weerstaat dit, en een willekeurige sleutel die even lang is als het bericht en maar één keer wordt gebruikt, is het one-time pad, dat niet te kraken is. Deze tool codeert en decodeert met een trefwoord dat je zelf opgeeft; hij zoekt de sleutel niet.

Beperkingen van deze tool

  • Alleen A–Z en a–z worden gecodeerd. Letters uit andere schriften, en geaccentueerde Latijnse letters zoals é, blijven ongewijzigd, en de tool vertelt je hoeveel letters hij heeft overgeslagen.
  • Het trefwoord mag alleen letters bevatten. Een spatie, cijfer of geaccentueerde letter in het trefwoord wordt geweigerd.
  • De uitwerkingstabel toont 20 rijen, hoe lang het bericht ook is.
  • Niet veilig. Gebruik het voor puzzels, lessen en spelletjes, niet voor iets privés.

Welke tool heb je nodig?

CijferHoe de sleutel werkt
Caesar-cijferEén verschuiving voor het hele bericht
Vigenère (deze pagina)Een herhalend trefwoord; elke sleutelletter is één verschuiving
BeaufortAls Vigenère, maar de sleutelletter min de berichtletter, zodat één bewerking zowel codeert als decodeert
AutokeyEen kort begin, daarna wordt het bericht zelf de sleutel
PortaEen trefwoord dat kiest uit 13 wederkerige alfabetten

Weet je niet zeker welk cijfer je voor je hebt, dan helpt de geplande Cipher Identifier je het te vernauwen.

Veelgestelde vragen

Wat is een Vigenère-cijfer?
Een polyalfabetisch substitutiecijfer dat elke letter verschuift met een hoeveelheid die door een herhalend trefwoord wordt bepaald. De eerste berichtletter gebruikt de eerste sleutelletter, de tweede de tweede, enzovoort, zodat één platte letter veel cijferletters kan worden.
Hoe verschilt het Vigenère-cijfer van een Caesar-cijfer?
Een Caesar-cijfer gebruikt één vaste verschuiving. Een Vigenère-cijfer gebruikt een trefwoord, dat aan elke letter een andere Caesar-verschuiving geeft; het zijn in feite meerdere Caesar-cijfers door elkaar, één per sleutelletter.
Wat gebeurt er met spaties, cijfers en leestekens?
Ze gaan ongewijzigd door en gebruiken geen sleutelletter, dus het trefwoord schuift alleen op bij A–Z en a–z.
Hoe decodeer ik een Vigenère-cijfer?
Als je het trefwoord kent, kies je Decoderen, voer je het trefwoord in en plak je de cijfertekst. Elke letter wordt teruggeschoven met de bijbehorende sleutelletter. Zonder het trefwoord heb je cryptanalyse nodig: Kasiski-onderzoek om de sleutellengte te vinden, daarna frequentieanalyse per kolom.
Waarom lijkt mijn resultaat op de invoer?
Een trefwoord dat alleen uit de letter A bestaat (of uit één a) verschuift elke letter met nul. Kies een trefwoord met andere letters.
Is het Vigenère-cijfer veilig?
Nee. Het leek ongeveer drie eeuwen onkraakbaar, maar Kasiski publiceerde in 1863 een algemene aanval, en computers lossen het in een ogenblik op. Het blijft een goede manier om polyalfabetische cijfers te leren.
Kan het overweg met niet-Engelse alfabetten?
Niet als cijfer. Het Vigenère-vierkant is het Latijnse alfabet van 26 letters, dus andere schriften gaan onversleuteld door, en de tool meldt hoeveel letters hij heeft laten staan.

Gerelateerde tools

Meer hulpmiddelen: Codes en geheimschriften