Opgelosteenonopgelostemysteries...

27
Opgeloste en onopgeloste mysteries in de getaltheorie Jan De Beule, Tom De Medts en Jeroen Demeyer

Transcript of Opgelosteenonopgelostemysteries...

Page 1: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

Opgeloste en onopgeloste mysteriesin de getaltheorie

 

Jan De Beule, Tom De Medts en Jeroen Demeyer

Page 2: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

Voorwoord 1

Voorwoord

Beste leerling,

Deze nota’s zijn bedoeld als begeleiding bij 6 lesuren “Opgeloste en onopgeloste mysteriesin de getaltheorie”, die gegeven kunnen worden in de lessen wiskunde in de derde graadvan het secundair onderwijs, al dan niet in de vrije ruimte voorzien in het leerplan van dederde graad van het vrij secundair onderwijs.

Getaltheorie is een bloeiende tak van de wiskunde, met wortels in een ver verleden, metvertakkingen naar andere gebieden in de wiskunde, en met zeer fundamentele open vra-gen waar vele wiskundigen vandaag een antwoord op trachten te vinden. Getaltheorie isdaarenboven ook een mooi voorbeeld van hoe wiskunde directe toepassingen heeft. Ten-slotte is het een onderwerp waar niet veel voorkennis voor nodig is om de beginselen aante vatten en met elementaire technieken interessante resultaten bereikt kunnen worden.

Getaltheorie is dus een zeer dankbaar onderwerp om aan iedereen die het wil, duidelijk temaken waar het in wiskunde om draait, en wat we allemaal met wiskunde kunnen doen.

Omdat we de onderwerpen toegankelijk willen maken, zijn vele voorbeelden en oefenin-gen opgenomen in deze nota’s. De lesgever of leerkracht zal een aantal oefeningen en voor-beelden behandelen in de lessen. De oefeningen en voorbeelden zijn dikwijls eenvoudigeprobleempjes die, eens opgelost, de theorie op een aanschouwelijke wijze moeten illustre-ren. We hebben echter ook belang gehecht aan het bewijzen van een aantal stellingen.Wiskunde is immers de wetenschap bij uitstek waarin uitspraken enkel na het geven vaneen correct bewijs, als waar worden aanvaard. Om duidelijk te maken dat wiskunde niet“af” is, hebben we op diverse plaatsen open vragen uit de getaltheorie vermeld. Deze openvragen zijn allemaal gemakkelijk te begrijpen, maar zijn tot op vandaag nog steeds nietopgelost.

De leerkracht of lesgever zal eventueel, afhankelijk van de beschikbare tijd, een selectiemaken uit de aangeboden leerstof. Deze nota’s zijn niet bedoeld als zelfstudiecursus, maarzouden wel volledig begrijpbaar moeten zijn na de lessen.

Jan De BeuleTom De Medts

Jeroen Demeyer

Page 3: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

Inhoudsopgave 2

Inhoudsopgave

1 Priemgetallen en deelbaarheid 3

1.1 Enkele onopgeloste problemen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 De grootste gemene deler 7

3 Modulorekenen 9

3.1 Inverses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4 Eenvoudige toepassingen van modulorekenen 14

4.1 Voorwaarden voor deelbaarheid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.2 Een toernooi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

5 De stelling van Wilson en de kleine stelling van Fermat 17

5.1 Een karakterisering van priemgetallen en tweelingpriemen . . . . . . . . . . . . . 18

6 De Chinese reststelling 19

7 Cryptografie 21

7.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

7.2 RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

8 Factorisatie van getallen 23

8.1 De kwadratische zeef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Page 4: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

1 Priemgetallen en deelbaarheid 3

1 Priemgetallen en deelbaarheid

In de getaltheorie draait alles om gehele getallen.

Z is de verzameling van de gehele getallen:

Z= {. . . ,−3,−2,−1, 0, 1, 2, 3, . . .} .

N is de verzameling van de natuurlijke getallen, 0 inbegrepen:

N= {0, 1, 2, 3, . . .} .

Definitie 1.1

Als we twee gehele getallen met elkaar optellen, vermenigvuldigen, of aftrekken van elkaar,is het resultaat steeds weer een geheel getal, maar dat geldt niet voor de deling. Vandaar devolgende definitie.

We zeggen dat een geheel getal a deelbaar is door een geheel getal b als er een geheelgetal q bestaat zodat

a =bq .

We zeggen dan ook dat b een deler van a is, en we noteren dit als b | a . Als b 6= 0, danis a deelbaar door b als en slechts als a/b een geheel getal is.

Definitie 1.2

Ook als a niet deelbaar is door b is het zinvol om de deling uit te voeren, maar dan verkrij-gen we een rest. Zo’n deling met rest wordt een Euclidische deling genoemd.

Als a en b gehele getallen zijn met b ≥ 1, dan bestaan er unieke gehele getallen q enr met 0≤ r <b zodat

a =bq + r .

Deze getallen worden respectievelijk het quotiënt en de rest genoemd van de delingvan a door b .

Definitie 1.3

Van fundamenteel belang in de getaltheorie is de studie van priemgetallen.

Een natuurlijk getal p wordt een priemgetal genoemd als het precies twee verschil-lende positieve delers heeft, namelijk 1 en zichzelf. We benadrukken dat 1 dus geenpriemgetal is.

Definitie 1.4

Page 5: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

1 Priemgetallen en deelbaarheid 4

De kleinste priemgetallen zijn 2, 3, 5, 7, 11, 13, 17, 19, . . . Het grootste gekende priem-getal is 243 112 609−1, een getal van maar liefst 12 978 189 cijfers lang. Dit record dateertvan 2008.

Voorbeeld 1.5

Misschien vraag je je wel af of er zoiets bestaat als een “grootste priemgetal”. Het is nietmoeilijk om in te zien dat er geen grootste priemgetal is; we zullen dit dadelijk nagaan.Het is echter wel moeilijk om expliciet grote priemgetallen te “construeren”, of nog, omna te gaan of een gegeven getal een priemgetal is of niet. En dat is wat we bedoelen methet record dat we in Voorbeeld 1.5 aangehaald hebben: dit is het grootste getal waarvanwe weten dat het een priemgetal is, ook al weten we met zekerheid dat er (oneindig veel)grotere priemgetallen bestaan.

Er bestaan oneindig veel priemgetallen.

Stelling 1.6

Bewijs. We bewijzen dit uit het ongerijmde. Veronderstel dus dat er wel een grootste priem-getal zou bestaan, en noem dat getal p . Beschouw nu alle priemgetallen kleiner dan ofgelijk aan p , en noem die p1, p2, . . . , pk = p . (Dus p1 = 2, p2 = 3, enzovoort; p is precies hetk -de priemgetal.) Wegens onze veronderstelling is elk priemgetal dus gelijk aan één vandeze getallen p i . Stel nu

N = p1p2 · · ·pk +1 ;

dan is N voor geen enkele i ∈ {1, . . . , k } deelbaar door p i . Wegens onze veronderstellingis N dus door geen enkel priemgetal deelbaar. Dit kan uiteraard niet; bijgevolg is onzeveronderstelling verkeerd, en dus bestaan er oneindig veel priemgetallen.

Eén van de redenen waarom priemgetallen zo belangrijk zijn, is het feit dat het in zekerezin de “bouwstenen” zijn voor alle getallen. We kunnen elk getal factoriseren of ontbindenin priemfactoren, op een unieke manier. Op die wijze kunnen heel wat problemen in degetaltheorie vaak herleid worden tot problemen over priemgetallen.

Elk natuurlijk getal verschillend van 0 kan op unieke wijze geschreven worden als hetproduct van priemgetallen. Concreet bestaan er dus voor elk getal n ∈N \ {0} uniekepriemgetallen p1 < p2 < · · · < pk en unieke natuurlijke getallen αi verschillend van 0zodat

n = pα11 ·p

α22 · . . . ·pαk

k .

Stelling 1.7

We hebben daarnet vermeld dat het niet gemakkelijk is om na te gaan of een gegeven getaleen priemgetal is. Het is nóg moeilijker om een gegeven getal op efficiënte wijze te factori-seren. We gaan daar in Hoofdstuk 8 wat dieper op in.

Page 6: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

1 Priemgetallen en deelbaarheid 5

1.1 Enkele onopgeloste problemen

Misschien vraag je je nu af of er een formule bestaat die je kan zeggen hoe groot het mil-joenste priemgetal is. Een exacte formule daarvoor bestaat niet. (Natuurlijk bestaat er weleen algoritme: je kan immers de eerste 1 miljoen priemgetallen berekenen. Efficiënt is dituiteraard niet.)

Maar merkwaardig is dat we wel goed kunnen inschatten hoe groot het miljoenste priem-getal bij benadering is. We weten dus ook bij benadering hoeveel priemgetallen er zijn diekleiner zijn dan een gegeven getal.

Noteer het n-de priemgetal als pn , en stel π(x ) gelijk aan het aantal priemgetallenkleiner dan of gelijk aan x . Dan is bij benadering

π(x )≈x

ln(x ), pn ≈ n ln(n ) .

(ln(x ) is ongeveer 2, 3 maal het aantal cijfers van x , bijvoorbeeld ln(98716)≈ 11, 5.)

Stelling 1.8 — Prime number theorem

We kunnen de waarde van π(x ) nog nauwkeuriger afschatten met behulp van een zoge-naamde logaritmische integraal.

Voor elke x ∈Rmet x ≥ 2 stellen we

Li(x ) =

∫ x

2

1

ln(t )dt .

Definitie 1.9

Stel π(x ) gelijk aan het aantal priemgetallen kleiner dan of gelijk aan x . Dan is bijbenadering

π(x )≈ Li(x ) .

Stelling 1.10

Stel x = 1 000 000. Dan is

π(x ) = 78 498 ,

x/ ln(x ) = 72 382, 41 . . . ,

Li(x ) = 78 626, 50 . . . .

Voorbeeld 1.11

Page 7: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

1 Priemgetallen en deelbaarheid 6

Interessant is dat we wel weten dat dit niet zomaar een goede benadering is, maar eenbijzonder goede benadering, zoals blijkt uit het volgende vermoeden!

Voor alle x ≥ 3 geldt|π(x )−Li(x ) | ≤

px ln(x ) .

Vermoeden 1.12

Dit is niet zomaar een vermoeden: het is equivalent met de beroemde Riemannhypothese.Dit is één van de Clay Math Institute Millenium problemen, waarmee je 1 miljoen dollarkan winnen als je er één oplost.

Wellicht één van de redenen waarom priemgetallen zo tot de (wiskundige) verbeeldingspreken, is het feit dat er nog heel wat onopgeloste problemen zijn over priemgetallen, diezeer eenvoudig te formuleren zijn. We vermelden er nog twee.

Elk even getal groter dan 2 is te schrijven als de som van twee priemgetallen.

Vermoeden 1.13 — Vermoeden van Goldbach

4= 2+2 10= 3+7= 5+5

6= 3+3 12= 5+7

8= 3+5 14= 3+11= 7+7

Voorbeeld 1.14

Men heeft dit met de computer gecontroleerd tot aan 1018, dus het ziet er “zeer waarschijn-lijk” uit dat dit vermoeden wel waar is. Maar over de reden tasten we nog steeds in hetduister. . .

Er bestaan oneindig veel tweelingpriemen: dit zijn paren natuurlijke getallen {p , p +2}waarvoor zowel p als p +2 priem zijn.

Vermoeden 1.15 — Twin prime conjecture

5= 3+2 19= 17+2

7= 5+2 31= 29+2

13= 11+2 43= 41+2

Voorbeeld 1.16

Ter informatie: er zijn 808 675 888 577 436≈ 8 ·1014 tweelingpriemen kleiner dan 1018.

Page 8: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

2 De grootste gemene deler 7

2 De grootste gemene deler

Gegeven twee gehele getallen a en b . Het is duidelijk dat zowel −1 als +1 een deler is vana en b . De verzameling van alle gemeenschappelijke delers van a en b is dus nooit ledig.We noemen het grootste element uit deze verzameling de grootste gemene deler van a enb . Aangezien deze definitie niet werkt voor ggd(0, 0), definiëren we ggd(0, 0) = 0.

Stel a = 126 en b = 35. De verzameling van gemeenschappelijke delers is{−7,−1, 1, 7}. De grootste gemene deler van 126 en 35 is dus 7.

Voorbeeld 2.1

Zoals je zelf merkt als je bovenstaand voorbeeld controleert, zie je dat het opstellen vande verzameling van gemeenschappelijke delers om daaruit de grootste te halen, nogal om-slachtig is om de grootste gemene deler te bepalen.

We hebben gezien dat voor twee gehele getallen a en b , we steeds elementen q en r kunnenvinden zodat a =bq + r met 0≤ r <b .

Toon aan dat ggd(a ,b ) = ggd(b , r ) als a =bq+r . Toon ook aan dat uit de definitie vangrootste gemene deler volgt dat ggd(a , 0) = a voor alle a ∈Z.

Oefening 2.2

We hernemen voorbeeld 2.1. Als we 126 door 35 delen, vinden we 126 = 3 · 35+ 21. Dusggd(126, 35) = ggd(35, 21). Het is inderdaad gemakkelijker om de ggd(35, 21) te bepalendan die van 126 en 35. Maar niets weerhoudt ons om de deling met rest te herhalen, tot derest 0 wordt.

126= 3 ·35+21

35= 1 ·21+14

21= 1 ·14+7

14= 2 ·7

Uit het tweede deel van oefening 2.2 volgt dat ggd(7, 0) = 7, en we besluiten dat ggd(126, 35) =7. We merken nog op dat het herhaaldelijk toepassen van de deling met rest voor elke tweegehelen getallen a en b wel degelijk na een eindig aantal stappen een rest gelijk aan 0 zalopleveren. Daarmee hebben we in feite een algoritme beschreven. Dit algoritme, om degrootste gemene deler van twee getallen te bepalen, wordt het algoritme van Euclides ge-noemd.

Gebruik het algoritme van Euclides om ggd(204, 96) en ggd(351, 320) te bepalen.

Oefening 2.3

Page 9: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

2 De grootste gemene deler 8

We hernemen het voorbeeld waarin we ggd(126, 35) bepalen. Uit de opeenvolgende uit-voeringen van de deling met rest, halen we de volgende gelijkheden:

ggd(126, 35) = 7= 21−1 ·14= 21− (35−1 ·21)

= 2 ·21−1 ·35= 2 · (126−3 ·35)−1 ·35

= 2 ·126−7 ·35

We besluiten dat ggd(126, 35) = 2 ·126−7 ·35. De grootste gemene deler is dus te schrijvenals een lineaire combinatie van 126 en 35. Dit principe geldt algemeen en leidt tot volgendestelling:

Gegeven twee gehele getallen a en b , dan bestaan er gehele getallen x en y zodata x +by = ggd(a ,b ).

Stelling 2.4 — Stelling van Bézout

Zulke getallen x en y waarvoor a x +by = ggd(a ,b ) worden Bézoutcoëfficiënten van a enb genoemd. Het algoritme hierboven om die coëfficiënten te bepalen heet het uitgebreidalgoritme van Euclides.

Gebruik de resultaten uit de berekening van ggd(204, 96) opnieuw om de Bézoutcoëf-ficiënten van 204 en 96 te bepalen.Doe hetzelfde voor 351 en 320.

Oefening 2.5

Het algoritme van Euclides heeft nog een andere toepassing. Beschouw de vergelijking

15x +21y = 3 . (1)

Een dergelijke vergelijking wordt ook wel een lineaire diophantische vergelijking genoemd.

We willen onderzoeken onder welke voorwaarden er een oplossing bestaat voor deze ver-gelijking. Stel dus dat er twee gehele getallen x0 en y0 bestaan waarvoor 15x0+21y0 = 3.

Noem c = ggd(15, 21) = 3. Uit het bestaan van de oplossing (x0, y0) volgt dat c een delermoet zijn van het rechterlid van vergelijking (1). In dit geval zien we dat het rechterlidjuist gelijk is aan c . We kunnen dan met het algoritme van Euclides een oplossing bepalen.Immers, met het algoritme van Euclides kunnen we een stel Bézoutcoëfficiënten van 15 en21 bepalen, we vinden dat 3 · 15− 2 · 21 = 3. De getallen (3,−2) zijn dus een oplossing vande vergelijking. We beschouwen nu de vergelijking

15x +21y = 6 . (2)

Ook deze vergelijking kunnen we oplossen met behulp van het algoritme van Euclides. Weweten dat de Bézoutcoëfficiënten (3,−2) een oplossing zijn van vergelijking (1). Aange-zien het rechterlid van vergelijking (2) een veelvoud is van ggd(15, 21), volstaat het om de

Page 10: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

3 Modulorekenen 9

Bézoutcoëfficiënten (3,−2)met 2 te vermenigvuldigen om een oplossing te bekomen vanvergelijking (2).

In feite hebben we de volgende stelling bewezen.

De vergelijkinga x +by = c

heeft een oplossing als en slechts als ggd(a ,b ) | c .

Stelling 2.6

Bepaal, indien mogelijk, een oplossing van

15x +35y = 6.

Oefening 2.7

Bepaal, indien mogelijk, een oplossing van

12x +77y = 10.

Oefening 2.8

3 Modulorekenen

Beschouw twee oneven gehele getallen, bijvoorbeeld 5 en 7. Het is duidelijk dat het verschilvan 5 en 7 een even getal is, dus deelbaar door 2. Ook het verschil van twee even getallen iseen even getal. Het verschil van een oneven en een even getal daarentegen, is altijd oneven,en dus niet deelbaar door twee. Deelbaarheid van het verschil van twee getallen door 2 isdus een eigenschap die waar is voor elke twee even getallen, en elke twee oneven getallen,maar niet voor een even en een oneven getal. We veralgemenen dit als volgt.

Stel m 6= 0 een naturlijk getal en a en b twee gehele getallen, dan is a congruent aanb modulo m als en slechts als m | (a −b ).

Definitie 3.1

Als a congruent is aan b modulo m , dan noteren we a ≡b (mod m ).

Page 11: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

3 Modulorekenen 10

Toon aan dat a ≡b (mod m ) als en slechts als er een geheel getal k bestaat waarvoora =b +k m .

Oefening 3.2

Stel m een positief geheel getal. “Congruent modulo m ” is een relatie met de volgen-de eigenschappen:

(i) Reflexiviteit: Voor alle a ∈Z geldt a ≡ a (mod m ).(ii) Symmetrie: Voor alle a ,b ∈Z geldt: als a ≡b (mod m ), dan b ≡ a (mod m ).

(iii) Transitiviteit: Voor ale a ,b , c ∈ Z geldt: als a ≡ b (mod m ) en b ≡ c (mod m ),dan a ≡ c (mod m ).

Stelling 3.3

Deze stelling toont eigenlijk aan dat de verzameling van de gehele getallen voor elke posi-tieve m 6= 0 gepartitioneerd wordt in m verschillende congruentieklassen modulo m . Elkeklasse bevat juist die gehele getallen die congruent zijn met elkaar modulo m . Voor m = 2bekomen we de vertrouwde indeling in even en oneven gehele getallen.

Voor bijvoorbeeld m = 3 krijgen we 3 congruentieklassen:

{. . . ,−6,−3, 0, 3, 6, . . .}, {. . . ,−5,−2, 1, 4, 7, . . .} en {. . . ,−4,−1, 2, 5, 8, . . .}.

Neem nu een geheel getal a en m 6= 0 een natuurlijk getal. Deling met rest van a door mlevert altijd a = qm + r met 0 ≤ r < m . Hieruit volgt dat a ≡ r (mod m ). Er bestaat dusaltijd juist één r ∈ {0, 1, . . . , m −1}waarvoor a ≡ r (mod m ).

Z/mZ (lees: Zmodulo mZ) staat voor de verzameling {0, 1, . . . , m −1}.

Definitie 3.4

Wat zijn we nu gebaat bij de indeling van de gehele getallen in congruentieklassen modu-lo m ? Deze vraag zullen we pas kunnen beantwoorden als we kunnen aantonen dat wekunnen rekenen op een zinvolle wijze met congruentieklassen modulo m .

Page 12: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

3 Modulorekenen 11

• Ga na dat 61+7≡ 1+7 (mod 12). Tijdens het berekenen van 61+7 mod 12 kunnenwe dus eerst 61 reduceren modulo 12 voor we de berekening uitvoeren. We kunnennog meer, ga na dat 61+ 31 ≡ 1+ 7 (mod 12). Ook nu kunnen we de berekeningmodulo 12 uitvoeren door eerst de termen te reduceren modulo 12.• Ga na dat 14 · 11 ≡ 2 · 11 (mod 12). De conclusie is analoog, we kunnen voor de

berekening 14≡ 2 (mod 12) gebruiken.• Als we dus 11 ·(8+9) (mod 12)willen uitrekenen, moeten we niet 11 ·17 uitrekenen,

we mogen 11 ·5 uitrekenen aangezien 5≡ 17 (mod 12). Het resultaat is dus

11 · (8+9)≡ 11 ·17≡ 11 ·5≡ 55≡ 7 (mod 12).

We mogen zelfs negatieve getallen gebruiken, dus de volgende berekening is ookcorrect:

11 · (8+9)≡ (−1) ·5≡−5≡ 7 (mod 12).

Voorbeeld 3.5

Als we dus een berekening doen modulo een bepaald getal m 6= 0, dan mogen we de tus-senresultaten ook al modulo m uitrekenen. Let wel op dat dit alleen maar geldt als weenkel optellen, aftrekken en vermenigvuldigen. Verder zullen we zien wat er gebeurt metdelingen.

De observaties uit voorbeeld 3.5 beschrijven we formeel in de volgende stelling.

Stel dat m 6= 0 een positief geheel getal is. Voor a ,b , c en d gehele getallen, met a ≡b(mod m ) en c ≡ d (mod m ) geldt

(i) a + c ≡b +d (mod m );(ii) a − c ≡b −d (mod m );

(iii) a c ≡b d (mod m ).

Stelling 3.6

Bewijs. Omdat a ≡b (mod m ), geldt m | (a−b ), er bestaat dus een geheel getal k waarvoor

(a −b ) = k ·m . (3)

Omdat c ≡ d (mod m ), geldt m | (c −d ), er bestaat dus een geheel getal l waarvoor

(c −d ) = l ·m . (4)

We bewijzen nu de stelling.

(i) Uit (3) en (4) volgt dat (a + c )− (b + d ) = (k + l ) ·m , dus m | (a + c )− (b + d ), dusa + c ≡b +d (mod m ).

(ii) Uit (3) en (4) volgt dat (a − c )− (b − d ) = (k − l ) ·m , dus m | (a − c )− (b − d ), dusa − c ≡b −d (mod m ).

(iii) We herschrijven a c −b d als a c −b c +b c −b d = (a −b ) · c +(c −d ) ·b = (k c + l b )m .Dus m | (a c −b d ), waaruit a c ≡b d (mod m ).

Page 13: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

3 Modulorekenen 12

3.1 Inverses

We hebben net gezien dat we gemakkelijk kunnen rekenen met+,− of ·modulo m . Bij hetdelen krijgen we echter moeilijkheden:

22≡ 4 (mod 6), 22/2= 11 en 4/2= 2. We stellen echter vast dat 11 6≡ 2 (mod 6).

Voorbeeld 3.7

Om dit probleem te onderzoeken, zullen we de vermenigvuldiging modulo m nader be-kijken. We beginnen met een eenvoudig voorbeeld. Stel m = 6. Beschouw de afbeeldingf : {0, 1, 2, 3, 4, 5}→ {0, 1, 2, 3, 4, 5}, x 7→ c ·x (mod m ) voor de waarden c = 2 en c = 5.

c = 2

0

1

2

3

4

5

0

1

2

3

4

5

c = 5

0

1

2

3

4

5

0

1

2

3

4

5

Figuur 1: De afbeelding f voor c = 2 en c = 5

Het is duidelijk dat f een bijectie is voor c = 5. Meer bepaald kunnen we elk elementa ∈Z/6Z delen door 5 modulo 6. Het volstaat namelijk om te kijken naar f −1(a ).

Onderzoek voor welke waarden van c in Z/6Z de afbeelding f een bijectie is. Kan jeeen criterium geven waaraan c moet voldoen opdat f een bijectie is voor een gegevenm ? Je kan deze oefening ook uitvoeren voor andere waarden van m , kies bijvoorbeeldm = 5.

Oefening 3.8

Als we niet modulo m werken, maar met de “gewone” reële of rationale getallen, dan isdelen door 5 hetzelfde als vermenigvuldigen met 1/5. We noemen 1/5 een inverse van 5 enomgekeerd. We kunnen het concept van inverses ook veralgemenen naar de context vanmodulorekenen.

Page 14: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

3 Modulorekenen 13

Een inverse van a (mod m ) is een getal x zodat a ·x ≡ 1 (mod m ).

Definitie 3.9

De inverse van 5 modulo 6 is 5, want 5 · 5 = 25 ≡ 1 (mod 6). Inverses bestaan nietaltijd, bijvoorbeeld 2 heeft geen inverse modulo 6.

Voorbeeld 3.10

Wanneer bestaan inverses nu en hoe kunnen we ze uitrekenen? Gegeven een natuurlijkgetal m en een element a ∈Z/mZ. Een inverse x van a modulo m moet dan voldoen aana x ≡ 1 (mod m ). Deze vergelijking kunnen we ook schrijven als

a x +m y = 1. (5)

Dit is een lineaire diophantische vergelijking. Dankzij stelling 2.6 weten we dat deze eenoplossing heeft als en slechts als ggd(a , m ) = 1. Met andere woorden:

Een inverse van a modulo m bestaat als en slechts als ggd(a , m ) = 1.

Stelling 3.11

Als m een priemgetal is, dan geldt voor alle niet-nul elementen a ∈Z/mZ dat ggd(a , m ) =1. Dus elk niet-nul element van Z/mZ heeft een inverse modulo m .

Toon aan dat als a een inverse heeft modulo m , deze uniek is in Z/mZ.

Oefening 3.12

Zoals we in Hoofdstuk 2 gezien hebben, kunnen we het algoritme van Euclides gebruikenom de inverse (de oplossing x van de vergelijking (5)) van a modulo m uit te rekenen.

We bepalen de inverse van 7 modulo 12. Aangezien ggd(7, 12) = 1, bestaat deze. HetEuclidisch algoritme geeft

12= 7 ·1+5

7= 5 ·1+2

5= 2 ·2+1

5= 1 ·2

Dus 1 = 5− 2 · 2 = 3 · 5− 2 · 7 = 3 · 12− 5 · 7. Dus −5 ≡ 7 (mod 12) is de inverse van 7modulo 12 in Z/12Z.

Voorbeeld 3.13

Page 15: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

4 Eenvoudige toepassingen van modulorekenen 14

We kunnen nu ook lineaire vergelijkingen van de vorm a x ≡ b (mod m ) oplossen. Op-nieuw volgt uit stelling 2.6 het volgende:

Een vergelijking a x ≡ b (mod m ) heeft een oplossing als en slechts als ggd(a , m ) | b .In het bijzonder is er altijd een oplossing als ggd(a , m ) = 1.

Gevolg 3.14

Wanneer heeft de vergelijking a x ≡b (mod m ) een unieke oplossing?

Oefening∗ 3.15

We eindigen dit hoofdstuk met een stelling die aangeeft welke gehele getallen hun eigeninverse zijn modulo p , met p een priemgetal.

Stel dat p een priemgetal is. Een positief geheel getal a is zijn eigen inverse modulop als en slechts als a ≡ 1 (mod p ) of a ≡−1 (mod p ).

Stelling 3.16

Bewijs. Stel dat a ≡ 1 (mod p ) of dat a ≡ −1 (mod p ). Uit stelling 3.6 (iii) volgt dat a 2 ≡ 1(mod p ). Dus is a inderdaad zijn eigen inverse modulo p .

Stel omgekeerd dat a zijn eigen inverse is, dus a 2 ≡ 1 (mod p ). Hieruit volgt dat a 2− 1≡ 0(mod p ). Dus p | (a 2−1). Maar a 2−1= (a −1)(a +1), dus omdat p een priemgetal is moetofwel p | (a −1) ofwel p | (a +1), dus ofwel a ≡ 1 (mod p ) ofwel a ≡−1 (mod p ).

4 Eenvoudige toepassingen van modulorekenen

4.1 Voorwaarden voor deelbaarheid

Stel dat we voor een geheel getal n willen controleren of het deelbaar is door een getalm . Het gebruik van modulorekenen laat ons toe om deelbaarheid na te gaan door enkelecontroles te doen op één of meerdere cijfers van n .

We starten met een eenvoudig geval: deelbaarheid door machten van 2. We schrijven hetgetal n in decimale expansie als

n = a k ·10k +a k−110k−1+ · · ·+a 1 ·10+a 0.

De getallen a i zijn de cijfers van n en dus natuurlijke getallen uit de verzameling {0, 1, . . . , 9}.Omdat 10 ≡ 0 (mod 2), geldt n ≡ a 0 (mod 2). Het getal n is dus deelbaar door 2 als enslechts als het laatste cijfer deelbaar is door 2. Aangezien 2 | 10, geldt 2j | 10j en dus 10j ≡ 0(mod 2j ). Dus n ≡ a 1 ·10+a 0 (mod 22). Het getal n is dus deelbaar door 4 als en slechts als

Page 16: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

4 Eenvoudige toepassingen van modulorekenen 15

het getal gevormd door de laatste twee cijfers van n deelbaar is door 4. Algemeen hebbenwe de volgende stelling.

Een getal n = a k · 10k + · · · + a 0 is deelbaar door 2j (met j ≤ k ) als en slechts alsm = a j−1 ·10j−1+ · · ·+a 0 deelbaar is door 2j .

Stelling 4.1

Ontwikkel een analoge deelbaarheidstest voor deelbaarheid door machten van 5.

Oefening 4.2

Nu bekijken we deelbaarheid door 3 en door 9. Uit 10≡ 1 (mod 9) volgt 10j ≡ 1 (mod 9) enook 10j ≡ 1 (mod 3). Dus n ≡ a k+a k−1+ · · ·+a 0 (mod 9). Het getal n is dus deelbaar door 9(en analoog door 3) als en slechts als de som van zijn cijfers deelbaar is door 9 (en analoogdoor 3).

Ontwikkel zelf een deelbaarheidstest voor deelbaarheid door 11.

Oefening∗ 4.3

4.2 Een toernooi

Stel dat we een toernooi met N ploegen willen organiseren met een wedstrijdschema waar-in elke ploeg juist eenmaal tegen elke andere ploeg moet spelen. We beschrijven een me-thode om het wedstrijdschema op te stellen, waarbij we gebruik maken van moduloreke-nen.

Vooreerst merken we op dat als N oneven is, er bij elke ronde van het toernooi juist 1ploeg zal zijn die niet speelt. Bij het opstellen van het wedstrijdschema zullen we daneen dummy-ploeg toevoegen, en indien een ploeg in een bepaalde ronde speelt tegen dedummy-ploeg, betekent dit in de praktijk dat die ploeg in die ronde vrij is. We mogen dusveronderstellen dat N even is, waarbij er eventueel een dummy-ploeg voorkomt.

Elke ploeg krijgt een nummer tussen 1 en N . Aangezien er N ploegen zijn en elke ploegjuist eenmaal tegen een andere ploeg speelt, zijn er N −1 rondes. Elke ronde krijgt dus eennummer tussen 1 en N − 1. Voor een gegeven rondenummer k hanteren we de volgenderegels om het schema op te stellen:

Gegeven i ∈ {1, . . . , N −1} en j ∈ {1, . . . , N } twee verschillende nummers van ploegen.

• Als j 6=N , dan speelt ploeg i tegen ploeg j in de k -de ronde als en slechts als i+ j ≡ k(mod N −1);

• Als j =N , dan speelt ploeg i tegen ploeg N in de k -de ronde als en slechts als 2i ≡ k(mod N −1).

Page 17: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

4 Eenvoudige toepassingen van modulorekenen 16

We tonen aan dat indien we deze regels gebruiken, we een toernooi bekomen waarin elkeploeg juist eenmaal tegen elke ploeg moet spelen.

Omdat ggd(2, N −1) = 1, heeft 2 een inverse 2−1 modulo N −1, dus

2i ≡ k (mod N −1) ⇐⇒ i ≡ 2−1k (mod N −1).

Voor een gegeven k ∈ {1, . . . , N − 1} is er dus juist één i ∈ {1, . . . , N − 1} waarvoor ploeg ispeelt tegen ploeg N . Merk op dat voor k = N − 1 (de laatste ronde van het toernooi), dieunieke oplossing i = 0≡N−1 (mod N−1). Dus in de laatste ronde speelt ploeg N−1 tegenploeg N .

Het is niet mogelijk dat ploeg N in rondes k en k ′ 6= k tegen dezelfde ploeg i speelt, wantdan zou 2i = k = k ′ (mod N −1), een contradictie omdat k en k ′ verschillende elementenzijn uit Z/(N − 1)Z. Dus ploeg N speelt in elke ronde tegen een andere ploeg, en zal dusjuist eenmaal tegen elke ploeg uit {1, . . . , N −1} spelen. We beschouwen nu enkel de eersteN −1 ploegen.

Stel nu dat in twee verschillende rondes k en k ′ 6= k , dezelfde ploegen i en j (i 6= j ) tegenelkaar zouden spelen. Dit kan enkel als i + j ≡ k (mod N − 1) en i + j ≡ k ′ (mod N − 1),waruit k ≡ k ′ (mod N − 1), een contradictie. Bijgevolg speelt elke ploeg i ∈ {1, . . . , N − 1}nooit tweemaal tegen een ploeg j ∈ {1, . . . , N − 1} \ {i } en juist eenmaal tegen ploeg N .Aangezien elke ploeg i ∈ {1, . . . , N − 1} wel juist N − 1 keer speelt, speelt zij dus tegen elkeandere ploeg juist eenmaal.

We stellen een toernooi op voor 5 ploegen, dus N = 6, en de zesde ploeg beschouwenwe als de dummy ploeg. We starten met k = 1. Regel (i) toepassen levert de volgendeparen van ploegen op die tegen elkaar spelen: (1, 5) en (2, 4). Merk op dat uiteraardook de paren (4, 2) en (5, 1) gevormd worden door toepassing van regel (i). Regel (ii)levert voor k = 1 de vergelijking

2i ≡ 1 (mod 5) ,

met als unieke oplossing i = 3. In de eerste ronde speelt ploeg 3 dus tegen de dummyploeg 6. Zetten we deze werkwijze verder, dan bekomen we het volgende schema.

ploeg→ 1 2 3 4 5Ronde 1 5 4 vrij 2 1Ronde 2 vrij 5 4 3 2Ronde 3 2 1 5 vrij 3Ronde 4 3 vrij 1 5 4Ronde 5 4 3 2 1 vrij

Voorbeeld 4.4

Stel een toernooi op voor 8 ploegen.

Oefening 4.5

Page 18: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

5 De stelling van Wilson en de kleine stelling van Fermat 17

5 De stelling van Wilson en de kleine stelling van Fermat

In het vorige hoofdstuk hebben we gezien dat we beschikken over heel wat aritmetischemogelijkheden in de verzameling Z/mZ, zeker als m een priemgetal is. De kleine stellingvan Fermat stelt ons in staat om ook op een gepaste wijze met exponenten om te gaanmodulo een priemgetal p .

Stel p = 5. Bepaal het product van alle elementen verschillend van 0 uit Z/pZ. Doehetzelfde voor p = 7. Wat is de observatie?

Oefening 5.1

Deze oefening is een goede aanleiding om de volgende stelling te bewijzen.

Voor elk priemgetal p geldt (p −1)!≡−1 (mod p ).

Stelling 5.2 — Stelling van Wilson

Bewijs. Voor p = 2 is de stelling triviaal. We veronderstellen nu dat p een oneven priemge-tal is. Door stelling 3.11 weten we dat elk element uit {1, . . . , p −1} een unieke inverse heeftin Z/pZ. Uit stelling 3.16 weten we ook dat 1 en p −1 de enige elementen in Z/pZ die huneigen inverse zijn. Dus blijven er p−3 elementen verschillend van nul over, die we kunnenindelen in p−3

2paren van elementen, waarbij elk paar telkens bestaat uit een element en

zijn inverse. Het product van de elementen uit elk paar is dus 1 modulo p . Het product vanalle elementen uit Z/pZ verschillend van nul is dus gelijk aan 1 · (p −1)≡−1 (mod p ). Dus(p −1)!≡−1 (mod p ).

Zoals vermeld zijn we geïnteresseerd in exponenten van elementen in Z/pZ. We hebbendaarvoor volgende belangrijke stelling.

Stel dat p een priemgetal is en a een geheel getal met a 6≡ 0 (mod p ). Dan geldt a p−1 ≡1 (mod p ).

Stelling 5.3 — Kleine stelling van Fermat

Bewijs. We beschouwen terug de functie f : Z/pZ → Z/pZ : x 7→ a · x uit paragraaf 3.1.Aangezien p een priemgetal is en a 6≡ 0 (mod p ), geldt ggd(a , p ) = 1. We weten dus dat feen bijectie is. Omdat f (0) = 0, is

f 0 : {1, . . . , p −1}→ {1, . . . , p −1} : x 7→ a ·x (mod p )

nog altijd een bijectie.

Page 19: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

5 De stelling van Wilson en de kleine stelling van Fermat 18

Er volgt dus

a ·2a ·3a · . . . · (p −1)a

≡ f 0(1) · f 0(2) · f 0(3) · . . . · f 0(p −1)

≡1 ·2 ·3 · . . . · (p −1) (mod p ).

Hieruit volgt dat a p−1(p −1)!≡ (p −1)! (mod p ). Omdat we mogen delen door (p −1)!≡−1(mod p ), krijgen we dus a p−1 ≡ 1 (mod p ).

De kleine stelling van Fermat laat ons toe om op efficiënte wijze machten modulo p tebepalen.

We bepalen 3201 mod 11. Door de kleine stelling van Fermat weten we dat 310 ≡ 1(mod 11). Bijgevolg is 3201 = (310)20 ·3≡ 3 (mod 11).

Voorbeeld 5.4

5.1 Een karakterisering van priemgetallen en tweelingpriemen

Stel n = 6. Ga na dat 5! 6≡ −1 (mod n )

Oefening 5.5

Dit geldt voor alle samengestelde getallen, als n geen priemgetal is, dan is (n − 1)! 6≡ −1(mod n ). Dit kunnen we aantonen, en wel met de volgende stelling.

Als n > 1 een natuurlijk getal is waarvoor (n − 1)!≡−1 (mod n ), dan is n een priem-getal.

Stelling 5.6

Bewijs. We bewijzen deze stelling uit het ongerijmde. Veronderstel dat (n−1)!≡−1 (mod n )en dat n geen priemgetal is. Omdat n geen priemgetal is, bestaan er natuurlijke getallen aen b , met 1< a < n en 1< b < n en waarvoor n = a ·b . Uit a < n volgt dat a | (n −1), wantdit laatste is het product van de eerste (n −1) natuurlijke getallen groter dan 0, waaronderdus a .

Uit de veronderstelling dat (n − 1)! ≡ −1 (mod n ), volgt dat n | ((n − 1)!+ 1). Omdat a | n ,geldt dus ook a | ((n−1)!+1). Maar a | (n−1)!, dus er geldt ook dat a | ((n−1)!+1)−(n−1)!= 1.Dit is een contradictie omdat a > 1.

De contrapositie van deze stelling bewijst inderdaad dat (n − 1)! 6≡ −1 als n geen priem-getal is. De stelling zelf, samen met de stelling van Wilson, geeft ons een karakteriserendeeigenschap van priemgetallen.

Page 20: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

6 De Chinese reststelling 19

Een natuurlijk getal p is een priemgetal als en slechts als (p −1)!≡−1 (mod p ).

Stelling 5.7

De volgende stelling is een vergelijkbare karakterisering van tweelingpriemen, die we nietgaan bewijzen.

De natuurlijke getallen p en p +2 zijn tweelingpriemen als en slechts als

4((p −1)!+1)≡−p (mod p (p +2)) .

Stelling 5.8 — Stelling van Clement

6 De Chinese reststelling

Tot nu toe hebben we eigenlijk altijd modulo m gerekend voor één vaste waarde van m .Maar wat als we bijvoorbeeld tegelijk iets willen doen modulo 5 en modulo 8? Hoe zou jehet volgende vraagstuk aanpakken?

An bezit een aantal muntjes van 1 cent, het zijn er minder dan 50. Als ze die muntjesgroepeert per 5, heeft ze er nog één over. Als ze ze groepeert per 8, zijn er nog 5 over.Hoeveel 1-cent muntjes heeft An?

Oefening 6.1

Dit soort vraagstukken kan met een algemeen principe worden opgelost, namelijk de Chi-nese reststelling. Maar eerst hebben we nog een voorbereidende stelling nodig:

Stel dat s en t twee natuurlijke getallen zijn met ggd(s , t ) = 1. Als nu x ≡ y (mod s ) enook x ≡ y (mod t ), dan geldt x ≡ y (mod s t ).

Stelling 6.2

Bewijs. We weten dat s | (x − y ) en t | (x − y ). Aangezien ggd(s , t ) = 1, volgt hieruit dats t | (x − y ) en dus x ≡ y (mod s t ).

Page 21: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

6 De Chinese reststelling 20

Stel dat m = s · t met ggd(s , t ) = 1. Dan heeft het stelsel

¨

x ≡ a (mod s )

x ≡b (mod t )

een unieke oplossing in Z/mZ.

Stelling 6.3 — Chinese reststelling

Bewijs. De eerste vergelijking kunnen we herschrijven als x = a + y s . We vullen deze x nuin in de tweede vergelijking:

a + y s ≡b (mod t ).

Aangezien ggd(s , t ) = 1, bestaat de inverse van s modulo t . Noteer deze met z . We krijgen

y ≡ z (b −a ) (mod t ).

Nu we y kennen, kunnen we x bepalen uit x = a + y s , dus

x = a + s z (b −a ).

Deze x voldoet inderdaad aan het gegeven stelsel. Het feit dat de oplossing uniek is volgtuit de voorgaande stelling.

Zoek twee verschillende gehele getallen x die voldoen aan:

¨

x ≡ 7 (mod 6)

x ≡ 6 (mod 7)

Oefening 6.4

Zoek de unieke oplossing in Z/60Z van het volgende stelsel:

x ≡ 1 (mod 3)

x ≡ 2 (mod 4)

x ≡ 3 (mod 5)

Oefening 6.5

We bewijzen ten slotte een stelling die we in het volgende hoofdstuk nodig gaan hebben.Het is in zekere zin een veralgemening van de kleine stelling van Fermat.

Stel m = p · q , met p en q twee verschillende priemgetallen. Dan geldt voor allex ∈Z/mZ en alle natuurlijke getallen k :

x k (p−1)(q−1)+1 ≡ x (mod m ).

Stelling 6.6

Page 22: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

7 Cryptogra�e 21

Bewijs. Dankzij stelling 6.2 weten we dat het volstaat om aan te tonen dat

x k (p−1)(q−1)+1 ≡ x (mod p ) en x k (p−1)(q−1)+1 ≡ x (mod q ).

Omdat deze twee congruenties volledig analoog zijn, bewijzen we hier enkel de eerste. Alsx ≡ 0 (mod p ), dan staat er 0≡ 0 (mod p ) en is de congruentie dus voldaan. We nemen nuaan dat x 6≡ 0 (mod p ), dus ggd(x , p ) = 1. Door de kleine stelling van Fermat weten we dat

x p−1 ≡ 1 (mod p ).

Verhef nu beide leden tot de macht k (q −1) en vermenigvuldig met x :

x p−1�k (q−1)

·x ≡ x (mod p )

x k (p−1)(q−1)+1 ≡ x (mod p )

7 Cryptografie

7.1 Inleiding

Een veel gebruikte toepassing van de aritmetische mogelijkheden in de verzamelingZ/mZis een cryptografisch systeem dat we in dit hoofdstuk beschrijven.

De bedoeling is dat twee (of meer) mensen een geheime boodschap kunnen uitwisselenzonder dat iemand die afluistert de boodschap kan achterhalen. We illustreren dit als volgt:An en Bart komen elkaar op café tegen, ze hebben elkaar nog niet eerder gezien. Op eenbepaald ogenblik wil An iets vertellen aan Bart, maar ze wil niet dat iemand anders in hetdrukke café het kan begrijpen. An en Bart moeten dus een cryptografisch systeem gebrui-ken dat zó is dat er op voorhand geen geheime sleutel moet afgesproken worden. Er wordtnamelijk verondersteld dat alle communicatie tussen An en Bart afgeluisterd kan worden.Het verwonderlijke is dat het toch mogelijk is dat An iets vertelt aan Bart zodat enkel Bartde boodschap kan ontcijferen.

De meeste klassieke cyptosystemen (zeg maar alles voor 1970) zijn symmetrisch. Dit bete-kent dat er één geheime sleutel is die zowel voor het encrypteren (versleutelen) als het de-crypteren (ontcijferen) gebruikt wordt. Zo’n systeem kan hier niet gebruikt worden, wantals An de geheime sleutel vertelt aan Bart (of omgekeerd), kunnen anderen de sleutel af-luisteren en zo de boodschap ontcijferen.

Het RSA-systeem dat we hier bespreken is asymmetrisch: er zijn twee sleutels nodig, éénvoor het encrypteren en één voor het decrypteren. An en Bart gaan als volgt te werk: Bartbepaalt een encryptie- en een decryptie-sleutel en vertelt An enkel de encryptie-sleutel.Dan versleutelt An haar boodschap met Barts encryptie-sleutel en zo kan enkel Bart deboodschap decrypteren. We gaan er dus van uit dat afluisteraars de encryptie-sleutel ken-nen en ook de geëncrypteerde boodschap van An. Maar aangezien enkel Bart de decryptie-sleutel kent is de boodschap veilig. Een belangrijke voorwaarde opdat dit systeem veiligzou zijn is uiteraard dat de decryptie-sleutel niet achterhaald kan worden uit de encryptie-sleutel. De encryptiesleutel wordt ook wel de publieke sleutel genoemd en de decryptie-sleutel de private sleutel.

Page 23: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

7 Cryptogra�e 22

7.2 RSA

Het RSA cryptosysteem werd in de jaren zeventig van vorige eeuw ontwikkeld door Rivest,Shamir en Adleman. Het is in wezen gebaseerd op het modulair exponentieel rekenen.

We starten met het opstellen van een encryptie- en decryptiesleutel. Dit is iets wat Bartdoet als hij wil dan An versleutelde boodschappen naar hem kan sturen. Bart kiest tweeverschillende priemgetallen p en q en berekent hun product n = p ·q . Hij kiest een wille-keurige exponent e , zodanig dat ggd(e , (p − 1)(q − 1)) = 1. De encryptiesleutel is dan hetpaar (e , n ). Een boodschap bestaat uit verschillende blokken van letters. Elk blok vertalenwe naar een numerieke waarde. We moeten enkel n (en dus p en q ) groot genoeg kiezen.

Stel dan dat P de numerieke waarde is van een blok (bestaande uit 1 of meerdere letters)dat we gaan encrypteren. De versleutelde boodschap C wordt als volgt gedefinieerd:

C = Pe (mod n )

Noem d de inverse van e modulo (p−1)(q−1). We weten dat deze bestaat omdat ggd(e , (p−1)(q − 1)) = 1. De decryptiesleutel is (d , n ). Met het uitgereide algoritme van Euclides kandeze inverse berekend worden, maar hiervoor moet je dus de priemgetallen p en q kennen.Aangezien e d ≡ 1 (mod (p − 1)(q − 1)) bestaat er een k waarvoor e d = k (p − 1)(q − 1) + 1.Nu volgt uit stelling 6.6 onmiddellijk dat C d ≡ P (mod n ). Met andere woorden, d zorgtinderdaad voor decryptie:

C d = (Pe )d = Pe d = Pk (p−1)(q−1)+1 ≡ P (mod n ).

Bart, die de publieke sleutel (e , n ) opstelt, beschikt over de priemgetallen p en q , en kandus gemakkelijk de geheime decryptiesleutel (d , n ) bepalen. De modulus n is publiek, ende veiligheid van dit systeem is gebaseerd op het feit dat het met de huidige gekende algo-ritmen, computationeel gezien nog steeds heel moeilijk is om grote getallen te factoriserenin het product van priemgetallen. Er zijn echter wel zeer efficiënte algoritmen gekend omeen inverse modulo (p −1)(q −1) te bepalen en om exponentiele berekeningen modulo nuit te voeren.

Page 24: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

8 Factorisatie van getallen 23

Neem als priemgetallen p = 47 en q = 59. Dan wordt n = p ·q = 2773 en (p−1)(q−1) =2668. Kiezen we e = 13, dan is duidelijk ggd(e , (p − 1)(q − 1)) = 1. De inverse van emodulo 2668 is 821.Stel dat de onversleutelde boodschap luidt: “wiskunde is plezant”. We zullen de let-ters in blokjes van twee vertalen naar een getal. Deze reeks getallen wordt dan

{2309, 1911, 2114, 0405, 0009, 1900, 1612, 0526, 0114, 2000}.

Elk blokje P wordt nu versleuteld als volgt:

C ≡ P13 (mod 2773)

Dit geeft ons de reeks versleutelde blokjes:

{1867, 2239, 1550, 0139, 0920, 1848, 2653, 1860, 0391, 0933}.

Voorbeeld 7.1

Eva wil nu de versleutelde boodschap kraken. Zij kent de versleutelde boodschap en kentook n = 2773 en e = 13. De enige gekende manier om RSA te kraken is om n te factoriserenals het product van twee priemgetallen p en q en dan d uit te rekenen. In het volgendehoofdstuk gaan we dit factorisatieprobleem bespreken.

8 Factorisatie van getallen

Aangezien de getallen die voor RSA gebruikt worden geen speciale vorm hebben en enkelgrote factoren hebben, zijn het de moeilijkste getallen om te factoriseren. Het volgendelijstje geeft een idee van hoe lang het duurt om zo’n getal te factoriseren:

• 50 cijfers: minder dan 1 seconde op een Core2.

• 75 cijfers: 2 minuten op een 2GHz Core2.

• 100 cijfers: 5 uur op een 2GHz Core2.

• 125 cijfers: 20 dagen op een 2.53GHz Pentium 4.

• 150 cijfers: 10 maanden op een 2.53GHz Pentium 4.

• 232 cijfers: twee jaar gebruik makend van honderden computers. Dit is het huidigerecord voor factorisatie van getallen zonder speciale vorm. Dit werd gedaan dooreen team van onderzoekers aan verschillende universiteiten. Deze factorisatie werdgestart in augustus 2007 en duurde tot en met 12 december 2009.

Als vuistregel kan je stellen dat elke 4 à 5 cijfers extra een verdubbeling van de rekentijdgeeft.

Page 25: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

8 Factorisatie van getallen 24

Het echte record voor factorisatie is het getal 21039 − 1. Dit getal heeft 313 cijfers, maar isdoor zijn speciale vorm gemakkelijker te factoriseren (de moeilijkheid van factorisatie isvergelijkbaar met een getal van 215 cijfers zonder speciale vorm).

In de praktijk worden voor RSA meestal getallen gebruikt van 1024 bits (309 cijfers), 2048bits (617 cijfers) of 4096 bits (1233 cijfers). Het factorisatierecord van 232 cijfers is niet meerzo ver verwijderd van 309 cijfers, het is dus goed mogelijk dat men over 10 jaar RSA-sleutelsvan 1024 bits zal kunnen kraken. Vanaf 2048 bits zijn de getallen echter veel groter dan de-gene die men vandaag kan factoriseren. Het ziet er niet naar uit dat men zulke grote getal-len zal kunnen factoriseren (afgezien van serieuze wiskundige of technische doorbraken).Dit is maar goed ook, want RSA is één van de meest gebruikte cryptografische systemen,met toepassingen zoals bankkaarten en beveiliging van websites.

Het meest naïeve algoritme om een getal n te factoriseren is gewoon n proberen te delendoor alle priemgetallen kleiner dan of gelijk aan

pn .

We willen 2047 factoriseren. Aangezienp

2047 = 45, 244 . . ., moeten we voor allepriemgetallen p tot en met 43 controleren of 2047 deelbaar is door p :

2047≡ 1 (mod 2) 2047≡ 6 (mod 13)

2047≡ 1 (mod 3) 2047≡ 7 (mod 17)

2047≡ 2 (mod 5) 2047≡ 14 (mod 19)

2047≡ 3 (mod 7) 2047≡ 0 (mod 23)

2047≡ 1 (mod 11)

We zien dat 23 een deler is van 2047 en we delen 2047/23 = 89. Aangezien 89 eenpriemgetal is, hebben we de factorisatie gevonden: 2047= 23 ·89.

Voorbeeld 8.1

Deze factorisatiemethode werkt goed voor kleine getallen, maar om grote getallen te fac-toriseren (laat ons zeggen meer dan 15 cijfers) zijn andere algoritmes aangewezen.

8.1 De kwadratische zeef

Een andere methode om getallen te factoriseren is de zogenaamde kwadratische zeef. Dezeis gebaseerd op volgende stelling:

Stel dat n = p ·q met p en q twee verschillende oneven priemgetallen. Dan heeft devergelijking x 2 ≡ 1 (mod n ) vier verschillende oplossingen {1, n−1, a ,b} inZ/nZmetggd(n , a −1) = p en ggd(n ,b −1) =q .

Stelling 8.2

Page 26: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

8 Factorisatie van getallen 25

Bewijs. Dankzij stelling 6.2 weten we dat x 2 ≡ 1 (mod n ) equivalent is met het stelsel

¨

x 2 ≡ 1 (mod p )

x 2 ≡ 1 (mod q ).

Merk op dat x 2 ≡ 1 (mod p ) betekent dat x zijn eigen inverse is modulo p . Stelling 3.16 zegtdat dit enkel kan als x ≡ 1 (mod p ) of x ≡−1 (mod p ). Analoog heeft de tweede vergelijking1 en −1 modulo q als oplossingen.

Met de Chinese reststelling hebben we nu in totaal vier oplossingen modulo n . De oplos-singen van volgende 4 stelsels zijn juist de oplossingen van x 2 ≡ 1 (mod n ).¨

x ≡ 1 (mod p )

x ≡ 1 (mod q ),

¨

x ≡−1 (mod p )

x ≡−1 (mod q ),

¨

x ≡ 1 (mod p )

x ≡−1 (mod q ),

¨

x ≡−1 (mod p )

x ≡ 1 (mod q ).

De eerste twee geven x ≡ 1 (mod n ) en x ≡−1 (mod n ). Noem de derde oplossing a en devierde b , dan zal ggd(n , a −1) = p en ggd(n ,b −1) =q .

Hoe gaan we deze stelling nu toepassen? Als we op de één of andere manier een congruen-tie x 2 ≡ y 2 (mod n ) vinden met y inverteerbaar modulo n , dan hebben we ook (x/y )2 ≡ 1(mod n ). Als deze x en y “willekeurig” zijn, dan hebben we dankzij de vorige stelling dus50% kans dat ggd(n , (x/y )−1) = ggd(n ,x − y ) een echte factor p of q van n geeft.

De kwadratische zeef is een methode om zo’n congruentie x 2 ≡ y 2 (mod n ) te vinden, endus hopelijk ook de factorisatie van n . We werken het algoritme uit aan de hand van hetvoorbeeld n = 53953. We berekenen

pn = 232, 278 . . .. Hieruit volgt dat 2332 −n een vrij

klein getal zal zijn. Inderdaad, 2332−53953= 336. We factoriseren 336 en vinden

2332 ≡ 24 ·3 ·7 (mod n ).

We doen hetzelfde voor alle gehele getallen in het interval [223, 242]. We schrijven de fac-torisatie enkel op als alle factoren kleiner zijn dan 50.

2232 ≡−1 ·27 ·3 ·11 2322 ≡−1 ·3 ·43

2252 ≡−1 ·28 ·13 2332 ≡ 24 ·3 ·72292 ≡−1 ·23 ·33 ·7 2382 ≡ 32 ·13 ·23

2302 ≡−1 ·34 ·13 2392 ≡ 25 ·32 ·11

2312 ≡−1 ·24 ·37 2412 ≡ 25 ·3 ·43

Merk op dat we hier −1 als een “priemgetal” beschouwen in deze factorisaties. Uit boven-staande factorisaties halen we

2252 ·2302 ≡ (−1 ·28 ·13) · (−1 ·34 ·13) (mod n )

(225 ·230)2 ≡ (24 ·32 ·13)2 (mod n )

We hebben dus een congruentie van kwadraten gevonden. Nu berekenen we ggd(n , 225 ·230−24 ·32 ·13) = ggd(53953, 49878) = 163. Zo vinden we de factorisatie 53953= 163 ·331.

Page 27: Opgelosteenonopgelostemysteries indegetaltheoriehomepages.vub.ac.be/~jdbeule/pdfs/getaltheorie.pdf · Voorbeeld1.5 Misschien vraag je je wel af of er zoiets bestaat als een “grootste

8 Factorisatie van getallen 26

We hadden ook pech kunnen hebben dat deze grootste gemene deler 1 of n uitkwam. Danzouden we een andere congruentie x 2 ≡ y 2 moeten zoeken en die proberen.

Factoriseer zelf het getal 47851 met behulp van deze methode.

Oefening 8.3

Het woord kwadratische zeef slaat op een algoritme (dat we hier niet gaan uitwerken) omsneller te zien welke getallen k 2−n er enkel kleine factoren hebben. Deze zeef kan heel snelbepalen welk van deze getallen een factor 2 hebben, welke een factor 3 hebben, enzovoort.De kwadratische zeef is in de praktijk het snelste algoritme om RSA-getallen te factoriserenvan pakweg 100 cijfers of minder. De factorisatie-resultaten tot en met 100 cijfers die in hetbegin van dit hoofdstuk vermeld werden zijn bekomen met het programma msieve, eenimplementatie van de kwadratische zeef.