Kryptologi - læren om hemmelig skrift I

Knud Nissen, Tørring Amtsgymnasium.
(nu: Århus VUC)


Indhold


Monoalfabetiske systemer

Carl Andersen indleder sit lille skrift "Den hemmelige Skrivekunst", udgivet i 1889, således:

Chifferskriften, eller som den også kaldes, kryptografien, er den kunst at skrive således, at kun den, til hvem det skrevne er rettet, formår at læse det. Denne definition passer imidlertid, som læseren senere vil se, kun på den ideale chifferskrift og ikke på chifferskriften således som den i virkeligheden fremtræder, thi strengt taget er ingen lønskrift - den være så kombineret, den vil - absolut uopløselig, ligeså lidt som det aldrig er helt umuligt at løse en gåde.

Formålet med hemmelig skrivekunst giver han i undertitlen:

Særlig praktisk for forretningsfolk og grossister og for enhver, for hvem det er af betydning at sikre sig imod at få sine breve læste af uvedkommende.

Cæsarsystemer

Det første system vi vil kigge på, er et, der blev benyttet af Julius Cæsar i De galliske Krige (58-50 f. Kr). Ideen i dette system er at erstatte bogstaverne i den oprindelige tekst - klarteksten - med det bogstav, der står 3 pladser længere fremme i alfabetet. Derved bliver A til D, B til E, C til F, etc.


	ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ
	DEFGHIJKLMNOPQRSTUVWXYZÆØÅABC

Det øverste alfabet er klartekstalfabetet, det nederste vil vi kalde kryptoalfabetet. Oversættelse fra klartekst til kryptotekst - kaldet kryptering - sker da ved at opsøge klartekst bogstaverne i det øverste alfabet og aflæse de krypterede bogstaver umiddelbart under. Således oversættes CÆSAR til FAVDU.

Den omvendte proces, at oversætte kryptoteksten tilbage til klartekst, kaldes dekryptering. I Cæsars system er dekrypteringen let: Opsøg det krypterede bogstav i det nederste alfabet og aflæs klartekst bogstavet umiddelbart over.

Det, man skal kende, for at benytte et system, kaldes nøglen. Til Cæsars system er tallet 3 nøglen - det antal pladser vi forskyder det nederste alfabet. Herved deles systemet op i to dele: Selve metoden, der er en forskydning af alfabetet, og nøglen, her 3, der fortæller, hvor mange pladser, der skal forskydes. Ordet nøgle er ikke tilfældigt valgt. Med nøglen låser vi teksten for uvedkommende, men den, der har nøglen kan låse teksten op igen. Vi bemærker, at det er den samme nøgle, der skal benyttes ved såvel kryptering som dekryptering; men metoderne er forskellige. Dog er de ikke mere forskellige, end kender man den ene, kender man også den anden, og omvendt. Man kunne naturligvis også vælge at sige, at metoderne er ens, krypteringsnøglen er 3 og dekrypteringsnøglen er 26 (29 - 3 = 26). Prøv selv.

I stedet for tallet 3, kunne vi som nøgle have valgt ethvert andet tal mellem 1 og 28. Nøglerne 0 og 29 producerer et kryptoalfabet, der er identisk med klartekstalfabetet, og det kommer der jo ikke ret meget hemmelig skrift ud af.

Disse systemer, Cæsarsystemerne, er ikke svære at knække, da der jo kun er 28 forskellige nøglemuligheder, som blot kan afprøves én efter én. Lad os prøve, om vi kan knække følgende meddelelse fra The Times (13/5-1859):

Kryptoteksten lyder:


ZKB GR BRX FRW FRPH RU ZULWH IRU PH VXFK JULHI DQG DGALHUB RK ORYH ORYH

Her skal vi være opmærksomme på, at bogstaverne ÆØÅ ikke er benyttet, idet teksten er på engelsk.

Under hvert bogstav i kryptoteksten fortsætter vi alfabetet med de bogstaver, der følger efter. Når vi kommer til enden af alfabetet, starter vi forfra med A. I tredje sidste linje dukker klarteksten op. Læg mærke til, at alle de øvrige linjer indeholder rent volapyk, og det er netop det, der gør denne brydning mulig. Vi overlader til læseren at dekryptere resten af denne yderst personlige meddelelse. (Bemærk, at afsenderen har lavet tre krypteringsfejl). Hvad er nøglen?


ZKB GR BRX 
ALC HS CSY
BMD IT DTZ
CNE JU EUA
DOF KV FVB
EPG LW GWC
FQH MX HXD
GRI NY IYE
HSJ OZ JZF
ITK PA KAG
JUL QB LBH
KVM RC MCI
LWN SD NDJ
MXO TE OEK
NYP UF PFL
OZQ VG QGM
PAR WH RHN
QBS XI SIO
RCT YJ TJP
SDU ZK UKQ
TEV AL VLR
UFW BM WMS
VGX CN XNT
WHY DO YOU
XIZ EP ZPV
YJA FQ AQW

Af ovenstående fremgår, at benyttelsen af en så simpel krypteringsteknik ikke er til megen nytte. En væsentlig forbedring af systemet kan opnås ved at tillade vilkårligt blandede alfabeter som krypto-alfabet. Med et dansk klartekstalfabet opnås herved 29! nøglemuligheder, og det er mange. Alligevel er det uhyre simpelt at knække et sådant system. Det skyldes, at alle bogstaver ikke forekommer lige hyppigt i en dansk klartekst. Enhver der har spillet "Krible-Kryds" eller "Scrabble" ved, hvor let der er at placere et E - det giver heller ingen points - og hvor svært det er at placere et X, der til gengæld giver 8 points.

Ser vi på en frekvensfordeling for bogstaverne i en vilkårlig dansk klartekst, vil det se nogenlunde således ud:

Af frekvensfordelingen fremgår, at E er langt det hyppigst bogstav, ca. 16%. Herefter følger R, T og N, hver ca. 8%.

Laver vi frekvensfordelingen for en krypteret tekst, der er produceret af et Cæsarsystem, vil vi få det samme billede frem, blot forskudt 3 pladser til højre. Vi behøver således blot at lokalisere E, så kender vi forskydningen og dermed nøglen.

Benytter vi et vilkårligt blandet alfabet som krypto-alfabet, vil den samme blanding afspejle sig i histogrammet og ved sammenligning kan man herefter oversætte en del af bogstaverne i kryptoteksten. Herefter er der ikke langt til at knække hele systemet.På trods af, at de blandede alfabeter giver et enormt antal nøglemuligheder, er systemet alligevel meget svagt overfor et statistisk angreb.

Coblenz-chifret

Der er i tidens løb udvist stor opfindsomhed i at undgå denne store forekomst af E. Et eksempel herpå er det såkaldte Coblenz-chiffer, brugt af de franske prinser i deres eksil efter den franske revolution.

coblenz.gif (13082 bytes)

Som en ordbog, er chifret opdelt i to dele, så man enten kan gå ind med klarteksten og få den oversat til kryptotekst (til venstre), eller med kryptoteksten og få den oversat til klartekst (til højre). I begge tilfælde går man ind i det øverste alfabet og finder oversættelsen i det nederste.I den venstre del (Chiffrant) ser vi, at kryptoalfabet er fremkommet ved forskydning på 5 pladser af klartekstalfabetet, og i den højre del (Déchiffrant) er der en forskydning på 20 pladser. Her insisterer man åbenbart på, at kryptering og dekryptering foregår efter samme opskrift, og har derfor forskellige nøgler til kryptering (5) og dekryptering (20). Dette harmonerer godt med, at det benyttede alfabetet kun har 25 bogstaver. Som et ekstra raffinement ved Coblenz-chifret, kan man erstatte vokalerne i klarteksten med ét af flere valgfri 2-cifrede tal (f. eks. kan A frit erstattes af et af tallene 40, 41, 42 eller 43; E kan frit erstattes af et af tallene 45, 46, 47 eller 48; etc.) Herved camoufleres den hyppige forekomst af vokalerne. Teknisk kaldes de systemer, vi indtil nu har beskæftiget os med, monoalfabetiske substitutionssystemer, idet klartekstbogstaverne erstattes (substitueres) med bogstaver fra et andet alfabet (mono, fordi der kun benyttes et enkelt alfabet).

Transpositionsystemer

En anden type systemer, der også tidligere var meget benyttede, er de såkalde transpositionssystemer, dvs. systemer, der er karakteriseret derved, at kryptoteksten dannes ved at bytte rundt på klartekstens bogstaver efter en ganske bestemt regel. Denne regel kunne f.eks være et mønster (3 2 4 1 5). Dette skal forstås således, at klarteksten deles op i blokke à 5 bogstaver, der byttes rundt på følgende måde: Det 3. bogstav flyttes hen på 2. bogstavs plads, det 2. bogstav flyttes hen på 4. bogstavs plads, ..., det 5. bogstav flyttes hen på 3 bogstavs plads. Går det ikke helt op med blokke à 5 bogstaver, kan man tilføje et passende antal X’er i slutningen.

F.eks. krypteres ordet "transpositionssystemer" efter det givne mønster således:

	TRANS POSIT IONSS YSTEM ERXXX
	NASRT ISTOP SNSOI ETMSY XXXRE

Dekrypteringen foregår på samme måde, men med det inverse mønster (1 4 2 3 5). Prøv.

En anden metode er at skrive hele klarteksten som rækker i et rektangel og danne den krypterede tekst ved at aflæse rektanglet søjlevist. Nøglen er rektanglets bredde (i eksemplet 6):

	TRANS 
	POSIT 
	IONSS 
	YSTEM 
	ERXXX

Den krypterede tekst bliver:


	TPOTRONEASSMNISESTYRPIS

Brydningen af transpositionssystemer byder heller ikke på uoverstigelige problemer. Læseren kan nemmest overbevise sig om dette, ved at bryde følgende lille annonce fra The Times (20/6-1861), der dog er krypteret på en anden måde end den ovenfor beskrevne.

Polyalfabetiske systemer

Vi har set, at et monoalfabetisk system ikke giver os ret megen sikkerhed, og problemet er, at et givet bogstav fra klarteksten svarer til netop ét bogstav i den krypterede tekst. Altså enhver forekomst af f.eks. A i den krypterede tekst svarer til et og samme bogstav i den krypterede tekst. Vi søger altså et system, der åbner mulighed for, at et givet bogstav fra den krypterede tekst kan repræsentere mere end et bogstav fra klartekstalfabetet.

Vigenère systemet

Et kryptosystem med denne egenskab blev konstrueret af den franske diplomat Blaise de Vigenère i 1586. Dette system blev anset for så sikkert, at man gav det navnet "Le carré indéchiffrable" - det udrydelige kvadrat.
I nedenstående kvadrat - kaldet Vigenenère tableauet - er der, udover det almindelige alfabet, anbragt de 28 Cæsaralfabeter, der fås ved forskydninger af det almindelige alfabet. Det første alfabet i kvadratet vil vi kalde A-alfabetet, det næste B-alfabetet osv.



A A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Æ Ø Å
A A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Æ Ø Å
B B C D E F G H I J K L M N O P Q R S T U V W X Y Z Æ Ø Å A
C C D E F G H I J K L M N O P Q R S T U V W X Y Z Æ Ø Å A B
D D E F G H I J K L M N O P Q R S T U V W X Y Z Æ Ø Å A B C
E E F G H I J K L M N O P Q R S T U V W X Y Z Æ Ø Å A B C D
F F G H I J K L M N O P Q R S T U V W X Y Z Æ Ø Å A B C D E
G G H I J K L M N O P Q R S T U V W X Y Z Æ Ø Å A B C D E F
H H I J K L M N O P Q R S T U V W X Y Z Æ Ø Å A B C D E F G
I I J K L M N O P Q R S T U V W X Y Z Æ Ø Å A B C D E F G H
J J K L M N O P Q R S T U V W X Y Z Æ Ø Å A B C D E F G H I
K K L M N O P Q R S T U V W X Y Z Æ Ø Å A B C D E F G H I J
L L M N O P Q R S T U V W X Y Z Æ Ø Å A B C D E F G H I J K
M M N O P Q R S T U V W X Y Z Æ Ø Å A B C D E F G H I J K L
N N O P Q R S T U V W X Y Z Æ Ø Å A B C D E F G H I J K L M
O O P Q R S T U V W X Y Z Æ Ø Å A B C D E F G H I J K L M N
P P Q R S T U V W X Y Z Æ Ø Å A B C D E F G H I J K L M N O
Q Q R S T U V W X Y Z Æ Ø Å A B C D E F G H I J K L M N O P
R R S T U V W X Y Z Æ Ø Å A B C D E F G H I J K L M N O P Q
S S T U V W X Y Z Æ Ø Å A B C D E F G H I J K L M N O P Q R
T T U V W X Y Z Æ Ø Å A B C D E F G H I J K L M N O P Q R S
U U V W X Y Z Æ Ø Å A B C D E F G H I J K L M N O P Q R S T
V V W X Y Z Æ Ø Å A B C D E F G H I J K L M N O P Q R S T U
W W X Y Z Æ Ø Å A B C D E F G H I J K L M N O P Q R S T U V
X X Y Z Æ Ø Å A B C D E F G H I J K L M N O P Q R S T U V W
Y Y Z Æ Ø Å A B C D E F G H I J K L M N O P Q R S T U V W X
Z Z Æ Ø Å A B C D E F G H I J K L M N O P Q R S T U V W X Y
Æ Æ Ø Å A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Ø Ø Å A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Æ
Å Å A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Æ Å

Kryptering efter Vigenèresystemet foregår ved, at man først vælger er nøgleord, hvis bogstaver benyttes til at udvælge alfabeter i Vigenère tableauet. Vælges nøgleordet RUKO, skal vi benytte R-, U-, K- og O-alfabetet til krypteringen.

Som eksempel vil vi først kryptere teksten TO BE OR NOT TO BE med nøglen RUK og dernæst med nøglen RUKO.

Skriv først nøglen over den tekst, der skal krypteres:


Nøgle	        R U K R U K R U K R U K R
Klartekst	T O B E O R N O T T O B E
Kryptotekst	H F L V F Ø B F A H F L V

Først krypteres T vha. et R-alfabet. Dette foregår nemmest ved, at man i Vigenère tableauet finder det bogstav, som R-rækken har fælles med T-søjlen, altså H. Dernæst krypteres O vha. et U-alfabet, etc. Læg mærke til, at de to E’er i klarteksten begge krypteres til L og at alle O’er krypteres til F. Dette ville ikke være sket, hvis ordet RUKO var valgt som nøgle:


Nøgle		R U K O R U K O R U K O R
Klartekst	T O B E O R N O T T O B E
Kryptotekst	H F L S C I X Å H K Y P V

Dekryptering foregår tilsvarende. Opskriv nøglen over kryptoteksten:


Nøgle		R U K O R U K O R U K O R
Kryptotekst	H F L S C I X Å H K Y P V

I R-alfabetet opsøges bogstavet H, der viser sig at være placeret i T-søjlen, etc.

Kasiski Test

Find den tilhørende klartekst til følgende kryptotekst, der er produceret med et Vigenère system (alle mellemrum er droppet):


CCRDICWYBIZCZXDVIQPEÆQKAJØPNPQZCRTKDBKÅI
BDUÅQNLMPHRPQPRQCXOIDQGXQRQBAXRKZTPNRSLR
DZXAXØJKÆDNRJPEYJKDMYÅKDEBCNPQZCRTKUCJPR
CWYBIZCZAONJGWXCÆØIVRQFWIQCYLXQCTOIBBKÅO
RLJPVCWYBIZCZXIÆGQVIÆZMWIØPJPXVIQPONLUÆH
NEKSIZKKWMTFKOIÆQKWZØKSLRTGØPVUØSADZØTRI
QCVPGUCXAOBCØYIZCJAEZKKYCTJKASZFGYCÆQQPV
ØEYPPFMSXEÆDUÅOYØXPVUØSLPDFØLHRJRPVCØTRD
BQQÅMFCSKHRL

Det er på ingen måde let at bryde Vigenère systemet; men hele problemet kan reduceres til at bestemme længden af nøgleordet - kaldet perioden.
Lad os gætte på, at perioden er 5. Vi skriver så den givne kryptotekst søjlevist i 5 rækker:


	CCZV . . .
	CWCI . . .
	RYZQ . . .
	DBXP . . .
	IIDE . . .

Hvis vi har gættet rigtigt, vil hvert bogstav i hver af de 5 rækker være krypteret ved brug af det samme Cæsaralfabet. Det hyppigst forekommende bogstav i hver af rækkerne må da betegner E. I den 1. række er R det hyppigst forekommende bogstav; R må da betegne E, og et N-alfabet er benyttet (se Vigenère tableauet). N er således det første bogstav i nøglen. Altsammen under forudsætning af, at vi har gættet rigtigt. Gætter vi forkert, prøver vi forfra med et nyt gæt. Prøv selv at gøre arbejdet færdigt.

Naturligvis er det utilfredsstillende blot at skulle gætte, så vi søger en metode, der kan give holdepunkter for et kvalificeret gæt.

Den først kendte metode blev beskrevet af den prøjsiske officer Kasiski i 1863, som benyttede gentagelser i kryptoteksten til bestemmelse af perioden.

Betragt atter eksemplet


Nøgle		R U K R U K R U K R U K R
Klartekst	T O B E O R N O T T O B E
Kryptotekst	H F L V F Ø B F A H F L V

I kryptoteksten finder vi en gentagelse af sekvensen HFLV, der begge steder svarer til klartekstbogstaverne TOBE.
Den første af HFLV sekvenserne starter i position 1, den anden i position 10; afstanden mellem de to sekvenser er således 9. At de to forekomster af TOBE i klarteksten krypteres ens, skyldes, at de to forekomster har samme position i forhold til nøglen. Der er derfor god grund til at tro, at perioden er en divisor (går op) i 9.
Kasiskis metode er så at opsøge alle gentagelser af sekvenser på 3 eller 4 bogstaver i kryptoteksten og finde afstanden mellem disse. Perioden kan da bestemmes som den største fælles divisor i de (hyppigste) afstande, der forekommer. Kasiskis metode blev ikke almindelig kendt, og så sent som i 1917 omtales Vigenère systemet i Scientific American som praktisk umuligt at bryde. Sit banesår fik Vigenère systemet i 1920, da W. Friedman observerede, at perioden kan bestemmes ved at tælle frekvenser af ens bogstavpar i kryptoteksten.
Den interesserede læser kan finde en mere detaljeret gennemgang Kasiskis og Friedmans metoder i [2]. I computerprogrammet KRYP2LOG [4], er begge disse metoder implementerede. Bogstavoptælling, søgning efter gentagelser i kryptoteksten og bestemmelse af afstande mellem disse, m.v. bliver hurtigt et stort og uhyre trivielt arbejde, så skal man arbejde seriøst med brydning af Vigenère systemer, vil man værdsætte en computers hjælp.

Enigma, Hägelin og Purple

Belært af svaghederne i Vigenère systemet begyndte man at konstruere en række sindrige apparater med håndsving samt hjul og tapper, der kunne sættes. De tre mest kendte af slagsen er Hägelin kryptografen (svensk/amerikansk), Enigma (tysk) og Purple (japansk).
Disse maskiner kunne producere kryptotekster efter Vigenère princippet med en periode, der er længere end klarteksten. For Hägelin kryptografens vedkommende er perioden 101.405.850. Hermed var hackerens mest effektive våben, den statistiske analyse, umuliggjort.
Kryptering og dekryptering med disse maskiner er en så omstændelig affære, at det ikke vil være muligt at beskrive dem i denne artikel. Men princippet er det samme som ved Vigenère systemet - polyalfabetisk substitution.

For at bryde Hägelin kryptografen benyttes er såkaldt kendt-klartekst angreb, dvs. kendskab til såvel klartekst som den tilhørende kryptotekst gør en bestemmelse af nøglen mulig. Men er dette et rimeligt angreb? Kan man forvente, at kende både klartekst og kryptotekst? Svaret er ja, hvilket amerikanernes brydning af den japanske Purple viser. Japanerne skulle have deres ambassadør i Washington til at overrække den amerikanske præsident et budskab i perioden op til Pearl Harbor, sendte de aftenen før budskabet til den japanske ambassade. Budskabet blev selvfølgelig sendt i krypteret form og blev ligeså selvfølgelig aflyttet af amerikanerne, som herved fik kryptoteksten. Næste morgen blev det uændrede budskab officielt overbragt, og dermed havde man klarteksten. Herefter kunne nøglen bestemmes, og alt andet, som blev sendt under samme nøgle, kunne derfor umiddelbart læses. Japanerne anså Purple for ubrydelig og skiftede derfor meget sjældent nøgle, hvilket selvsagt gav amerikanerne en række fordele.

Tyskerne brød Hägelin kryptografen under 2. verdenskrig. På en eller anden måde lykkedes det dem at bestemme nøglen og benytte den til at sende falske budskaber med. Under krigen måtte amerikanske jagerfly på vej til England mellemslande i Nassarsuak i Sydgrønland. Efter at flyene var lettet, sendte tyskerne over radioen korrekt kodede instruktioner til piloterne om at flyve nordpå, begrundet med (falske) beretninger om dårligt vejr. Piloterne anede ikke uråd. De måtte til sidst nødlande på indlandsisen, og der ligger flyene den dag i dag.

Den faglige forening for gymnasiets matematiklærere - Matematiklærerforeningen - har i samarbejde med DTU (Danmarks Tekniske Universitet) udviklet et omfattende undervisningsmateriale om Hägelin kryptografen [3] til gymnasiebrug. Materialet består af en video (30 min.), et Windowsprogram, der får en computer til at efterligne Hägelin kryptografen samt et hæfte (70 sider), der beskriver kryptografen og dens brydning.

Formålet med alle de systemer, vi har set på, er, at sikre hemmeligholdelse af den information, der udveksles mellem to sammensvorne, så ingen uvedkommende kan få kendskab til informationen. Som vi har set, stiller dette en række krav til systemet:

I næste artikel skal vi beskæftige os med den moderne kryptologi, hvor man ved hjælp af primtal realiserer enhver matematikers drøm og enhver hackers mareridt, nemlig den ubrydelige kode.


Litteratur

O. I. Franksen (1984)
Mr. Babbages Secret. Strandbergs forlag.
P. Landrock & K. Nissen (1990)
Kryptologi. ABACUS
Hägelin M209 (1994)
Matematiklærerforeningen
H. Schou (1990)
KRYP2LOG. ABACUS

Kryptologi - læren om hemmelig skrift I
December 24, 1995
Web Page by Knud Nissen (knissen@forlaget-abacus.dk)
Denne udgave publiceret på www.forlaget-abacus.dk