Kryptografi Anvendt Matematik af Marc Skov Madsen PhD-studerende Matematisk Institut, Aarhus Universitet email: marc@imf.au.dk Kryptografi p.1/23
Kryptografi - Kryptografi er læren om, hvordan en tekst skrevet i et sædvanligt sprog kan forvandles så teksten bliver uforståelig for uvedkommende, men så den godt kan læses af indviede. Vi angriber imorgen. Husk elefanterne. Klartekst Kryptering dasas4js d234klj2d fdfjaad9fa Kryptotekst Dekryptering Vi angriber imorgen. Husk elefanterne. Klartekst Kryptografi p.2/23
Alice, Bob og Eva Alice: Ønsker at sende hemmelig besked via nettet til Bob. Bob: Venter på hemmelig besked fra Alice. Eva: Ønsker måske at læse eller ændre på den hemmelige besked. Kryptografi p.3/23
Konventionel kryptering Alice og Bob bliver i største hemmelighed enige om en fælles nøgle( ) Vi angriber imorgen. Husk elefanterne. Klartekst Kryptering dasas4js d234klj2d fdfjaad9fa Kryptotekst Dekryptering Vi angriber imorgen. Husk elefanterne. Klartekst Kryptografi p.4/23
Konventionel kryptering Alice og Bob bliver i største hemmelighed enige om en fælles nøgle( ) Vi angriber imorgen. Husk elefanterne. Klartekst Kryptering dasas4js d234klj2d fdfjaad9fa Kryptotekst Dekryptering Vi angriber imorgen. Husk elefanterne. Klartekst Problem: Nøgleudveksling. Kryptografi p.4/23
Public Key Kryptering Bob laver en offentlig nøgle ( ) og en hemmelig nøgle ( ). Den offentlige nøgle lægges ud på nettet så alle kan finde den. Den hemmelige nøgle gemmes. Når Alice vil skrive til Bob skal hun blot bruge hans offentlige nøgle til at kryptere med. Når Bob vil dekryptere en besked, så bruger han den hemmelige nøgle. Kryptografi p.5/23
Public Key Kryptering Vi angriber imorgen. Husk elefanterne. Klartekst Kryptering dasas4js d234klj2d fdfjaad9fa Kryptotekst Dekryptering Vi angriber imorgen. Husk elefanterne. Klartekst Kryptografi p.6/23
Public Key Kryptering Vi angriber imorgen. Husk elefanterne. Klartekst Kryptering dasas4js d234klj2d fdfjaad9fa Kryptotekst Dekryptering Vi angriber imorgen. Husk elefanterne. Klartekst Kryptografi p.6/23
Public Key Kryptering Vi angriber imorgen. Husk elefanterne. Klartekst Kryptering dasas4js d234klj2d fdfjaad9fa Kryptotekst Dekryptering Vi angriber imorgen. Husk elefanterne. Klartekst Kryptografi p.6/23
Public Key Kryptering Vi angriber imorgen. Husk elefanterne. Klartekst Kryptering dasas4js d234klj2d fdfjaad9fa Kryptotekst Dekryptering Vi angriber imorgen. Husk elefanterne. Klartekst Nøgleudvekslingsproblemet er løst! Kryptografi p.6/23
Public Key Kryptering Hvordan laver man et kryptosystem med to tilhørende nøgler: en som kan kryptere og en anden der kan dekryptere igen? Kryptografi p.7/23
RSA-kryptering Udviklet af Rivest, Shamir og Adleman i 1977. Bygger på det matematiske emne talteori. Bruges i bl.a. Internet Explorer og Netscape Navigator. Dermed bruges det også i f.eks. Danske Netbank. Kryptografi p.8/23
Danske Banks offentlige nøgle Kryptografi p.9/23
Division med rest Sætning:(Division med rest) For alle positive, hele tal m og d findes præcis et helt tal q og et helt tal r så m = qd + r, 0 r < d Definition: Vi vil skrive m mod d for resten r. Kryptografi p.10/23
Division med rest Sætning:(Division med rest) For alle positive, hele tal m og d findes præcis et helt tal q og et helt tal r så m = qd + r, 0 r < d Definition: Vi vil skrive m mod d for resten r. Eksempel: 32 = 6 5 + 2 32 mod 5 = 2 Kryptografi p.10/23
Division med rest - Øvelser Øvelse 5 mod 3 =? 18 mod 9 =? 36 mod 7 =? 87 mod 11 =? Kryptografi p.11/23
Division med rest - Øvelser Øvelse 5 mod 3 = 2 18 mod 9 =? 36 mod 7 =? 87 mod 11 =? Kryptografi p.11/23
Division med rest - Øvelser Øvelse 5 mod 3 = 2 18 mod 9 = 0 36 mod 7 =? 87 mod 11 =? Kryptografi p.11/23
Division med rest - Øvelser Øvelse 5 mod 3 = 2 18 mod 9 = 0 36 mod 7 = 1 87 mod 11 =? Kryptografi p.11/23
Division med rest - Øvelser Øvelse 5 mod 3 = 2 18 mod 9 = 0 36 mod 7 = 1 87 mod 11 = 10 Kryptografi p.11/23
Division med rest Sætning: Antag m, n og d er hele, positive tal. Lad m = m mod d og n = n mod d. Da gælder m n mod d = m n mod d Kryptografi p.12/23
Division med rest Sætning: Antag m, n og d er hele, positive tal. Lad m = m mod d og n = n mod d. Da gælder m n mod d = m n mod d Eksempel: 17 24 mod 5 =? Kryptografi p.12/23
Division med rest Sætning: Antag m, n og d er hele, positive tal. Lad m = m mod d og n = n mod d. Da gælder m n mod d = m n mod d Eksempel: 17 24 mod 5 = 2 4 mod 5 = 8 mod 5 = 3 Kryptografi p.12/23
Division med rest - Øvelser Øvelse 34 22 mod 7 =? 54 87 mod 11 =? 26 143 mod 15 =? 99 98 mod 97 =? Øvelse 5 5 mod 9 =? Kryptografi p.13/23
Division med rest - Øvelser Øvelse 34 22 mod 7 = 6 54 87 mod 11 =? 26 143 mod 15 =? 99 98 mod 97 =? Øvelse 5 5 mod 9 =? Kryptografi p.13/23
Division med rest - Øvelser Øvelse 34 22 mod 7 = 6 54 87 mod 11 = 1 26 143 mod 15 =? 99 98 mod 97 =? Øvelse 5 5 mod 9 =? Kryptografi p.13/23
Division med rest - Øvelser Øvelse 34 22 mod 7 = 6 54 87 mod 11 = 1 26 143 mod 15 = 13 99 98 mod 97 =? Øvelse 5 5 mod 9 =? Kryptografi p.13/23
Division med rest - Øvelser Øvelse 34 22 mod 7 = 6 54 87 mod 11 = 1 26 143 mod 15 = 13 99 98 mod 97 = 2 Øvelse 5 5 mod 9 =? Kryptografi p.13/23
Division med rest - Øvelser Øvelse 34 22 mod 7 = 6 54 87 mod 11 = 1 26 143 mod 15 = 13 99 98 mod 97 = 2 Øvelse 5 5 mod 9 = 2 Kryptografi p.13/23
Primtal Definition: Primtal? Kryptografi p.14/23
Primtal Definition: Et tal p > 1 kaldes et primtal såfremt de eneste naturlige tal, der går op i p er 1 og p selv. Kryptografi p.14/23
Primtal - Øvelser Øvelse Afgør hvilke af følgende tal, der er primtal: 1, 29, 37, 49, 103, 117. Kryptografi p.15/23
Primtal - Øvelser Øvelse Afgør hvilke af følgende tal, der er primtal: 1, 29, 37, 49, 103, 117. Øvelse: Er 5491838128104487771985520639265114573815548240\ 1146443275155707673484345467181248416980477125\ 2916364398183704911318468642969759039977331505\ 00592226328920457333 et primtal? Kryptografi p.15/23
Primtal Sætning: Ethvert helt, positivt tal større end 1 kan på entydig vis faktoriseres i primtal. Kryptografi p.16/23
Primtal Sætning: Ethvert helt, positivt tal større end 1 kan på entydig vis faktoriseres i primtal. Eksempel: 60 = 2 2 3 5 Kryptografi p.16/23
Primtal - Øvelser Øvelse Faktoriser følgende hele tal. 54 =? 103 =? 117 =? Kryptografi p.17/23
Primtal - Øvelser Øvelse Faktoriser følgende hele tal. 54 = 2 3 3 103 =? 117 =? Kryptografi p.17/23
Primtal - Øvelser Øvelse Faktoriser følgende hele tal. 54 = 2 3 3 103 = 103 117 =? Kryptografi p.17/23
Primtal - Øvelser Øvelse Faktoriser følgende hele tal. 54 = 2 3 3 103 = 103 117 = 3 2 13 Kryptografi p.17/23
Primtal - Øvelser Øvelse Faktoriser følgende hele tal. 54 = 2 3 3 103 = 103 117 = 3 2 13 Øvelse: Faktoriser følgende tal: 21237129879248039284082390759834797957934759723\ 49509480948230948084395872398230948203984238408\ 23048209384082308482349823094820398409238409283 Kryptografi p.17/23
Primtal - Øvelser Øvelse Faktoriser følgende hele tal. 54 = 2 3 3 103 = 103 117 = 3 2 13 Øvelse: Faktoriser følgende tal: 21237129879248039284082390759834797957934759723\ 49509480948230948084395872398230948203984238408\ 23048209384082308482349823094820398409238409283 Der er en grænse for hvor store tal man rent praktisk kan faktorisere idag. Grænsen er højere imorgen! Kryptografi p.17/23
Konstruktion af nøglepar Vælg to (store) primtal p og q. Beregn n = pq. Beregn M = (p 1)(q 1) Find et helt tal 0 < e < M så e og M er uden fælles faktorer. Find et helt tal 0 < d < M så ed mod M = 1 Offentlig nøgle: (e, n) Hemmelig nøgle: d Kryptografi p.18/23
Matematik Sætning: Hvis (e, n) og d er konstrueret som før, så gælder m ed mod n = m for alle 0 m < n Kryptografi p.19/23
Krypteringsprotokol Klarteksten m er her et tal så 0 m < n. Kryptering: m m e mod n = c Dekryptering: c c d mod n = m??!! Kryptografi p.20/23
Krypteringsprotokol Klarteksten m er her et tal så 0 m < n. Kryptering: m m e mod n = c Dekryptering: c c d mod n = (m e mod n) d mod n = (m e ) d mod n = m ed mod n = m Kryptografi p.20/23
Sikkerhed i RSA Synes I at systemet virker sikkert? Kryptografi p.21/23
Sikkerhed i RSA RSA systemet kan brydes hvis man kan finde p og q! Kryptografi p.21/23
NSA NSA står for National Security Agency og er USA s kryptologi organisation. Agenturets formål er beskytte det amerikanske informationssystem og at skaffe udenlandsk efterretningsinformation. NSA står bag echelon. NSA beskæftiger USA s bedste kodemagere og kodebrydere. NSA siges at være verdens største arbejdsgiver for matematikere. Kryptografi p.22/23
Hvis du vil vide mere Simon Sing: Kodebogen. Peter Landrock og Knud Nissen: Kryptologi - Fra viden til videnskab. An introduction to Cryptography - findes på hjemmesiden for PGP. NSA s hjemmeside. Cryptomathic s hjemmeside. Cryptomathic er en Århus-baseret virksomhed indenfor kryptering. Kryptografi p.23/23