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

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

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

Nämnarens kryptoskola fördjupning. Enkel transposition

Grundfrågor för kryptosystem

Kryptering HEMLIG SKRIFT SUBSTITUTION STEGANOGRAFI KRYPTOGRAFI

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

En introduktion till några klassiska chiffer

Enkel substitution det allmänna fallet

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

Primtal, faktorisering och RSA

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

Datasäkerhet. Petter Ericson

256bit Security AB Offentligt dokument

Krypteringteknologier. Sidorna ( ) i boken

Kryptering & Chiffer Del 2

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

Kryptering. Krypteringsmetoder

Skydd för känsliga data

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

Grundläggande krypto och kryptering

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

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

Grundläggande kryptering & chiffer

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

Offentlig kryptering

En introduktion till några klassiska chiffer

RSA-kryptering och primalitetstest

Kryptering och primtalsfaktorisering

Krypteringsprogrammet Kryptogamen

Byggmästarkrypto lärarsida

Att använda kryptering. Nyckelhantering och protokoll som bygger på kryptering

MA2047 Algebra och diskret matematik

Metoder för sekretess, integritet och autenticering

Den mest väsentliga skillnaden mellan

DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion

Omkastningskrypto lärarsida

Magnus Nielsen, IDA, Linköpings universitet

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

Tommy Färnqvist, IDA, Linköpings universitet. 1 ADT Map/Dictionary Definitioner Implementation... 2

SJÄLVSTÄNDIGA ARBETEN I MATEMATIK

Finns det säkra kryptosystem?

NÅGOT OM KRYPTERING. Kapitel 1

DD1320 Tillämpad datalogi. Lösnings-skiss till tentamen

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

Efternamn förnamn pnr årskurs

Kryptografiska mekanismer och valutor

x 23 + y 160 = 1, 2 23 = ,

σ 1 = (531)(64782), τ 1 = (18)(27)(36)(45), τ 1 σ 1 = (423871)(56).

Programmeringsuppgifter 1

Efternamn förnamn pnr årskurs

Kravspecifikation Fredrik Berntsson Version 1.1

Kryptografiska mekanismer och valutor

Krypteringstjänster. LADOK + SUNET Inkubator dagarna GU, Göteborg, 6-7 oktober Joakim Nyberg ITS Umeå universitet

Introduktion till krypteringsmetoderna RSA och Merkle-Hellman

RIV Tekniska Anvisningar Kryptografi. Version ARK_

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

BLANKETTCHIFFER One-Time Pad - OTP

Anpassning av GNU Nettle för inbyggda system

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

Modul 3 Föreläsningsinnehåll

Introduktion till protokoll för nätverkssäkerhet

EIT060 Datasäkerhet - Projekt 2. Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011

Tommy Färnqvist, IDA, Linköpings universitet. 1 ADT Map/Dictionary Definitioner Implementation... 2

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

Numeriska metoder och grundläggande programmering för P1 och T1

repetitionskoder blockkoder Felrättande koder

Föreläsning 7. Felrättande koder

DNSSec. Garanterar ett säkert internet

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

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

Vad man vill kunna göra. Lagra och skicka krypterad information Säkerställa att information inte manipuleras Signera sådant som man står för

Behörighetssystem. Ska kontrollera att ingen läser, skriver, ändrar och/eller på annat sätt använder data utan rätt att göra det

MATEMATIKENS SPRÅK. Avsnitt 1

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

PROGRAMMERING I ETT OBJEKTORIENTERAT SPRÅK (JAVA), 5P

Programmeringsolympiaden 2014

Elektroniska signaturer - säker identifiering?

EIT060 Datasäkerhet - Projekt 2. Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011

Switch- och WAN- teknik. F7: ACL och Teleworker Services

Datasäkerhet. Informationsteknologi sommarkurs 5p, Agenda. Slideset 10. Hot mot datorsystem. Datorsäkerhet viktigare och viktigare.

Identity Management i ett nätverkssäkerhetsperspektiv. Martin Fredriksson

Säker e-kommunikation

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Protokollbeskrivning av OKI

En introduktion till några klassiska chiffer

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

Övning 6. Komprimering, kryptering, dokumentering & testning

Nära en halv miljon Svenska lösenord har läckt ut på internet

Hemligheternas Matematik

Övning 6 - Tillämpad datalogi 2012

Tentamen i Kryptologi 1DT

Att bygga VPN. Agenda. Kenneth Löfstrand, IP-Solutions AB. Olika VPN scenarios. IPsec LAN - LAN. IPsec host - host SSH

Karta över Jorden - viktigt exempel. Sfär i (x, y, z) koordinater Funktionen som beskriver detta ser ut till att vara

Lösning till tentamensskrivning i Diskret Matematik, SF1610 och 5B1118, torsdagen den 21 oktober 2010, kl

Ett säkert Internet. Betalningsformer för säkra transaktioner över Internet. Författare: Anders Frånberg. Examensarbete I, 10p Vårterminen - 00

En introduktion till kryptografi

1 Föreläsning Implikationer, om och endast om

Programmeringsolympiaden 2010 Kvalificering

Krypteringens historia och användningsområden

Mikael Gustafsson & Camilla Stridh

Transkript:

Föreläsninsanteckningar till föreläsning 1: Introduktion Johan Håstad, transkriberat av Marcus Dicander 2006-01-18 1 Översikt Vi börjar med en översikt av kursen ochnämner flyktigt vilka områden som kommer tas upp. 1. Klassisk krypto. Vi tittar på några klassiska kryptosystem. 2. Vad är ett säkert krypto? Några defintioner. 3. Moderna system: DES från 1997 och AES från 2000. Vi studerar dessa kryptosystem ingående. 4. Öppna nyckelsystem. På engelska Public key cryptography även kallat asymmetrisk krypto. Vid traditionell kryptering har den som krypterar ochdekrypterar samma nyckel men vissa system tillåter olika nycklar. När meddelandet M krypteras används en nyckel E för att bilda C medan för att dekryptera används en annan nyckel D som är svår att beräkna från E. Detta gör att E kan publiceras i något som liknar en telefonkatalog. Exempel: RSA, ElGamal ochmceliece. 5. Hashfunktioner. En lång textsträng matas in i en hashfuntion som returnerar något kort, 160-256 bitar. Det ska vara svårt att skapa krockar. Exempel: SHA-1. 6. Digitala signaturer. Digitala motsvarigheten till handskrivna signaturer. Från ett meddelande m kanensignaturσ beräknas. Den kan sedan verifieras som korrekt via publik information. Exempel: RSA, DSS, El-Gamal. 7. Nyckelutbyte. Alice ochbob finns på olika platser men vill ändå generera en gemensam hemlig nyckel trots att Eve tjuvlyssnar. 1av6

8. Identifikation. Exempel: Traditionellt lösenord. 9. Elliptiska kurvor. En ovanlig grupp som kan användas för att göra kryptografiska konstruktioner. 10. Pseudoslumptalsgenerator. Vi ska gå igenom klassiska generatorer som LFSR (Linear Feedback Shift Registers) men kommer även att gå igenom moderna definitioner/teori. 11. Digitala pengar. Gästföreläsning av Mårten Trolin, doktorand. 12. Krypto i verkligheten. Gästföreläsning av Mats Näslund, Ericsson. 2 Klassiskt krypto Låt oss studera några klassiska kryptosystem. 2.1 Enkel substitution Byt varje bokstav mot en annan. Vårt mest kända ochföga säkra kryptosystem som i lätt knäcks. En anekdot. I Hjärnkontoret fick några grundskoleelever i uppdrag att utveckla ett substitutionskrypto som Johan skulle knäcka inför kamerorna. Han hade förberett sig genom att skriva ett program som forcerade enkel substitution med bokstäver utbytta mot bokstäver. De elaka barnen hade dock bytt ut siffrorna mot sifferpar vilket krävde omprogrammering av inläsningen. Detta från en dator med konstigt inställd keymap vilket omöjliggjorde skrivande av tecken som + ochparanteser. Detta med kameran en meter från ansiktet. Speakern förklarde detta som Johan blir förvirrad när det kom siffor istället för bokstäver. 2.2 Blankettchiffer, One Time Tape Översätt klartext till siffror, 0-25. Det finns en blankett av samma längd som klartexten också den med tal 0-25 där varje tecken valts slumpvis ochoberoende av de övriga. Om i:te talet i klartexten är K i, i te talet på blanketten är N i så blir i:te tecknet i kryptotexten K i + N i mod 26. Låt oss passa på att fastställa lite notation. När vi talar om ett kryptosystem menar vi själva tillvägagångssättet. Den hemliga information som vi använder kallas nyckel. 2av6

2.3 Vigenère Vigenère är en One Time Tape med periodisk blankett given av ett nyckelord. Mycket använt genom historien och ansågs på 1800-talet oforcerbart. 2.4 Transposition Kasta om bokstäverna. Detta kan göras på många sätt ochlåt oss nämna ett vanligt. Skriv in klartexten radvis i en m n-matris. Läs sedan ut resultatet kolumnvis. Kolumnerna läses i en ordning som ges av nyckeln. 2.5 G-skrivaren Tyskt krypto från andra världskriget. När Tyskland erövrat Norge så gick det en del trafik genom Sverige. Denna krypterades med G-skrivaren. Detaljerad information om hur denna maskin fungerande finns på lapp tillgänglig från kursens hemsida. 3 Säkerhet För att diskutera säkerhet måste vi dels diskutera vad forcören vet, dels vilka resurser han har att sätta in och slutligen vad det innebär att han lyckas. 3.1 Vad vet forcören? Vi kommer alltid anta att forcören känner till kryptosystemet ochatt säkerheten hänger på att nyckeln är hemlig. Forcören känner alltid till den kryptotext som ska forceras men kan ha ytterligare information. T.ex. kan han känna till andra par av klartext/kryptotext på samma nyckel. Han han även ha partiell information om klartexten som ska forceras, t.ex. känna till inledningen eller ord i texten. 3.2 Vilka resurser har forcören att tillgå? Vi antar att forcören har rimligt med datorkraft. föreläsningar. 3.3 Vad är att lyckas? Mer om det på senare Att lyckas fullständigt innebär att återskapa klartexten, men att utvinna någon som helst information från kryptotexten kan även räknas som en 3av6

framgång. 3.4 Vad är helt säkert? Diskussionen leder oss till definera ett system som helt säkert om forcören, trots all möjlig sidoinformation inte kan utvinna någon ny information om klartexten från kryptotexten. Detta med ett litet undantag. Vi tillåter att viss information om klartexten längd läcker. Detta går inte att undvika. 3.5 Vad är helt osäkert? När man givet bara en kryptotext kan hitta hela klartexten. 3.6 Hur säkra är de 5 krypton vi pratat om? Lite snabba sammanfattningar. Enkel substitution. Helt osäkert. Blankettchiffer. Varken helt säkert eller helt osäkert. Som vi ska se senare är det oforcerbart på ett meddelande medan klartexten lätt kan utvinnas om vi har ett par klartext/kryptotext på samma nyckel. Vigenère. I ochmed att det är blankettchiffer med periodisk nyckel är det inte säkrare än blankettshiffer. Nedan argumenterar vi för att detärheltosäkert. Transposition. Detärinteheltsäkert. Blandannatsåkanmandra slutsatser utifrån vilka bokstäver som inte finns med. Vi diskuterar möjlig forcering under nästa föreläsning. G-skrivaren. Går tydligen att knäcka eftersom en matematiker (Arne Beurling) gjorde det för hand under andra världskriget. Dessutom enbart utifrån flera kryptotexter gjorda med samma nyckel. Liknande system förekommer på första hemuppgiften. 4 Hur forcerar man Vigenère? Vi vill använda att bokstäverna är olika vanliga i de flesta språk. Om vi har detaljerad information om vilket språk som används ochdess bokstavsfrekvenser kan man göra mycket mer avancerade attacker som kommer lyckas på kortare telegram, men vi beskriver här en robust attack. 4av6

Den egenskap av snedfördelning vi vill använda är att om sannolikhetsfördelningen på bokstäverna är sned kommer par av bokstäver tendera att vara lika oftare än de borde vara om allt var likformig slump. Låt oss argumentera för detta mer precist. Vi är intresserade av att bestämma periodlängden ochför att göra detta intresserar vi oss för att studera om vi kan avgöra huruvida kryptobokstäver är överchiffrerade med samma eller olika tal. Detta är användbart då kryptobokstäver som befinner sig på ett avstånd som är en multipel av periodlängden med nödvändighet är överchiffrerade med samma tal. Anta att bokstav i förekommer med sannolikhet p i ochatt vi har N olika bokstäver. Om vi antar att två klartextbokstäver är oberoende är sannolikheten att de är lika p 2 i. (1) Detta följer då sannolikheten att båda tar värde i är p 2 i. Om vi betraktar två kryptobokstäver i positioner där samma överchiffreringstal har använts så inser vi att dessa är lika omm motsvarande klartexttecken är lika. Sannolikheten för detta är således precis (1). Låt oss betrakta två kryptbokstäver på ett avstånd som inte är en multipel av periodlängden ochlåt oss anta att den första positionen överchiffreras med a, ochden andra med b. Vad är sannolikheten för lika bokstav? Jo vi påstar att den är Pr[båda är bokstav nr i] = p i a p i b, där indexen räknas modulo N. För att inse detta notera kryptobokstaven i den första av våra betraktade positioner är i omm klartextbokstaven är i a (modulo N) ochden andra tar det värdet om klartextbokstaven är i b (modulo N). Notera i fallet a = b får vi p 2 i a vilket ju är precis (1) bara med termerna omnumrerade. Om a b fås p i a p i b = p j p j (b a) (2) 5av6

ochvi vill jämföra detta med (1). Vi påstår att (1) alltid är större ochdet inses via Cauchy-Schwarz olikhet. Den säger a j b j ( a 2 j) 1/2 ( b 2 j) 1/2, för godtyckliga vektorer a och b. Om den ser obekant ut kanske formuleringen (a, b) a b är mer bekant, dvs att inre produkten av två vektorer är högst produkten av deras längder. Om vi använder den med a j = p j och b j = p j (b a) 1 fås p j p j (b a) ( p 2 j ) 1/2 ( p 2 j (b a)) 1/2 = ochvi vet så att sannolikheten för lika kryptobokstäver är störst när överchiffreringstalen är lika. För att få likhet krävs (nästan) att alla p i är 1/N. Det är t.o.m. precis sant om (b a) och N saknar gemensamma faktorer (den händige läsaren kan visa detta). Nu vill vi bestämma periodlängden. Ta en gissning m ochstudera par av bokstäver på avstånd m, 2m, 3m, osv. Om gissningen är korrekt borde dessa ha en ovanligt stor sannolikhet att vara lika. Vi tar det m som ger störst andel lika par. När vi väl bestämt m kan vi gissa av överchiffreringstal i två olika positioner med liknande principer. Om skillnaden av överchiffreringstalen är d borde den vanligaste skillnaden mellan kryptobokstäverna även den vara d. p 2 j 1 Vi ber om ursäkt för dubbelanvändingen här av a och b. Vektorerna har inget att göra med överchiffreringstalen. 6av6