Matematikken bag kryptering og signering RSA



Relaterede dokumenter
Matematikken bag kryptering og signering RSA

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

Matematikken bag kryptering og signering NemID RSA Foredrag i UNF

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

Primtal - hvor mange, hvordan og hvorfor?

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

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

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

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

Talteoriopgaver Træningsophold ved Sorø Akademi 2007

Projekt 7.9 Euklids algoritme, primtal og primiske tal

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

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

RSA-kryptosystemet. RSA-kryptosystemet Erik Vestergaard

Kryptologi og RSA. Jonas Lindstrøm Jensen

Affine - et krypteringssystem

Noter om primtal. Erik Olsen

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

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

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

RSA Kryptosystemet. Kryptologi ved Datalogisk Institut, Aarhus Universitet

Ringe og Primfaktorisering

Af Marc Skov Madsen PhD-studerende Aarhus Universitet

10. Nogle diofantiske ligninger.

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

Opgave 1 Regning med rest

Kryptografi Anvendt Matematik

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

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

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

Køreplan Matematik 1 - FORÅR 2005

Projekt 0.6 RSA kryptering

Introduktion til Kryptologi. Mikkel Kamstrup Erlandsen

Integer Factorization

2. Gruppen af primiske restklasser.

00 AlgeTal 23/10/02 11:47 Side 1 ALGEBRA OG TALTEORI JOHAN P. HANSEN HENRIK GADEGAARD SPALK ASPEKT SERIEN

Diskrete Matematiske Metoder. Jesper Lützen

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

TALTEORI Følger og den kinesiske restklassesætning.

DM72 Diskret matematik med anvendelser

Paradokser og Opgaver

Informationsteori. Hvorledes man bryder en RSA-kode

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

Polynomier. Indhold. Georg Mohr-Konkurrencen. 1 Polynomier 2. 2 Polynomiumsdivision 4. 3 Algebraens fundamentalsætning og rødder 6

Projekt 10.1 Er der huller i Euklids argumentation? Et moderne aksiomsystem (især for A)

Hvad er matematik? C, i-bog ISBN L&R Uddannelse A/S Vognmagergade 11 DK-1148 København K Tlf: info@lru.

brikkerne til regning & matematik tal og algebra preben bernitt

Vi indleder med at minde om at ( a) = a gælder i enhver gruppe.

DIOFANTISKE LIGNINGER FERMATS SIDSTE SÆTNING

Kryptologi og 2. verdenskrig

Vinderseminar Diskret matematik. Kirsten Rosenkilde. 1. Diskret matematik.

Note om endelige legemer

Opgaver hørende til undervisningsmateriale om Herons formel

Opgave 1 Alle tallene er reelle tal, så opgaven er at finde den mindste talmængde, som resultaterne tilhører.

Deling - primtal - kryptografi. Johan P. Hansen. 15. september Indledning 2

Kryptologi 101 (og lidt om PGP)

Komplekse tal og polynomier

Secret Sharing. Olav Geil Institut for Matematiske Fag Aalborg Universitet URL: olav.

Konfidentialitet og kryptografi 31. januar, Jakob I. Pagter

Noter til Perspektiver i Matematikken

Et udtryk på formena n kaldes en potens med grundtal a og eksponent n. Vi vil kun betragte potenser hvor grundtallet er positivt, altså a>0.

Sammenhængskomponenter i grafer

Grundlæggende Matematik

Eksamen i Diskret Matematik

Matematiske metoder - Opgaver

Perspektiverende Datalogi 2014 Uge 39 Kryptologi

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

Funktionalligninger - løsningsstrategier og opgaver

TALTEORI Primfaktoropløsning og divisorer.

Talteori: Euklids algoritmer, modulær aritmetik

Matematik B. Studentereksamen

Grafteori, Kirsten Rosenkilde, september Grafteori

Martin Geisler Mersenne primtal. Marin Mersenne

Paradokser og Opgaver

Workshop om fejl ndende og -rettende koder

Komplekse Tal. 20. november UNF Odense. Steen Thorbjørnsen Institut for Matematiske Fag Århus Universitet

Den digitale signatur

Algebra. Anders Thorup. Matematisk Afdeling Københavns Universitet

Matematiske metoder - Opgavesæt

Euklids algoritme og kædebrøker

Forslag til løsning af Opgaver til afsnittet om de naturlige tal (side 80)

Matematik på VUC Modul 2 Opgaver

Eksamen i Diskret Matematik

Institut for Matematik, DTU: Gymnasieopgave. I. De komplekse tals historie. Historien om 3. grads ligningerne

Grundlæggende Matematik

Algebra2 Obligatorisk opgave

Digitale periodiske signaler

Det Platon mener, er... Essay om matematikken bag Epinomis 990 c 5 ff

ELEVMÅL FOR KAPITLET HUSKELISTE FÆLLES MÅL FAGLIGE BEGREBER. Målet er, at eleverne: kan forstå sammenhænge og ligheder mellem talmængderne

Fejlkorligerende køder Fejlkorrigerende koder

Bevisteknikker. Bevisteknikker (relevant både ved design og verifikation) Matematisk induktion. Matematisk induktion uformel beskrivelse

Om primtal og forhold i opgangene

Transkript:

Matematikken bag kryptering og signering RSA

Oversigt 1 Indbyrdes primiske tal 2 Regning med rester 3 Kryptering og signering ved hjælp af et offentligt nøgle kryptosystem RSA

Indbyrdes primiske hele tal Definition To hele tal m, n kaldes indbyrdes primiske, hvis de ingen fælles divisorer har, når vi ser bort fra 1 og -1. Med φ(m) betegner vi antallet af positive hele tal mindre end m, der er indbyrdes primiske med m (Euler s φ-funktion). Opgave Vis, at φ(12) = 4 Lad p, q være forskellige primtal. Vis at φ(p) = p 1, φ(pq) = (p 1)(q 1).

Euler s φ-funktion er tidskrævende at beregne I opgaven har vi set, at det et let at bestemme φ(n), hvis vi kender faktoriseringen af n i 2 primfaktorer. Kendes faktorisering af n ikke, er det imidlertid MEGET tidskrævende af bestemme φ(n). Har n for eksempel 100 cifre vil det, at forsøge sig frem med et tal 1, 2, 3,..., n ad gangen tage 10 100 10 12 sekunder 10 61 år på en maskine, der i 1 sekund kan foretage 10 12 (en million million) undersøgelser af om et tal er primisk med n. (Universets alder anslås til 15 10 12 år). Det er det store tidsforbrug, der fordres til bestemmelse af φ(n), der er sikkerheden i RSA-kryptosystemet, som vi vender tilbage til senere.

Bezouts identitet - specialtilfælde Lemma Lad m, n være indbyrdes primiske hele tal. Der findes hele tal f og g således at 1 = mf + ng

Bevis Lad d være det mindste positive hele tal på formen d = mf + ng (1) Påstanden er nu, at d = 1. Antag det modsatte og lav heltalsdivision med rest: m = q 1d + r 1, 0 r 1 < d (2) n = q 2d + r 2, 0 r 2 < d Hvis r 1 = r 2 = 0, er det i modstrid med antagelsen om, at m og n er indbyrdes primiske, idet d er en fælles divisor større end 1. Der findes altså en rest r i forskellig fra 0. Lad os antage at r 1 0. Indsæt nu udtrykket for d, jvf. (1), i (2): m = q 1(mf + ng) + r 1 r 1 = m(1 q 1f ) nq 1g = mf + ng som er et mindre positivt helt tal på den angivne form (1) i strid med minimalitetet af d.

Korollar Lad k, m være indbyrdes primiske hele tal. Så gælder, at k am k a Bevis. Da k, m en indbyrdes primiske, findes der hele tal f, g således at 1 = mf + kg a = amf + akg Da k amf + akg følger påstanden.

Euklids udvidede algoritme til bestemmelse af f og g Bestem rekurssivt ved division med rest: r k = r k 2 q k 1 r k 1, 0 r k < r k 1 i q i r i x i y i 0 m 1 0 1 q 1 n 0 1... k q k r k 2 q k 1 r k 1 x k 2 q k 1 x k 1 y k 2 q k 1 y k 1..... n q n 1 = r n x n y n n + 1 0 = r n 1 q nr n..

Euklids udvidede algoritme - fortsat r n r n 1 r n r n 2 r n r 1 r n r 0, hvorfor r n = 1 r k = mx k + ny k, hvilket vises ved induktion specielt er 1 = r n = mx n + ny n

Opgave Find hele tal f, g, så 1 = 7f + 9g. Vis, at der findes løsninger, hvor f er positiv og hvor g er negativ. Opgave Find hele tal f, g, så 1 = 71f + 8448g

Eksempel på anvendelse af Euklids udvidede algoritme Bestem rekurssivt ved division med rest: r 0 = 71, r 1 = 8448, r k = r k 2 q k 1 r k 1, 0 r k < r k 1 x 0 = 1, x 1 = 0, x k = x k 2 q k 1 x k 1 y 0 = 0, y 1 = 1, y k = y k 2 q k 1 y k 1

Eksempel på anvendelse af Euklids udvidede algoritme Bestem rekurssivt ved division med rest: r 0 = 71, r 1 = 8448, r k = r k 2 q k 1 r k 1, 0 r k < r k 1 x 0 = 1, x 1 = 0, x k = x k 2 q k 1 x k 1 y 0 = 0, y 1 = 1, y k = y k 2 q k 1 y k 1 i q i r i x i y i 0 71 1 0 1 0 8448 0 1

Eksempel på anvendelse af Euklids udvidede algoritme Bestem rekurssivt ved division med rest: r 0 = 71, r 1 = 8448, r k = r k 2 q k 1 r k 1, 0 r k < r k 1 x 0 = 1, x 1 = 0, x k = x k 2 q k 1 x k 1 y 0 = 0, y 1 = 1, y k = y k 2 q k 1 y k 1 i q i r i x i y i 0 71 1 0 1 0 8448 0 1 2 118 71 1 0

Eksempel på anvendelse af Euklids udvidede algoritme Bestem rekurssivt ved division med rest: r 0 = 71, r 1 = 8448, r k = r k 2 q k 1 r k 1, 0 r k < r k 1 x 0 = 1, x 1 = 0, x k = x k 2 q k 1 x k 1 y 0 = 0, y 1 = 1, y k = y k 2 q k 1 y k 1 i q i r i x i y i 0 71 1 0 1 0 8448 0 1 2 118 71 1 0 3 1 70 118 1

Eksempel på anvendelse af Euklids udvidede algoritme Bestem rekurssivt ved division med rest: r 0 = 71, r 1 = 8448, r k = r k 2 q k 1 r k 1, 0 r k < r k 1 x 0 = 1, x 1 = 0, x k = x k 2 q k 1 x k 1 y 0 = 0, y 1 = 1, y k = y k 2 q k 1 y k 1 i q i r i x i y i 0 71 1 0 1 0 8448 0 1 2 118 71 1 0 3 1 70 118 1 4 70 1 119 1

Eksempel på anvendelse af Euklids udvidede algoritme Bestem rekurssivt ved division med rest: r 0 = 71, r 1 = 8448, r k = r k 2 q k 1 r k 1, 0 r k < r k 1 x 0 = 1, x 1 = 0, x k = x k 2 q k 1 x k 1 y 0 = 0, y 1 = 1, y k = y k 2 q k 1 y k 1 i q i r i x i y i 0 71 1 0 1 0 8448 0 1 2 118 71 1 0 3 1 70 118 1 4 70 1 119 1 5 0

Eksempel på anvendelse af Euklids udvidede algoritme Bestem rekurssivt ved division med rest: r 0 = 71, r 1 = 8448, r k = r k 2 q k 1 r k 1, 0 r k < r k 1 x 0 = 1, x 1 = 0, x k = x k 2 q k 1 x k 1 y 0 = 0, y 1 = 1, y k = y k 2 q k 1 y k 1 Bezout i q i r i x i y i 0 71 1 0 1 0 8448 0 1 2 118 71 1 0 3 1 70 118 1 4 70 1 119 1 5 0 1 = 71 119 + 8448 ( 1)

Oversigt 1 Indbyrdes primiske tal 2 Regning med rester 3 Kryptering og signering ved hjælp af et offentligt nøgle kryptosystem RSA

Modulo - regning med rester Gauss indførte en notation, som letter omgangen med heltalsdivision med rest. Definition Givet hele tal a, b og m > 0. Vi siger, at a er kongruent med b modulo m og skriver a b mod m hvis a og b har samme rest ved division med m, altså hvis m går op i forskellen a b. Når m fremgår af sammenhængen, skriver vi blot a b. Eks. 19 7 mod 12, 1 1 mod 2 og 3 2 1 mod 5.

Regneregler Lemma Lad m > 0 være givet. Hvis a 1 b 1 og a 2 b 2, så er a 1 + a 2 b 1 + b 2, a 1 a 2 b 1 b 2 Hvis k er indbyrdes primisk med m, så kan der forkortes med k: ka kb a b. Bevis. Følger af definitionen og ved anvendelse af Korollar 3: ka kb m k(a b) m a b a b.

Modulær exponentiering Opgave Lad m = 7. Vis, at 2 3 1 2 4 2 2 5 4 2 6 1 2 7 2 Bestem r, 0 r < 7, så 2 100 r

Restklasser Definition Lad m > 0 være givet. Med [a] betegner vi mængden af alle hele tal x, der er kongruent med a modulo m. Mængden [a] kaldes restklassen af a. Et fuldstændigt sæt af rester modulo m består af m hele tal, en fra hver restklasse. Et reduceret sæt af rester modulo m består af φ(m) hele tal, en fra hver restklasse, og hver for sig indbyrdes primisk med m. For m = 6 er [3] = { 9, 3, 3, 9, 15,... }, tallene 0, 1, 2, 3, 4, 5 er et fuldstændigt sæt af rester, mens tallene 6, 14, 13, 2, 27, 35 er et andet fuldstændigt sæt af rester. De tilsvarende reducerede sæt af rester har hver φ(6) = 2 elementer og er 1, 5 og 13, 35

Sætning Lad a 1,..., a φ(m) være et reduceret sæt af rester modulo m og lad k være et helt tal primisk med m. Så er ka 1,..., ka φ(m) også et reduceret sæt af rester modulo m.

Bevis. Ifølge Lemma 2 kan vi slutte, at ka i ka j a i a j. Derfor ligger ka 1,..., ka φ(m) i hver sin restklasse. Tilsvarende er ka 1,..., ka φ(m) hver for sig primiske med m, idet Lemma 2 anvendt på en fælles divisor n i m og ka i, der naturligvis også er primisk med k, giver n ka i n a i i modstrid med at a i er primisk med m.

Opgave Bestem et komplet sæt af reducerede rester modulo 12 (der skal være 4 ialt). Multiplicer hver af de 4 elementer i sættet med 5 og vis, at det nye sæt også er et komplet sæt af reducerede rester.

Euler-Fermat Sætning Antag at k, m er indbyrdes primiske. Så er k φ(m) 1 mod m.

Bevis. Lad a 1,..., a φ(m) være et reduceret sæt af rester modulo m, ifølge sætningen ovenfor ved vi, at ka 1,..., ka φ(m) også er et reduceret sæt af rester. Anvender vi nu Lemma 2, har vi a 1 a φ(m) k φ(m) a 1 a φ(m) mod m. Da a i alle er indbyrdes primisk med m giver gentagne anvendelser af forkortningsdelen af Lemma 2, det ønskede.

Opgave Eftervis, at k φ(12) 1 mod 12. for alle k, der er primiske med 12.

Oversigt 1 Indbyrdes primiske tal 2 Regning med rester 3 Kryptering og signering ved hjælp af et offentligt nøgle kryptosystem RSA

Kryptering og signering - nøglepar En person A, der ønsker at lave et kryptosystem med henblik på modtagelse gør følgende: vælger 2 store primtal p, q og beregner n = pq beregner φ(n), jvf. Opgave 2, hvilket er let for A; men tidskrævende for andre, der blot kender n vælger et e > 0 primisk med φ(n) beregner positivt f (og negativt g), så 1 = ef + φ(n)g, jvf. Lemma 1 offentligør n, e - det er den offentlige nøgle Krypteringssystemet har n, e er som offentlig nøgle og φ(n) og f som hemmelig nøgle.

Kryptering En vilkårlig person B ønsker at sende tallet k > 0 til personen A. B indkoder tallet k ved brug af den offentlige nøgle n, e - nemlig ved at beregne og sende: h k e mod n

Dekryptering Personen A modtager h og beregner ved hjælp af sin hemmelige viden om φ(n) og f h f (k e ) f k ef k 1 φ(n)g k (k φ(n) ) g k mod n ifølge Sætning 11. Opgave Lad p = 89 og q = 97. Bestem n og φ(n). Lad e=71. Bestem f > 0 og g så 1 = ef + φ(n)g Indkod k = 3 ved at beregne h = 3 e og dekrypter ved at beregne (3 e ) f.

Digital signatur Signering (underkrift, digital signatur) foretages ved at personen A indkoder f.eks. sit "navn"k med sin hemmelige nøgle f, φ(n). Modtageren kan afkode med A s offentlige nøgle e, n. Giver afkodningen "navnet"k, er der overfor modtageren godtgjort, at afsenderen har den hemmelige nøgle, der passer til den offentlige nøgle. Opgave Lav endnu et nøglesæt og vis ved et eksempel, hvordan man laver digital signatur.

Information Adr.:, Ny Munkegade, 8000 Aarhus, DENMARK e-mail: matjph@imf.au.dk Phone: (+45) 2899 2449 homepage: http://home.imf.au.dk/matjph/ homepage: http://pure.au.dk/portal/da/matjph@imf.au.dk