Vigenère-chiffer
Vigenère-chifferet er et berømt chiffer som bruker flere chifferalfabeter, og derfor tåler det klassisk frekvensanalyse langt bedre.
Prinsippet for kryptering og dekryptering
Vi kan forklare fremgangsmåten ved hjelp av Cæsar-chifferet. Nøkkelen i Vigenère-chifferet er et hvilket som helst ord som består av bokstaver fra det engelske alfabetet, altså a—z. Nøkkelen kan for eksempel være ordet «bcf». Kryptering foregår slik at vi skriver opp klarteksten og rett under den nøkkelen, som vi gjentar helt til den er like lang som klarteksten. For klarteksten «godkveld» ser det slik ut:
| Klartekst: | g | o | d | k | v | e | l | d |
| Nøkkel: | b | c | f | b | c | f | b | c |
Nå krypterer vi alle bokstavene i klarteksten med Cæsar-chifferet med den tilhørende nøkkelen, altså nøkkelen i samme kolonne. Cæsar-chifferet er et forskyvningschiffer, og nøkkelen forteller hvor mange bokstaver vi skal forskyve bokstaven i klarteksten, målt fra bokstaven «a». Bokstaven «b» betyr for eksempel en forskyvning på én bokstav i alfabetet «mot høyre». Bokstaven «d» betyr en forskyvning på tre bokstaver mot høyre. Ordet «hallo» ville vi med Cæsar-chifferet og nøkkelen «b» kryptere til «ibmmp».
Mens vi i Cæsar-chifferet krypterer hele teksten med én bokstav, krypterer vi i Vigenère-chifferet vanligvis med flere bokstaver. Kryptering av teksten «godkveld» med nøkkelen «bcf» blir da slik:
| Klartekst: | g | o | d | k | v | e | l | d |
| Nøkkel: | b | c | f | b | c | f | b | c |
| Chiffertekst: | h | q | i | l | x | j | m | f |
Den første bokstaven «g» krypterte vi med nøkkelen «b», altså en forskyvning på én bokstav, og derfor er resultatet bokstaven «h». Bokstaven «o» krypterte vi med nøkkelen «c», altså en forskyvning på to bokstaver, og resultatet er bokstaven «q». Og så videre.
Vi dekrypterer på nøyaktig samme måte, bortsett fra at vi forskyver bokstavene «mot venstre» i stedet for «mot høyre».
Nettbasert verktøy for kryptering og dekryptering med Vigenère-chifferet
Vigenère-kvadratet
Hele fremgangsmåten for kryptering og dekryptering kan også forklares med Vigenère-kvadratet, et hjelpemiddel vi kan bruke under krypteringen. Vigenère-kvadratet er en tabell med 26 rader og 26 kolonner. I hver rad står alfabetet, og i hver rad er det forskjøvet én bokstav i forhold til raden over:
Med et slikt Vigenère-kvadrat foregår krypteringen slik: Vi tar en bokstav fra klarteksten og finner raden med denne bokstaven. Så tar vi bokstaven fra nøkkelen og finner kolonnen. Bokstaven i chifferteksten er da bokstaven i skjæringspunktet mellom den raden og den kolonnen.
I eksempelet over krypterte vi «godkveld» med nøkkelen «bcf». Vi finner raden som begynner med «g» og kolonnen som begynner med «b». I skjæringspunktet mellom denne raden og kolonnen står bokstaven «h», som er bokstaven i chifferteksten.
Ved dekryptering går vi motsatt vei. Hvis vi vil dekryptere bokstaven «h» med nøkkelen «b», finner vi kolonnen «b», og i den finner vi raden som inneholder bokstaven «h». Bokstaven som står først i denne raden, er bokstaven fra klarteksten.
Den store styrken til Vigenère-chifferet
Hvorfor var Vigenère-chifferet så sterkt i sin tid? Fordi det gjorde klassisk frekvensanalyse betydelig vanskeligere. I Cæsar-chifferet gjelder det for eksempel at to like bokstaver i klarteksten krypteres til like bokstaver i chifferteksten. Det gjelder ikke i Vigenère-chifferet, i hvert fall ikke alltid.
Hvis vi krypterte teksten «Dagen dagen dagen» med nøkkelen «stan», ville vi få chifferteksten «vtgrf watwg dnyxn». Vi ser at selv om klarteksten inneholder tre like ord, ser hvert ord helt forskjellig ut i chifferteksten. Det midterste ordet, «watwg», inneholder til og med to bokstaver «w», men de oppstod fra to forskjellige bokstaver i klarteksten: «d» og «e».
Valg av nøkkel
Sikkerheten til Vigenère-chifferet påvirkes sterkt av valget av nøkkel. Mens det i Cæsar-chifferet spilte ingen rolle hvilken bokstav vi valgte, så lenge den var forskjellig fra «a», fører ulike nøkler i Vigenère-chifferet til ulik sikkerhet.
- En nøkkel som består av bare én bokstav, reduserer Vigenère-chifferet tilbake til Cæsar-chifferet.
- En nøkkel som består av flere like bokstaver, for eksempel «mmm», fører igjen til Cæsar-chifferet.
- En tekst som er kryptert med en kort nøkkel, er veldig enkel å knekke.
- En tilstrekkelig lang chiffertekst som er kryptert med en nøkkel som ikke er altfor kort (rundt femti tegn), er også veldig enkel å knekke. På en datamaskin tar det sekunder.
- En tekst som er kryptert med en nøkkel som er helt tilfeldig og like lang som selve teksten, er umulig å knekke.