Vigenère-koden
Vigenère-koden er en af de mest kendte koder i historien. Den ser ud som en simpel substitutionskode, men nøglen er, at forskydningen skifter for hvert bogstav. Et hemmeligt nøgleord bestemmer, hvor langt hvert bogstav flyttes, så samme bogstav får en anden kode afhængigt af, hvor det står i beskeden. Det gjorde koden »uknækkelig« i over 300 år — indtil man opdagede, at nøgleordet gentager sig.
Prøv den her
Skriv en besked og se den blive til vigenère-koden — eller sæt den anden vej og læs en kode, du har fået.
Hele koden
Tabellen nedenfor viser tabula recta for det danske alfabet. Find nøgleordets bogstav i venstre kolonne, og læs vandret for at se, hvordan alfabetet er flyttet. I oversætteren kan du prøve med dit eget nøgleord.
Tabula recta (udtræk: nøgleord SPEJD)
Historien
Koden er opkaldt efter Blaise de Vigenère, en fransk diplomat og kryptograf fra 1500-tallet, men han opfandt den egentlig ikke. Den første beskrivelse af en polyalfabetisk kode — hvor alfabetet skifter undervejs — kommer fra Leon Battista Alberti i 1467. Johannes Trithemius udviklede ideen videre med tabula recta, og Vigenère samlede og forbedrede systemet i sin bog "Traicté des Chiffres" fra 1586.
I over 300 år kaldtes Vigenère-koden "le chiffre indéchiffrable" — den uknækkelige kode. Den blev brugt af diplomatiker, militære og spioner hele vejen op til Første Verdenskrig. Endda den amerikanske hær brugte en variant under Borgerkrigen. Men i 1863 vise Friedrich Kasiski, en tysk officer, at nøgleordets længde kan findes ved at se efter gentagne mønstre i koden. Når man kender længden, kan man knække koden som en række Cæsar-koder.
I dag bruges Vigenère-koden sjældent til alvorlig hemmeligholdelse, for computere kan knække den på sekunder. Men den er alligevel en fantastisk læsekode til spejdere: den bygger på Cæsar-princippet, men viser, hvordan et nøgleord gør koden stærkere, og den lærer, at gentagelse er fjenden af hemmelighed.
Sådan virker den
Tænk på et skema — tabula recta — med 29 rækker (A–Å) og 29 kolonner. Den første række er det almindelige alfabet. Den anden række er flyttet ét træk (B, C, … Å, A), den tredje to træk, og så videre. Hver række er altså en Cæsar-kode med en forskellig forskydning.
Nøgleordet styrer, hvilken række der bruges til hvert bogstav. Skriv nøgleordet under beskeden, bogstav for bogstav. Hvis nøgleordet er SPEJD og beskeden er HEJ, så står S under H, P under E, og J under J. Bogstavet H findes i række S (forskydning 18), E i række P (forskydning 15), og J i række J (forskydning 9). Resultatet er Z, T, S.
Vigtigt: nøgleordet bevæger sig KUN på bogstaver, der faktisk kodes. Mellemrum, tal og tegnsætning skrives gennem uændret og "forbruger" ikke et bogstav fra nøgleordet. Det gør, at modtageren — der har samme nøgleord — automatisk lander på de rigtige rækker, når han afkoder.
Kodeværkstedet bruger det danske 29-bogstavs-alfabet (A–Z + ÆØÅ). Nøgleordet renses for alt undtagen bogstaver; et tomt nøgleord betyder SPEJD. Æ, Ø og Å kodes som alle andre bogstaver, og de fremmede bogstaver (som J, Q, W, X, Y, Z) virker også, så længe de er i alfabetet.
- Tabula recta har 29 rækker — én for hver mulig Cæsar-forskydning i det danske alfabet.
- Nøgleordet bestemmer rækken: A = række 0 (ingen forskydning), B = række 1, … Å = række 28.
- Nøgleordet gentager sig, men KUN over bogstaver der kodes. Mellemrum og tal springes over.
- Samme bogstav får forskellige koder afhængigt af positionen — det er styrken.
Sådan lærer du den
Vigenère-koden bygger på Cæsar-koden, så start med at kunne Cæsar sikker. Hvis du kan flytte et bogstav 3, 5 eller 10 træk fremad i alfabetet, har du fundamentet.
Næste skridt er at forstå nøgleordet. Skriv det op under en besked og se, hvordan hvert bogstav i nøgleordet peger på en række i tabula recta. Øv dig i at finde rækken hurtigt: S er 18. træk, P er 15., E er 4., J er 9., D er 3. (hvor A=0).
Den største fælde er at glemme, at mellemrum og tal ikke "forbruger" nøgleordets bogstaver. Hvis du koder "HEJ DIG" med nøgleordet SPEJD, så står S-P-E-J-D under H-E-J- -D-I-G — altså D under D, ikke under mellemrummet.
Metode
- Lær at finde raskt hver bogstavs nummer i alfabetet (A=0, B=1, … Å=28).
- Skriv tabula recta op en gang for at se mønstret, men lær at regne uden den.
- Kod korte ord med et fast nøgleord (fx SPEJD) og tjek i oversætteren.
- Øv dig i at afkode: læs nøgleordet bogstav for bogstav, find rækken, og tæl baglæns.
- Skriv en besked med mellemrum og tal, og verificér at nøgleordet "hopper over" dem.
- Prøv et længere nøgleord (fx LEJRTILTÆLT) og se, hvordan koden bliver sværere at gætte.
- Lav en hemmelig besked til en makker og lad ham afkode den med nøgleordet.
Øvelsesplan for en uge
- 1Dag 1: Gennemgå Cæsar-koden. Find nummeret for hvert bogstav i SPEJD (18, 15, 4, 9, 3).
- 2Dag 2: Kod 10 korte ord (3–5 bogstaver) med nøgleordet SPEJD. Tjek dem alle.
- 3Dag 3: Afkod 10 koder, du har lavet selv. Skriv nøgleordet under hver kode.
- 4Dag 4: Kod en hel sætning med mellemrum og et tal. Tjek at nøgleordet hopper rigtigt.
- 5Dag 5: Skift nøgleord til et længere (fx TELTLEJRTILT). Kod samme sætning og se forskellen.
- 6Dag 6: Lav en udfordring: kod en besked uden at give nøgleordet, lad en makker gætte længden.
- 7Dag 7: Prøv Kasiski-metoden: skriv en lang kode med et kendt nøgleord, og se om du kan finde gentagelser.
Typiske fejl
- At tælle nøgleordets bogstaver videre over mellemrum og tal — de springes over.
- At tro, at A i nøgleordet betyder forskydning 1 (det betyder 0 — ingen forskydning).
- At glemme at rydde nøgleordet for tal og tegn — de fjernes før koden kører.
- At bruge et for kort nøgleord (1–2 bogstaver) — det gør koden let at knække med Kasiski.
- At tro, at koden er usikker, bare fordi computere kan knække den. Til spejdermøder virker den fint.
Til lederen
Vigenère-koden er en stærk løbspost til ældre spejdere (scout/rover), fordi den kræver tålmodighed og systematik. Den viser, at kryptografi handler om mønstre og matematik, ikke magi.
Aktiviteten kan gøres til en konkurrence: hvem kan afkode hurtigst med det samme nøgleord? Eller en samarbejdsøvelse: patruljen deler beskeden op, hver koder sit stykke, og bagefter sættes det sammen til én lang kode.
- 1Forbered 5 korte beskeder kodet med samme nøgleord (fx SPEJDER). Hæng dem op som postkort.
- 2Giv patruljen nøgleordet og lad dem afkode alle 5 beskeder. Den første færdige vinder.
- 3Vis tabula recta på et stort ark, så de kan se mønstret visuelt.
- 4Udfordr dem til at lave deres eget nøgleord og kode en besked til en anden patrulje.
- 5Fortæl om Kasiski og hvordan gentagelser i koden afslører nøgleordets længde.
- 6Lad dem prøve at knække en Vigenère-kode UDEN nøgleord (kun for sjov — det tager tid).
Øv videre
Ofte stillede spørgsmål
- Hvad er forskellen på Cæsar-koden og Vigenère-koden?
- Cæsar-koden bruger én fast forskydning for alle bogstaver. Vigenère-koden bruger et nøgleord, så forskydningen skifter for hvert bogstav. Det gør, at samme bogstav får forskellige koder, og frekvensanalyse virker ikke længere.
- Hvorfor hedder den Vigenère-koden, når han ikke opfandt den?
- Blaise de Vigenère samlede og forbedrede tidligere arbejde (Alberti, Trithemius) og gjorde systemet praktisk brugbart. Hans bog fra 1586 gjorde koden kendt i hele Europa, og navnet har blivet sidende.
- Hvordan kan man knække Vigenère-koden uden nøgleordet?
- Kasiski-metoden: find gentagne sekvenser i koden (fx "KHO" der kommer tre gange). Afstanden mellem dem er ofte et multiplum af nøgleordets længde. Når man kender længden, kan man behandle koden som flere uafhængige Cæsar-koder og knække dem en efter en.
- Kan man bruge Vigenère-koden til rigtige hemmeligheder i dag?
- Nej. Computere kan knække den på få sekunder, især hvis beskeden er lang. Men til spejdermøder, gåder og lege er den fuldt tilstrækkelig — ingen på pladsen har en supercomputer i lommen.
- Hvad sker der med æ, ø og å i Vigenère-koden?
- De er en del af det danske 29-bogstavs-alfabet og kodes præcis som A–Z. Nøgleordet kan også indeholde æ, ø og å — de giver så forskydninger 26, 27 og 28.