Kryptologer eller kodknäckare - vem vinner det tysta kriget?

Relevanta dokument
Kryptering. Av: Johan Westerlund Kurs: Utveckling av webbapplicationer Termin: VT2015 Lärare: Per Sahlin

Kryptering HEMLIG SKRIFT SUBSTITUTION STEGANOGRAFI KRYPTOGRAFI

En introduktion till några klassiska chiffer

Kryptering & Chiffer Del 2

Grundläggande krypto och kryptering

En introduktion till några klassiska chiffer

Kryptografi - När är det säkert? Föreläsningens innehåll. Kryptografi - Kryptoanalys. Kryptering - Huvudsyfte. Kryptografi - Viktiga roller

Kryptografi: en blandning av datavetenskap, matematik och tillämpningar

Grundfrågor för kryptosystem

Grundläggande kryptering & chiffer

Den mest väsentliga skillnaden mellan

Kryptoteknik. Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT)

Metoder för sekretess, integritet och autenticering

Nämnarens kryptoskola fördjupning. Vigenères krypto. k l a r t e x t b o k s t a v

Kryptografi: en blandning av datavetenskap, matematik och tillämpningar

Krypteringens historia och användningsområden

Dagens föreläsning. Datasäkerhet. Tidig historik. Kryptografi

Nämnarens kryptoskola fördjupning. Enkel transposition

Föreläsninsanteckningar till föreläsning 3: Entropi

Datasäkerhet. Petter Ericson

Sekretessens utveckling från antiken till idag. En studie om krypteringens historia och möjligheten att använda den i dagens matematikundervisning

Utdrag från Verklighetens Kvadratrötter: Sida 1 en bok om matematikens användningsområden skriven av Marcus Näslund. Mer info:

Krypteringteknologier. Sidorna ( ) i boken

Föreläsninsanteckningar till föreläsning 1: Introduktion

ENKEL Programmering 3

NÅGOT OM KRYPTERING. Kapitel 1

BLANKETTCHIFFER One-Time Pad - OTP

MATEMATIK I SÄKERHETENS TJÄNST OM KODNING OCH KRYPTERING 1

FRA och Bletchley Park under WW2: Ibland var FRA till och med före...

Objektorienterad Programkonstruktion. Föreläsning 16 8 feb 2016

Kryptering. Krypteringsmetoder

Att forcera Caesar-krypto är inte så svårt. Antalet möjliga nycklar är bara

Krypteringsprogrammet Kryptogamen

För att använda sifferkrypto använder man en rektangel om 5 gånger 6 bokstäver.

Hemligheternas Matematik

Krypteringsuppgift. Om kryptering

En introduktion till några klassiska chiffer

Moderna krypteringssystem

Grundläggande programmeringsteknik Datorsystem

Introduktion till krypteringsmetoderna RSA och Merkle-Hellman

RSA-kryptering och primalitetstest

Skydd för känsliga data

Primtal, faktorisering och RSA

Föreläsning 10. Grundbegrepp (1/5) Grundbegrepp (2/5) Datasäkerhet. olika former av säkerhet. Hot (threat) Svaghet (vulnerability)

Säkerhet. Säker kommunikation - Nivå. Secure . Alice wants to send secret message, m, to Bob.

En jämförelse av krypteringsalgoritmer. Kandidatarbete Informationssystem Peter Broman Ola Liljerum Handledare: Bengt Carlsson

Övning 6 - Tillämpad datalogi 2012

Omkastningskrypto lärarsida

Enkel substitution det allmänna fallet

En introduktion till kryptografi

MA2047 Algebra och diskret matematik

Hur bevarar man en hemlighet? Och hur delar man med sig en hemlighet utan att

Tentamen i Kryptologi 1DT

Abstract. 1. Inledning

Att skriva en matematisk uppsats

Datormetaforen. Från människa till dator Från dator till människa o.s.v.

Kryptering. Wearable Computers D 10p. Namn: Josef Israelsson Datum: Lärare: Björne Lindberg Ulf Brydsten Lars Karlsson

Lutande torn och kluriga konster!

Kryptering och primtalsfaktorisering

Föreläsning 10 Datasäkerhet grundbegrepp datasäkerhet i nätet. Säkerhet. Grundbegrepp (1/5) Modern telekommunikation

Blockkedjor. en introduktion för datavetare. Rikard Hjort, 24 maj 2019

Global Positioning System GPS

Javadoc. Internet, WorldWideWeb, HTML, och Java. Webbläsarkomponenten. JEditorPane p. HyperlinkListener. Javadoc exempel:

RIV Tekniska Anvisningar Kryptografi. Version ARK_

Kvalitetsarbete I Landstinget i Kalmar län. 24 oktober 2007 Eva Arvidsson

Mikael Gustafsson & Camilla Stridh

256bit Security AB Offentligt dokument

Adding active and blended learning to an introductory mechanics course

Byggmästarkrypto lärarsida

Grafer, traversering. Koffman & Wolfgang kapitel 10, avsnitt 4

Många företag och myndigheter sköter sina betalningar till Plusoch

DATALOGISK TÄNKANDE OCH PROGRAMMERING CETIS OKTOBER 2017

Dagens föreläsning. Datasäkerhet. Tidig historik. Kryptografi

Block 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder

Protokollbeskrivning av OKI

Resurscentrums matematikleksaker

Dölja brott med datorns hjälp

Chapter 1 : Who do you think you are?

Säkerhet. Olika former av säkerhet (företagsperspektiv [1])

Säkerhetsbrister & intrång

Alan Turing Har du någonsin undrat vem det var som uppfann datorn? Har du någonsin undrat vem det var som gav England oddsen på att vinna det andra

Obemannade flygplan. Namn: Hampus Hägg. Datum: Klass: TE14B. Gruppmedlemmar: Gustav, Emilia, Henric och Didrik

PGP håller posten hemlig

Exempel på akademiskt skrivande? Akademiskt skrivande och tänkande. Eller detta. Fler exempel.. Så kan det bli. Föredömen?

Övning 6. Komprimering, kryptering, dokumentering & testning

Calculate check digits according to the modulus-11 method

Introduktion till programmering och Python Grundkurs i programmering med Python

Efternamn förnamn pnr årskurs

Information technology Open Document Format for Office Applications (OpenDocument) v1.0 (ISO/IEC 26300:2006, IDT) SWEDISH STANDARDS INSTITUTE

Snabbguide till Cinahl

1. (3p) Ett RSA-krypto har de offentliga nycklarna n = 33 och e = 7. Dekryptera meddelandet 5. a b c d e. a a b c d e

4 grundregler. Minneshantering. Problemet. Windows minkrav

Reed-Solomon-koder i ett McElieces kryptosystem

Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL2 och Media 1, SF1610 och 5B1118, onsdagen den 17 augusti 2011, kl

Dagens agenda. Lagring & berarbetning av data. Filer och filformat Metadata Komprimering Kryptering Olika typer av data Filsystem Databaser

Från extern till intern på tre dagar Erfarenheter från externa lärares pedagogiska kompetensutveckling

Georg och Edvard Scheutz första differensmaskin återfunnen

Solowheel. Namn: Jesper Edqvist. Klass: TE14A. Datum:

Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens Erik Claesson

Transkript:

Kungl. Tekniska Högskolan CSC Kryptologer eller kodknäckare - vem vinner det tysta kriget? (Cryptologists or codebreakers - who is winning the silent war?) Höstterminen 2007 Författare: Stanislav Khromov E-post: stanislav.khromov@gmail.com Grupp: 2 Övningslärare: Björn Thuresson

Abstract Thought first to have been used by the greeks to alert and send classified military information while at war against the Great Persian empire, cryptography and steganography seems to grow seemingly more and more useful as the centuries pass us by. In this report, we throughoutly examine cryptographic and steganographic history and the uses and appliances of cryptography and steganography during both peace and wartime. With interviews, articles, books written by experts in the field and logical reasoning as our most prominent tools, we try to trace cryptography from the very earliest implementations such as the Spartan scytale and the infamous roman Caesar cipher to the complex block and asymmetrical ciphers of today. The simplest ciphers are given with examples to give the reader a sense of how cryptography works in practice. We also speak to business professionals to discuss and determine the path that cryptography has taken through the years and where it is likely to go from this point on. After collecting all facts we can state that the cryptologist are currently dominating the field and that their position is not likely to be threatened in the next couple of decades.

Innehåll 1 Inledning 1 2 Introduktion och definitioner 1 2.1 Definitioner............................ 1 2.2 Kryptografins och Steganografins Forntida Historia...... 1 3 Kryptografins of Steganografins Historia 2 3.1 Tidiga krypton.......................... 2 3.1.1 Frekvensanalysen..................... 2 3.2 Vigenerekryptot.......................... 4 3.2.1 Frekvensanalysen kommer igen............. 6 3.3 Den snabba utvecklingen under 1900-talet........... 6 3.3.1 Att knäcka Enigma.................... 8 3.4 Moderna krypton......................... 8 3.4.1 DES............................ 8 3.4.2 RSA............................ 9 4 Historisk analys 9 Referenser 12

1 Inledning Genom historiens gång har människan gång på gång insett att vetenskapen kring kryptologi visat sig vara ett av de mest viktiga att upprätthålla och utveckla, men frågan som ingen kan svara på är vart kryptologi som vetenskap är på väg. Hänger de nuvarande kryptona som är så vitt och brett använda på en skör tråd? Kan vi dra några slutsatser utifrån kryptologins historia och kanske bestämma hur framtiden kommer se ut? Med denna rapport vill vi gå på djupet kring kryptologins historia och framtid. Vi utgår framförallt från boken Kodboken skriven av Simon Singh, som är en erkänd expert inom ämnet och den historiska texten kommer till större del från denna bok. 2 Introduktion och definitioner 2.1 Definitioner En viktig sak att förstå är begreppen kryptografi 1, steganografi 2 samt kryptoanalys och dess distinkta skillnader, eftersom denna rapport bygger starkt på dessa definitioner. Vi måste även bygga upp en mindre ordlista av andra definitioner som uppkommer allt eftersom texten fortskrider. Definitionen av kryptografi är kunskapen om hur man förvandlar data (oftast vanlig text, s.k. klartext) till annan data som är total rappakalja för utomstående (s.k. kryptotext). Detta fungerar genom att man utför operationer på datan eller texten med en rad förutbestämda instruktioner, och dessutom efter ett visst mönster, ett så kallad krypto, eller chiffer när det gäller text, med tillhörande nyckel. Steganografi är läran om hur man fysiskt döljer meddelanden från sådana som inte är behöriga att läsa det. Detta i kontrast till kryptografin där meddelandet i sig inte behöver vara gömt, utan bara oläsligt för mottagaren. Till sist så är kryptoanalysen en vetenskap som går ut på att med olika verktyg och metoder dechiffrera en tidigare krypterad text, vilket innebär att transformera den från kryptotext till klartext igen utan att vara medveten om den tillhörande nyckeln. Var goda notera att chiffer, algoritm och krypto betyder samma sak. 2.2 Kryptografins och Steganografins Forntida Historia Trots all kunskap som vi besitter om kryptografi och steganografi så vet vi fortfarande väldigt lite om dess uppkomst. Många spekulationer har vädrats genom åren men det finns lite belägg för de flesta av dessa, och uppkomsten är inte huvudfokus i denna uppsats. Vad många dock är överens om är att 1 Av grekiskans cruptos, gömd och graphein, skrift. 2 Av grekiskans steganos, övertäckt, gömd och graphein, skrift. 1

det krävs en sak för att kryptografi och steganografi skall ses som nödvändig; Ett behov av att undanhålla information från utomstående[8, 9]. Det kan till exempel ha varit en stam av nomadiska stenåldersmänniskor som försökte gömma en ny uppfinning såsom elden eller jaktknep som introducerade den första krypteringen, men tills bevis hittats kan man bara spekulera. 3 Kryptografins of Steganografins Historia 3.1 Tidiga krypton Världens första krypto anses ha varit konstruerat av Spartaner för att skicka hemliga meddelanden under kriget mot det Persiska riket. Spartanerna använde en s.k. skytale, vilket i sig är en stav av fixerad tjocklek. Man virade sedan en pappersremsa med bokstäver på kring denna stav och kunde då läsa ett meddelande horisontellt utmed staven. Detta är ett s.k. transpositionschiffer. Kryptot i detta fall är att man flyttade runt bokstäverna enligt en speciell regel. Nyckeln är i detta fall tjockleken på staven, som måste stämma överens. Båda använder samma nyckel, vilket klassificerar det här som en symmetrisk kryptering, då både sändare och mottagare använder samma nyckel. Ett annat tidigt exempel på ett krypto är det berömda Caesarchiffret, som gick ut på att flytta fram bokstäver ett visst antal steg i alfabetet, om man till exempel flyttade fram alla tecken ett steg innan man skrev sitt meddelande: 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 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 Figur 1, Exempel på substitutionsalfabet Med detta skulle vi till exempel kunna skriva om Attack i gryningen till Buubdl j hszojohfo. Kryptot skulle i detta fall vara att flytta alla bokstäver x antal tecken bak i alfabetet. och nyckeln skulle vara "1". Det visar sig att denna typ av krypton, familjen av s.k. symmetriska monoalfabetiska substitutionskrypton, lever kvar under en väldigt lång tid. Att kryptot är monoalfabetiskt betyder att man använder ett alfabet för att byta ut bokstäverna, så som vi ser i figuren ovan. Till en början anses dessa vara oknäckbara, men på 900-talet lyckades den arabiske filosofen och matematikern Al-Kindi hitta ett effektivt sätt att knäcka substitutionskrypton[9]. 3.1.1 Frekvensanalysen Frekvensanalysen går ut på att räkna ut den frekvens som vissa bokstäver förekommer i när man har en krypterad text. Iden går ut på att den procentuella spridningen av bokstäver i ett visst språk är ungefär densamma 2

för vilken godtycklig text som helst på det givna språket. Då bara en bokstav kan ersätta en annan kan man få en liknande fördelning och därmed systematiskt få fram vilka bokstäver som ersätter vilka. Till exempel står bokstaven e för över 10 procent av alla bokstäver i det engelska språket[4] och ger därför ett väldigt tydligt utslag om man ställer upp en tabell på enskilda bokstävers frekvens). Om vi till exempel tar en okänd kryptotext: NU, QVFGVAPGYL V ERZRZORE VG JNF VA GUR OYRNX QRPRZORE, NAQ RNPU FRCNENGR QLVAT RZORE JEB- HTUG VGF TUBFG HCBA GUR SYBBE. RNTREYL V JV- FURQ GUR ZBEEBJ; - INVAYL V UNQ FBHTUG GB OBEE- BJ SEBZ ZL OBBXF FHEPRNFR BS FBEEBJ - FBEEBJ SBE GUR YBFG YRABER - SBE GUR ENER NAQ ENQVNAG ZNVQRA JUBZ GUR NATRYF ANZRQ YRABER - ANZRYRFF URER SBE RIREZBER. Nu jämför vi bokstavsfördelningen på denna text med standardfördelningen (Se figur 2 och 3) Vi ser tydliga likheter mellan tabellerna. Till exempel ser vi den distinkta E-stapeln på standardfördelningen som i figur 3 befinner sig på plats R. Genom att observera flera sådana drag kan vi till slut dra slutsatsen att alfabetet är förskjutet tretton tecken och därmed är kryptot knäckt. Bokstavsfördelning är aldrig perfekt, men som tumregel har man att desto längre text man arbetar med, desto bättre fungerar denna typ av analys. I och med Al Kindis genombrott uppkom det små variationer på de symmetriska monoalfabetiska substitionskryptona, där man försökte lura kodknäckarna genom att stoppa in bokstäver som inte betydde något eller varva vanliga bokstäver med enskilda figurer för specifika ord i hopp om att sammanhanget inte skulle förstås. Kodknäckarna hade här en stor fördel och med tillräckligt mycket skicklighet var inget skyddat under denna tidsperiod. 3

Figur 2, bokstavsfördelning i det aktuella stycket. Figur 3, bokstavsförrdelning i det engelska alfabetet. [4] 3.2 Vigenerekryptot I och med att det symmetriska monoalfabetiska kryptot nu var ansett som knäckt 3 så dröjde det ända fram till 1500-talet innan den franska diplomaten Blaise de Vigenere utvecklade det monoalfabetiska kryptot och introducerade det s.k polyalfabetiska substitutionskryptot. Detta gjorde Vigenere genom att skapa en s.k. Tabula Recta, en tabell över flera alfabeten uppställd enligt följande sätt: 3 Ett krypto anses som knäckt när man har hittat en metod att inte prova alla möjliga nycklar (så kallat brute-force) utan kan hoppa över en del av möjligheterna.[1, 7] 4

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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Figur 4, Tabula Recta Tekniken fungerade i korta ordalag ut på följande sätt: Till varje krypterat meddelande hör en nyckel, som används för både kryptering och dekryptering. Ponera att vi vill skriva meddelandet Attack nu med nyckelordet abc. Man skriver nu nyckeln gång på gång över det man ska kryptera: a b c a b c a b a t t a c k n u Observera nu figur 4. Genom att leta upp första klartextbokstaven i första raden och sedan leta upp nyckelbokstaven i första kolumnen kan vi få en skärning som ger oss de aktuella bokstäverna. Vi får alltså kryptotexten AUVADMNV. 5

Vad som i praktiken händer är ett vi använder ett separat alfabet för varje bokstav som nyckeln har. Till exempel använder vi tre alfabet i detta fall, det för a, b och c. Kryptologerna skapade sig ett ordentligt övertag över kodknäckarna, återigen ansågs detta nya krypto vara helt oknäckbart men matematikern Charles Babbage lyckades på 1800-talet bevisa motsatsen. 3.2.1 Frekvensanalysen kommer igen Det som gjorde Vigenerekryptot så starkt var att varje bokstav kunde krypteras på flera olika sätt, vilket skiljde Vigenerekryptot från de symmetriska monoalfabetiska substitutionskryptona. Dock så visade Babbage (och efter honom Friedrich Kasiski) att det ändå gick att tillämpa frekvensanalys på denna typ av krypto. Genom att leta upp vissa bokstavsföljder i en text kan man dra slutsatsen att dessa följder är samma ord. Genom att ta avståndet mellan dem kan man sedan bestämma den okända nyckelns längd, och även här är det förstås av högsta vikt att man vet vilket språk man handskas med för att statistiskt veta de allra vanligaste fraserna i det gällande språket. När man har betämt nyckellängden (till exempel om nyckellängden är tre som i vårt exempel) så vet vi att tre separata alfabet används. Egentligen har vi alltså tre symmetriska monoalfabetiska substitutionskrypton och vi kan tillämpa frekvensanalysen på var och ett av dessa för att knäcka kryptot på samma sätt som beskrivet i avsnitt 3.1.1. En modifikation av algoritmen som innebar att man använde en slumpmässig nyckel som är lika lång som meddelandet själv och enbart en gång utvecklades av ingenjören Gilbert Vernam under första världskriget (även om kryptot sällan användes under denna tid.)[9] och är bevisat oknäckbar.[5] Problemet består av svårigheten att hitta komplett slumpmässiga nycklar, vilket till denna dag har vart en svårighet för kryptologer.[2, 3] 3.3 Den snabba utvecklingen under 1900-talet Man kan säga att utveckligen av krypton började ta ordentlig fart under 1900-talet. Under första världskriget utvecklade tyskarna det så kallade trench code -kryptot som gick ut att man hade en kodbok som tillhandahöll de 4000[10] vanligast förekommande orden man behövde och som ändrades med en frekvens på några veckor till några månader. Detta krypto kunde framförallt dekrypteras genom att gissa vanligt förekommande ord (till exempel att det tyska ordet för väder nästan alltid förekommer i en väderleksrapport.) samt genom stöld av kodböckerna, som var tvungna att kopieras och spridas till samtliga enheter som behövde ta del av koden. I och med den industriella revolutionens slut och mekaniseringens framsteg så blev nästa stora kryptografiska framsteg Enigma-algoritmen. Under tidigt 1920-tal[11] utvecklade tysken Arthur Scherbius sin så kallade Enig- 6

mamaskin. Han tog full användning av den nya mekaniserade tekniken. Enigman ser ut som en skrivmaskin, men varje bokstav skickar ut en elektrisk ström när den trycks ner. Strömmen leds sedan genom en väg av rotorer som har inbyggda ledningar inom sig. Vrider man rotorerna ändras banorna som strömmen går igenom (För att bestämma hur rotorerna ska sitta anger man deras ursprungspositioner, till exempel S-X-B.) Sist når strömmen en s.k. reflektor som skickar tillbaka pulsen en annan väg och ut på en ljustavla som visar den krypterade bokstaven. (Se figur 5.) Detta sista steg kan te sig onödigt till en början, men vi inser att Scherbius försökte göra kryptot symmetriskt, det vill säga att personen som dekrypterade meddelandet på andra änden med en enigmamaskin och samma rotorinställningar enbart skulle behöva skriva in kryptotexten för att få ut klartexten på ljustavlan. Efter varje skriven bokstav snurrar första hjulet en position till vänster, och när detta hjul har snurrat 26 varv klickar nästa ett varv. Figur 5, Schematisk ritning över Enigmamaskin. Som vi ser går strömmen från tangentbordet genom banor i de olika rotorerna tills den når reflektorn. Reflektorn skickar tillbaka strömmen och sedan går den ut på ljustavlan. Exakt hur enigmamaskinen fungerar är inte viktigt för denna uppsats och vi låter därför detaljerna vara. Värt att notera är dock att forcering för hand blev i och med Enigmamaskinen helt omöjligt, då till och med den förenklade varianten vi har visat kunde generera över 105 000 olika möjligheter. I och med senare modifieringar som la till fler hjul[11] blev möjligheterna ännu fler. Ytterligare ett hjul skulle till exempel ändra antalet möjliga kombinationer till hela 2 741 856 kombinationer. Kryptologerna hade här skaffat sig en stark ledning över kodknäckarna. 7

3.3.1 Att knäcka Enigma Efter första världskriget var västvärldens intresse av att bygga och knäcka krypton relativt låg. Det enda land som fortfarande inte kände sig helt säkra på grund av deras nyvunna frihet från de tyska ockupanterna var Polen. I rädsla för ett nytt angrepp från väst fortsatte polackerna sina spaningar på tysk radiokommunikation. När de första meddelandena krypterade med Enigman kom in till deras kodbyrå blev de förbluffade över att inte kunna dekryptera dessa. Scherbius hade först släppt sin Enigmamaskin i en civil utgåva (den blev dock aldrig särskilt populär[11]) och efter att de polska kodknäckarna hade fått nys om denna insåg de att det var ritningar över rotorerna som behövdes för att kunna komma någonvart med detta krypto. Lyckligtvis besannades polackernas förhoppningar då en tysk spion läckte ritningarna över rotorerna.[5] Tyskarna körde förutom den vanliga krypteringen ännu en, något som de trodde skulle hjälpa säkerheten men till slut blev det första stora genombrottet för att knäcka Enigman. Tyskarna sände med sin dagliga standardnyckel en ny slumpmässig nyckel två gånger. I och med att denna upprepades visste kodknäckarna att första bokstaven var densamma som fjärde, den andra som den femte osv. Detta var som en stor öppen inkörsport för kryptoanalytikerna och som tillsammans med gamla metoder så som bokstavsfördelning och vetskapen om förekomsten av vissa ord som beskrivs i avsnitt 3.3. I och med andra världskrigets utbrott så inrättades även institut runtom i världen likt det polska. Deras uppgift bestod av att knäcka krypterade meddelanden. Ett av de mest kända var det vid Bletchley Park i England. Trots att tyskarna efter en stund slutade repetera sina slumpnycklar två gånger lyckades dock Bletchleys kodknäckare klara uppgiften att knäcka Enigman. Det de gjorde var att komma med en kvalificerad gissning gällande klartexten i relation till kryptotexten och sedan provade det nu mycket mindre urvalet av nycklar. Man kan generellt sätt säga att Enigmachiffret i grund och botten egentligen var ett mycket komplicerat polyalfabetiskt vigenerechiffer. 3.4 Moderna krypton 3.4.1 DES Under 1960-talet började datorer utvecklas på största allvar. Under 70-talet förfinades designen ytterligare och nu blev även datorn åtkomlig för den vanliga konsumenter. Det revolutionerande var att man gick över från mekaniska delar, en ny era inleddes. På slutet av 1970-talet utvecklade Horst Feistel en algoritm som han kallade Lucifer. Den gick ut på att översätta texten till binära 4 siffror, och sedan dela upp dessa i block. Sedan manglar man siffrorna och ändrar dessa genom substitution. Detta upprepas på alla delar sexton 4 Binära talsystemet är ett system som går ut på att beteckna siffror med enbart ettor och nollor. 8

gånger innan resultatet kommer ut. Manglingsfunktionen beror på den nyckel man skickar med - ju större nyckel desto svårare att hitta resultatet genom att prova alla möjligheter. 3.4.2 RSA RSA var ytterligare ett krypto som uppstod bara ett år efter DES. Det revolutionerande med RSA var att det omkullkastade tidigare ideer om kryptering och dekryptering. Alla krypteringsalgoritmer vi sett i denna bok har varit symmetriska, du använder samma nyckel för att övergå från klartext till kryptotext och tillbaka. I och med RSA introducerades ett ny typ av algoritmer, de asymmetriska. Grunden bygger på en publik och en privat nyckel. Jag väljer ut två enorma primtal, p och q. Jag multiplicerar sedan dessa tal med varandra, och dessa utgör min publika nyckel, N. Alla som vill skicka mig meddelanden använder sedan min publika nyckel som de stoppar in i en icke-reversibel funktion tillsammans med den information de vill sända och skickar till mig. Eftersom jag känner till både p och q kan jag dekryptera denna, medan någon annan måste försöka multiplicera alla primtal med varandra för att testa vilket som utgör min publika nyckel - det finns ingen genväg att ta så att man inte behöver testa alla tal. RSA bygger i grund och botten på det så kallade primtalsfaktoriseringsproblemet, som förbluffat matematiker i århundraden. 4 Historisk analys Vi ser från kryptologins vagga att det huvudsakliga målet med kryptografi till en början var att dölja meddelanden från fiender i krigstid. Då man enbart hade behov av att kryptera enklare text och hade väldigt begränsade matematiska kunskaper och resurser fick man förlita sig på enklare krypton så som förskjutningschiffer och liknande, precis som i början av vilken vetenskap som helst. Något som dock bör noteras är de enorma framstegen som har gjorts på senare tid i och med utvecklingen av den moderna datorn. Det vi ska titta på med yttersta intresse är antalet möjliga kombinationer som behövs för att testa alla möjligheter i ett chiffer. Vi ser snabbt att utvecklingen har varit exponentiell. (Se Figur 6) 9

Algoritm Uppfunnen Knäckt Möjliga nycklar Caesar ca 50 e.kr ca. 900 e.kr 26 Vigenere ca 1500 e.kr ca. 1820 e.kr ca. 17600 Enigma ca 1920 e.kr ca. 1942 ca 1 055 000 DES 1976 e.kr 1997 ca. 7.2 10 17 RSA ca 1977 e.kr 1998/2003 ca. 1.16 10 78 Figur 6, Tabellen avser ett meddelande på 10 tecken. Vigenere med tre bokstävers nyckel, Enigma med tre rotorer, DES med 56-bitars nyckel samt RSA med 256 bitars nyckel. Givetvis kan vi i denna rapport inte omfatta alla typer av chiffer, men vi fokuserar oss på de chiffer som användes vitt och brett samt chiffer som numera är kryptologiska standarder. Vi märker av en tydlig påbyggnadstrend. Ta till exempel det monoalfabetiska Caesarchiffret beskrivet i avsnitt 3.1 och vad som behövdes för att knäcka det, frekvensanalysen. Genom att lägga till ett nytt lager av komplexitet och införa det polyalfabetiska chiffret lyckades kryptologerna göra ett chiffer som höll i närmare 320 år innan Babbage insåg att man genom ett kryphål kunde minska komplexiteten tillbaka till de monoalfabetiska kryptona. Ytterligare en påbyggnad i och med Enigman innebar ett till lager av komplexitet. Här ser vi den första brytpunkten där kryptologerna tydligt visade för kodknäckarna att det är de som bestämmer. Trots polackernas upptäckter och Turings kryptoteam vid Bletchley park så var arbetet till stor del mekaniserat - det gick inte längre att testa kombinationerna för hand även om man kände till flera säkerhetsproblem i algoritmen. Komplexiteten hade övergått vår kapacitet. Det syns tydligt att kryptologerna jobbar vidare på en grundidé och deras största arbete går ut på att försöka komplicera processen så mycket att det blir nästintill omöjligt att återskapa den baklänges. I och med DES och RSA som gick över till det binära systemet kunde komplexiteten ökas många tusen gånger om. Detta var till följd av övergången till programmerbara transistorer istället för kugghjul. Om man till exempel skulle vilja ge Enigman ett större nyckelomfång skulle man vara tvungen att installera extra kugghjul. I DES eller RSA ändrade man istället nyckelstorleken och körde fler pass. Det tar längre tid, men man utnyttjar faktumet att det tar många gånger längre tid att knäcka kod med en dator än att kryptera den. Enorma nycklar som 1024 bitar eller 2048 bitar är inga problem för dagens datorer. Den uppmärksamme har märkt av att samtliga algoritmer i Figur 6 står som knäckta. Om algoritmerna är knäckta, varför använder man dem fortfarande och anser dem effektiva? Jo, för att det är oerhörd stor skillnad på att kunna knäcka en algoritm och att effektivt kunna få ut klartext ur kryptotext. Maskinerna som kodknäckarna vid Bletchely hade att tillgå var förvisso tillräcklig för uppgiften då de kunde dekryptera ett tyskt chiffer på ett par timmar, men mot slutet av kriget hade de problem att knäcka det 10

ständigt evolverande Enigmakryptot, och nu har kryptologerna kommit betydligt längre. Även om vi klarar av att halvera antal jämförelser som behövs för att få ut klartexten så skulle det ändå ta miljarder gånger universums livstid att knäcka ett 2048-bitars RSA-krypto med all dagens datorkraft.[7]. Som slutsats måste vi härmed dra att dagens algoritmer är något som kommer hålla i sig, något som både Lennart Brynielsson, Första stabskryptolog från MUST 5 [7] och den erkände kryptokonstruktören Phil Zimmermann håller med om. För att avsluta med ett citat av just denne herre: Inom den moderna krypteringskonsten kan man tillverka krypton som inga som helst kända kryptoanalytiska redskap biter på, och jag tror att det kommer att hålla i sig. 5 Militära underrättelse- och säkerhetstjänsten 11

Referenser [1] Bruce Schneier A self-study course in block-cipher cryptanalysis. URL: http://www.schneier.com/paper-self-study.pdf (2007-11-15). [2] Bruce Schneier. Did NSA Put a Secret Backdoor in New Encryption Standard?. URL: http://www.wired.com/politics/security/commentary/ securitymatters/2007/11/securitymatters_1115 (2007-11-15). [3] California Technical Institute Wiki Random Number Generation. URL: http://qwiki.caltech.edu/wiki/random_number_generation (2007-11-15). [4] Central College, Iowa Statistical Distributions of English Text. URL: http://pages.central.edu/emp/lintont/classes/spring01/ cryptography/letterfreq.html (2007-11-15). [5] Greg Goebel Codes, Ciphers, and Codebreaking. URL: http://www.vectorsite.net/ttcode.html (2007-11-15). [6] J. Orlin Grabbe The DES Algorithm Illustrated. URL: http://www.aci.net/kalliste/des.htm (2007-11-15). [7] Lennart Brynielsson, Intervju (Se appendix A). [8] Pierre Loidreau. LinuxFocus Article 243. URL: http://mercury.chem.pitt.edu/~sasha/linuxfocus/english/ Archives/lf-2002_05-0243.pdf [9] Simon Singh (1999). Kodboken, ISBN 91-1-1300708-4, Norstedts [10] Wikipedia, Engelska Artikel över trench codes. URL: http://en.wikipedia.org/wiki/trench_code#german_army (2007-11-15). [11] Wikipedia, Engelska Artikel över Enigma > Commercial Enigma. URL: http://en.wikipedia.org/wiki/enigma_machine#commercial_ Enigma (2007-11-15). [12] Zvezdelina Stankova-Frenkel RSA Encryption,. URL: http://mathcircle.berkeley.edu/bmc3/rsa/node4.html (2007-11- 15). 12