Onderwerpen. Meer getallen. Basisbegrippen (herhaling) (2) Basisbegrippen (herhaling) Basisbegrippen. Priemfactoren

Hele tekst

(1)

Meer getallen

Nog steeds van belang voor Security

Engelbert Hubbers

Radboud Universiteit Nijmegen

10 september 2013

Wiskundige Structuren 10 september 2013 Meer getallen 1 / 38

Onderwerpen

Basisbegrippen Priemfactoren Delers en veelvouden

Euclides Modulorekenen

Optellen en vermenigvuldigen Delen

Stellingen

Kleine stelling van Fermat Chinese Reststelling

Wiskundige Structuren 10 september 2013 Meer getallen 2 / 38

Basisbegrippen (herhaling)

Definitie

Natuurlijke getallen N

Gehele getallen Z

Rationale getallen Q

n is oneven def= er bestaat een natuurlijk getal k waarvoor n = 2k + 1

n is deelbaar door m def= er bestaat een natuurlijk getal k waarvoor n = km

n is een veelvoud van m def= er bestaat een natuurlijk getal k waarvoor n = km

n is een priemgetal def= n ≥ 2 en de enige delers van n zijn 1 en n

Basisbegrippen (herhaling) (2)

Voorbeeld

666 is positief.

De opvolger van 666 is 667.

666 is even want 666 = 2 · 333.

666 is een drievoud want 666 = 3 · 222.

Is 666 deelbaar door 37? Ja, want 666 = 18 · 37.

Is 9 een deler van 666? Ja, want 666 = 74 · 9.

Is 667 een priemgetal? Nee, want 667 = 23 · 29.

Is 59 een priemfactor van 666? Nee, want 649 = 11 · 59 en 708 = 12 · 59, dus 59 is geen deler van 666 en dus zeker geen priemfactor.

(2)

Priemfactorontbinding

Stelling (Priemstelling)

Ieder natuurlijk getal n ≥ 2 kan geschreven worden als een product van priemgetallen.

Bewijs

Het bewijs gaat met inductie en wordt uitgesteld tot volgende

week. 2

Wiskundige Structuren 10 september 2013 Meer getallen 5 / 38

Priemfactorontbinding (2)

Vraag

Maar hoe bepaal je nu zo’n priemfactorontbinding?

Antwoord

Met een eenvoudig algoritme. . . Algoritme

1 is n zelf al priem, dan ben je klaar

2 zo niet, zij p dan de kleinste deler van n die ≥ 2 is: n = p · m

3 p is dan een priemgetal (hoezo?)

4 herhaal de stappen 1–3 met m

Wiskundige Structuren 10 september 2013 Meer getallen 6 / 38

Priemfactorontbinding (3)

Voorbeeld

Schrijf 9765 als product van priemgetallen.

1 9765 is duidelijk geen priemgetal. (Hoezo?)

2 De kleinste priemfactor van 9765 is 3 en 9765 = 3 · 3255.

3 3255 is duidelijk geen priemgetal.

4 De kleinste priemfactor van 3255 is 3 en 3255 = 3 · 1085.

5 1085 is duidelijk geen priemgetal.

6 De kleinste priemfactor van 1085 is 5 en 1085 = 5 · 217.

7 217 is geen priemgetal.

8 De kleinste priemfactor van 217 is 7 en 217 = 7 · 31.

9 31 is wel een priemgetal.

10 Dus de ontbinding van 9765 in priemfactoren is 3 · 3 · 5 · 7 · 31.

Delers en veelvouden

Definitie

Zij n, m ∈ N en m 6= 0.

n div m def= het grootste natuurlijke getal a waarvoor ma ≤ n Anders gezegd: mn naar beneden afgerond

n mod m def= n − m · (n div m)

Anders gezegd: de rest van n na deling door m Definitie

Zij n, m ∈ N en n 6= 0 en m 6= 0.

ggd(n, m) def= de grootste gemeenschappelijke deler van n en m

kgv(n, m) def= het kleinste positieve gemeenschappelijke veelvoud van n en m

(3)

Delers en veelvouden (2)

104 div 13 = 8

104 mod 13 = 0

ggd(104, 13) = 13

kgv(104, 13) = 104

223 div 7 = 31

223 mod 7 = 6

ggd(223, 7) = 1

kgv(223, 7) = 1561

30 div 42 = 0

30 mod 42 = 30

ggd(30, 42) = 6

kgv(30, 42) = 210

42 div 30 = 1

42 mod 30 = 12

ggd(42, 30) = 6

kgv(42, 30) = 210

Wiskundige Structuren 10 september 2013 Meer getallen 9 / 38

Bepaling ggd en kgv

Algoritme (Na¨ıef)

Zij n, m ∈ N met n 6= 0 en m 6= 0.

Bereken ggd(n, m) en kgv(n, m).

1 Ontbind n in priemfactoren.

2 Ontbind m in priemfactoren.

3 Hebben n en m geen gemeenschappelijke priemfactoren, dan is ggd(n, m) = 1.

4 Anders is ggd(n, m) het product van de gemeenschappelijke priemfactoren.

5 En is kgv(n, m) het product van alle gevonden priemfactoren, waarbij de gemeenschappelijke factoren slechts ´e´enmaal worden gebruikt.

Opmerking

In het dictaat staat dit algoritme op bladzijde 8 net iets te slordig opgeschreven; de bepaling van het kleinste gemene veelvoud is daar niet goed.

Wiskundige Structuren 10 september 2013 Meer getallen 10 / 38

Bepaling ggd en kgv (2)

Voorbeeld

Bepaal ggd(1260, 234) en kgv(1260, 234).

1260 = 2 · 2 · 3 · 3 · 5 · 7

234 = 2 · 3 · 3 · 13

ggd(1260, 234) = 2 · 3 · 3 = 18

kgv(1260, 234) = 2 · 2 · 3 · 3 · 5 · 7 · 13 = 16380

Bepaling ggd en kgv (3)

Algoritme (Euclides)

Zij n, m ∈ N met n 6= 0 en m 6= 0.

Bereken ggd(n, m).

1 Als m > n vervang dan m door m mod n.

Vervang anders n door n mod m.

2 Bedenk dat deze vervanging de ggd niet verandert.

3 Bedenk dat het probleem dus eenvoudiger is geworden.

4 Is het nog te moeilijk, voer de reductie dan nog eens uit.

Vraag

Waarom termineert dit algoritme altijd?

Antwoord

Omdat er slechts eindig veel getallen kleiner zijn dan m en n, kun je nooit oneindig vaak m of n vervangen door zo’n kleiner getal.

(4)

Bepaling ggd en kgv (4)

Voorbeeld

Bepaal ggd(1260, 234).

1 Vervang 1260 door 1260 mod 234.

2 Bepaal ggd(90, 234).

3 Vervang 234 door 234 mod 90.

4 Bepaal ggd(90, 54).

5 Vervang 90 door 90 mod 54.

6 Bepaal ggd(36, 54).

7 Vervang 54 door 54 mod 36.

8 Bepaal ggd(36, 18).

9 Nu is het makkelijk ggd(36, 18) = 18, dus ggd(1260, 234) = 18.

Wiskundige Structuren 10 september 2013 Meer getallen 13 / 38

Bepaling ggd en kgv (5)

Voorbeeld

Bepaal kgv(1260, 234).

1 Bereken eerst met Euclides ggd(1260, 234) = 18.

2 Dan kgv(1260, 234) is het product van 1260 en 234, gedeeld door ggd(1260, 234):

kgv(1260, 234) = 1260 · 234 ggd(1260, 234)

= 294840 18

= 16380

Wiskundige Structuren 10 september 2013 Meer getallen 14 / 38

Lineaire combinatie

Stelling (Euclides)

De ggd(n, m) is een gehele lineaire combinatie van n en m.

Anders gezegd: er bestaan α, β ∈ Z waarvoor geldt ggd(n, m) = αn + βm

Bewijs

Lees het algoritme van Euclides achterstevoren. 2

Lineaire combinatie (2)

Voorbeeld

Zoek α, β ∈ Z met ggd(1260, 234) = α · 1260 + β · 234

(n, m) rest combinatie

(36, 18) 18 = 0 · 36 + 1 · 18

(36, 54) 18 = 54 − 1 · 36 18 = 0 · 36 + 1 · (54 − 1 · 36) 18 = −1 · 36 + 1 · 54 (90, 54) 36 = 90 − 1 · 54 18 = −1 · (90 − 1 · 54) + 1 · 54

18 = −1 · 90 + 2 · 54 (90, 234) 54 = 234 − 2 · 90 18 = −1 · 90 + 2 · (234 − 2 · 90)

18 = −5 · 90 + 2 · 234 (1260, 234) 90 = 1260 − 5 · 234 18 = −5 · (1260 − 5 · 234) + 2 · 234

18 = −5 · 1260 + 27 · 234

(5)

Modulorekenen: optellen en vermenigvuldigen

Definitie

Als n eenpositief natuurlijk getalis, dan noemen we twee natuurlijke getallengelijk modulo n als hun rest na deling door n hetzelfde is.

a ≡ b (mod n) def= a mod n = b mod n

Als n eengeheel getal ongelijk 0 is, dan noemen we twee gehele getallengelijk modulo nals hun verschil deelbaar is door n.

a ≡ b (mod n) def= n|(a − b) Voorbeeld

10 ≡ 31 (mod 7) want 10 mod 7 = 3 en 31 mod 7 = 3 10 ≡ 31 (mod 7) want 10 − 31 = −21 en 7| − 21 26 ≡ −30 (mod 7) want 26 − −30 = 56 en 7|56

Wiskundige Structuren 10 september 2013 Meer getallen 17 / 38

Modulorekenen: optellen en vermenigvuldigen (2)

Eigenschappen:

x ≡ y (mod n) ⇒ kx ≡ ky (mod n)

x ≡ y (mod n) ⇒ x + z ≡ y + z (mod n)

x ≡ y (mod n) ⇒ x2 ≡ y2(mod n) (want x2− y2= (x − y ) · (x + y ) en n|x − y )

x + y ≡ (x mod n) + (y mod n) (mod n)

x − y ≡ (x mod n) − (y mod n) (mod n)

x · y ≡ (x mod n) · (y mod n) (mod n)

xm ≡ (x mod n)m(mod n) (als m ∈ N)

Bij optellen en vermenigvuldigen mag je dus ongestraft een a vervangen door een b die gelijk modulo n is!

Wiskundige Structuren 10 september 2013 Meer getallen 18 / 38

Modulorekenen: optellen en vermenigvuldigen (3)

Voorbeeld

15 ≡ 3 (mod 4) want 15 − 3 · 4 = 3

1234 ≡ 2 (mod 7) want 1234 − 176 · 7 = 2

2468 ≡ 4 (mod 7) want 1234 ≡ 2 (mod 7) en 2468 = 2 · 1234 en 4 = 2 · 2

4936 ≡ 8 (mod 7) want 1234 ≡ 2 (mod 7) en 4936 = 4 · 1234 en 8 = 4 · 2

Dus 4936 ≡ 1 (mod 7)

Natuurlijk had je dit ook kunnen bedenken doordat 4936 − 705 · 7 = 1.

56789 ≡ 5 (mod 7) want 56789 − 8112 · 7 = 5

70077626 ≡ 3 (mod 7) want 70077626 = 56789 · 1234 en 56789 · 1234 ≡ (56789 mod 7) · (1234 mod 7) (mod 7) dus 56789 · 1234 ≡ 5 · 2 (mod 7) dus 56789 · 1234 ≡ 10 (mod 7) dus 56789 · 1234 ≡ 3 (mod 7)

8100≡ 1 (mod 7) want 8100≡ (8 mod 7)100(mod 7) dus

Modulorekenen: optellen en vermenigvuldigen (4)

Zeven uitkomsten bij rekenen modulo 7: 0, 1, 2, 3, 4, 5, 6.

optelling modulo 7

+ 0 1 2 3 4 5 6

0 0 1 2 3 4 5 6

1 1 2 3 4 5 6 0

2 2 3 4 5 6 0 1

3 3 4 5 6 0 1 2

4 4 5 6 0 1 2 3

5 5 6 0 1 2 3 4

6 6 0 1 2 3 4 5

(6)

Modulorekenen: optellen en vermenigvuldigen (5)

vermenigvuldiging modulo 7

· 0 1 2 3 4 5 6

0 0 0 0 0 0 0 0

1 0 1 2 3 4 5 6

2 0 2 4 6 1 3 5

3 0 3 6 2 5 1 4

4 0 4 1 5 2 6 3

5 0 5 3 1 6 4 2

6 0 6 5 4 3 2 1

Wiskundige Structuren 10 september 2013 Meer getallen 21 / 38

Modulorekenen: optellen en vermenigvuldigen (6)

Voor elke n ≥ 2 kunnen we dergelijke tabellen maken.

Definitie

Zn staat voor de verzameling {0, 1, 2, . . . , n − 1} voor n ≥ 2 met een optelling en vermenigvuldiging modulo n.

Wiskundige Structuren 10 september 2013 Meer getallen 22 / 38

Modulorekenen: optellen en vermenigvuldigen (7)

vermenigvuldiging modulo 6

· 0 1 2 3 4 5 0 0 0 0 0 0 0 1 0 1 2 3 4 5 2 0 2 4 0 2 4 3 0 3 0 3 0 3 4 0 4 2 0 4 2 5 0 5 4 3 2 1

vermenigvuldiging modulo 7

· 0 1 2 3 4 5 6

0 0 0 0 0 0 0 0

1 0 1 2 3 4 5 6

2 0 2 4 6 1 3 5

3 0 3 6 2 5 1 4

4 0 4 1 5 2 6 3

5 0 5 3 1 6 4 2

6 0 6 5 4 3 2 1

Modulorekenen: optellen en vermenigvuldigen (8)

Vraag

Welke opmerkelijke verschillen zijn er te zien bij de vermenigvuldiging in Z6 en Z7?

Antwoord

Bij Z7 komt in elke rij (behalve de nulrij) en elke kolom (behalve de nulkolom) elk getal uit Z7 precies ´e´en keer voor.

Bij Z6 kun je ook een 0 krijgen als uitkomst als je twee getallen ongelijk 0 met elkaar vermenigvuldigt.

Bij Z7 is er bij elk getal a 6= 0 een getal b 6= 0 met a · b ≡ 1 (mod 7), bij Z6 niet.

Merk op dat 7 een priemgetal is en 6 niet!

(7)

Modulorekenen: delen

Stelling

Zij p een priemgetal en zij a een van de getallen 1, 2, 3, . . . , p − 1.

Dan zijn de getallen a, 2a, 3a, . . . , (p − 1)a allemaal verschillend modulo p.

Bewijs

Neem eens aan dat twee van die getallen ma en na gelijk zijn modulo p, met 1 ≤ m < n ≤ p − 1.

Dan geldt p|(na − ma).

Dus p|(n − m)a.

Dus p|(n − m) of p|a, want p is priem.

Maar (n − m) ∈ {1, . . . , p − 2} en a ∈ {1, . . . , p − 1}.

Maar p is geen deler van getallen in {1, . . . , p − 1}.

Tegenspraak, dus zulke m en n bestaan niet.

Wiskundige Structuren 10 september 2013 Meer getallen 25 / 38

Modulorekenen: delen (2)

Gevolg

Als p een priemgetal en a een van de getallen 1, 2, 3, . . . , p − 1, dan zijn de getallen a, 2a, 3a, . . . , (p − 1)a de getallen

1, 2, 3, . . . , p − 1 modulo p (mogelijk in andere volgorde).

Gevolg

Als p een priemgetal is dan heeft in Zp elk getal a 6= 0 een inverse, dat wil zeggen er bestaat een getal b 6= 0 met a · b ≡ 1 (mod 7).

Notatie b = a−1. Gevolg

In Zp met p priem kunnen we delen door getallen ongelijk 0.

a

b = a · b−1 als b 6= 0

Wiskundige Structuren 10 september 2013 Meer getallen 26 / 38

Modulorekenen: delen (3)

deling in Z7

/ 1 2 3 4 5 6 1 1 4 5 2 3 6 2 2 1 3 4 6 5 3 3 5 1 6 2 4 4 4 2 6 1 5 3 5 5 6 4 3 1 2 6 6 3 2 5 4 1

vermenigvuldiging in Z7

· 0 1 2 3 4 5 6

0 0 0 0 0 0 0 0

1 0 1 2 3 4 5 6

2 0 2 4 6 1 3 5

3 0 3 6 2 5 1 4

4 0 4 1 5 2 6 3

5 0 5 3 1 6 4 2

6 0 6 5 4 3 2 1

Inverse

Vraag

Hoe bereken je de inverse van een getal a ongelijk 0 in Zp waarbij p een priemgetal is?

Antwoord

1 Schrijf op grond van het algoritme van Euclides 1 als lineaire combinatie van a en p. (Waarom kan dat?)

2 Als 1 = α · p + β · a, dan is β mod p de inverse van a.

(Waarom?)

(8)

Inverse (2)

Voorbeeld

Wat is de inverse van 5 in Z37? Merk op dat 37 een priemgetal is.

Dus zoek α en β met 1 = α · 37 + β · 5.

(5, 2) 1 = 5 − 2 · 2 1 = 1 · 5 − 2 · 2 (37, 5) 2 = 37 − 7 · 5 1 = −2 · 37 + 15 · 5

Dus 15 is de inverse van 5 in Z37. Controle: 15 · 5 = 75 en 75 ≡ 1 (mod 37).

Wiskundige Structuren 10 september 2013 Meer getallen 29 / 38

Inverse (3)

Voorbeeld

Wat is de inverse van 11601 in Z12347? (12347 is priem)

(3, 2) 1 = 3 − 1 · 2 1 = 1 · 3 − 1 · 2

(14, 3) 2 = 14 − 4 · 3 1 = −1 · 14 + 5 · 3 (31, 14) 3 = 31 − 2 · 14 1 = 5 · 31 − 11 · 14 (76, 31) 14 = 76 − 2 · 31 1 = −11 · 76 + 27 · 31 (335, 76) 31 = 335 − 4 · 76 1 = 27 · 335 − 119 · 76 (411, 335) 76 = 411 − 1 · 335 1 = −119 · 411 + 146 · 335 (746, 411) 335 = 746 − 1 · 411 1 = 146 · 746 − 265 · 411 (11601, 746) 411 = 11601 − 15 · 746 1 = −265 · 11601 + 4121 · 746 (12347, 11601) 746 = 12347 − 1 · 11601 1 = 4121 · 12347 − 4386 · 11601

Dus −4386 is de inverse van 11601 in Z12347. Oftewel: 7961.

Controle: 7961 · 11601 = 92355561 en 92355561 ≡ 1 (mod 12347).

Wiskundige Structuren 10 september 2013 Meer getallen 30 / 38

Stellingen

Stelling (Kleine stelling van Fermat) Als p priem is en a is geen p-voud, dan geldt

ap−1≡ 1 (mod p) Bewijs

In Zp zijn a, 2a, 3a, . . . , (p − 1)a allemaal verschillend.

Maar dan zijn dit precies de getallen 1, 2, 3, . . . , p − 1, maar (waarschijnlijk) in andere volgorde.

Maar dan zijn de producten van die rijen gelijk aan elkaar:

a · 2a · 3a · · · (p − 1)a = 1 · 2 · 3 · · · (p − 1) dus ap−1· 1 · 2 · 3 · · · (p − 1) = 1 · 2 · 3 · · · (p − 1) dus

ap−1 = 1

2

Stellingen (2)

Voorbeeld

Bereken 3640 in Z13.

Volgens Fermat is 312= 1 in Z13. En 640 = 12 · 53 + 4.

Verder op bord. . . Maar dan geldt in Z13: 3640 = 312·53+4

= 312·53· 34

= (312)53· 34

= 153· 34

= 34

= 81

= 3

(9)

Stellingen (3)

Stelling (Chinese Reststelling)

Als ggd(n, m) = 1, dan heeft het stelsel vergelijkingen x ≡ a (mod n)

x ≡ b (mod m) precies ´e´en oplossing in de range 0 ≤ x < nm.

Wiskundige Structuren 10 september 2013 Meer getallen 33 / 38

Stellingen (4)

Eerst bewijzen we dat er zo’n x bestaat.

Bewijs

Omdat ggd(n, m) = 1 zijn er α en β met 1 = α · n + β · m.

Dus geldt α · n ≡ 0 (mod n)

α · n ≡ 1 (mod m) en β · m ≡ 1 (mod n) β · m ≡ 0 (mod m)

Dus ook b · α · n ≡ 0 (mod n)

b · α · n ≡ b (mod m) en a · β · m ≡ a (mod n) a · β · m ≡ 0 (mod m)

Neem dan x = (b · α · n + a · β · m) mod (nm). Die voldoet aan beide vergelijkingen en ook aan 0 ≤ x < nm.

Wiskundige Structuren 10 september 2013 Meer getallen 34 / 38

Stellingen (5)

Nu nog bewijzen dat x de enige oplossing is:

Bewijs

Stel nu dat er een y 6= x is met 0 ≤ y < nm die voldoet aan y ≡ a (mod n) en y ≡ b (mod m).

Zonder verlies van algemeenheid mogen we aannemen dat x < y , want anders verwisselen we x en y gewoon.

Dan is er een z met 0 < z < nm waarvoor geldt y = (x + z) mod (nm).

Maar dan geldt z ≡ 0 (mod n) en z ≡ 0 (mod m).

Dus n|z en m|z. Maar dan geldt nm|z omdat ggd(n, m) = 1.

Maar dat is in tegenspraak met 0 < z < nm. Dus bestaat er geen y 6= x met 0 ≤ y < nm die een oplossing is van het stelsel.

Dus x is de enige oplossing in de range 0 ≤ x < nm.

Stellingen (6)

Gevolg

Dus rekenen in Zmn komt op het zelfde neer als rekenen in Zm× Zn.

Kort door de bocht:

Bij security problemen kun je zelf (relatief) makkelijk rekenen in Zp× Zq waarbij p en q (grote) priemgetallen zijn, maar de aanvaller moet rekenen met Zpq wat veel moeilijker is als je niet weet wat de priemfactorontbinding van pq is.

(10)

Stellingen (7)

Voorbeeld

Bepaal x met 0 ≤ x < 300 zodanig dat

x ≡ 7 (mod 12) en x ≡ 13 (mod 25)

Dan 1 = −2 · 12 + 1 · 25.

Neem

x = (13 · −2 · 12 + 7 · 1 · 25) mod 300

= (−312 + 175) mod 300

= −137 mod 300

= 163

Controle: 163 ≡ 7 (mod 12) en 163 ≡ 13 (mod 25)

Wiskundige Structuren 10 september 2013 Meer getallen 37 / 38

Huiswerk

Maak de opgaven 1.17, 1.19. 1.20, 1.22 en 1.24.

Lever ze leesbaar in in de inleverbak in vleugel 5 of lever ze in Blackboard als PDF in voor donderdag 12/09 10.30.

NB. Indien je je huiswerk als PDF inlevert: zorg dan dat je naam ook in de PDF staat zodat wij na het printen van jullie werk ook meteen op het papier kunnen zien van wie het is.

Wiskundige Structuren 10 september 2013 Meer getallen 38 / 38

Afbeelding

Updating...

Referenties

Updating...

Gerelateerde onderwerpen :