KRYPTOLOGI ( Litt. Peter Landrock & Knud Nissen : Kryptologi)

Relaterede dokumenter
Kryptologi og RSA. Jonas Lindstrøm Jensen

Matematikken bag kryptering og signering RSA

Eulers sætning Matematikken bag kryptering og signering v.hj.a. RSA Et offentlig nøgle krypteringssytem

RSA-kryptosystemet. RSA-kryptosystemet Erik Vestergaard

TALTEORI Wilsons sætning og Euler-Fermats sætning.

Matematikken bag kryptering og signering NemID RSA Foredrag i UNF

Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet

Af Marc Skov Madsen PhD-studerende Aarhus Universitet

Opgave 1 Regning med rest

Affine - et krypteringssystem

Talteori. Teori og problemløsning. Indhold. Talteori - Teori og problemløsning, august 2013, Kirsten Rosenkilde.

Matematikken bag kryptering og signering RSA

Introduktion til Kryptologi. Mikkel Kamstrup Erlandsen

Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet

Projekt 7.9 Euklids algoritme, primtal og primiske tal

6. december. Motivation. Internettet: Login til DIKU (med password) Handel med dankort Fortrolig besked Digital signatur

Talteori. Teori og problemløsning. Indhold. Talteori - Teori og problemløsning, marts 2014, Kirsten Rosenkilde.

sætning: Hvis a og b er heltal da findes heltal s og t så gcd(a, b) = sa + tb.

RSA Kryptosystemet. Kryptologi ved Datalogisk Institut, Aarhus Universitet

Kryptografi Anvendt Matematik

Matematik YY Foråret Kapitel 1. Grupper og restklasseringe.

Talteoriopgaver Træningsophold ved Sorø Akademi 2007

Camp om Kryptering. Datasikkerhed, RSA kryptering og faktorisering. Rasmus Lauritsen. August 27,

Køreplan Matematik 1 - FORÅR 2005

Integer Factorization

Konfidentialitet og kryptografi 31. januar, Jakob I. Pagter

TALTEORI Wilsons sætning og Euler-Fermats sætning.

TALTEORI Wilsons sætning og Euler-Fermats sætning.

Projekt 0.6 RSA kryptering

Note om endelige legemer

Fredag 12. januar David Pisinger

2. Gruppen af primiske restklasser.

6. RSA, og andre public key systemer.

Undersøgende aktivitet om primtal. Af Petur Birgir Petersen

TALTEORI Følger og den kinesiske restklassesætning.

Introduktion til Kryptologi

Primtalsfaktorisering - nogle nye resultater og anvendelser Regionalmøde Haderslev, 19. november 2003

Ringe og Primfaktorisering

Noter om primtal. Erik Olsen

Primtalsfaktorisering - nogle nye resultater og anvendelser Regionalmøde Haderslev, 19. november 2003

Kryptologi af. Kenneth Hansen

Talteori: Euklids algoritmer, modulær aritmetik

Matricer og lineære ligningssystemer

Perspektiverende Datalogi 2014 Uge 39 Kryptologi

Med udgangspunkt i FIPS-197-standarden AES, baseret på Rijndael-algoritmen. Af Mathias Vestergaard

RSA-KRYPTERING. Studieretningsprojekt. Blerim Cazimi. Frederiksberg Tekniske Gymnasium. Matematik A. Vejleder: Jonas Kromann Olden

Den digitale signatur

Matematiske metoder - Opgavesæt

DM72 Diskret matematik med anvendelser

t a l e n t c a m p d k Talteori Anne Ryelund Anders Friis 16. juli 2014 Slide 1/36

Roskilde Universitetscenter, Datalogisk Afdeling Kryptering. Niels Christian Juul. N&P 11: 2001 April 18th

Algebra med Bea. Bea Kaae Smit. nøgleord andengradsligning, komplekse tal, ligningsløsning, ligningssystemer, nulreglen, reducering

Algebra. Dennis Pipenbring, 10. februar matx.dk

Moderne kryptografi. Olav Geil Institut for Matematiske Fag Aalborg Universitet. Elektronik og IT-Gruppen 24. april 2008

Kvadratiske matricer. enote Kvadratiske matricer

TALTEORI Ligninger og det der ligner.

Fejlkorligerende køder Fejlkorrigerende koder

Fejlkorrigerende koder, secret sharing (og kryptografi)

10. Nogle diofantiske ligninger.

Hemmelige koder fra antikken til vore dage

S TUDIER ETNINGSP ROJEKT

Kryptering. xhafgra ng tøer hyæfryvtg AALBORG UNIVERSITET ELLER

Primtal - hvor mange, hvordan og hvorfor?

Informationsteori. Hvorledes man bryder en RSA-kode

MM05 - Kogt ned. kokken. Jacob Aae Mikkelsen. 23. januar 2007

Tip til 1. runde af Georg Mohr-Konkurrencen - Talteori, Kirsten Rosenkilde. Opgave 1. Hvor mange af følgende fem tal er delelige med 9?

Svar på opgave 337 (Februar 2017) ny version d. 21/3-2017

Spilstrategier. 1 Vindermængde og tabermængde

Nøgleord og begreber

Fortroligt dokument. Matematisk projekt

Noter om polynomier, Kirsten Rosenkilde, Marts Polynomier

Noter til Perspektiver i Matematikken

Divisorer. Introduktion. Divisorer og delelighed. Divisionsalgoritmen. Definition (Divisor) Lad d og n være hele tal. Hvis der findes et helt tal q så

brikkerne til regning & matematik tal og algebra F+E+D preben bernitt

Elementær Matematik. Tal og Algebra

Paradokser og Opgaver

Statistisk sproggenkendelse anvendt i kryptoanalyse

Eksempel 9.1. Areal = (a 1 + b 1 )(a 2 + b 2 ) a 1 a 2 b 1 b 2 2a 2 b 1 = a 1 b 2 a 2 b 1 a 1 a 2 = b 1 b 2

Omskrivningsregler. Frank Nasser. 10. december 2011

Teoretiske Øvelsesopgaver:

Hvad er KRYPTERING? Metoder Der findes to forskellige krypteringsmetoder: Symmetrisk og asymmetrisk (offentlig-nøgle) kryptering.

Sikre Beregninger. Kryptologi ved Datalogisk Institut, Aarhus Universitet

Kursusgang 3 Matrixalgebra Repetition

Ligningssystemer - nogle konklusioner efter miniprojektet

Andengradsligninger. Frank Nasser. 11. juli 2011

brikkerne til regning & matematik tal og algebra preben bernitt

DesignMat Uge 11. Vektorrum

1 Sætninger om hovedidealområder (PID) og faktorielle

Kursusgang 3: Autencificering & asymmetrisk kryptering. Krav til autentificering. Kryptering som værktøj ved autentificering.

Andengradsligninger. Frank Nasser. 12. april 2011

DesignMat Uge 1 Gensyn med forårets stof

Kryptering kan vinde over kvante-computere

Eksempler Determinanten af en kvadratisk matrix. Calculus Uge

Koder og kryptering. Foredrag UNF 4. december 2009 Erik Zenner (Adjunkt, DTU)

Forord 3 Strukturen i denne bog 6

Regning. Mike Vandal Auerbach ( 7) 4x 2 y 2xy 5. 2x + 4 = 3. (x + 3)(2x 1) = 0. (a + b)(a b) a 2 + b 2 2ab.

TALTEORI Primfaktoropløsning og divisorer.

AFFINE KRYPTOSYSTEM. Programmering og Talteori med TI-Nspire. Udarbejdet af: Brian M.V. Olesen. Haslev Gymnasium og HF Juli :15

Om primtal og forhold i opgangene

Transkript:

KRYPTOLOGI ( Litt. Peter Landrock & Knud Nissen : Kryptologi) 1. Klassiske krypteringsmetoder 1.1 Terminologi klartekst kryptotekst kryptering dekryptering 1.2 Monoalfabetiske kryptosystemer 1.3 Additive kryptosystemer 1.4 Kryptoanalyse af monoalfabetiske kryptosystemer. Der er arbejdet med programmet Kryp2log på datamaskinerne. Ved hjælp af frekvensanalyse på bogstaver, bigrammer og trigrammer er der muligt bestemme dekrypteringsnøglen. 1.5 Polyalfabetiske kryptosystemer Forskellige alfabeter vælges ved hjælp af et nøgleord som repeteres under klarteksten ( Vigenère system Ved anvendelse af polyalfabetiske systemer bliver en kryptoanalyse baseret på frekvensanalyse stort set umulig. Hvis man imidlertid har kendskab til perioden ( nøgleordets længde), er man dog i stand til at bryde koden. Afsnit 1.6 om kryptoanalyse af et polyalfabetisk kryptosystem er oversprunget. I dette afsnit er omtalt to metoder til bestemmelse af perioden ( Kasiski-test og en metode udviklet af kryptologen W.Friedman ) 1.7 Enigma, Hagelin og Purple Historisk afsnit - læses selvstændigt. 2. Moderne krypteringsmetoder. 2.1 Konventionelle systemer. Et konventionelt system har vi, når krypterings- og dekrypteringsalgoritmen i princippet er den samme ( kender man den ene, kender man også den anden). Eksempler på sådanne er de tidligere nævnte alfabetiske systemer. Det mest udbredte krypteringssystem i dag - DES, som bl.a. anvendes i forbindelse med Dankort og Homebank.

2.2 Behov for datasikkerhed I dette afsnit er gennemgået de forskellige krav man må stille til moderne kryptosystemer. Konfidentialitet - det skal være svært eller umuligt at bryde koden. Autenticitet - modtager skal være sikker på, hvem afsenderen er. Meddelelsen skal have en digital signatur. Integritet - Hvis udenforstående forandrer meddelelsen, skal modtageren kunne se det. 2.3 Public Key kryptosystemer. I et Public Key system er der to forskellige nøgler. Det forudsættes at alle der deltager i kommunikation er i besiddelse af en offentlig nøgle og en hemmelig nøgle. På side 26 er kravene til et Public Key system anført. I afsnit 2.4 er beskrevet hvad man forstår ved et beregningsmæssigt svært problem. Afsnittet er oversprunget, men det kan kort beskrives som et problem, det vil tage en datamaskine et uoverskueligt antal år at løse. 3. Talteori 3.1 Divisibilitet Definition på divisibilitet Simple sætninger ang. divisibilitet ( sætning 3.2 ) Hovedsætningen om divisibilitet: ( sætning 3.3 ) Ethvert helt n tal kan skrives som n = qd + r, d > 0, 0 # r # d r kaldes den principale rest ved division med d Afsnittet de EDB - tekniske hjælpemidler springes over (fra nederst side 31 og afsnittet ud) 3.2 Fælles divisorer Største fælles divisor for hele tal a og b betegnes med (a,b) Simple sætninger om største fælles divisor.(sætning 3.5) Hovedsætningen om største fælles divisor: (sætning 3.6) (a,b) er den mindste positive linearkombination af tallene a og b. bevis: ( lidt anderledes end i bogen) Lad L være mængden af linearkombinationer L ={ sa + tb s,t ε Z } og sæt d = (a,b) Lad x være det mindste positive tal i L ( som klart indeholder både negative og positive tal samt nul).

Vi skal vise at d = x Da d a og d b har vi at d x ( sætning 3.2 (4)) Da både d og x er positive fås da at d #x For at vise at x # d benytter vi et indirekte bevis: Antag at x > d x kan ikke både gå op i a og i b, da det så vil være en fælles divisor i a og b der er større en største fælles divisor. Antag f.eks. at x ikke går op i a Det medfører at a kan skrives: a = qx + r hvor 0 < r < x så er r = a - qx = sa + tb for et sæt s,t ε Z Dette er en modstrid, da x jo er den mindste positive linearkombination af a og b. Dermed må x # d og da vi før viste at d #x er x = d Af denne sætning følger nu nogle vigtige sætninger: Q.E.D. Sætning 3.7 Hvis f a og f b gælder at f (a,b) Sætning 3.8 ( beviset overspringes) For ethvert helt tal m > 0 gælder, at (ma,mb) = m(a,b) Sætning 3.9 Hvis c ab og (c,b)=1 ( c og b er indbyrdes primiske) gælder, at c b. bevis: da c ab og c ac har vi ( sætning 3.7) at c (ab,ac) = a(b,c) = a Sætning 3.10 Euklids algoritme. Hvis a = bq + r hvor r er resten ved a divideret med b gælder, at (a,b) = (b,r) bevis: sæt d 1 = (a,b) og d 2 = (b,r) = (b,a-bq) Vi skal da vise at d 1 d 2 og d 2 d 1 Da d 1 b og d 1 a-bq (sætning 3.2 (4)) fås at d 1 d 2 Da d 2 b og d 2 a-bq +bq = a fås at d 2 d 1 Q.E.D. Euklids algoritme bruges til at finde største fælles divisor for to tal.

Hvis vi bruger algoritmen baglæns kan vi bestemme tal s og t således at (a,b) = sa + tb De to anvendelser er beskrevet på siderne 35 og 36. Det EDB-tekniske overspringes Begreberne er indøvet ved opgaverne 3.1,3.2,3.4,3.5 og 3.6 3.3 Primtal Definition af primtal Sætning 3.15 Hvis p er et primtal gælder, at p ab medfører at p a eller p b Hovedsætningen for primtal: (sætning 3.16) Ethvert helt tal større end en kan på entydig måde (på nær rækkefølgen) opløses i primfaktorer. Beviset er oversprunget. Historiske bemærkninger om primtal s. 38-40 3.4 Kongruenser og modulær aritmetik Definition 3.21 Lad a,b ε Z n ε N a siges at være kongruent med b modulo n hvis n a-b det skrives a b (mod n) Sætning 3.23 ( forkortningsreglen) Hvis ax ay (mod n) og (a,n) = 1 er x y (mod n) Definition Med a(mod n) betegnes den principale rest af a divideret med n. Simple regler for regning modulo n ( øverst side 41 ) bruges bl.a. til at udregne store potenser modulo n (bemærk at kan erstattes med =) Bevis for 3.24: sæt a = q 1 n + r 1 og b = q 2 n + r 2 hvor r erne er principale rester så er (a + b) (mod n) = (r 1 + r 2 )(mod n) = (a(mod n)+b(mod n) Q.E.D.

Definition Ved restklassen Z n forstås Z n = {0,1,2,...,n-1} Den delmængde af Z n der består af de elementer der er primiske med n betegnes med Z n * Z n * = {aε Zn \{0} (a,n)=1} Eulers φ-funktion φ(n) φ(n) = antallet af elementer i Z n * Hvis p er et primtal fås direkte at φ(p) = p-1 Sætning 3.28 ( om bestemmelse af φ(n) (uden bevis) Lad n ε Z og lad p 1,p 2,...,p r være de forskellige primfaktorer i n. Da er φ(n) = n(1-1/p 1 )(1-1/p 2 )...(1-1/p r ) Af sætningen får vi følgende vigtige resultat: Hvis p og q er primtal er φ(pq) = (p-1)(q-1) Bemærk at beregning af φ(n) v.h.a. formlen i 3.28 forudsætter kendskab til primtallene i n. Dette er et beregningsmæssigt svært problem hvis n er meget stor. Eulers sætning: (uden bevis) (sætning 3.33) Hvis (a,n) = 1 gælder, at a (n) 1 (mod n) Heraf fås Fermats lille sætning: ( sætning 3.34) Hvis p er et primtal og (a,p) =1 gælder, at a p-1 1 (mod p) Bevis: følger af Eulers sætning, idet φ(p) = p-1 når p er et primtal. 3.5 Inverse elementer Definition på inverse elementer i Z n : x ε Z n kaldes invers til a hvis ax 1 (mod n) Det inverse element til a betegnes med a -1 (mod n)

Sætning 3.39 Hvis (a,n) = 1 har a et inverst element i Z n Det inverse element er i så fald entydigt bestemt. Antag nemlig at ax 1 (mod n ) og ay 1 ( mod n). Så er er ax ay ( mod n ) og da (a,n) = 1 er x = y. Bemærk at der er 3 måder at bestemme a -1 ( mod n ) på. 1) at opskrive alle multiplikationer i Z n (normalt uoverkommelig) 2) at bruge Eulers sætning som giver a φ(n)-1 a 1 ( mod n ) ; dvs at a -1 = a φ(n)-1 (mod n ) ( denne metode er normalt beregningsmæssig svær ) 3) at bruge Euklids algoritme baglæns Teorien er blevet belyst ved opgaveregning: opg.3.7,3.13,3.16,3.18 ( ikke helt samme tal) 3.11 (2) er vist på tavlen. 3.6 Overspringes 4. RSA - Kryptosystemet 4.1 Konstruktion af RSA-systemet 1) Vælg to ( meget store primtal ) p og q. Sæt n = pq 2) Beregn φ(n) = (p-1)(q-1) 3) Vælg e så 0 < e < φ(n) og (e,φ(n)) = 1 4) Bestem d så ed 1 ( mod φ(n)) Parret (e,n) er den offentlige nøgle og (d,n) den hemmelige. Sætning ( Det virker!!) For alle m, hvor 0 < m < n gælder (m e ) d (mod n ) =(m d ) e ( mod n ) = m Beviset som følger senere i 4.3 når vi ikke. Eksempler på konstruktion kryptering og dekryptering

KRYPTERING - DEKRYPTERING: Kod først klarteksten som tal og inddel i blokke á n-1 cifre. Hvis m er et ciffer repræsenteret af en blok krypteres m som : c = m e ( mod n ) Dekrypteringen sker ved den hemmelige nøgle : m = c d ( mod n ) Selv med små primtal p og q kommer man ud for vanskelige beregninger i forbindelse med 1) bestemmelse af d 2) udregning af m e ( mod n ) Med en gemen lommeregner klares 1) bedst v.h.a Euklids algoritme. 2) kan gennemføres ved at omskrive e til en sum af potenser af 2 og bruge regnereglerne for potensopløftning modolu n. Det EDB-tekniske overspringes i 4.2. I stedet er der arbejdet med konstruktion, kryptering og dekryptering ved hjælp af et par små programmer lavet til lejligheden. 4.4 Sikkerheden i RSA - læses selvstændigt. 4.5 Hvordan bestemmer man store primtal - kort omtalt 5. Digital identifikation Kapitlet læses selvstændigt. Historien om Alice og Bob ( 5.3) forklarer på udmærket vis begreberne hemmeligholdelse, offentlig og hemmelig nøgle samt digital signatur.

Appendix til de interesserede: COMAL-program til kryptering ( m e mod n) 0010 PAGE 0020 CURSOR 5,10 0030 PRINT "Program til udregning af a^b (mod n)" 0040 PRINT 0050 INPUT " Indtast a:": a 0060 PRINT 0070 INPUT " Indtast b:": b 0080 PRINT 0090 INPUT " Indtast n:": n 0100 m:=a 0110 d:=b 0120 e:=1 0130 REPEAT 0140 c:=d/2 0150 d:=int(c) 0160 IF NOT c=d THEN 0170 e:=(e*m) MOD n 0180 ENDIF 0190 m:=(m*m) MOD n 0200 UNTIL c=0 0210 PRINT 0220 PRINT 0230 PRINT " ",a,"^",b," (mod ",n,")=";e