✖

Vigenère-chiffer

Vigenère-chifferet er et berømt chiffer, der bruger flere chifferalfabeter, hvilket gør det langt mere modstandsdygtigt over for klassisk frekvensanalyse.

Princippet i kryptering og dekryptering

Fremgangsmåden ved kryptering kan vi forklare ved hjælp af Cæsarchifferet. Nøglen i Vigenère-chifferet er et vilkårligt ord bestående af bogstaver fra det engelske alfabet, dvs. a—z. Nøglen kan således fx være ordet »bcf«. Krypteringen foregår så på den måde, at vi skriver klarteksten og lige under den nøglen, som vi gentager, indtil den får samme længde som klarteksten. For klarteksten »godmorgen« ville det se sådan her ud:

Klartekst:godmorgen
Nøgle:bcfbcfbcf

Nu ville vi kryptere alle bogstaverne i klarteksten med Cæsarchifferet med den tilhørende nøgle, dvs. med nøglen i den samme kolonne. Cæsarchifferet er et forskydningschiffer, og nøglen angiver, hvor mange bogstaver vi skal forskyde bogstavet i klarteksten, målt fra bogstavet »a«. Bogstavet »b« betyder fx en forskydning på ét bogstav i alfabetet »til højre«. Bogstavet »d« betyder en forskydning på tre bogstaver til højre. Ordet »hej« ville vi med Cæsarchifferet og nøglen »b« kryptere til »ifk«.

Mens vi i Cæsarchifferet krypterer hele teksten med ét bogstav, krypterer vi i Vigenère-chifferet typisk med flere bogstaver. Kryptering af teksten »godmorgen« med nøglen »bcf« ville derfor ende sådan her:

Klartekst:godmorgen
Nøgle:bcfbcfbcf
Chiffertekst:hqinqwhgs

Det første bogstav »g« krypterede vi med nøglen »b«, altså en forskydning på ét bogstav, derfor er resultatet bogstavet »h«. Bogstavet »o« krypterede vi med nøglen »c«, altså en forskydning på to bogstaver, resultatet er bogstavet »q«. Osv.

Vi dekrypterer helt på samme måde, bare at vi i stedet for at forskyde bogstaverne »til højre« forskyder dem »til venstre«.

Online værktøj til kryptering og dekryptering af Vigenère-chifferet

Tekst:
Nøgle:

Vigenère-kvadratet

Hele fremgangsmåden ved kryptering og dekryptering kan også forklares med Vigenère-kvadratet, som er et hjælpemiddel, vi kan bruge under krypteringen. Vigenère-kvadratet er en tabel med 26 rækker og 26 kolonner. I hver række står alfabetet, og i hver række er det forskudt ét bogstav:

Hvis vi har et sådant Vigenère-kvadrat, ville krypteringen foregå på følgende måde: vi ville tage et bogstav fra klarteksten og finde rækken med dette bogstav. Så ville vi tage bogstavet fra nøglen og finde kolonnen. Bogstavet i chifferteksten ville så være bogstavet i den tilsvarende række og kolonne.

I det foregående eksempel krypterede vi »godmorgen« med nøglen »bcf«. Vi finder derfor rækken, der begynder med »g«, og kolonnen, der begynder med »b«. I skæringspunktet mellem denne række og kolonne står bogstavet »h«, det resulterende bogstav i chifferteksten.

Ved dekryptering ville vi gå frem omvendt. Hvis vi ville dekryptere bogstavet »h« med nøglen »b«, ville vi finde kolonnen »b«, i den finde rækken, der indeholder bogstavet »h«, og bogstavet, der står i begyndelsen af denne række, ville være bogstavet fra klarteksten.

Vigenère-chifferets største styrke

Hvorfor var Vigenère-chifferet så stærkt i sin tid? Fordi det gjorde den klassiske frekvensanalyse betydeligt vanskeligere. I Cæsarchifferet gælder fx, at to ens bogstaver i klarteksten krypteres til de samme bogstaver i chifferteksten. Det gælder dog ikke i Vigenère-chifferet, i hvert fald ikke altid.

Hvis vi krypterede teksten »Hurra hurra hurra« med nøglen »stan«, ville vi få chifferteksten »znres auejt hhjka«. Vi ser, at selv om klarteksten indeholder tre ens ord, ser hvert ord i den resulterende chiffertekst helt forskelligt ud. Det sidste ord, »hhjka«, indeholder endda to bogstaver »h«, men de er opstået af to forskellige bogstaver i klarteksten: »hu«.

Valg af nøgle

Sikkerheden i Vigenère-chifferet påvirkes meget væsentligt af valget af nøgle. Mens det i Cæsarchifferet var ligegyldigt, hvilket bogstav vi valgte, bare det var forskelligt fra »a«, fører forskellige nøgler i Vigenère-chifferet til forskellig sikkerhed.

  • En nøgle, der kun består af ét bogstav, reducerer Vigenère-chifferet tilbage til Cæsarchifferet.
  • En nøgle, der består af flere ens bogstaver, fx »mmm«, fører igen til Cæsarchifferet.
  • En tekst krypteret med en kort nøgle er meget let at bryde.
  • En tilstrækkelig lang chiffertekst, der er krypteret med en ikke helt kort nøgle (omkring halvtreds tegn), er også meget let at bryde. På en computer i løbet af sekunder.
  • En tekst krypteret med en nøgle, der er helt tilfældig og lige så lang som selve teksten, er umulig at bryde.