Matematikken bag kryptering og signering RSA

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

Matematikken bag kryptering og signering RSA

Matematikken bag kryptering og signering NemID RSA Foredrag i UNF

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

Primtal - hvor mange, hvordan og hvorfor?

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

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

Kryptologi og RSA. Jonas Lindstrøm Jensen

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

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

2. Gruppen af primiske restklasser.

Projekt 7.9 Euklids algoritme, primtal og primiske tal

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

Talteoriopgaver Træningsophold ved Sorø Akademi 2007

RSA-kryptosystemet. RSA-kryptosystemet Erik Vestergaard

Introduktion til Kryptologi. Mikkel Kamstrup Erlandsen

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

Opgave 1 Regning med rest

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

RSA Kryptosystemet. Kryptologi ved Datalogisk Institut, Aarhus Universitet

Noter om primtal. Erik Olsen

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

Affine - et krypteringssystem

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

Af Marc Skov Madsen PhD-studerende Aarhus Universitet

Integer Factorization

Ringe og Primfaktorisering

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: Euklids algoritmer, modulær aritmetik

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

6. RSA, og andre public key systemer.

Projekt 0.6 RSA kryptering

Køreplan Matematik 1 - FORÅR 2005

Fredag 12. januar David Pisinger

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

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

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

TALTEORI Følger og den kinesiske restklassesætning.

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

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

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

10. Nogle diofantiske ligninger.

Hemmelige koder fra antikken til vore dage

Noter til Perspektiver i Matematikken

Kryptering kan vinde over kvante-computere

Meditation over Midterbinomialkoefficienten

Informationsteori. Hvorledes man bryder en RSA-kode

Paradokser og Opgaver

brikkerne til regning & matematik tal og algebra preben bernitt

Konfidentialitet og kryptografi 31. januar, Jakob I. Pagter

Kryptologi 101 (og lidt om PGP)

Algebra2 Obligatorisk opgave

Konkrete algebraiske strukturer 4-6. Madsen, Anders J. Hede. Publication date: Document Version Også kaldet Forlagets PDF

Note om endelige legemer

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

Foredrag i Eulers Venner 30. nov. 2004

DM72 Diskret matematik med anvendelser

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

Sammenhængskomponenter i grafer

Diskrete Matematiske Metoder. Jesper Lützen

Kryptografi Anvendt Matematik

Eksamen i Diskret Matematik

Introduktion til Kryptologi

Grundlæggende Matematik

Den digitale signatur

Euklids algoritme og kædebrøker

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

Undersøgende aktivitet om primtal. Af Petur Birgir Petersen

Matematiske metoder - Opgavesæt

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

Perspektiverende Datalogi 2014 Uge 39 Kryptologi

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

Martin Geisler Mersenne primtal. Marin Mersenne

Bevisteknikker (relevant både ved design og verifikation)

Polynomium Et polynomium. Nulpolynomiet Nulpolynomiet er funktionen der er konstant nul, dvs. P(x) = 0, og dets grad sættes per definition til.

Fejlkorligerende køder Fejlkorrigerende koder

Grundlæggende Matematik

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

Algebra. Anders Thorup. Matematisk Afdeling Københavns Universitet

Iteration af et endomorft kryptosystem. Substitutions-permutations-net (SPN) og inversion. Eksklusiv disjunktion og dens egenskaber

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

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

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

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

Primtal. Frank Nasser. 20. april 2011

TALTEORI Ligninger og det der ligner.

Opgaveformulering studieretningsprojekt (SRP) 2015

Retningslinjer for bedømmelsen. Georg Mohr-Konkurrencen runde

Fortroligt dokument. Matematisk projekt

Komplekse tal og algebraens fundamentalsætning.

Om primtal og forhold i opgangene

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

Archimedes Princip. Frank Nasser. 12. april 2011

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

Noter om polynomier, Kirsten Rosenkilde, Marts Polynomier

Anders Thorup. Elementær talteori. Algebra og talteori, F2001

er et helt tal. n 2 AB CD AC BD (b) Vis, at tangenterne fra C til de omskrevne cirkler for trekanterne ACD og BCD står vinkelret på hinanden.

DesignMat Kvadratiske matricer, invers matrix, determinant

Eksamen i Diskret Matematik

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

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

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.

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

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 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 Bezout 1 = 71 119 + 8448 ( 1)

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.

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 5: 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

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.

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.

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

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

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.

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://pure.au.dk/portal/da/matjph@imf.au.dk