Autokey

Autokey er den kode, Vigenère selv opfandt — ikke den kendte Vigenère-kode, der gentager nøgleordet, men hans egen version fra 1586. Når nøgleordet er brugt op, tager selve beskeden over som nøgle. Det betyder, at nøglen aldrig gentager sig, så den frekvensanalyse, der knækker Vigenère-koden, slår ikke til direkte. Princippet er enkelt: de første bogstaver kodes med nøgleordet, og herefter koder hvert nyt bogstav med det foregående bogstav i beskeden.

Prøv den her

Skriv en besked og se den blive til autokey — eller sæt den anden vej og læs en kode, du har fået.

Resultat

Hele koden

Nedenfor er eksempler på beskeder og deres autokey-kode med nøgleordet SPEJD. Tabellen er lavet af den samme motor, som oversætteren bruger, så den passer altid.

BeskedAutokey
SPEJDHBISG
KOMPASÅAQYDÅ
MØDBNH
ÅRNERDRN
HEJZTN

Historien

I 1553 beskrev den italienske kryptolog Giovan Battista Bellaso en kode, hvor et nøgleord gentages under hele beskeden. Det er den kode, vi i dag kalder Vigenère-kode — men den opfandt Vigenère aldrig. Bellaso trykte den i sin bog "La cifra del Sig. Giovan Battista Belaso".

Blaise de Vigenère (1523-1596) skrev i 1586 bogen "Traicté des chiffres", hvor han beskrev sin egen forbedring: når nøgleordet løber ud, bliver beskedens egne bogstaver nøglen. Det er autokey. I århundrederne efter blev den gentagende kode fejlagtigt tillagt Vigenère, mens hans egen opfindelse blev glemt.

Autokey var et fremskridt, fordi nøglen ikke gentager sig. En der læser en Vigenère-kode, kan finde nøgleordets længde ved at kigge efter gentagelser, og så knække koden bogstav for bogstav. Med autokey findes der ikke nogen gentagelse at gå efter.

Koden er stadig ikke uknækkelig. Nøgleordet er kort, og hvis man gætter et ord i beskeden, kan man læse nøglen og arbejde sig baglæns. Men for en spejderleder, der vil have en kode, som er sværere at knække end Vigenère, er autokey et skridt i den retning.

Sådan virker den

I Autokey starter man som i Vigenère: nøgleordet skrives under beskeden, og hvert bogstav flyttes så mange pladser som nøgleordet siger. Men når nøgleordet er brugt op, tager beskeden over. Det første bogstav efter nøgleordet kodes med beskedens første bogstav, det andet med det andet, og så videre.

Tag eksemplet HEJ med nøgleordet SPEJD. De tre bogstaver H, E og J kodes med S, P og E fra nøgleordet, fordi beskeden er kortere end nøgleordet. Resultatet bliver ZTN. En besked som LEJRBÅL er længere end nøgleordet: de fem første bogstaver kodes med SPEJD, og så bliver L og E nøglen til de sidste to bogstaver. LEJRBÅL bliver ATNÆEKP.

Ved afkodning går man tilsvarende frem: de første bogstaver afkodes med nøgleordet, og så bruger man de afkodede bogstaver som nøgle til resten. Det virker, fordi man bygger beskeden op forfra — når man skal bruge et bogstav som nøgle, har man allerede afkodet det.

Mellemrum, tal og tegnsætning ændres ikke, og nøglen hopper over dem. Det gør det muligt at afkode: modtageren skriver beskeden op med de samme mellemrum, og nøglen lander på de samme bogstaver.

Styrken ved autokey er, at nøglen bliver lige så lang som beskeden og aldrig gentager sig. Svagheden er, at nøgleordet stadig er kort, og at en fejl er farlig: et forkert bogstav i begyndelsen giver en anden nøgle til resten af beskeden.

  • De første bogstaver kodes med nøgleordet — herefter er beskeden sin egen nøgle.
  • HEJ med nøgleordet SPEJD bliver ZTN.
  • LEJRBÅL med nøgleordet SPEJD bliver ATNÆEKP.
  • KOMPAS med nøgleordet SPEJD bliver ÅAQYDÅ.
  • Mellemrum, tal og tegnsætning ændres ikke.
  • Nøglen gentager sig aldrig, så en frekvensanalyse slår ikke til direkte.

Sådan lærer du den

Den hurtigste måde at lære autokey på er at forstå, at der er to trin: først nøgleordet, så beskeden selv. Start med at kode korte ord, hvor nøgleordet dækker hele beskeden — så er det bare Vigenère. Når du kan det, prøv med længre ord, hvor beskeden tager over som nøgle.

En god øvelse er at kode ét ord med to forskellige nøgleord og sammenligne. Du vil se, at de første bogstaver ændres, men at beskeden selv styrer resten. Det gør tydeligt, at det er beskeden — ikke nøgleordet — der koder halvdelen af koden.

Ved afkodning er vigtigt at du går forfra og altid bruger de afkodede bogstaver som nøgle. En fejl i begyndelsen giver en kæde af fejl længere nede, så tjek altid de første bogstaver nøje.

Metode

  • Start med et kort ord, hvor nøgleordet dækker hele beskeden: HEJ bliver ZTN.
  • Prøv med et ord længere end nøgleordet: LEJRBÅL bliver ATNÆEKP.
  • Sammenlign to nøgleord på samme besked: KOMPAS bliver ÅAQYDÅ.
  • Husk at mellemrum og tal ikke kodes — de står uændret.
  • Lær at afkode ved at gå forfra og bruge de afkodede bogstaver som nøgle.
  • Tjek altid de første bogstaver nøje — en fejl der giver fejl i hele resten.
  • Øv dig på at skelne autokey fra Vigenère: her er det beskeden, der bliver nøglen.

Øvelsesplan for en uge

  1. 1Dag 1: Lær forskellen på Vigenère og autokey — i autokey er beskeden sin egen nøgle.
  2. 2Dag 2: Kod fem korte ord, hvor nøgleordet dækker hele beskeden.
  3. 3Dag 3: Kod fem ord, der er længere end nøgleordet, og notér nøglen undervejs.
  4. 4Dag 4: Afkod fem beskeder ved at gå forfra og bruge de afkodede bogstaver.
  5. 5Dag 5: Skriv en besked til en makker, og lad hende afkode den.
  6. 6Dag 6: Sammenlign autokey og Vigenère på den samme besked — hvad er forskellen?
  7. 7Dag 7: Lav en post i et kodeløb, hvor løsningen står i autokey.

Typiske fejl

  • At gentage nøgleordet hele vejen — det er Vigenère, ikke autokey.
  • At glemme, at nøgleordet kun bruges i begyndelsen.
  • At lade en fejl i de første bogstaver løbe videre uden at tjekke.
  • At tro, at tal og tegnsætning også kodes.
  • At bruge et for kort nøgleord uden at tænke over, at beskeden tager over.

Til lederen

Autokey er en oplagt aktivitet til et spejdermøde, fordi den viser, hvordan en kode bliver stærkere uden at blive sværere at bruge. Den passer godt som en opvarmning eller som en post i et kodeløb, hvor folk allerede kan Vigenère.

En sjov øvelse er "autokey-stafetten". Lederen giver hver patrulje et nøgleord og en besked. Første person koder de første tre bogstaver, næste person koder de næste tre, og så videre. Fordi beskeden selv bliver nøglen, skal alle passe på at kode rigtigt — en fejl går gennem hele kæden. Det lærer patruljen at være nøjagtig og at samarbejde om én fælles besked.

  1. 1Giv hver patrulje et nøgleord og lad dem kode en besked i autokey.
  2. 2Lav en post i et kodeløb, hvor løsningen står i autokey.
  3. 3Vis forskellen på Vigenère og autokey på tavlen med samme besked.
  4. 4Lad patruljerne prøve at afkode en besked uden nøgleord — og forklar hvorfor det er svært.
  5. 5Brug en stafet, hvor hver person koder tre bogstaver, og lad resten af patruljen tjekke.
  6. 6Slut af med at forklare, at autokey stadig kan knækkes, men at den er et skridt i den retning.

Øv videre

Ofte stillede spørgsmål

Hvad er forskellen på autokey og Vigenère?
I Vigenère gentages nøgleordet hele vejen igennem beskeden. I autokey bruges nøgleordet kun i begyndelsen — herefter bliver beskedens egne bogstaver nøglen. Det betyder, at nøglen i autokey aldrig gentager sig.
Hvem opfandt autokey?
Blaise de Vigenère beskrev autokey i 1586 i bogen "Traicté des chiffres". Den kendte Vigenère-kode, der gentager nøgleordet, blev faktisk opfundet af Giovan Battista Bellaso i 1553 og fejlagtigt tillagt Vigenère senere.
Er autokey uknækkelig?
Nej, men den er sværere at knække end Vigenère, fordi nøglen ikke gentager sig. Nøgleordet er stadig kort, og hvis man gætter et ord i beskeden, kan man arbejde sig baglæds. Til virkelig hemmelige beskeder bruges andre metoder.
Hvordan koder man med autokey?
De første bogstaver kodes med nøgleordet, og herefter koder hvert nyt bogstav med det foregående bogstav i beskeden. Mellemrum, tal og tegnsætning ændres ikke. Oversætteren på siden går det for dig — du skriver bare nøgleordet og beskeden.
Hvad går galt, hvis man laver en fejl ved afkodning?
En fejl i de første bogstaver giver en anden nøgle til resten af beskeden, så fejlen spreder sig videre. Derfor skal du altid tjekke de første bogstaver nøje, før du fortsætter.

Kilder