Integer Factorization

Størrelse: px
Starte visningen fra side:

Download "Integer Factorization"

Transkript

1 Integer Factorization Per Leslie Jensen DIKU 2/ kl. 10:15

2 Overblik 1 Faktorisering for dummies Primtal og aritmetikkens fundamentalsætning Lille øvelse 2 Hvorfor er det interessant? RSA 3 Metoder 4 General Number Field Sieve Konceptet Algoritmen pgnfs 5 Status

3 Outline 1 Faktorisering for dummies Primtal og aritmetikkens fundamentalsætning Lille øvelse 2 Hvorfor er det interessant? RSA 3 Metoder 4 General Number Field Sieve Konceptet Algoritmen pgnfs 5 Status

4 Faktorisering Primtal Et primtal p er et helt positivt tal som kun har 1 og p som divisor.

5 Faktorisering Primtal Et primtal p er et helt positivt tal som kun har 1 og p som divisor. Eksempel 2,3,5,7,11,13,17,19,...

6 Faktorisering Primtal Et primtal p er et helt positivt tal som kun har 1 og p som divisor. Eksempel 4,12,33,1978,...

7 Faktorisering Primtal Et primtal p er et helt positivt tal som kun har 1 og p som divisor. Eksempel 4 = 2 2,...

8 Faktorisering Primtal Et primtal p er et helt positivt tal som kun har 1 og p som divisor. Aritmetikkens fundamentalsætning Ethvert helt tal n kan skrives entydigt som et produkt af primtal.

9 Lille øvelse Eksempel 1978

10 Lille øvelse Eksempel 1978 =

11 Lille øvelse Eksempel 360

12 Lille øvelse Eksempel 360 =

13 Lille øvelse Hvor svært kan det være?

14 Lille øvelse Hvor svært kan det være?

15 Lille øvelse Hvor svært kan det være? =

16 Lille øvelse Lille regnestykke til resten af tiden:

17 Lille øvelse Lille regnestykke til resten af tiden:

18 Outline 1 Faktorisering for dummies Primtal og aritmetikkens fundamentalsætning Lille øvelse 2 Hvorfor er det interessant? RSA 3 Metoder 4 General Number Field Sieve Konceptet Algoritmen pgnfs 5 Status

19 Hvorfor er det interessant? Sikkerheden for de fleste public key krypteringsalgoritmer er baseret på at det er svært at faktorisere store heltal. For eksempel RSA

20 Hvorfor er det interessant? Sikkerheden for de fleste public key krypteringsalgoritmer er baseret på at det er svært at faktorisere store heltal. For eksempel RSA

21 RSA algoritmen (1978) Initialisering af RSA (p, q : n : φ(n) :d :e ) 1 Vælg 2 primtal p og q. 2 Sæt n = p q. 3 Beregn Eulers φ-funktion af n, dvs. φ(n) = (p 1) (q 1) 4 Vælg d primisk til φ(n), dvs. gcd(d, φ(n)) = 1. 5 Vælg e som den multiplikative inverse til d, dvs. e d 1 mod φ(n). Nøgler (offentlig : privat) Parret (e, n) er så den offentlige nøgle. Og parret (d, n) er den private nøgle.

22 RSA algoritmen (1978) Initialisering af RSA (p, q : n : φ(n) :d :e ) 1 Vælg 2 primtal p og q. 2 Sæt n = p q. 3 Beregn Eulers φ-funktion af n, dvs. φ(n) = (p 1) (q 1) 4 Vælg d primisk til φ(n), dvs. gcd(d, φ(n)) = 1. 5 Vælg e som den multiplikative inverse til d, dvs. e d 1 mod φ(n). Nøgler (offentlig : privat) Parret (e, n) er så den offentlige nøgle. Og parret (d, n) er den private nøgle.

23 RSA algoritmen (1978) Initialisering af RSA (p, q : n : φ(n) :d :e ) 1 Vælg 2 primtal p og q. 2 Sæt n = p q. 3 Beregn Eulers φ-funktion af n, dvs. φ(n) = (p 1) (q 1) 4 Vælg d primisk til φ(n), dvs. gcd(d, φ(n)) = 1. 5 Vælg e som den multiplikative inverse til d, dvs. e d 1 mod φ(n). Nøgler (offentlig : privat) Parret (e, n) er så den offentlige nøgle. Og parret (d, n) er den private nøgle.

24 RSA algoritmen (1978) Initialisering af RSA (p, q : n : φ(n) :d :e ) 1 Vælg 2 primtal p og q. 2 Sæt n = p q. 3 Beregn Eulers φ-funktion af n, dvs. φ(n) = (p 1) (q 1) 4 Vælg d primisk til φ(n), dvs. gcd(d, φ(n)) = 1. 5 Vælg e som den multiplikative inverse til d, dvs. e d 1 mod φ(n). Nøgler (offentlig : privat) Parret (e, n) er så den offentlige nøgle. Og parret (d, n) er den private nøgle.

25 RSA algoritmen (1978) Initialisering af RSA (p, q : n : φ(n) : d :e ) 1 Vælg 2 primtal p og q. 2 Sæt n = p q. 3 Beregn Eulers φ-funktion af n, dvs. φ(n) = (p 1) (q 1) 4 Vælg d primisk til φ(n), dvs. gcd(d, φ(n)) = 1. 5 Vælg e som den multiplikative inverse til d, dvs. e d 1 mod φ(n). Nøgler (offentlig : privat) Parret (e, n) er så den offentlige nøgle. Og parret (d, n) er den private nøgle.

26 RSA algoritmen (1978) Initialisering af RSA (p, q : n : φ(n) :d : e ) 1 Vælg 2 primtal p og q. 2 Sæt n = p q. 3 Beregn Eulers φ-funktion af n, dvs. φ(n) = (p 1) (q 1) 4 Vælg d primisk til φ(n), dvs. gcd(d, φ(n)) = 1. 5 Vælg e som den multiplikative inverse til d, dvs. e d 1 mod φ(n). Nøgler (offentlig : privat) Parret (e, n) er så den offentlige nøgle. Og parret (d, n) er den private nøgle.

27 RSA algoritmen (1978) Initialisering af RSA (p, q : n : φ(n) :d :e ) 1 Vælg 2 primtal p og q. 2 Sæt n = p q. 3 Beregn Eulers φ-funktion af n, dvs. φ(n) = (p 1) (q 1) 4 Vælg d primisk til φ(n), dvs. gcd(d, φ(n)) = 1. 5 Vælg e som den multiplikative inverse til d, dvs. e d 1 mod φ(n). Nøgler (offentlig : privat) Parret (e, n) er så den offentlige nøgle. Og parret (d, n) er den private nøgle.

28 RSA algoritmen (1978) Initialisering af RSA (p, q : n : φ(n) :d :e ) 1 Vælg 2 primtal p og q. 2 Sæt n = p q. 3 Beregn Eulers φ-funktion af n, dvs. φ(n) = (p 1) (q 1) 4 Vælg d primisk til φ(n), dvs. gcd(d, φ(n)) = 1. 5 Vælg e som den multiplikative inverse til d, dvs. e d 1 mod φ(n). Nøgler (offentlig : privat) Parret (e, n) er så den offentlige nøgle. Og parret (d, n) er den private nøgle.

29 RSA algoritmen (1978) Initialisering af RSA (p, q : n : φ(n) :d :e ) 1 Vælg 2 primtal p og q. 2 Sæt n = p q. 3 Beregn Eulers φ-funktion af n, dvs. φ(n) = (p 1) (q 1) 4 Vælg d primisk til φ(n), dvs. gcd(d, φ(n)) = 1. 5 Vælg e som den multiplikative inverse til d, dvs. e d 1 mod φ(n). Nøgler (offentlig : privat) Parret (e, n) er så den offentlige nøgle. Og parret (d, n) er den private nøgle.

30 RSA algoritmen (1978) Kryptering af klarteksten M 1 Repræsenter M som en række af tal M 0, M 1,..., M j hvor M i [0 : n 1]. 2 For hvert M i beregn C i = M e i mod n. 3 Cipherteksten C er så C = C 0, C 1,..., C j. Dekryptering af cipherteksten C 1 Repræsenter C som en række af tal C 0, C 1,..., C j hvor C i [0 : n 1]. 2 For hvert C i beregn M i = C d i mod n. 3 Klarteksten M er så M = M 0, M 1,..., M j.

31 RSA algoritmen (1978) Kryptering af klarteksten M 1 Repræsenter M som en række af tal M 0, M 1,..., M j hvor M i [0 : n 1]. 2 For hvert M i beregn C i = M e i mod n. 3 Cipherteksten C er så C = C 0, C 1,..., C j. Dekryptering af cipherteksten C 1 Repræsenter C som en række af tal C 0, C 1,..., C j hvor C i [0 : n 1]. 2 For hvert C i beregn M i = C d i mod n. 3 Klarteksten M er så M = M 0, M 1,..., M j.

32 RSA algoritmen (1978) Kryptering af klarteksten M 1 Repræsenter M som en række af tal M 0, M 1,..., M j hvor M i [0 : n 1]. 2 For hvert M i beregn C i = M e i mod n. 3 Cipherteksten C er så C = C 0, C 1,..., C j. Dekryptering af cipherteksten C 1 Repræsenter C som en række af tal C 0, C 1,..., C j hvor C i [0 : n 1]. 2 For hvert C i beregn M i = C d i mod n. 3 Klarteksten M er så M = M 0, M 1,..., M j.

33 RSA algoritmen (1978) Kryptering af klarteksten M 1 Repræsenter M som en række af tal M 0, M 1,..., M j hvor M i [0 : n 1]. 2 For hvert M i beregn C i = M e i mod n. 3 Cipherteksten C er så C = C 0, C 1,..., C j. Dekryptering af cipherteksten C 1 Repræsenter C som en række af tal C 0, C 1,..., C j hvor C i [0 : n 1]. 2 For hvert C i beregn M i = C d i mod n. 3 Klarteksten M er så M = M 0, M 1,..., M j.

34 RSA algoritmen (1978) Kryptering af klarteksten M 1 Repræsenter M som en række af tal M 0, M 1,..., M j hvor M i [0 : n 1]. 2 For hvert M i beregn C i = M e i mod n. 3 Cipherteksten C er så C = C 0, C 1,..., C j. Dekryptering af cipherteksten C 1 Repræsenter C som en række af tal C 0, C 1,..., C j hvor C i [0 : n 1]. 2 For hvert C i beregn M i = C d i mod n. 3 Klarteksten M er så M = M 0, M 1,..., M j.

35 RSA algoritmen (1978) Kryptering af klarteksten M 1 Repræsenter M som en række af tal M 0, M 1,..., M j hvor M i [0 : n 1]. 2 For hvert M i beregn C i = M e i mod n. 3 Cipherteksten C er så C = C 0, C 1,..., C j. Dekryptering af cipherteksten C 1 Repræsenter C som en række af tal C 0, C 1,..., C j hvor C i [0 : n 1]. 2 For hvert C i beregn M i = C d i mod n. 3 Klarteksten M er så M = M 0, M 1,..., M j.

36 RSA algoritmen (1978) Kryptering af klarteksten M 1 Repræsenter M som en række af tal M 0, M 1,..., M j hvor M i [0 : n 1]. 2 For hvert M i beregn C i = M e i mod n. 3 Cipherteksten C er så C = C 0, C 1,..., C j. Dekryptering af cipherteksten C 1 Repræsenter C som en række af tal C 0, C 1,..., C j hvor C i [0 : n 1]. 2 For hvert C i beregn M i = C d i mod n. 3 Klarteksten M er så M = M 0, M 1,..., M j.

37 RSA algoritmen (1978) Kryptering af klarteksten M 1 Repræsenter M som en række af tal M 0, M 1,..., M j hvor M i [0 : n 1]. 2 For hvert M i beregn C i = M e i mod n. 3 Cipherteksten C er så C = C 0, C 1,..., C j. Dekryptering af cipherteksten C 1 Repræsenter C som en række af tal C 0, C 1,..., C j hvor C i [0 : n 1]. 2 For hvert C i beregn M i = C d i mod n. 3 Klarteksten M er så M = M 0, M 1,..., M j.

38 RSA algoritmen (1978) Sikkerheden af RSA Sikkerheden af RSA er baseret på at det er svært at faktorisere n da man nemt vil kunne finde d ud fra e og faktoriseringen af n. Udbredelsen af RSA RSA var et af de første offentligt nøgle kryptosystemer og er også det mest udbredte system og bruges i dag af homebanking systemer og anden sikker kommunikation over internettet. Ergo... Derfor vil opdagelsen af en hurtig metode til faktorisering af store heltal betyde en hel del og vil for en overgang betyde at nøgleudveksling vil være stort set umuligt.

39 RSA algoritmen (1978) Sikkerheden af RSA Sikkerheden af RSA er baseret på at det er svært at faktorisere n da man nemt vil kunne finde d ud fra e og faktoriseringen af n. Udbredelsen af RSA RSA var et af de første offentligt nøgle kryptosystemer og er også det mest udbredte system og bruges i dag af homebanking systemer og anden sikker kommunikation over internettet. Ergo... Derfor vil opdagelsen af en hurtig metode til faktorisering af store heltal betyde en hel del og vil for en overgang betyde at nøgleudveksling vil være stort set umuligt.

40 RSA algoritmen (1978) Sikkerheden af RSA Sikkerheden af RSA er baseret på at det er svært at faktorisere n da man nemt vil kunne finde d ud fra e og faktoriseringen af n. Udbredelsen af RSA RSA var et af de første offentligt nøgle kryptosystemer og er også det mest udbredte system og bruges i dag af homebanking systemer og anden sikker kommunikation over internettet. Ergo... Derfor vil opdagelsen af en hurtig metode til faktorisering af store heltal betyde en hel del og vil for en overgang betyde at nøgleudveksling vil være stort set umuligt.

41 Outline 1 Faktorisering for dummies Primtal og aritmetikkens fundamentalsætning Lille øvelse 2 Hvorfor er det interessant? RSA 3 Metoder 4 General Number Field Sieve Konceptet Algoritmen pgnfs 5 Status

42 Historien Før computeren Faktorisering har igennem matematikkens historie optaget mange matematikere og mangel på regnekraft har sat en begrænsning i udviklingen. Computerens ankomst Computerens ankomst gav mulighed for at faktorisere større tal end hidtil grundet den markant større regnekraft til rådighed. Det pustede nyt liv i forskningen i faktoriseringsmetoder. Public key cryptography Med ankomsten af offentlig nøgle kryptering (som alle er baseret på et eller andet talteoretisk problem) blev der for alvor sat gang i udviklingen af hurtigere og bedre algoritmer da den praktiske brug pludselig var MEGET tydelig.

43 Historien Før computeren Faktorisering har igennem matematikkens historie optaget mange matematikere og mangel på regnekraft har sat en begrænsning i udviklingen. Computerens ankomst Computerens ankomst gav mulighed for at faktorisere større tal end hidtil grundet den markant større regnekraft til rådighed. Det pustede nyt liv i forskningen i faktoriseringsmetoder. Public key cryptography Med ankomsten af offentlig nøgle kryptering (som alle er baseret på et eller andet talteoretisk problem) blev der for alvor sat gang i udviklingen af hurtigere og bedre algoritmer da den praktiske brug pludselig var MEGET tydelig.

44 Historien Før computeren Faktorisering har igennem matematikkens historie optaget mange matematikere og mangel på regnekraft har sat en begrænsning i udviklingen. Computerens ankomst Computerens ankomst gav mulighed for at faktorisere større tal end hidtil grundet den markant større regnekraft til rådighed. Det pustede nyt liv i forskningen i faktoriseringsmetoder. Public key cryptography Med ankomsten af offentlig nøgle kryptering (som alle er baseret på et eller andet talteoretisk problem) blev der for alvor sat gang i udviklingen af hurtigere og bedre algoritmer da den praktiske brug pludselig var MEGET tydelig.

45 2 Kategorier Vi kan inddele faktoriseringsmetoder i 2 kategorier: Specielle metoder Metoder som udnytter en speciel struktur ved tallet eller dens faktorer, som f.eks.: Pollards p 1 og ρ metoder Lenstras ECM Generelle metoder Metoder som kræver den samme mængde udregning uafhængig af tallet og dets faktorer, som f.eks.: Continued FRACtions metoden Quadratic Sieve (General) Number Field Sieve

46 2 Kategorier Vi kan inddele faktoriseringsmetoder i 2 kategorier: Specielle metoder Metoder som udnytter en speciel struktur ved tallet eller dens faktorer, som f.eks.: Pollards p 1 og ρ metoder Lenstras ECM Generelle metoder Metoder som kræver den samme mængde udregning uafhængig af tallet og dets faktorer, som f.eks.: Continued FRACtions metoden Quadratic Sieve (General) Number Field Sieve

47 2 Kategorier Vi kan inddele faktoriseringsmetoder i 2 kategorier: Specielle metoder Metoder som udnytter en speciel struktur ved tallet eller dens faktorer, som f.eks.: Pollards p 1 og ρ metoder Lenstras ECM Generelle metoder Metoder som kræver den samme mængde udregning uafhængig af tallet og dets faktorer, som f.eks.: Continued FRACtions metoden Quadratic Sieve (General) Number Field Sieve

48 Kun generelle algoritmer for RSA RSA og lignende metoder bruger allesammen hårde sammensatte tal, dvs. med 2 store primfaktorer - derfor er det kun de generelle metoder der kan bruges til at faktorisere f.eks. en RSA modulus.

49 Outline 1 Faktorisering for dummies Primtal og aritmetikkens fundamentalsætning Lille øvelse 2 Hvorfor er det interessant? RSA 3 Metoder 4 General Number Field Sieve Konceptet Algoritmen pgnfs 5 Status

50 Kongruente kvadrater De kendte generelle algoritmer er alle baseret på teorien om kongruente kvadrater og Legendres Kongruens. Definition (Legendres Kongruens) x 2 y 2 mod n ( for 0 x y n, x y, x + y n) Hvis vi har x og y opfyldende Legendres kongruens, så er der stor sandsynlighed for at gcd(n, x ± y) er en ikke-triviel divisor af n.

51 Kongruente kvadrater De kendte generelle algoritmer er alle baseret på teorien om kongruente kvadrater og Legendres Kongruens. Definition (Legendres Kongruens) x 2 y 2 mod n ( for 0 x y n, x y, x + y n) Hvis vi har x og y opfyldende Legendres kongruens, så er der stor sandsynlighed for at gcd(n, x ± y) er en ikke-triviel divisor af n.

52 Kongruente kvadrater De kendte generelle algoritmer er alle baseret på teorien om kongruente kvadrater og Legendres Kongruens. Definition (Legendres Kongruens) x 2 y 2 mod n ( for 0 x y n, x y, x + y n) Hvis vi har x og y opfyldende Legendres kongruens, så er der stor sandsynlighed for at gcd(n, x ± y) er en ikke-triviel divisor af n.

53 De generelle metoders fremgangsmåde Moderne algoritmer er alle baseret på Legendres kongruens, forskellen ligger i hvordan den finder x og y der opfylder den. Quadratic Sieve, Continued FRACtions og Number Field Sieve bruger de samme grundlæggende idéer for at opnå dette.

54 De generelle metoders fremgangsmåde Moderne algoritmer er alle baseret på Legendres kongruens, forskellen ligger i hvordan den finder x og y der opfylder den. Quadratic Sieve, Continued FRACtions og Number Field Sieve bruger de samme grundlæggende idéer for at opnå dette.

55 Algebraiske tallegemer Før NFS blev der kun arbejdet i Z[x] og Q[x] NFS arbejder også i Z[x] men arbejder også i det algebraiske tallegeme Z[α], som er den væsentligste forskel fra tidligere algoritmer. NFS har derfor 2 sigter både en rationel og en algebraisk - dermed bruger den også 2 faktorbaser.

56 Algebraiske tallegemer Før NFS blev der kun arbejdet i Z[x] og Q[x] NFS arbejder også i Z[x] men arbejder også i det algebraiske tallegeme Z[α], som er den væsentligste forskel fra tidligere algoritmer. NFS har derfor 2 sigter både en rationel og en algebraisk - dermed bruger den også 2 faktorbaser.

57 Algebraiske tallegemer Før NFS blev der kun arbejdet i Z[x] og Q[x] NFS arbejder også i Z[x] men arbejder også i det algebraiske tallegeme Z[α], som er den væsentligste forskel fra tidligere algoritmer. NFS har derfor 2 sigter både en rationel og en algebraisk - dermed bruger den også 2 faktorbaser.

58 Afbildningen φ Definition (φ) Givet polynomium f (x) Z[x], en rod α C og m Z/nZ sådan at f (m) 0 (mod n) så eksisterer der en entydig afbildning φ : Z[α] Z/nZ der opfylder for alle a, b Z[α] φ(1) 1 mod n φ(α) m mod n φ(ab) = φ(a)φ(b) φ(a + b) = φ(a) + φ(b)

59 Kernen af NFS Vi vil gerne finde x og y som opfylder Legendres kongruens - og det kan vi hvis vi kan finde en ikke tom mængde S hvor følgende er opfyldt: y 2 = β 2 = (a + bm) : y 2 Z (a,b) S (a,b) S (a + bα) : β 2 Z[α] Hvis vi har sådan en ikke tom mængde S som beskrevet så har vi, med lidt hjælp fra φ, en Legendre Kongruens og dermed en god chance for at finde en ikke-triviel faktor.

60 Kernen af NFS φ(β) 2 = φ(β)φ(β) = φ(β 2 ) = φ (a + bα) = = (a,b) S (a,b) S (a,b) S φ(a + bα) (a + bm) = y 2 Så vi skal derfor bare finde sådan en mængde S.

61 Kernen af NFS NFS algoritmen finder mængden S ved at sigte elementer i et tallegeme og denne sigte er selvfølgelig defineret ud fra det tallegeme vi arbejder i. Algoritmen består af 5 trin.

62 Trin 1 - Valg af polynomium Vælg et irreducibelt polynomium f (x) Z n [x] med rod m Z n, dvs. f (m) 0 mod n. Graden d af polynomiet skal være større end 3 og er afhængig af n (rekordforsøg bruger d = 5 eller d = 6) Et godt valg af polynomium er vigtigt da den dikterer hastigheden for resten af algoritmen. Dette trin er et af de mindre udforskede elementer af NFS, men der findes visse heuristiske metoder til at kvantificere godheden af et polynomium.

63 Trin 1 - Valg af polynomium Vælg et irreducibelt polynomium f (x) Z n [x] med rod m Z n, dvs. f (m) 0 mod n. Graden d af polynomiet skal være større end 3 og er afhængig af n (rekordforsøg bruger d = 5 eller d = 6) Et godt valg af polynomium er vigtigt da den dikterer hastigheden for resten af algoritmen. Dette trin er et af de mindre udforskede elementer af NFS, men der findes visse heuristiske metoder til at kvantificere godheden af et polynomium.

64 Trin 1 - Valg af polynomium Vælg et irreducibelt polynomium f (x) Z n [x] med rod m Z n, dvs. f (m) 0 mod n. Graden d af polynomiet skal være større end 3 og er afhængig af n (rekordforsøg bruger d = 5 eller d = 6) Et godt valg af polynomium er vigtigt da den dikterer hastigheden for resten af algoritmen. Dette trin er et af de mindre udforskede elementer af NFS, men der findes visse heuristiske metoder til at kvantificere godheden af et polynomium.

65 Trin 1 - Valg af polynomium Vælg et irreducibelt polynomium f (x) Z n [x] med rod m Z n, dvs. f (m) 0 mod n. Graden d af polynomiet skal være større end 3 og er afhængig af n (rekordforsøg bruger d = 5 eller d = 6) Et godt valg af polynomium er vigtigt da den dikterer hastigheden for resten af algoritmen. Dette trin er et af de mindre udforskede elementer af NFS, men der findes visse heuristiske metoder til at kvantificere godheden af et polynomium.

66 Trin 2 - Opsætning af faktorbaser Vi skal bruge 2 faktorbaser, nemlig en rationel faktorbase ( RFB) og en algebraisk faktor base ( AFB). RFB indeholder alle primtal under en givet grænse samt dets rest modulus m, dvs. elementerne i RFB er par (p, p mod m). AFB indeholder par (p, r) hvor f (r) 0 mod p for primtal p under en givet grænse. AFB indeholder normalt 2-3 gange så mange elementer som RFB. Antallet af elementer i RFB og AFB er i rekordforsøg mere end 1 million.

67 Trin 2 - Opsætning af faktorbaser Vi skal bruge 2 faktorbaser, nemlig en rationel faktorbase ( RFB) og en algebraisk faktor base ( AFB). RFB indeholder alle primtal under en givet grænse samt dets rest modulus m, dvs. elementerne i RFB er par (p, p mod m). AFB indeholder par (p, r) hvor f (r) 0 mod p for primtal p under en givet grænse. AFB indeholder normalt 2-3 gange så mange elementer som RFB. Antallet af elementer i RFB og AFB er i rekordforsøg mere end 1 million.

68 Trin 2 - Opsætning af faktorbaser Vi skal bruge 2 faktorbaser, nemlig en rationel faktorbase ( RFB) og en algebraisk faktor base ( AFB). RFB indeholder alle primtal under en givet grænse samt dets rest modulus m, dvs. elementerne i RFB er par (p, p mod m). AFB indeholder par (p, r) hvor f (r) 0 mod p for primtal p under en givet grænse. AFB indeholder normalt 2-3 gange så mange elementer som RFB. Antallet af elementer i RFB og AFB er i rekordforsøg mere end 1 million.

69 Trin 2 - Opsætning af faktorbaser Vi skal bruge 2 faktorbaser, nemlig en rationel faktorbase ( RFB) og en algebraisk faktor base ( AFB). RFB indeholder alle primtal under en givet grænse samt dets rest modulus m, dvs. elementerne i RFB er par (p, p mod m). AFB indeholder par (p, r) hvor f (r) 0 mod p for primtal p under en givet grænse. AFB indeholder normalt 2-3 gange så mange elementer som RFB. Antallet af elementer i RFB og AFB er i rekordforsøg mere end 1 million.

70 Trin 2 - Opsætning af faktorbaser Vi skal bruge 2 faktorbaser, nemlig en rationel faktorbase ( RFB) og en algebraisk faktor base ( AFB). RFB indeholder alle primtal under en givet grænse samt dets rest modulus m, dvs. elementerne i RFB er par (p, p mod m). AFB indeholder par (p, r) hvor f (r) 0 mod p for primtal p under en givet grænse. AFB indeholder normalt 2-3 gange så mange elementer som RFB. Antallet af elementer i RFB og AFB er i rekordforsøg mere end 1 million.

71 Trin 3 - Sigtning af elementer Formålet med sigtningen er at finde relationer. En relation er et par (a, b) hvis rationelle norm er glat over RFB og algebraiske norm er glat over AFB. Klassisk linie-sigtning tager et b ad gangen og gennemløber a i et fastlagt interval og gemmer så de relationer den finder. Dette trin er det der tager længst tid, så optimering er vigtig! Kan nemt distribueres ud på flere maskiner, hvor hver maskine tager et interval af b er at sigte.

72 Trin 3 - Sigtning af elementer Formålet med sigtningen er at finde relationer. En relation er et par (a, b) hvis rationelle norm er glat over RFB og algebraiske norm er glat over AFB. Klassisk linie-sigtning tager et b ad gangen og gennemløber a i et fastlagt interval og gemmer så de relationer den finder. Dette trin er det der tager længst tid, så optimering er vigtig! Kan nemt distribueres ud på flere maskiner, hvor hver maskine tager et interval af b er at sigte.

73 Trin 3 - Sigtning af elementer Formålet med sigtningen er at finde relationer. En relation er et par (a, b) hvis rationelle norm er glat over RFB og algebraiske norm er glat over AFB. Klassisk linie-sigtning tager et b ad gangen og gennemløber a i et fastlagt interval og gemmer så de relationer den finder. Dette trin er det der tager længst tid, så optimering er vigtig! Kan nemt distribueres ud på flere maskiner, hvor hver maskine tager et interval af b er at sigte.

74 Trin 3 - Sigtning af elementer Formålet med sigtningen er at finde relationer. En relation er et par (a, b) hvis rationelle norm er glat over RFB og algebraiske norm er glat over AFB. Klassisk linie-sigtning tager et b ad gangen og gennemløber a i et fastlagt interval og gemmer så de relationer den finder. Dette trin er det der tager længst tid, så optimering er vigtig! Kan nemt distribueres ud på flere maskiner, hvor hver maskine tager et interval af b er at sigte.

75 Trin 4 - Løse ligningssystem Vi sigter indtil vi har flere relationer end der er elementer i RFB og AFB og QCB sammenlagt +1. Vi kan nu opstille et linært ligningssystem udfra relationerne og deres faktorisering over faktorbaserne og grundet dimensionerne kan vi finde mindst en løsning til systemet. Der kan bruges Gauss Eliminering eller Block Lanczos. Løsningen svarer til den ønskede mængde S.

76 Trin 4 - Løse ligningssystem Vi sigter indtil vi har flere relationer end der er elementer i RFB og AFB og QCB sammenlagt +1. Vi kan nu opstille et linært ligningssystem udfra relationerne og deres faktorisering over faktorbaserne og grundet dimensionerne kan vi finde mindst en løsning til systemet. Der kan bruges Gauss Eliminering eller Block Lanczos. Løsningen svarer til den ønskede mængde S.

77 Trin 4 - Løse ligningssystem Vi sigter indtil vi har flere relationer end der er elementer i RFB og AFB og QCB sammenlagt +1. Vi kan nu opstille et linært ligningssystem udfra relationerne og deres faktorisering over faktorbaserne og grundet dimensionerne kan vi finde mindst en løsning til systemet. Der kan bruges Gauss Eliminering eller Block Lanczos. Løsningen svarer til den ønskede mængde S.

78 Trin 4 - Løse ligningssystem Vi sigter indtil vi har flere relationer end der er elementer i RFB og AFB og QCB sammenlagt +1. Vi kan nu opstille et linært ligningssystem udfra relationerne og deres faktorisering over faktorbaserne og grundet dimensionerne kan vi finde mindst en løsning til systemet. Der kan bruges Gauss Eliminering eller Block Lanczos. Løsningen svarer til den ønskede mængde S.

79 Trin 5 - Beregne kvadratrødder Vi skal bruge y og β som beskrevet tidligere, y er nemt at finde som produktet s(x) af alle elementerne i S og så er y = s(m). β er IKKE så nem at finde og kræver en hel del arbejde da det er kvadratroden af et algebraisk tal over et funktionslegeme. Teoretisk kan der bruges generelle faktoriseringmetoder for polynomier over tallegemer, men det er ikke brugbart for store tal da koefficienterne i det algebraiske tal er MEGET MEGET store og dette trin vil så dominere den samlede køretid.

80 Trin 5 - Beregne kvadratrødder Vi skal bruge y og β som beskrevet tidligere, y er nemt at finde som produktet s(x) af alle elementerne i S og så er y = s(m). β er IKKE så nem at finde og kræver en hel del arbejde da det er kvadratroden af et algebraisk tal over et funktionslegeme. Teoretisk kan der bruges generelle faktoriseringmetoder for polynomier over tallegemer, men det er ikke brugbart for store tal da koefficienterne i det algebraiske tal er MEGET MEGET store og dette trin vil så dominere den samlede køretid.

81 Trin 5 - Beregne kvadratrødder Vi skal bruge y og β som beskrevet tidligere, y er nemt at finde som produktet s(x) af alle elementerne i S og så er y = s(m). β er IKKE så nem at finde og kræver en hel del arbejde da det er kvadratroden af et algebraisk tal over et funktionslegeme. Teoretisk kan der bruges generelle faktoriseringmetoder for polynomier over tallegemer, men det er ikke brugbart for store tal da koefficienterne i det algebraiske tal er MEGET MEGET store og dette trin vil så dominere den samlede køretid.

82 ... med lidt held:... kan vi så finde ikke-trivielle faktorer af n ved at beregne gcd(n, y ± β). For dem interesseret i den teoretiske køretid så er den for GNFS: q O (e ( O(1)) 3 log n 3 ) (log log n) 2

83 ... med lidt held:... kan vi så finde ikke-trivielle faktorer af n ved at beregne gcd(n, y ± β). For dem interesseret i den teoretiske køretid så er den for GNFS: q O (e ( O(1)) 3 log n 3 ) (log log n) 2

84 ... med lidt held:... kan vi så finde ikke-trivielle faktorer af n ved at beregne gcd(n, y ± β). For dem interesseret i den teoretiske køretid så er den for GNFS: q O (e ( O(1)) 3 log n 3 ) (log log n) 2

85 pgnfs Jeg har implementeret alle trinene i GNFS. Min implementation kaldes pgnfs. (Formålet med pgnfs... ) At se min algoritmiske beskrivelse af algoritmen virke in action. At lave en offentlig tilgængelig implementation uden begrænsninger. At lave en modulær implementation der gør det muligt for andre at indsætte deres egen implementation af et eller flere af trinene.

86 pgnfs Jeg har implementeret alle trinene i GNFS. Min implementation kaldes pgnfs. (Formålet med pgnfs... ) At se min algoritmiske beskrivelse af algoritmen virke in action. At lave en offentlig tilgængelig implementation uden begrænsninger. At lave en modulær implementation der gør det muligt for andre at indsætte deres egen implementation af et eller flere af trinene.

87 pgnfs Jeg har implementeret alle trinene i GNFS. Min implementation kaldes pgnfs. (Formålet med pgnfs... ) At se min algoritmiske beskrivelse af algoritmen virke in action. At lave en offentlig tilgængelig implementation uden begrænsninger. At lave en modulær implementation der gør det muligt for andre at indsætte deres egen implementation af et eller flere af trinene.

88 pgnfs Jeg har implementeret alle trinene i GNFS. Min implementation kaldes pgnfs. (Formålet med pgnfs... ) At se min algoritmiske beskrivelse af algoritmen virke in action. At lave en offentlig tilgængelig implementation uden begrænsninger. At lave en modulær implementation der gør det muligt for andre at indsætte deres egen implementation af et eller flere af trinene.

89 Fremtiden for pgnfs Der har allerede været en del henvendelser efter offentliggørelse og der er flere grupper rundt om i verdenen der arbejder videre på pgnfs. pgnfs har potentiale for at blive gjort ligeså hurtig hvis ikke hurtigere end eksisterende ikke-offentlige implementationer. Jeg vil estimere at et par måneders fuld tid arbejde vil kunne gøre den fuldt konkurrence-dygtig.

90 Fremtiden for pgnfs Der har allerede været en del henvendelser efter offentliggørelse og der er flere grupper rundt om i verdenen der arbejder videre på pgnfs. pgnfs har potentiale for at blive gjort ligeså hurtig hvis ikke hurtigere end eksisterende ikke-offentlige implementationer. Jeg vil estimere at et par måneders fuld tid arbejde vil kunne gøre den fuldt konkurrence-dygtig.

91 Optimeringer af pgnfs Implementering af Montgomery s algoritme for kvadratrods trinet. Implementering af Block Lanczos metode til at løse det linære ligningssystem. Ændre repræsentationen af data mellem trinene for hurtigere I/O. En kombination af forskellige sigter under sigtningen. Filtrering af relationer og faktorbaser efter sigtningen for at opnå et mindre ligningssystem.

92 Optimeringer af pgnfs Implementering af Montgomery s algoritme for kvadratrods trinet. Implementering af Block Lanczos metode til at løse det linære ligningssystem. Ændre repræsentationen af data mellem trinene for hurtigere I/O. En kombination af forskellige sigter under sigtningen. Filtrering af relationer og faktorbaser efter sigtningen for at opnå et mindre ligningssystem.

93 Optimeringer af pgnfs Implementering af Montgomery s algoritme for kvadratrods trinet. Implementering af Block Lanczos metode til at løse det linære ligningssystem. Ændre repræsentationen af data mellem trinene for hurtigere I/O. En kombination af forskellige sigter under sigtningen. Filtrering af relationer og faktorbaser efter sigtningen for at opnå et mindre ligningssystem.

94 Optimeringer af pgnfs Implementering af Montgomery s algoritme for kvadratrods trinet. Implementering af Block Lanczos metode til at løse det linære ligningssystem. Ændre repræsentationen af data mellem trinene for hurtigere I/O. En kombination af forskellige sigter under sigtningen. Filtrering af relationer og faktorbaser efter sigtningen for at opnå et mindre ligningssystem.

95 Optimeringer af pgnfs Implementering af Montgomery s algoritme for kvadratrods trinet. Implementering af Block Lanczos metode til at løse det linære ligningssystem. Ændre repræsentationen af data mellem trinene for hurtigere I/O. En kombination af forskellige sigter under sigtningen. Filtrering af relationer og faktorbaser efter sigtningen for at opnå et mindre ligningssystem.

96 Outline 1 Faktorisering for dummies Primtal og aritmetikkens fundamentalsætning Lille øvelse 2 Hvorfor er det interessant? RSA 3 Metoder 4 General Number Field Sieve Konceptet Algoritmen pgnfs 5 Status

97 Status i faktoriseringsverdenen 2 uger efter min aflevering blev den hidtidige rekord slået, da RSA-640 blev faktoriseret af de samme mennesker som havde faktoriseret de 2 hidtil største tal. Overraskende var den samlede køretid på 5 måneder, som var mindre end forventet. Endnu mere overraskende var de ressourcer der var brugt!!!

98 Status i faktoriseringsverdenen 2 uger efter min aflevering blev den hidtidige rekord slået, da RSA-640 blev faktoriseret af de samme mennesker som havde faktoriseret de 2 hidtil største tal. Overraskende var den samlede køretid på 5 måneder, som var mindre end forventet. Endnu mere overraskende var de ressourcer der var brugt!!!

99 Status i faktoriseringsverdenen 2 uger efter min aflevering blev den hidtidige rekord slået, da RSA-640 blev faktoriseret af de samme mennesker som havde faktoriseret de 2 hidtil største tal. Overraskende var den samlede køretid på 5 måneder, som var mindre end forventet. Endnu mere overraskende var de ressourcer der var brugt!!!

100 RSA-640 Der vides ikke noget om valget af polynomium. Den rationelle faktorbase havde en grænse på og den algebraiske Sigtningen tog 3 måneder på 80 Opteron 2.2 GHz maskiner. Det linære ligningssystem havde dimensioner og tog måned på et cluster med 80 Opteron 2.2 GHz. Kvadratroden ser ud til at være fundet på 2-3 uger.

101 RSA-640 Der vides ikke noget om valget af polynomium. Den rationelle faktorbase havde en grænse på og den algebraiske Sigtningen tog 3 måneder på 80 Opteron 2.2 GHz maskiner. Det linære ligningssystem havde dimensioner og tog måned på et cluster med 80 Opteron 2.2 GHz. Kvadratroden ser ud til at være fundet på 2-3 uger.

102 RSA-640 Der vides ikke noget om valget af polynomium. Den rationelle faktorbase havde en grænse på og den algebraiske Sigtningen tog 3 måneder på 80 Opteron 2.2 GHz maskiner. Det linære ligningssystem havde dimensioner og tog måned på et cluster med 80 Opteron 2.2 GHz. Kvadratroden ser ud til at være fundet på 2-3 uger.

103 RSA-640 Der vides ikke noget om valget af polynomium. Den rationelle faktorbase havde en grænse på og den algebraiske Sigtningen tog 3 måneder på 80 Opteron 2.2 GHz maskiner. Det linære ligningssystem havde dimensioner og tog måned på et cluster med 80 Opteron 2.2 GHz. Kvadratroden ser ud til at være fundet på 2-3 uger.

104 RSA-640 Der vides ikke noget om valget af polynomium. Den rationelle faktorbase havde en grænse på og den algebraiske Sigtningen tog 3 måneder på 80 Opteron 2.2 GHz maskiner. Det linære ligningssystem havde dimensioner og tog måned på et cluster med 80 Opteron 2.2 GHz. Kvadratroden ser ud til at være fundet på 2-3 uger.

105 Sikkerhed af RSA De relativ små ressourcer der blev brugt til RSA-640 kom bag på de fleste og har rystet en del, 1024 bit tal der før lå langt ude i fremtiden ser ud til at være indenfor rækkevidde indenfor få år bit nøgler har hidtil været betragtet som sikre, men jeg vil mene man efter faktoriseringen af RSA-640 skal ændre det til at nøgler minimum skal være 2048 bit for at give en vis sikkerhed. RSA-704 eller RSA-768 kunne være mulige kandidater for en optimeret pgnfs og ved at gøre brug af NorduGrid.

106 Sikkerhed af RSA De relativ små ressourcer der blev brugt til RSA-640 kom bag på de fleste og har rystet en del, 1024 bit tal der før lå langt ude i fremtiden ser ud til at være indenfor rækkevidde indenfor få år bit nøgler har hidtil været betragtet som sikre, men jeg vil mene man efter faktoriseringen af RSA-640 skal ændre det til at nøgler minimum skal være 2048 bit for at give en vis sikkerhed. RSA-704 eller RSA-768 kunne være mulige kandidater for en optimeret pgnfs og ved at gøre brug af NorduGrid.

107 Sikkerhed af RSA De relativ små ressourcer der blev brugt til RSA-640 kom bag på de fleste og har rystet en del, 1024 bit tal der før lå langt ude i fremtiden ser ud til at være indenfor rækkevidde indenfor få år bit nøgler har hidtil været betragtet som sikre, men jeg vil mene man efter faktoriseringen af RSA-640 skal ændre det til at nøgler minimum skal være 2048 bit for at give en vis sikkerhed. RSA-704 eller RSA-768 kunne være mulige kandidater for en optimeret pgnfs og ved at gøre brug af NorduGrid.

108 Det var det... Så er der 2 5 minutters pause!!

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

Eulers sætning Matematikken bag kryptering og signering v.hj.a. RSA Et offentlig nøgle krypteringssytem Eulers sætning Matematikken bag kryptering og signering v.hj.a. RSA Et offentlig nøgle krypteringssytem Johan P. Hansen 18. april 2013 Indhold 1 Indbyrdes primiske hele tal 1 2 Regning med rester 3 3 Kryptering

Læs mere

Matematikken bag kryptering og signering RSA

Matematikken bag kryptering og signering RSA 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

Læs mere

Projekt 7.9 Euklids algoritme, primtal og primiske tal

Projekt 7.9 Euklids algoritme, primtal og primiske tal Projekter: Kapitel 7 Projekt 79 Euklids algoritme, primtal og primiske tal Projekt 79 Euklids algoritme, primtal og primiske tal Projektet giver et kig ind i metodee i modee talteori Det kan udbygges med

Læs mere

Matematikken bag kryptering og signering NemID RSA Foredrag i UNF

Matematikken bag kryptering og signering NemID RSA Foredrag i UNF Matematikken bag kryptering og signering NemID RSA Foredrag i UNF Disposition 1 PKI - Public Key Infrastructure Symmetrisk kryptografi Asymmetrisk kryptografi 2 Regning med rester Indbyrdes primiske tal

Læs mere

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

KRYPTOLOGI ( Litt. Peter Landrock & Knud Nissen : Kryptologi) KRYPTOLOGI ( Litt. Peter Landrock & Knud Nissen : Kryptologi) 1. Klassiske krypteringsmetoder 1.1 Terminologi klartekst kryptotekst kryptering dekryptering 1.2 Monoalfabetiske kryptosystemer 1.3 Additive

Læs mere

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

Talteori. Teori og problemløsning. Indhold. Talteori - Teori og problemløsning, august 2013, Kirsten Rosenkilde. Indhold 1 Delelighed, primtal og primfaktoropløsning Omskrivning vha. kvadratsætninger 4 3 Antal divisorer 6 4 Største fælles divisor og Euklids algoritme 7 5 Restklasser 9 6 Restklasseregning og kvadratiske

Læs mere

Af Marc Skov Madsen PhD-studerende Aarhus Universitet email: marc@imf.au.dk

Af Marc Skov Madsen PhD-studerende Aarhus Universitet email: marc@imf.au.dk Af Marc Skov Madsen PhD-studerende Aarhus Universitet email: marc@imf.au.dk 1 Besøgstjenesten Jeg vil gerne bruge lidt spalteplads til at reklamere for besøgstjenesten ved Institut for Matematiske Fag

Læs mere

Matematikken bag kryptering og signering RSA

Matematikken bag kryptering og signering RSA 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

Læs mere

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 Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet 24. august 2009 1 Kryptering med offentlige nøgler Indtil midt i 1970 erne troede næsten alle, der beskæftigede

Læs mere

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

Polynomier. Indhold. Georg Mohr-Konkurrencen. 1 Polynomier 2. 2 Polynomiumsdivision 4. 3 Algebraens fundamentalsætning og rødder 6 Indhold 1 Polynomier 2 Polynomier 2 Polynomiumsdivision 4 3 Algebraens fundamentalsætning og rødder 6 4 Koefficienter 8 5 Polynomier med heltallige koefficienter 9 6 Mere om polynomier med heltallige koefficienter

Læs mere

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

Talteori. Teori og problemløsning. Indhold. Talteori - Teori og problemløsning, marts 2014, Kirsten Rosenkilde. Indhold 1 Delelighed, primtal og primfaktoropløsning Omskrivning vha. kvadratsætninger 4 3 Antal divisorer 6 4 Største fælles divisor og Euklids algoritme 7 5 Restklasser 9 6 Restklasseregning og kvadratiske

Læs mere

Affine - et krypteringssystem

Affine - et krypteringssystem Affine - et krypteringssystem Matematik, når det er bedst Det Affine Krypteringssystem (Affine Cipher) Det Affine Krypteringssystem er en symmetrisk monoalfabetisk substitutionskode, der er baseret på

Læs mere

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 Note omkring RSA kryptering. Gert Læssøe Mikkelsen Datalogisk institut Aarhus Universitet 3. april 2009 1 Kryptering med offentlige nøgler Indtil midt i 1970 erne troede næsten alle, der beskæftigede sig

Læs mere

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

6. december. Motivation. Internettet: Login til DIKU (med password) Handel med dankort Fortrolig besked Digital signatur 6. december Talteoretiske algoritmer, RSA kryptosystemet, Primtalstest Motivation Definitioner Euclids algoritme Udvidet Euclid RSA kryptosystemet Randominserede algoritmer Rabin-Miller primtalstest Svært

Læs mere

Køreplan Matematik 1 - FORÅR 2005

Køreplan Matematik 1 - FORÅR 2005 Lineær algebra modulo n og kryptologi Køreplan 01005 Matematik 1 - FORÅR 2005 1 Introduktion Kryptologi er en ældgammel disciplin, som går flere tusinde år tilbage i tiden. Idag omfatter disciplinen mange

Læs mere

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

t a l e n t c a m p d k Talteori Anne Ryelund Anders Friis 16. juli 2014 Slide 1/36 Slide 1/36 sfaktorisering Indhold 1 2 sfaktorisering 3 4 5 Slide 2/36 sfaktorisering Indhold 1 2 sfaktorisering 3 4 5 Slide 3/36 1) Hvad er Taleteori? sfaktorisering Slide 4/36 sfaktorisering 1) Hvad er

Læs mere

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

sætning: Hvis a og b er heltal da findes heltal s og t så gcd(a, b) = sa + tb. sætning: Hvis a og b er heltal da findes heltal s og t så gcd(a, b) = sa + tb. lemma: Hvis a, b og c er heltal så gcd(a, b) = 1 og a bc da vil a c. lemma: Hvis p er et primtal og p a 1 a 2 a n hvor hvert

Læs mere

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

Camp om Kryptering. Datasikkerhed, RSA kryptering og faktorisering. Rasmus Lauritsen. August 27, Camp om Kryptering Datasikkerhed, RSA kryptering og faktorisering Rasmus Lauritsen August 27, 2013 http://users-cs.au.dk/rwl/2013/sciencecamp Indhold Datasikkerhed RSA Kryptering Faktorisering Anvendelse

Læs mere

Undersøgende aktivitet om primtal. Af Petur Birgir Petersen

Undersøgende aktivitet om primtal. Af Petur Birgir Petersen Undersøgende aktivitet om primtal. Af Petur Birgir Petersen Definition: Et primtal er et naturligt tal større end 1, som kun 1 og tallet selv går op i. Eksempel 1: Tallet 1 ikke et primtal fordi det ikke

Læs mere

Konfidentialitet og kryptografi 31. januar, Jakob I. Pagter

Konfidentialitet og kryptografi 31. januar, Jakob I. Pagter Konfidentialitet og kryptografi 31. januar, 2009 Jakob I. Pagter Oversigt Kryptografi autenticitet vs. fortrolighed ubetinget vs. beregningsmæssig sikkerhed Secret-key fortrolighed Public-key fortrolighed

Læs mere

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

MM05 - Kogt ned. kokken. Jacob Aae Mikkelsen. 23. januar 2007 MM05 - Kogt ned Jacob Aae Mikkelsen kokken 23. januar 2007 1 INDHOLD 1 ARITMETIK I Z Indhold 1 Aritmetik i Z 2 2 Kongruens i Z 4 3 Ringe 6 4 Aritmetik i F[x] 9 5 Kongruens i F[x] og kongruensklasse aritmetik

Læs mere

RSA-kryptosystemet. RSA-kryptosystemet Erik Vestergaard

RSA-kryptosystemet. RSA-kryptosystemet Erik Vestergaard RSA-kryptosystemet RSA-kryptosystemet Erik Vestergaard Erik Vestergaard www.matematikfysik.dk Erik Vestergaard, 007. Billeder: Forside: istock.com/demo10 Erik Vestergaard www.matematikfysik.dk 3 1. Indledning

Læs mere

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

1 Sætninger om hovedidealområder (PID) og faktorielle 1 Sætninger om hovedidealområder (PID) og faktorielle ringe (UFD) 1. Introducér ideal, hovedideal 2. I kommutativt integritetsområde R introduceres primelement, irreducibelt element, association 3. Begrebet

Læs mere

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

Polynomium Et polynomium. Nulpolynomiet Nulpolynomiet er funktionen der er konstant nul, dvs. P(x) = 0, og dets grad sættes per definition til. Polynomier Polynomier Polynomium Et polynomium P(x) = a n x n + a n x n +... + a x + a 0 Disse noter giver en introduktion til polynomier, centrale sætninger om polynomiumsdivision, rødder og koefficienter

Læs mere

Opgave 1 Regning med rest

Opgave 1 Regning med rest Den digitale signatur - anvendt talteori og kryptologi Opgave 1 Regning med rest Den positive rest, man får, når et helt tal a divideres med et naturligt tal n, betegnes rest(a,n ) Hvis r = rest(a,n) kan

Læs mere

Kryptologi og RSA. Jonas Lindstrøm Jensen (jonas@imf.au.dk)

Kryptologi og RSA. Jonas Lindstrøm Jensen (jonas@imf.au.dk) Kryptologi og RSA Jonas Lindstrøm Jensen (jonas@imf.au.dk) 1 Introduktion Der har formodentlig eksisteret kryptologi lige så længe, som vi har haft et sprog. Ønsket om at kunne sende beskeder, som uvedkommende

Læs mere

Noter om polynomier, Kirsten Rosenkilde, Marts Polynomier

Noter om polynomier, Kirsten Rosenkilde, Marts Polynomier Noter om polynomier, Kirsten Rosenkilde, Marts 2006 1 Polynomier Disse noter giver en kort introduktion til polynomier, og de fleste sætninger nævnes uden bevis. Undervejs er der forholdsvis nemme opgaver,

Læs mere

Noter om primtal. Erik Olsen

Noter om primtal. Erik Olsen Noter om primtal Erik Olsen 1 Notation og indledende bemærkninger Vi lader betegne de hele tal, og Z = {... 3, 2, 1, 0, 1, 2, 3...} N = {0, 1, 2, 3...} Z være de positive hele tal. Vi minder her om et

Læs mere

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

Primtalsfaktorisering - nogle nye resultater og anvendelser Regionalmøde Haderslev, 19. november 2003 Primtalsfaktorisering - nogle nye resultater og anvendelser Regionalmøde Haderslev, 19. november 2003 http://home.imf.au.dk/matjph/haderslev.pdf Johan P. Hansen, matjph@imf.au.dk Matematisk Institut, Aarhus

Læs mere

Projekt 3.5 faktorisering af polynomier

Projekt 3.5 faktorisering af polynomier Projekt 3.5 faktorisering af polynomier Hvilke hele tal går op i tallet 60? Det kan vi få svar på ved at skrive 60 som et produkt af sine primtal: 60 3 5 Divisorerne i 60 er lige præcis de tal, der kan

Læs mere

Talteori: Euklids algoritmer, modulær aritmetik

Talteori: Euklids algoritmer, modulær aritmetik Talteori: r, modulær aritmetik Videregående algoritmik Cormen et al. 31.1 31.4 Tirsdag den 6. januar 2009 1 1 2 Restklasseringene modulo n Grupper og undergrupper Modulær division Divisorer De hele tal

Læs mere

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

Primtalsfaktorisering - nogle nye resultater og anvendelser Regionalmøde Haderslev, 19. november 2003 Primtalsfaktorisering - nogle nye resultater og anvendelser Regionalmøde Haderslev, 19. november 2003 http://home.imf.au.dk/matjph/haderslev.pdf Johan P. Hansen, matjph@imf.au.dk Matematisk Institut, Aarhus

Læs mere

Primtal. Frank Nasser. 20. april 2011

Primtal. Frank Nasser. 20. april 2011 Primtal Frank Nasser 20. april 2011 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk: Dette er en arkiveret

Læs mere

HVOR SIKKER ER ASSYMETRISK KRYPTERING? Nat-Bas Hus 13.2 1 semesters projekt, efterår 2004 Gruppe 12

HVOR SIKKER ER ASSYMETRISK KRYPTERING? Nat-Bas Hus 13.2 1 semesters projekt, efterår 2004 Gruppe 12 HVOR SIKKER ER ASSYMETRISK KRYPTERING? Nat-Bas Hus 13.2 1 semesters projekt, efterår 2004 Gruppe 12 Udarbejdet af: Vejleder: Tomas Rasmussen Mads Rosendahl. Abstract Dette projekt har til formål at undersøge

Læs mere

Fredag 12. januar David Pisinger

Fredag 12. januar David Pisinger Videregående Algoritmik, DIKU 2006/07 Fredag 2. januar David Pisinger Kryptering Spartanere (500 f.kr.) strimmelrulle viklet omkring cylinder Julius Cæsar: substituering af bogstaver [frekvensanalyse]

Læs mere

Ringe og Primfaktorisering

Ringe og Primfaktorisering Ringe og Primfaktorisering Michael Knudsen 16. marts 2005 1 Ringe Lad Z betegne mængden af de hele tal, Z = {..., 2, 1,0,1,2,...}. På Z har to regneoperationer, + (plus) og (gange), der til to hele tal

Læs mere

Kryptografi Anvendt Matematik

Kryptografi Anvendt Matematik 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

Læs mere

DesignMat Uge 1 Gensyn med forårets stof

DesignMat Uge 1 Gensyn med forårets stof DesignMat Uge 1 Gensyn med forårets stof Preben Alsholm Efterår 2010 1 Hovedpunkter fra forårets pensum 11 Taylorpolynomium Taylorpolynomium Det n te Taylorpolynomium for f med udviklingspunkt x 0 : P

Læs mere

Introduktion til Kryptologi. Mikkel Kamstrup Erlandsen

Introduktion til Kryptologi. Mikkel Kamstrup Erlandsen Introduktion til Kryptologi Mikkel Kamstrup Erlandsen Indhold 1 Introduktion 2 1.1 Om Kryptologi.......................... 2 1.2 Grundlæggende koncepter.................... 2 1.3 Bogstaver som tal........................

Læs mere

Kryptering kan vinde over kvante-computere

Kryptering kan vinde over kvante-computere Regional kursus i matematik i Aabenraa Institut for Matematik Aarhus Universitet matjph@math.au.dk 15. februar 2016 Oversigt 1 Offentlig-privat nøgle kryptering 2 3 4 Offentlig-privat nøgle kryptering

Læs mere

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

Divisorer. Introduktion. Divisorer og delelighed. Divisionsalgoritmen. Definition (Divisor) Lad d og n være hele tal. Hvis der findes et helt tal q så Introduktion 1) Hvad er Taleteori? Læren om de hele tal Primtal 2) Formalistisk struktur Definition Lemma Divisorer Definition (Divisor) Lad d og n være hele tal Hvis der findes et helt tal q så d q =

Læs mere

10. Nogle diofantiske ligninger.

10. Nogle diofantiske ligninger. Diofantiske ligninger 10.1 10. Nogle diofantiske ligninger. (10.1). I dette kapitel betragtes nogle diofantiske ligninger, specielt nogle af de ligninger, der kan behandles via kvadratiske talringe. Ligningerne

Læs mere

Jeg foretager her en kort indføring af polynomier over såvel de reelle som

Jeg foretager her en kort indføring af polynomier over såvel de reelle som Polynomier, rødder og division Sebastian Ørsted 20. november 2016 Jeg foretager her en kort indføring af polynomier over såvel de reelle som de komplekse tal, hvor fokus er på at opbygge værktøjer til

Læs mere

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

TALTEORI Wilsons sætning og Euler-Fermats sætning. Wilsons sætning og Euler-Fermats sætning, marts 2007, Kirsten Rosenkilde 1 TALTEORI Wilsons sætning og Euler-Fermats sætning. Disse noter forudsætter et grundlæggende kendskab til talteori som man kan

Læs mere

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

Vi indleder med at minde om at ( a) = a gælder i enhver gruppe. 0.1: Ringe 1. Definition: Ring En algebraisk struktur (R, +,, 0,, 1) kaldes en ring hvis (R, +,, 0) er en kommutativ gruppe og (R,, 1) er en monoide og hvis er såvel venstre som højredistributiv mht +.

Læs mere

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

RSA-KRYPTERING. Studieretningsprojekt. Blerim Cazimi. Frederiksberg Tekniske Gymnasium. Matematik A. Vejleder: Jonas Kromann Olden 14. DEC 2014 RSA-KRYPTERING Studieretningsprojekt Blerim Cazimi Frederiksberg Tekniske Gymnasium Matematik A Vejleder: Jonas Kromann Olden Informationsteknologi B Vejleder: Kenneth Hebel Indhold Indledning...

Læs mere

Talteoriopgaver Træningsophold ved Sorø Akademi 2007

Talteoriopgaver Træningsophold ved Sorø Akademi 2007 Talteoriopgaver Træningsophold ved Sorø Akademi 2007 18. juli 2007 Opgave 1. Vis at når a, b og c er positive heltal, er et sammensat tal. Løsningsforslag: a 4 + b 4 + 4c 4 + 4a 3 b + 4ab 3 + 6a 2 b 2

Læs mere

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

Matematik YY Foråret Kapitel 1. Grupper og restklasseringe. Matematik YY Foråret 2004 Elementær talteori Søren Jøndrup og Jørn Olsson Kapitel 1. Grupper og restklasseringe. Vi vil i første omgang betragte forskellige typer ligninger og søge efter heltalsløsninger

Læs mere

Grundlæggende køretidsanalyse af algoritmer

Grundlæggende køretidsanalyse af algoritmer Grundlæggende køretidsanalyse af algoritmer Algoritmers effektivitet Størrelse af inddata Forskellige mål for køretid Store -notationen Klassiske effektivitetsklasser Martin Zachariasen DIKU 1 Algoritmers

Læs mere

Diskrete Matematiske Metoder. Jesper Lützen

Diskrete Matematiske Metoder. Jesper Lützen Diskrete Matematiske Metoder Jesper Lützen Juni 2013 ii Indhold Introduktion. ix 0.1 Den aksiomatisk-deduktive metode................. ix 0.2 Diskret matematik; hvad er det?.................. x 1 Tal,

Læs mere

Indhold. 1 Indledning 2 1.1 Baggrund... 2

Indhold. 1 Indledning 2 1.1 Baggrund... 2 Indhold 1 Indledning 2 1.1 Baggrund.................................. 2 2 Elliptisk kurve 3 2.1 Gruppeoperationen på E.......................... 4 2.1.1 sjove punkter på E........................ 8 2.2

Læs mere

6. RSA, og andre public key systemer.

6. RSA, og andre public key systemer. RSA 6.1 6. RSA, og andre public key systemer. (6.1). A skal sende en meddelelse til B. Denne situation forekommer naturligvis utallige gange i vores dagligdag: vi kommunikerer, vi signalerer, vi meddeler

Læs mere

Algebra. Dennis Pipenbring, 10. februar 2012. matx.dk

Algebra. Dennis Pipenbring, 10. februar 2012. matx.dk matx.dk Algebra Dennis Pipenbring, 10. februar 2012 nøgleord andengradsligning, komplekse tal, ligningsløsning, ligningssystemer, nulreglen, reducering Indhold 1 Forord 4 2 Indledning 5 3 De grundlæggende

Læs mere

Hyperelliptisk kurve kryptografi

Hyperelliptisk kurve kryptografi Christian Robenhagen Ravnshøj NKS November 2007 Elliptiske kurver Gruppelov på elliptisk kurve R P Q P Q R = 0. Elliptiske kurver Elliptisk kurve kryptografi Gruppelov giver krypto baseret på elliptisk

Læs mere

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

Algebra med Bea. Bea Kaae Smit. nøgleord andengradsligning, komplekse tal, ligningsløsning, ligningssystemer, nulreglen, reducering Algebra med Bea Bea Kaae Smit nøgleord andengradsligning, komplekse tal, ligningsløsning, ligningssystemer, nulreglen, reducering Indhold 1 Forord 4 2 Indledning 5 3 De grundlæggende regler 7 3.1 Tal..........................

Læs mere

RSA Kryptosystemet. Kryptologi ved Datalogisk Institut, Aarhus Universitet

RSA Kryptosystemet. Kryptologi ved Datalogisk Institut, Aarhus Universitet RSA Kryptosystemet Kryptologi ved Datalogisk Institut, Aarhus Universitet 1 Kryptering med RSA Her følger først en kort opridsning af RSA kryptosystemet, som vi senere skal bruge til at lave digitale signaturer.

Læs mere

DesignMat Den komplekse eksponentialfunktion og polynomier

DesignMat Den komplekse eksponentialfunktion og polynomier DesignMat Den komplekse eksponentialfunktion og polynomier Preben Alsholm Uge 8 Forår 010 1 Den komplekse eksponentialfunktion 1.1 Definitionen Definitionen Den velkendte eksponentialfunktion x e x vil

Læs mere

Minilex Mat 2AL. .. Henrik Dahl hdahl@tdc-broadband.dḳ. Mangler 3.10-3.16

Minilex Mat 2AL. .. Henrik Dahl hdahl@tdc-broadband.dḳ. Mangler 3.10-3.16 Minilex Mat 2AL.. Henrik Dahl hdahl@tdc-broadband.dḳ.. Mangler 3.10-3.16 Resumé ADVARSEL - dette er et total underground-dokument!. Det er livsfarligt at bruge ukritisk. Der er næsten sikkert graverende

Læs mere

Fermat, ABC og alt det jazz...

Fermat, ABC og alt det jazz... Fermat, ABC og alt det jazz... Matematiklærerdag 2013 Simon Kristensen Institut for Matematik Aarhus Universitet 22. marts 2013 Oversigt 1 Hvad er ABC-formodningen? Oversigt 1 Hvad er ABC-formodningen?

Læs mere

2. Gruppen af primiske restklasser.

2. Gruppen af primiske restklasser. Primiske restklasser 2.1 2. Gruppen af primiske restklasser. (2.1) Setup. I det følgende betegner n et naturligt tal større end 1. Den additive gruppe af restklasser modulo n betegnes Z/n, og den multiplikative

Læs mere

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

Kursusgang 3: Autencificering & asymmetrisk kryptering. Krav til autentificering. Kryptering som værktøj ved autentificering. Krav til autentificering Vi kan acceptere, at modtager (og måske afsender) skal bruge hemmelig nøgle Krav til metode: må ikke kunne brydes på anden måde end ved udtømmende søgning længde af nøgler/hemmeligheder/hashkoder

Læs mere

Asymptotisk analyse af algoritmers køretider

Asymptotisk analyse af algoritmers køretider Asymptotisk analyse af algoritmers køretider Analyse af køretid Recall: Vi ønsker at vurdere (analysere) algoritmer på forhånd inden vi bruger lang tid på at implementere dem. De to primære spørgsmål:

Læs mere

Chapter 3. Modulpakke 3: Egenværdier. 3.1 Indledning

Chapter 3. Modulpakke 3: Egenværdier. 3.1 Indledning Chapter 3 Modulpakke 3: Egenværdier 3.1 Indledning En vektor v har som bekendt både størrelse og retning. Hvis man ganger vektoren fra højre på en kvadratisk matrix A bliver resultatet en ny vektor. Hvis

Læs mere

Kursusgang 2: Symmetrisk kryptering (fortsat). Asymmetrisk kryptering. DES' vigtigste sikkerhedsmæssige egenskaber

Kursusgang 2: Symmetrisk kryptering (fortsat). Asymmetrisk kryptering. DES' vigtigste sikkerhedsmæssige egenskaber Kursusgang 2: Symmetrisk kryptering (fortsat). Asymmetrisk kryptering. DES' vigtigste sikkerhedsmæssige egenskaber 1. DES (uddybning) 2. Rijndael 3. Asymmetrisk kryptering 4. RSA 5. Talteori til Rijndael

Læs mere

Hvad er matematik? C, i-bog ISBN 978 87 7066 499 8. 2011 L&R Uddannelse A/S Vognmagergade 11 DK-1148 København K Tlf: 43503030 Email: info@lru.

Hvad er matematik? C, i-bog ISBN 978 87 7066 499 8. 2011 L&R Uddannelse A/S Vognmagergade 11 DK-1148 København K Tlf: 43503030 Email: info@lru. 1.1 Introduktion: Euklids algoritme er berømt af mange årsager: Det er en af de første effektive algoritmer man kender i matematikhistorien og den er uløseligt forbundet med problemerne omkring de inkommensurable

Læs mere

Martin Geisler Mersenne primtal. Marin Mersenne

Martin Geisler Mersenne primtal. Marin Mersenne Martin Geisler Mersenne primtal Marin Mersenne 3. årsopgave Aalborghus Gymnasium 22. 29. januar 2001 Forord Denne opgave skal handle om Mersenne primtal, men kommer også ind på meget andet. Da de forskellige

Læs mere

DiMS 2010 Uge 7,

DiMS 2010 Uge 7, DiMS 2010 Uge 7, 18.10.10 24.10.10 Læsevejledning Emnerne i denne uge er polynomier og komplekse tal. De kan ikke siges at henhøre under diskret matematik som sådan og er ikke dækket af KBR, så vi skal

Læs mere

Introduktion til Kryptologi

Introduktion til Kryptologi Introduktion til Kryptologi September 22, 2014 Kryptologi Datasikkerhed Sikker kommunikation over usikre kanaler Kryptografi: Bygge systemer Kryptoanalyse: Bryde systemer Avancerede Protokoller Data er

Læs mere

Projekt 3.4 Fjerdegradspolynomiets symmetri

Projekt 3.4 Fjerdegradspolynomiets symmetri Hvad er matematik? Projekt 3. Fjerdegradspolynomiets symmetri Indledning: Symmetri for polynomier I kapitel har vi set at grafen for et andengradspolynomium p ( x) = a x + x + c altid er symmetrisk omkring

Læs mere

qwertyuiopåasdfghjklæøzxcvbnmqw ertyuiopåasdfghjklæøzxcvbnmqwert yuiopåasdfghjklæøzxcvbnmqwertyui opåasdfghjklæøzxcvbnmqwertyuiopå

qwertyuiopåasdfghjklæøzxcvbnmqw ertyuiopåasdfghjklæøzxcvbnmqwert yuiopåasdfghjklæøzxcvbnmqwertyui opåasdfghjklæøzxcvbnmqwertyuiopå qwertyuiopåasdfghjklæøzxcvbnmqw ertyuiopåasdfghjklæøzxcvbnmqwert yuiopåasdfghjklæøzxcvbnmqwertyui opåasdfghjklæøzxcvbnmqwertyuiopå Polynomier Kort gennemgang af polynomier og deres asdfghjklæøzxcvbnmqwertyuiopåasd

Læs mere

π er irrationel Frank Nasser 10. december 2011

π er irrationel Frank Nasser 10. december 2011 π er irrationel Frank Nasser 10. december 2011 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold 1 Introduktion

Læs mere

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

Med udgangspunkt i FIPS-197-standarden AES, baseret på Rijndael-algoritmen. Af Mathias Vestergaard Med udgangspunkt i FIPS-97-standarden AES, baseret på Rijndael-algoritmen Af Mathias Vestergaard F O R O R D " " " # # " $ # % '(%) '(%) %* %* +,-.), ) ( " $ 0 2 2 + 3 $ ' {0000} $, AA ) 4555 67 +8 9 :;

Læs mere

Matematiske metoder - Opgavesæt

Matematiske metoder - Opgavesæt Matematiske metoder - Opgavesæt Anders Friis, Anne Ryelund, Mads Friis, Signe Baggesen 24. maj 208 Beskrivelse af opgavesættet I dette opgavesæt vil du støde på opgaver, der er markeret med enten 0, eller

Læs mere

qwertyuiopåasdfghjklæøzxcvbnmqw ertyuiopåasdfghjklæøzxcvbnmqwert yuiopåasdfghjklæøzxcvbnmqwertyui Polynomier opåasdfghjklæøzxcvbnmqwertyuiopå

qwertyuiopåasdfghjklæøzxcvbnmqw ertyuiopåasdfghjklæøzxcvbnmqwert yuiopåasdfghjklæøzxcvbnmqwertyui Polynomier opåasdfghjklæøzxcvbnmqwertyuiopå qwertyuiopåasdfghjklæøzxcvbnmqw ertyuiopåasdfghjklæøzxcvbnmqwert yuiopåasdfghjklæøzxcvbnmqwertyui Polynomier opåasdfghjklæøzxcvbnmqwertyuiopå Kort gennemgang af polynomier og deres egenskaber. asdfghjklæøzxcvbnmqwertyuiopåasd

Læs mere

Algebra2 Obligatorisk opgave

Algebra2 Obligatorisk opgave Algebra2 Obligatorisk opgave Anders Bongo Bjerg Pedersen, 070183 Eksamensnummer 45 23. maj 2005 Opgave 1 Vi har: σ = σ 6 5 = (σ 3 ) 2 (σ 5 ) 1 = (1 3 5 2 4)(8 7 6). b) Ordnen af en p-cykel er (jfr. 2.18)

Læs mere

Polynomier med sælsomme egenskaber modulo p Bo Vagner Hansen

Polynomier med sælsomme egenskaber modulo p Bo Vagner Hansen Artikel 17 Polynomier med sælsomme egenskaber modulo p Bo Vagner Hansen Reduceres koefficienterne i et normeret heltalspolynomium modulo et primtal, opstår et nyt polynomium over restklasseringen. Både

Læs mere

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

TALTEORI Wilsons sætning og Euler-Fermats sætning. Wilsons sætning og Euler-Fermats sætning, oktober 2008, Kirsten Rosenkilde 1 TALTEORI Wilsons sætning og Euler-Fermats sætning. Disse noter forudsætter et grundlæggende kendskab til talteori som man kan

Læs mere

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.

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. Konkrete funktioner Potenser Som udgangspunkt er brugen af potenser blot en forkortelse for at gange et tal med sig selv et antal gange. Hvis a Rskriver vi a 2 for a a a 3 for a a a a 4 for a a a a (1).

Læs mere

Polynomier af én variabel

Polynomier af én variabel enote 30 1 enote 30 Polynomier af én variabel I denne enote introduceres komplekse polynomier af én variabel. Der forudsættes elementært kendskab til komplekse tal, og kendskab til reelle polynomier af

Læs mere

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

Tip til 1. runde af Georg Mohr-Konkurrencen - Talteori, Kirsten Rosenkilde. Opgave 1. Hvor mange af følgende fem tal er delelige med 9? Tip til 1. runde af Talteori Talteori handler om de hele tal, og særligt om hvornår et helt tal er deleligt med et andet. Derfor spiller primtallene en helt central rolle i talteori, hvilket vi skal se

Læs mere

Komplekse tal. Mikkel Stouby Petersen 27. februar 2013

Komplekse tal. Mikkel Stouby Petersen 27. februar 2013 Komplekse tal Mikkel Stouby Petersen 27. februar 2013 1 Motivationen Historien om de komplekse tal er i virkeligheden historien om at fjerne forhindringerne og gøre det umulige muligt. For at se det, vil

Læs mere

Datastrukturer (recap)

Datastrukturer (recap) Dictionaries Datastrukturer (recap) Data: Datastruktur = data + operationer herpå En ID (nøgle) + associeret data. Operationer: Datastrukturens egenskaber udgøres af de tilbudte operationer (API for adgang

Læs mere

TALTEORI Primfaktoropløsning og divisorer.

TALTEORI Primfaktoropløsning og divisorer. Primfaktoropløsning og divisorer, oktober 2008, Kirsten Rosenkilde 1 TALTEORI Primfaktoropløsning og divisorer. Disse noter forudsætter et grundlæggende kendskab til talteori som man kan få i Marianne

Læs mere

Projekt 3.1 Fjerdegradspolynomiets symmetri

Projekt 3.1 Fjerdegradspolynomiets symmetri Projekt 3.1 Fjerdegradspolynomiets symmetri I kapitel 3 har vi set at grafen for et andengradspolynomiet p x a x x c () altid er symmetrisk omkring den lodrette akse x. a Tilsvarende er grafen for tredjegradspolynomiet

Læs mere

P vs. NP. Niels Grønbæk Matematisk Institut Københavns Universitet 3. feb. 2012

P vs. NP. Niels Grønbæk Matematisk Institut Københavns Universitet 3. feb. 2012 P vs. NP Niels Grønbæk Matematisk Institut Københavns Universitet 3. feb. 2012 Den handelsrejsendes problem Kan det lade sig gøre at besøge n byer forbundet ved et vejnet, G, inden for budget, B? Hvad

Læs mere

Projekt 0.6 RSA kryptering

Projekt 0.6 RSA kryptering Projekt 0.6 RSA kryptering 1. Introduktion. Nøgler til kryptering Alle former for kryptografi prøver at løse følgende problem: En afsender, A ønsker at sende en mdelelse til en modtager, M, såles at den

Læs mere

Skriftlig Eksamen Diskret Matematik (DM528)

Skriftlig Eksamen Diskret Matematik (DM528) Skriftlig Eksamen Diskret Matematik (DM528) Institut for Matematik & Datalogi Syddansk Universitet Tirsdag den 20 Januar 2009, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger, notater etc.) samt brug

Læs mere

Tilsvarende har vbi i kapitel 3 set, at grafen for tredjegradspolynomiet

Tilsvarende har vbi i kapitel 3 set, at grafen for tredjegradspolynomiet Projekt 3 Fjerdegradspolynomiets symmetri Indledning: Symmetri for polynomier I kapitel har vi set at grafen for et andengradspolynomiet altid er symmetrisk omkring den lodrette akse x a p x a x x c ()

Læs mere

DesignMat Uge 1 Repetition af forårets stof

DesignMat Uge 1 Repetition af forårets stof DesignMat Uge 1 Repetition af forårets stof Preben Alsholm Efterår 008 01 Lineært ligningssystem Lineært ligningssystem Et lineært ligningssystem: a 11 x 1 + a 1 x + + a 1n x n = b 1 a 1 x 1 + a x + +

Læs mere

Komplekse tal og polynomier

Komplekse tal og polynomier Komplekse tal og polynomier John Olsen 1 Indledning Dette sæt noter er forelæsningsnoter til foredraget Komplekse tal, polynomier og legemsudvidelser. Noterne er beregnet til at blive brugt sammen med

Læs mere

MATEMATIK B. Videooversigt

MATEMATIK B. Videooversigt MATEMATIK B Videooversigt 2. grads ligninger.... 2 CAS værktøj... 3 Differentialregning... 3 Eksamen... 5 Funktionsbegrebet... 5 Integralregning... 5 Statistik... 6 Vilkårlige trekanter... 7 71 videoer.

Læs mere

Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt.

Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt. Merging og hashing Mål Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt. Dette emne er et uddrag af kurset DM507 Algoritmer og datastrukturer (2. semester). Mål

Læs mere

Asymptotisk analyse af algoritmers køretider

Asymptotisk analyse af algoritmers køretider Asymptotisk analyse af algoritmers køretider Analyse af køretid (RAM-modellen vs. virkeligheden) public class Linear { public static void main(string[] args) { long time = System.currentTimeMillis(); long

Læs mere

Fejlkorligerende køder Fejlkorrigerende koder

Fejlkorligerende køder Fejlkorrigerende koder Fejlkorligerende køder Fejlkorrigerende koder Olav Geil Skal man sende en fødselsdagsgave til fætter Børge, så pakker man den godt ind i håb om, at kun indpakningen er beskadiget ved modtagelsen. Noget

Læs mere

Københavns Universitet, Det naturvidenskabelige Fakultet. Afleveringsopgave 3

Københavns Universitet, Det naturvidenskabelige Fakultet. Afleveringsopgave 3 Københavns Universitet, Det naturvidenskabelige Fakultet 1 Lineær Algebra (LinAlg) Afleveringsopgave 3 Eventuelle besvarelser laves i grupper af 2-3 personer og afleveres i to eksemplarer med 3 udfyldte

Læs mere

DIOFANTISKE LIGNINGER FERMATS SIDSTE SÆTNING

DIOFANTISKE LIGNINGER FERMATS SIDSTE SÆTNING DIOFANTISKE LIGNINGER FERMATS SIDSTE SÆTNING JOHAN P. HANSEN Resumé. Under den historiske indføring forklares, hvad der menes med en Diofantisk ligning. Der gøres rede for formulering af Fermats Store

Læs mere

Datastrukturer (recap)

Datastrukturer (recap) Dictionaries Datastrukturer (recap) Data: Datastruktur = data + operationer herpå En ID (nøgle) + associeret data. Operationer: Datastrukturens egenskaber udgøres af de tilbudte operationer (API for adgang

Læs mere

4. Snittets kædebrøksfremstilling og dets konvergenter

4. Snittets kædebrøksfremstilling og dets konvergenter Dette er den fjerde af fem artikler under den fælles overskrift Studier på grundlag af programmet SKALAGENERATOREN (forfatter: Jørgen Erichsen) 4. Snittets kædebrøksfremstilling og dets konvergenter Vi

Læs mere

TALTEORI Ligninger og det der ligner.

TALTEORI Ligninger og det der ligner. Ligninger og det der ligner, december 006, Kirsten Rosenkilde 1 TALTEORI Ligninger og det der ligner. Disse noter forudsætter et grundlæggende kendskab til talteori som man kan få i Marianne Terps og Peter

Læs mere

Primtal - hvor mange, hvordan og hvorfor?

Primtal - hvor mange, hvordan og hvorfor? Johan P. Hansen 1 1 Institut for Matematiske Fag, Aarhus Universitet Gult foredrag, EULERs Venner, oktober 2009 Disposition 1 EUKLIDs sætning. Der er uendelig mange primtal! EUKLIDs bevis Bevis baseret

Læs mere