2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139Sint-Lievenscollege 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 337 347 349 353 359 367 373 379 383 389 397 401 409 419 Zilverenberg 1 421 431 433 439 443 449 457 461 463 467 479 487 491 499 503 509 521 523 541 547 557 563 569 571 Gent 5779000 587 593 599 601 607 613 617 619 631 641 643 647 653 659 661 673 677 683 691 701 709 719 727 733 739 743 751 757 761 769 773 787 797 809 811 821 823 827 829 839 853 857 859 863 877 881 883 887 907 911 919 929 937 941 947 953 967 971 977 983 991 997 1009 1013 1019 1021 1031 1033 1039 1049 1051 1061 1063 1069 1087 1091 1093 1097 1103 1109 1117 1123 1129 1151 1153 1163 1171 1181 1187 1193 1201 1213 1217 1223 1229 1231 1237 1249 1259 1277 1279 1283 1289 1291 1297 1301 1303 1307 1319 1321 1327 1361 1367 1373 1381 1399 1409 1423 1427 1429 1433 1439 1447 1451 1453 1459 1471 1481 1483 1487 1489 1493 1499 1511 1523 1531 1543 1549 1553 1559 1567 1571 1579 1583 1597 1601 1607 1609 1613 1619 1621 1627 1637 1657 1663 1667 1669 1693 1697 1699 1709 1721 1723 1733 1741 1747 1753 1759 1777 1783 1787 1789 1801 1811 1823 1831 1847 1861 1867 1871 1873 1877 1879 1889 1901 1907 1913 1931 1933 1949 1951 1973 1979 1987 1993 1997 1999 2003 2011 2017 2027 2029 2039 2053 2063 2069 2081 2083 2087 2089 2099 2111 2113 2129 2131 2137 2141 2143 2153 2161 2179 2203 2207 2213 2221 2237 2239 2243 2251 2267 2269 2273 2281 2287 2293 2297 2309 2311 2333 2339 2341 2347 2351 2357 2371 2377 2381 2383 2389 2393 2399 2411 2417 2423 2437 2441 2447 2459 2467 2473 2477 2503 2521 2531 2539 2543 2549 2551 2557 2579 2591 2593 2609 2617 2621 2633 2647 2657 2659 2663 2671 2677 2683 2687 2689 2693 2699 2707 2711 2713 2719 2729 2731 2741 2749 2753 2767 2777 2789 2791 2797 2801 2803 2819 2833 2837 2843 2851 2857 2861 2879 2887 2897 2903 2909 2917 2927 2939 2953 2957 2963 2969 2971 2999 3001 3011 3019 3023 3037 3041 3049 3061 3067 3079 3083 3089 3109 3119 3121 3137 3163 3167 3169 3181 3187 3191 3203 3209 3217 3221 3229 3251 3253 3257 3259 3271 3299 3301 3307 3313 3319 3323 3329 3331 3343 3347 3359 3361 3371 3373 3389 3391 3407 3413 3433 3449 3457 3461 3463 3467 3469 3491 3499 3511 3517 3527 3529 3533 3539 3541 3547 3557 3559 3571 3581 3583 3593 3607 3613 3617 3623 3631 3637 3643 3659 3671 3673 3677 3691 3697 3701 3709 3719 3727 3733 3739 3761 3767 3769 3779 3793 3797 3803 3821 3823 3833 3847 3851 3853 3863 3877 3881 3889 3907 3911 3917 3919 3923 3929 3931 3943 3947 3967 3989 4001 4003 4007 4013 4019 4021 4027 4049 4051 4057 4073 4079 4091 4093 4099 4111 4127 4129 4133 4139 4153 4157 4159 4177 4201 4211 4217 4219 4229 4231 4241 4243 4253 4259 4261 4271 4273 4283 4289 4297 4327 4337 4339 4349 4357 4363 4373 4391 4397 4409 4421 4423 4441 4447 4451 4457 4463 4481 4483 4493 4507 4513 4517 4519 4523 4547 4549 4561 4567 4583 4591 4597 4603 4621 4637 4639 4643 4649 4651 4657 4663 4673 4679 4691 4703 4721 4723 4729 4733 4751 4759 4783 4787 4789 4793 4799 4801 4813 4817 4831 4861 4871 4877 4889 4903 4909 4919 4931 4933 4937 4943 4951 4957 4967 4969 4973 4987 4993 4999 5003 5009 5011 5021 5023 5039 5051 5059 5077 5081 5087 5099 5101 5107 5113 5119 5147 5153 5167 5171 5179 5189 5197 5209 5227 5231 5233 5237 5261 5273 5279 5281 5297 5303 5309 5323 5333 5347 5351 5381 5387 5393 5399 5407 5413 5417 5419 5431 5437 5441 5443 5449 5471 5477 5479 5483 5501 5503 5507 5519 5521 5527 5531 5557 5563 5569 5573 5581 5591 5623 5639 5641 5647 5651 5653 5657 5659 5669 5683 5689 5693 5701 5711 5717 5737 5741 5743 5749 5779 5783 5791 5801 5807 5813 5821 5827 5839 5843 5849 5851 5857 5861 5867 5869 5879 5881 5897 5903 5923 5927 5939 5953 5981 5987 6007 6011 6029 6037 6043 6047 6053 6067 6073 6079 6089 6091 6101 6113 6121 6131 6133 6143 6151 6163 6173 6197 6199 6203 6211 6217 6221 6229 6247 6257 6263 6269 6271 6277 6287 6299 6301 6311 6317 6323 6329 6337 6343 6353 6359 6361 6367 6373 6379 6389 6397 6421 6427 6449 6451 6469 6473 6481 6491 6521 6529 6547 6551 6553 6563 6569 6571 6577 6581 6599 6607 6619 6637 6653 6659 6661 6673 6679 6689 6691 6701 6703 6709 6719 6733 6737 6761 6763 6779 6781 6791 6793 6803 6823 6827 6829 6833 6841 6857 6863 6869 6871 6883 6899 6907 6911 6917 6947 6949 6959 6961 6967 6971 6977 6983 6991 6997 7001 7013 7019 7027 7039 7043 7057 7069 7079 7103 7109 7121 7127 7129 7151 7159 7177 7187 7193 7207 7211 7213 7219 7229 7237 7243 7247 7253 7283 7297 7307 7309 7321 7331 7333 7349 7351 7369 7393 7411 7417 7433 7451 7457 7459 7477 7481 7487 7489 7499 7507 7517 7523 7529 7537 7541 7547 7549 7559 7561 7573 7577 7583 7589 7591 7603 7607 7621 7639 7643 7649 7669 7673 7681 7687 7691 7699 7703 7717 7723 7727 7741 7753 7757 7759 7789 7793 7817 7823 7829 7841 7853 7867 7873 7877 7879 7883 7901 7907 7919 7927 7933 7937 7949 7951 7963 7993 8009 8011 8017 8039 8053 8059 8069 8081 8087 8089 8093 8101 8111 8117 8123 8147 8161 8167 8171 8179 8191 8209 8219 8221 8231 8233 8237 8243 8263 8269 8273 8287 8291 8293 8297 8311 8317 8329 8353 8363 8369 8377 8387 8389 8419 8423 8429 8431 8443 8447 8461 8467 8501 8513 8521 8527 8537 8539 8543 8563 8573 Tim De Mey 8581 8597 8599 8609 8623 8627 8629 8641 8647 8663 8669 8677 8681 8689 8693 8699 8707 8713 8719 8731Begeleidende 8737 8741 8747 8753 8761 8779 8783 8803 8807 8819 8821 8831 8837 8839 8849Bartel 8861 Thomas 8863 8867 leerkracht: 8887 8893 8923 8929 8933 8941 8951 8963 8969 8971 8999 9001 9007 9011 9013 9029 9041 9043 9049 Van9091 Vooren 2005—2006 Vyncke 9059Els9067 9103 9109 9127 9133 9137 9151 9157 9161 9173 9181 9187 9199 9203Bram 9209 9221 9227 9239 9241 9257 9277 9281 9283 9293 9311 9319 9323 9337 9341 9343 9349 9371 9377 9391 9397 ... Priemgetallen Voorwoord ”Priemgetallen? Wat valt daar nu over te vertellen?” Dit is een reactie die we vaak tegenkwamen, iedere keer dat we vertelden wat het onderwerp was voor ons eindwerk. We kunnen je garanderen dat er wel dégelijk iets over te vertellen valt. Want dat is het eerste probleem dat zich stelt: hoe verwerk je zoveel informatie? Hoe kan je dat dan het best overbrengen? En vooral: hoe giet je al die prieminformatie in een mooie structuur? Priemgetallen zijn méér dan enkel ’getallen die slechts twee verschillende delers hebben’. Ze hebben een geschiedenis van wel meer dan 2000 jaar, vele wiskundigen hebben er al onderzoek naar gedaan en ze zijn de steunberen van de ganse getaltheorie. Onze onderzoeksvragen gaan dan ook ver: wat doe je ermee, waar vind je ze in de natuur, hoe bereken je grote priemgetallen, waarom zoeken mensen hiernaar, wat is hun functie, hoeveel zijn er, wie ontdekte ze... Het maken van dit eindwerk is een grote ervaring geweest, maar ook een heuse ontdekking. We hebben heel wat bijgeleerd over de priemgetallen zelf, maar ook met elkaar leren samenwerken, iets wat we heel ons leven zullen meedragen. In het eerste hoofdstuk bespreken we de algemeenheden rond priemgetallen, zoals het historisch ontstaan ervan, de definitie, en het mooie bewijs van Euclides. Het tweede hoofdstuk handelt dan over de methodes om priemgetallen te vinden. Sommigen bestaan al eeuwen lang, anderen konden pas geboren worden in het computertijdperk. Verder belichten we het GIMPS project, een online zoektocht naar Mersenne-priemgetallen waaraan iedereen met computer en internetverbinding aan kan deelnemen, en enkele records van priemgetalrijen. Merkwaardigheden over priemgetallen kom je dan te weten in hoofdstuk 3. Niet alle priemen zijn zomaar een aaneenschakeling van enkele cijfers! Sommigen geven een decimale ontwikkeling van π weer, anderen kunnen omgekeerd als hetzelfde priemgetal worden gelezen, er zijn er zelfs waarvan alle permutaties van hun cijfers priem zijn. Heb je trouwens al van illegale priemgetallen gehoord? Of priemtweelingen? Het vierde en laatste hoofdstuk legt enkele toepassingen op priemgetallen uit. Zo wordt het priemgetal 97 gebruikt bij de controle van een bankrekeningnummer, en 2 worden priemgetallen zelfs gebruikt in de cryptografie! Wie durft beweren dat priemgetallen pure wiskunde is, moet zijn mening dringend herzien. Sla nu vlug deze bladzijde om, en laat je verrassen door de wereld van priemgetallen! - Tim De Mey, Bartel Thomas en Bram Vyncke 3 Inhoudsopgave 1 Oneindig veel priemgetallen 1.1 Inleiding . . . . . . . . . . . . . . 1.2 Historisch ontstaan . . . . . . . . 1.3 Definitie . . . . . . . . . . . . . . 1.4 Euclides’ bewijs . . . . . . . . . . 1.5 De theorie der priemgetallen . . . 1.5.1 De principiële hoofdtheorie 1.5.2 De π-functie . . . . . . . . 1.5.3 Benaderingen voor het nde 1.6 Alsmaar grotere priemgetallen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . priemgetal . . . . . . . 2 Een priemwereld vol verrassingen 2.1 Inleiding . . . . . . . . . . . . . . . . . . . 2.2 Enkele vermoedens . . . . . . . . . . . . . 2.2.1 Het vermoeden van Goldbach . . . 2.2.2 Het oude vermoeden van Goldbach 2.2.3 Nog meer vermoedens . . . . . . . 2.3 Priemgaten . . . . . . . . . . . . . . . . . 2.4 Mersenne-priemgetallen . . . . . . . . . . . 2.5 Illegale priemgetallen . . . . . . . . . . . . 2.6 Merkwaardige priemgetallen . . . . . . . . 2.6.1 Congruente priemgetallen . . . . . 2.6.2 Palindroompriemgetallen . . . . . . 2.6.3 Repunit-priemgetallen . . . . . . . 2.6.4 Circulaire priemgetallen . . . . . . 2.6.5 Permutabele priemgetallen . . . . . 2.6.6 Beschrijvende priemgetallen . . . . 2.6.7 Afknotbare priemgetallen . . . . . 2.6.8 Verwijderbare priemgetallen . . . . 2.7 Priemtweelingen . . . . . . . . . . . . . . . 2.7.1 Algemeen . . . . . . . . . . . . . . 2.7.2 Constanten van Brun . . . . . . . . 2.7.3 De stelling van Hardy-Littlewood . 2.7.4 Varianten . . . . . . . . . . . . . . 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 . 6 . 6 . 7 . 7 . 8 . 8 . 9 . 9 . 10 . . . . . . . . . . . . . . . . . . . . . . 12 12 12 12 13 13 13 15 15 17 17 19 21 21 22 22 23 24 25 25 25 26 27 . . . . . . . . . . . . . . . . . . . . . . 3 De zoektocht naar priemgetallen 3.1 Inleiding . . . . . . . . . . . . . . . . . . 3.2 De vlugge tests . . . . . . . . . . . . . . 3.2.1 De zeef van Eratosthenes . . . . . 3.2.2 Priemfactoren . . . . . . . . . . . 3.2.3 Fermats kleine stelling . . . . . . 3.2.4 a-PRP’s, priem-waarschijnlijkheid 3.2.5 a-SPRP’s . . . . . . . . . . . . . 3.3 De klassieke tests . . . . . . . . . . . . . 3.3.1 n − 1 tests . . . . . . . . . . . . . 3.3.2 n + 1 tests . . . . . . . . . . . . . 3.4 APR, APRT-CL . . . . . . . . . . . . . 3.5 GIMPS . . . . . . . . . . . . . . . . . . 3.5.1 Algemeen . . . . . . . . . . . . . 3.5.2 De wiskunde achter GIMPS . . . 3.6 Priemgetalfuncties . . . . . . . . . . . . 3.6.1 Toevalsgetallen van Euler . . . . 3.6.2 Records van priemgetalfuncties . 4 Toepassingen op priemgetallen 4.1 Het bankrekeningnummer . . . 4.2 Encryptie met RSA . . . . . . . 4.2.1 Het principe van RSA . 4.2.2 De digitale handtekening 4.2.3 Veiligheid . . . . . . . . 4.3 De levenscyclus van cicaden . . 4.4 Priempuzzels . . . . . . . . . . . . . . . . . 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 28 28 29 29 30 31 32 33 34 35 36 37 37 38 40 40 40 . . . . . . . 41 41 42 42 44 44 44 45 Hoofdstuk 1 Oneindig veel priemgetallen 1.1 Inleiding In dit hoofdstuk bespreken we enkele algemeenheden over priemgetallen. Wat zijn het? Hoe ontstonden ze en wie ontdekte ze dan? En misschien wel belangrijk: hoeveel zijn er? Kortom, een inleidend hoofdstuk over de term priemgetallen en de directe vragen die zich er bij stellen. 1.2 Historisch ontstaan Wanneer de geschiedenis van de priemgetallen ontstaan is, valt moeilijk te bepalen. Het is namelijk niet geweten of de Babyloniërs reeds afwisten van het bestaan ervan, wel staat vast dat in 400 voor Christus, Pythagoras de priemgetallen al had gedefinieerd als getallen enkel deelbaar door 1 en zichzelf. Rond 300 voor Christus discussieerde Euclides, een van de grootste wiskundige geleerden die ooit bestaan heeft, al over de verscheidene mogelijkheden van priemgetallen in z’n 13-delige werk ”De Elementen”. Een boek waarin hij tevens het bewijs levert dat er oneindig veel priemgetallen bestaan. De Zeef van Erastosthenes werd dan weer in 200 voor Christus beschreven. Vervolgens bleef het gedurende eeuwen stil rond de priemgetallen, tot in de vroege 16e eeuw, toen verscheidene methodes om te vermenigvuldigen ontwikkeld werden en vele vermoedens voor formules gemaakt. n Pierre Fermat veronderstelde dat 22 − 1 enkel priemgetallen opleverde, terwijl Marin Mersenne over 2n − 1 hetzelfde dacht indien n priem was. In 1753 toonde Christian Goldbach aan dat geen enkele formule voldoet om álle priemgetallen te definiëren, ondanks dat Leonhard Euler bewees dat f(x) = x2 − x + 41, voor x gaande van 0 tot 39, steeds een priemgetal geeft (zie ook: Priemgetalfuncties, p. 40). Vanaf 1800 werd er intensief op zoek gegaan naar grotere priemgetallen en naar de mogelijkheden om ze te gebruiken in de samenleving. Er werd op een duurzame manier vooruitgang geboekt waarbij er steeds maar grotere priemgetallen ontdekt 6 werden. Zo werd 231 − 1 gevonden in 1750 en een goede honderd jaar later (1876 om precies te zijn) was het grootste priemgetal reeds 2127 − 1. Dit werd natuurlijk vergemakkelijkt door de formule van Mersenne, maar toch is het opmerkelijk hoe snel het vooruitging in het zoeken naar priemgetallen. In 1950 werd de jacht pas echt goed geopend, met de mogelijkheid om gebruik te maken van elektronische apparatuur. Het aantal cijfers dat het grootste priemgetal bevat, is gedurende de laatste 50 jaar exponentieel gegroeid ten opzichte van de geschiedenis van deze getallen. Over de voorbije twee decennia, is men van een getal van 300 cijfers overgegaan naar getallen van 4 miljoen cijfers! Ook nu nog is de zoektocht naar priemgetallen bezig, en hiermee valt zelfs al een serieuze geldsom te winnen. 1.3 Definitie De enige juiste definitie van een priemgetal is: Een priemgetal is een natuurlijk getal dat slechts 2 verschillende delers heeft. Die delers zijn dus 1 en het getal zelf. Bijgevolg is 1 geen priemgetal. Ook omdat ieder getal een unieke ontbinding in priemfactoren heeft, zou 1 nooit een priemgetal mogen zijn. 2 3 4 5 6 7 = = = = = = 2 3 2 · 2 = 22 5 2·3 7 8 9 10 11 12 13 = = = = = = 23 32 2·5 11 22 · 3 13 14 15 16 17 18 19 = = = = = = 22 · 7 3·5 24 17 2 · 32 19 Stel nu dat 1 wél een priemgetal zou zijn, dan zouden we ieder getal op oneindig veel manieren kunnen ontbinden: 2= = = = 1.4 3= = = = 2 2·1 2 · 12 2 · 13 ... 3 3·1 3 · 12 3 · 13 ... Euclides’ bewijs Men vroeg zich al lang af hoeveel priemgetallen er waren alvorens Euclides op de proppen kwam met zijn bewijs. Niemand had namelijk een manier gevonden om het aantal te berekenen. Men kon wel aantonen dat er p priemgetallen zijn vanaf 2 7 tot en met n, indien n niet te groot was. Het totale aantal in ℵ kon men niet bepalen. In zijn dertiendelige werk ’De Elementen’ publiceerde Euclides een van de beroemdste bewijzen ooit. Hij bewees namelijk niet dat er p priemgetallen waren, maar dat er oneindig veel zijn! Hij deed dat door een bewijs uit het ongerijmde; Euclides vertrok vanuit de veronderstelling dat er een grootste priemgetal pn bestaat. Ziehier zijn bewijs: Veronderstel dat er een grootste priemgetal pn bestaat. Dan maken we een lijst van álle priemgetallen: 2, 3, 5,...,pn . Definieer dan N = 2 · 3 · 5 · ... · pn . • N + 1 is niet deelbaar door 2 want N is dat wel. De rest is 1. • N + 1 is niet deelbaar door 3 want N is dat wel. Ook hier is de rest 1. • N + 1 is niet deelbaar door 5, 7,...,pn. De rest is telkens 1. Als N + 1 niet deelbaar is dan moet N + 1 zelf priem zijn. Als het wel deelbaar is, dan bestaat er een priemgetal p dat N + 1 deelt maar dat niet was opgenomen in de lijst, dus moet dat priemgetal p groter zijn dan pn . Deze beide veronderstellingen spreken tegen dat pn het grootste priemgetal is. Wanneer men het grootste priemgetal ooit vindt, weet men met zekerheid dat er nog een groter moet bestaan. Er zijn dus oneindig veel priemgetallen. 1.5 1.5.1 De theorie der priemgetallen De principiële hoofdtheorie Priemgetallen zijn op een grillige manier verdeeld en dat maakt het moeilijk om er een structuur in te zoeken. Tot op heden is er nog geen vast patroon gevonden. De theorie der priemgetallen zegt dat de kans dat een getal x priem is, ongeveer gelijk 1 , voor een ’grote’ x. is aan ln(x) 1 (1.1) Px,p = ln(x) Als x rond 10000 ligt, is de kans dat het priem is ongeveer 19 . Voor getallen rond 1 . We kunnen dus afleiden dat de priemge1.000.000.000 ligt de kans dan rond 21 tallen dunner en dunner bezaaid zijn naarmate we kijken naar grotere getallen, en de priemtheorie geeft dus een zeer nauwkeurige waarde over de mate waarin die concentratie van priemgetallen afneemt. 8 1.5.2 De π-functie Definieer π(x) als de functie die het aantal priemgetallen kleiner of gelijk aan x telt, met x ∈ ℵ0 . Zo is π(10) = 4, want er zijn vier priemgetallen kleiner of gelijk aan 10: 2, 3, 5 en 7. Uit de priemtheorie kan worden afgeleid dat π(x) =1 x→∞ ( x ) ln(x) lim (1.2) Dit kan dan ook geschreven worden als: π(x) ∼ x ln(x) (1.3) Dit1 wil niet zeggen dat de limiet van het verschil tussen beide functies nul is wanneer x oneindig nadert. Legendre nam deze formule aan zonder bewijs, in 1796, na tabellen met waarden van Anton Felkel en Jurij Vega te hebben bekeken. π(x) is niet exact bepaald door de formule (1.3). Voor grote getallen zou het heel lang duren alvorens men de pi-functiewaarde ervan kan bepalen. Gelukkig is π(x) begrensd: x x < π(x) < 1.25506 ln(x) ln(x) (1.4) De eerste ongelijkheid geldt voor x ≥ 17, de tweede voor x > 1. Een andere begrenzing van π(x) is: x x < π(x) < ln(x) + 2 ln(x) − 4 (1.5) voor alle x ≥ 55. 1.5.3 Benaderingen voor het nde priemgetal Definieer pn als het nde priemgetal. pn ∼ n · ln(n) (1.6) De theorie van Rosser is pn > n · ln(n). Deze formule kan dan worden uitgebreid met: (1.7) n · ln(n) + n · ln(ln(n)) − n < pn < n · ln(n) + n · ln(ln(n)) Dit geldt voor iedere n ≥ 6. Eigenlijk geldt n ≥ 2 voor de linkse ongelijkheid, welke is gevonden door Pierre Dusart in 1999. 1 a ∼ b: a ligt in de buurt van b. 9 1.6 Alsmaar grotere priemgetallen Mensen hebben soms vreemde hobby’s. Sommigen houden zich namelijk bezig met het zoeken naar steeds grotere priemgetallen. Er zijn nochtans heel wat redenen voor: traditie, het verzamelen van zeldzame dingen zoals Mersenne-priemgetallen, voor de roem, om de hardware van een computer te testen, om de verdeling van priemgetallen beter te begrijpen en te achterhalen, en tenslotte, voor het geld. De traditie om steeds grotere priemgetallen te vinden kan bij Euclides gesitueerd worden rond 300 voor Christus. In zijn werk ’De Elementen’ beschreef hij even, perfecte getallen2. Hij merkte op dat deze getallen nogal dicht lagen bij priemgetallen van de vorm 2p − 1 voor een priemgetal p. Vanaf toen begon de jacht op die speciale priemgetallen, die men nu Mersenne-priemgetallen noemt (zie ook: Mersenne-priemgetallen, p.15). Grote getallen van deze vorm die priem zijn werden al bestudeerd door Fermat, Mersenne, Leibniz, Euler, Lucas, Peppin en Lehmer (we vermelden enkel de belangrijksten). Wat een eer moest iemand zijn eigen naam bij dit lijstje mogen toevoegen! De traditie om Mersenne-priemgetallen te vinden, gaat dus nog stevig door. De zoektocht naar priemgetallen geeft ook voldoening. Waarom proberen sportlui steeds sneller te lopen dan de anderen, of hoger te springen, of meer te scoren? Het is een competitie, die we best kunnen vergelijken met bergbeklimmen. Een bergbeklimmer die een grote berg ’overwint’ tegenover een priemspeurder die een heel groot priemgetal vindt, beiden zijn tevreden over hun ’prestatie’. Men gebruikt ook programma’s om priemgetallen te zoeken bij het testen van hardware. Dit wordt al gedaan sedert het ontstaan van de computer. Zo werden stukjes software van het GIMPS project (zie ook: GIMPS, p. 37) gebruikt door Intel om de processors Pentium II en Pentium Pro te testen alvorens ze verscheept werden. De voornaamste redenen waarom men precies voor een programma kiest dat priemgetallen berekent, ligt voor de hand. Deze software belast de processor meer dan andere programma’s doen, en zijn relatief kort om uit te voeren. Als men een groot priemgetal invoert, moet de computer, na miljoenen berekeningen, bevestigen dat dat getal priem is. Ook is zo’n programma gemakkelijk te starten of te stoppen. En er is nog een reden. Hoe meer priemgetallen we vinden, hoe meer we de verdeling ervan kunnen begrijpen en bestuderen. Wiskunde is geen experimentele wetenschap, maar deze manier laat toe om hypotheses op te stellen waarvan men dan hoopt dat ze bewezen kunnen worden. Er is al zeer veel onderzoek gedaan naar patronen in de verdeling van priemgetallen. Tenslotte speelt ook geld een rol. Zo zal de prijs van $ 100.000 worden uitgereikt 2 Een perfect getal is een natuurlijk getal dat gelijk is aan de som van zijn delers kleiner dan zichzelf. Zo zijn 6 = 1 + 2 + 3 en 28 = 1 + 2 + 4 + 7 + 14 perfecte getallen. 10 aan de persoon of organisatie die het eerst een priemgetal vindt dat uit minstens tien miljoen cijfers bestaat. Meer nog; wie als eerste een priemgetal vindt, bestaande uit honderd miljoen of meer cijfers, krijgt $ 150.000, en op het eerste priemgetal bestaande uit n miljard cijfers staat zelfs een prijs van $ 250.000! 11 Hoofdstuk 2 Een priemwereld vol verrassingen Geef aan iedere letter de waarde van zijn plaats. Dan is P + R + I + E + M = 61, een priemgetal... 2.1 Inleiding Al die priemgetallen, tussen nog zoveel anderen... Zijn er bepaalde dingen opvallend? Of zijn er priemgetallen die zich, op een bepaalde manier, onderscheiden van de rest? Natuurlijk wel! Speciale priemgetallen zoals palindroom-, repunit- of zelfs illegale priemgetallen, ze bestaan allemaal. Ook heel wat vermoedens en eigenschappen i.v.m. priemgetallen komen in dit hoofdstuk aan bod. 2.2 2.2.1 Enkele vermoedens Het vermoeden van Goldbach In 1792 schreef Goldbach een brief naar Euler waarin hij veronderstelde dat ieder geheel getal n > 5 kan geschreven worden als de som van 3 priemgetallen, waarbij herhaling mogelijk is. Euler beant-woordde met de boodschap dat volgens hem zelfs ieder getal n > 2 de som is van 2 priemgetallen. Vreemd genoeg staat dit laatste nu bekend als het vermoeden van Goldbach. 4= 6= 8= 10 = 12 = ... 2+2 3+3 3+5 3+7 5+7 Schnizel paste dit vermoeden lichtjes aan en bewees dat ieder getal n > 17 kan geschreven worden als de som van drie verschillende priemgetallen. Het is aangetoond dat ieder groot getal de som is van een priemgetal met een getal dat maximaal twee priemfactoren bevat. In 1993 heeft Sinisalo het vermoeden van Goldbach 12 nagetrokken voor alle getallen kleiner dan 4·1011, later werd dit werk dan verdergezet tot 1014 en nog later tot 4 · 1014 . 2.2.2 Het oude vermoeden van Goldbach Het oude vermoeden van Goldbach is de veronderstelling die hij in de brief naar Euler schreef. Ieder getal n > 5 zou volgens hem kunnen geschreven worden als de som van drie priemgetallen. 6= 7= 8= 9= 10 = ... 2+2+2 2+2+3 2+3+3 3+3+3 2+3+5 In 1937 is door Vinogradov bewezen dat dit klopt voor ’grote’ oneven getallen. Borodzkin toonde in 1956 aan dat het oude vermoeden juist is voor álle getallen 15 n (dus ook de even) groter dan 314348907 = 33 . Deze waarde werd in 1989 naar beneden gehaald door Wang: n > 1043000. Deze waarde moet nog altijd sterk gereduceerd worden alvorens we computers kunnen aanwenden om alle ’kleine’ getallen te controleren. 2.2.3 Nog meer vermoedens Om nog enkele vermoedens op te sommen: • Ieder even nummer is het verschil van twee priemgetallen. • Voor ieder even nummer 2n bestaan er oneindig veel priemgetalkoppels waarvan het verschil 2n bedraagt. Als n = 1, dan spreken we over de priemtweelingen (zie ook: Priemtweelingen, p. 25). Neem bijvoorbeeld n = 3, dan moet het verschil 6 zijn. Dit zijn dan sexy priemgetallen. Zo hebben we de priemkoppels 11 en 17, 13 en 19, 23 en 29, enzovoort. • Het aantal Fermat priemgetallen is eindig. Een Fermat priemgetal is een n priemgetal van de vorm 22 . 2.3 Priemgaten Een van de mysteries rond priemgetallen is de grillige verdeling ervan. Priemgetallen worden zelfs schaarser naarmate de getallen groter worden, dus de ’gaten’ tussen twee opeenvolgende priemgetallen vergroten. Een priemgat is dus de ruimte tussen twee opeenvolgende priemen, waarvan de grootte wordt bepaald door het verschil van beide priemen. Vele wiskundigen hebben zich gebogen over de priemverdeling. Het fenomeen van de priemgaten krijgt nu zijn eigen karakter, en wordt zeker niet 13 onbelangrijk geacht. Het zou ons op een gemakkelijker manier de priemverdeling doen kunnen begrijpen dan enkel te kijken naar de plaats van de priemgetallen zelf. Priemgaten hebben geen beperking in grootte. Als n ≥ 2 de minimale grootte is van het priemgat, dan zijn de getallen in de rij (n + 1)! + 2, (n + 1)! + 3, (n + 1)! + 4, ..., (n + 1)! + (n + 1) (2.1) allemaal samengesteld. Nemen we bijvoorbeeld n = 3, dan zijn de opeenvolgende getallen van het gat (3 + 1)! + 2, (3 + 1)! + 3, (3 + 1)! + 4, of vereenvoudigd 26, 27 en 28, welke inderdaad allemaal ontbindbaar zijn. Deze formule zal niet het eerste priemgat met grootte n geven, maar ’een’ priemgat met minimale grootte n. Het garandeert dus de aanwezigheid van tenminste n ontbindbare getallen. De grootte van een gat tussen twee priemgetallen P1 en P2 wordt gegeven door |P2 −P1 |, maar hier heerst geen absolute eensgezindheid over. Men durft ook wel eens dit verschil met 1 optellen, omdat het kleinste priemgetal bij het gat wordt gerekend. De relatieve frequentie dat een priemgat van grootte g voorkomt daalt exponentieel. De top van de grootste priemgaten g waarvoor Pg < 1018 , worden in onderstaande tabel weergegeven. Pg wordt gedefinieerd als het kleinste priemgetal waarvoor geldt dat het een priemgat met grootte g voorafgaat. Een asterisk betekent dat men de waarde van Pg niet zeker weet, m.a.w. dat Pg eventueel nog kleiner kan. g 1442 1276 1272 1270 1268 ... 1248 Pg 804 847 305 882 977 21283 03831 40582 94371 14771 06866 82562 65210 39114 57048 77669* 16561* 87869* 24097* 17539* 218 03472 11942 14273 Er zijn nog wel wat waarden voor g tussen 1268 en 1248, maar P1248 is het eerste getal waarvan men zeker is. Het is ook geweten dat er een priemgat met grootte 4247 bestaat tussen 10314 − 1929. Verder kan men kijken naar priemgaten tussen pseudo-priemgetallen, zo bestaat er een priemgat met grootte 119738 tussen twee 3396-cijfers tellende pseudo-priemgetallen. Om nog een paar voorbeelden te geven: een priemgat met grootte 1001548 tussen twee 43429-cijfers tellende PRP’s, en nog één van 2254930 groot tussen twee 86853-cijfers tellende PRP’s. 14 De ’waarde’ van een priemgat is de verhouding van de grootte van een priemgat −pn . In 1999 tot de ’gemiddelde’ grootte in die buurt. Men schrijft Wpn = pn+1 ln pn werd het getal 1 693 182 318 746 371 gevonden met een waarde van 32.2825. Dit bleef het record tot 804 212 830 686 677 669 ontdekt werd in 2005, waarbij het betreffende priemgat een grootte had 1442, en Wp = 34.9757. De geordende rij van priemgetallen waarvoor Wpn het grootst is t.o.v. Wpn van alle voorgaande kleinere priemgetallen, is 2, 3, 7, 113, 1327, 19609,... . 2.4 Mersenne-priemgetallen Mersenne-priemgetallen zijn priemgetallen van de vorm 2p − 1. Het is vrij eenvoudig om aan te tonen dat wanneer 2p − 1 priem is, p ook priem moet zijn. We geven een bewijs uit het ongerijmde. Veronderstel p = r · s (met r en s verschillend van 1). Dan volgt uit 2rs − 1 = (2s − 1)(2s(r−1) + 2s(r−2) + ... + 2s + 1) (2.2) dat 2s −1 een deler is van 2p −1, wat in strijd is met het feit dat deze laatste priem is. Marin Mersenne was de eerste die zich volledig toelegde op priemgetallen met deze eigenschap. Euler vermeldde ze echter wel al in zijn ’Elementen’. 2.5 Illegale priemgetallen In maart 2001 ontdekte Phil Carmody een priemgetal waarvan de binaire representatie correspondeert met de gezipte broncode in C - een programmeertaal - van een computerprogramma dat het decryptieschema DeCSS implementeert, en dat dus illegaal is onder de Digital Millenium Copyright Act. Er is echter nooit een rechtszaak van gekomen, en het is mogelijk dat het getal zelf legaal is. De informatie over hoe het getal te gebruiken daarentegen, om DVD’s te bekijken, is illegaal. Een DVD1 kan veel meer data opslaan dan een CD, en wordt daarom als opslagmedium gebruikt voor films. Om het afspelen ervan op een niet geautoriseerde machine te voorkomen, zijn deze films beschermd door CSS2 , een code waar iedere fabrikant van DVD-spelers een licentie op heeft. CSS wordt ook aangewend om waarschuwingen en reclame niet te kunnen doorspoelen. Al vlug waren er codes op internet te vinden die DVD’s konden decoderen, zoals DoD Speedripper opdook in september 1999. De bekendste van deze decoders was DeCSS, welke anoniem werd vrijgegeven op 6 oktober 1999. 1 2 Digital Versatile Disc Content Scramble System 15 De Motion Picture Association of America wou de verdeling van deze code stopzetten onder het sacrament van de Digital Millenium Copyright Act. Hieronder moet niet alleen het internet worden verstaan, maar ook fabrikanten van T-shirts die de volledige code op hun T-shirts hadden gedrukt. Wat heeft dit alles nu met priemgetallen te maken? Op het eerste zicht niets. Maar alles wat op een computer is opgeslagen, zoals programma’s, muziek en foto’s, is opgeslagen in een hele lange rij van binaire bits - het zijn dus getallen. Phil Carmody besloot om een versie te maken van DeCSS welke een priemgetal voorstelde. Eerst nam Carmody de anonieme versie C-code van DeCSS en comprimeerde het met het programma Gzip. Het getal dat dit verkleinde bestand voorstelde, was priem. Later paste Charles M. Hannum het programma lichtjes aan, door variabelen van naam te veranderen, en hij stelde vast de het getal dat het programma voorstelde, zonder het te comprimeren, priem was. Nog een andere variant, welke kleiner is, kan gevonden worden door iedere byte (ieder karakter) voor te stellen door niet 8, maar 7 bits. Dit is perfect mogelijk, omdat alle ASCII-karakters die gebruikt worden in de code, allemaal voorkomen in de eerste 128 ASCII-karakters. Met 7 bits kan men dus 27 = 128 combinaties maken, wat dus volstaat om alle karakters een eigen binaire voorstelling te geven. Er bestaan dus heel wat illegale priemgetallen. Hieronder volgt het allereerste illegale priemgetal, gevonden door Phil Carmody. 4 8565078965 0274475280 7457025712 7358830024 5842415654 1809478113 8622496943 5834628144 8451988596 9653331007 7789679843 2746918356 6044465212 7397829309 4905883138 5474999648 5336972781 8248893338 6220027234 1622716663 8833563190 3053238234 7017991614 8209079761 5937621022 7130404321 8418946942 4037549709 2194184655 8139147979 0474758711 4827224932 9390554302 2725319590 9055809203 6744725492 9859493646 2006812679 1826101035 8613770744 9879096539 7100841190 5551339994 2833959896 3259547234 4156473292 4392838737 2999603234 7283348691 3093805863 8273445760 9118647666 2087351357 5522701171 8625971694 9394882899 8522325446 6880029277 4855248991 6407391689 4711407760 6000647585 3672146969 9380203044 2963858495 9240196520 2157025974 7970799152 8469178361 0840897111 7649790614 2257394665 1257924055 1984716353 9174627812 5975027968 7912277498 0874484973 7366869851 6669932402 0048667099 0018259789 9771276941 8129840428 4862714048 0156208897 1161713078 1269007351 7712057249 0917955938 7347686142 3401047237 2683459661 7592359606 0103160196 2079586244 3457201463 2117138124 8716337599 5760848622 8309241530 9666698056 3871210005 0880529443 4469687974 9606034851 1320725973 1835034344 0547161321 4896854716 3882177176 9107887084 3637028357 1063028932 1453382074 8876668925 3992611751 7424977358 7979936188 8956870538 0050064598 9082354737 0298412552 9081590975 0104961259 9566584366 1203159337 8448700470 0973777701 4685188556 6063169144 4520853804 2017696177 8356619721 4464744505 4801928576 5681846785 2000800476 7030994915 7725524970 Joerg Dietrich kwam op het idee om css descramble.c, een bestand met daarin de programmeerinstructies voor het DeCSS-proces, om te zetten in 43016 basen tellende DNA-sequentie. In DNA zitten vier verschillende basen: thymine, adenosine, guanine en cytosine, en worden respectievelijk voorgesteld door T, A, G en C. Hij vertelt ons dat wanneer deze sequentie wordt gevonden in de genetische informatie van de mens, er dan 6 miljard mensen op deze wereld zijn die de wet breken. Hier volgt deze DNA-sequentie. AGTT CTAG CCAG CGGA CTCA CAAT CGCC AGGG AGGG CGAC CGCC CGCC CGGA CGTT CTAG AGAA AGAA CGTC CGTA AGAA CGCC CTAA CGCC AGAA AAGG CGAG CGCC CTCG AGAA CTGC CGGT CCCA AGAA CGTA CGAC CGCC CACT CTAG AGAA CGGA AGGG CGCC CTAT CTAG CCAA CGGC CACG CGGC AGAA AGTG CGCC CTAT CATA CGCT CGAC CTAT AGAA CGAT CGCA CGGC AGTG CGGA CTCT AGAA CGAT AAGG AGAA CGTT AAGG CTCA CGAT CGCG 16 CTAT AGAA CTCC CGTG AGAA AGAA CTCC CGGC CTAT AGGG CGTG AGAA AGGG ATAC CTAT CGTA CCTT AAGG CGCA ATAG AAGG ATGC AAGG CGCC CGCA AGAA CGCC AGAA AGAA ATGC AGAA AGAA CGCC AGGG CTAG CGTT AGGG ATGC AGGG CGAT CTAT AGAA AGAA CGCG AGAA AGAA AAGG CGTT CGAT AGAA CTCA AGAA AGAA CACA AGAA CGTG ... 2.6 2.6.1 Merkwaardige priemgetallen Congruente priemgetallen Een congruent priemgetal is een priemgetal dat in een regelmatige figuur kan worden voorgesteld. Met een regelmatige figuur bedoelen we een regelmatig nhoek, zoals een gelijkzijdige driehoek of een vierkant. Het middenste getal is dan het centrum van de figuur, met daarrond de cijfers van binnen naar buiten toe. Figuur 2.1: Regelmatige nhoeken. Hier volgen enkele voorbeelden: 7 7 7 7 7 7 7 7 3 3 3 3 3 7 7 3 7 7 7 3 7 7 3 7 3 7 3 7 7 3 7 7 7 3 7 7 3 3 3 3 3 7 7 7 7 7 7 7 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 stellen de priemgetallen 777777773 3333773777 3773737377 3777377333 3377777777 en 173 voor. 17 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 9 9 8 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 8 9 9 8 7 6 3 3 3 3 3 3 3 3 3 3 3 3 3 3 6 7 8 9 9 8 7 6 3 5 5 5 5 5 5 5 5 5 5 5 5 5 3 6 7 8 9 9 8 7 6 3 5 1 1 1 1 1 1 1 1 1 1 1 1 5 3 6 7 8 9 9 8 7 6 3 5 1 4 4 4 4 4 4 4 4 4 4 4 1 5 3 6 7 8 9 9 8 7 6 3 5 1 4 2 2 2 2 2 2 2 2 2 2 4 1 5 3 6 7 8 9 9 8 7 6 3 5 1 4 2 2 2 2 2 2 2 2 2 2 2 4 1 5 3 6 7 8 9 9 8 7 6 3 5 1 4 2 2 4 4 4 4 4 4 4 4 2 2 4 1 5 3 6 7 8 9 9 8 7 6 3 5 1 4 2 2 4 1 1 1 1 1 1 1 4 2 2 4 1 5 3 6 7 8 9 9 8 7 6 3 5 1 4 2 2 4 1 5 5 5 5 5 5 1 4 2 2 4 1 5 3 6 7 8 9 9 8 7 6 3 5 1 4 2 2 4 1 5 3 3 3 3 3 5 1 4 2 2 4 1 5 3 6 7 8 9 9 8 7 6 3 5 1 4 2 2 4 1 5 3 6 6 6 6 3 5 1 4 2 2 4 1 5 3 6 7 8 9 9 8 7 6 3 5 1 4 2 2 4 1 5 3 6 7 7 7 6 3 5 1 4 2 2 4 1 5 3 6 7 8 9 9 8 7 6 3 5 1 4 2 2 4 1 5 3 6 7 8 8 7 6 3 5 1 4 2 2 4 1 5 3 6 7 8 9 9 8 7 6 3 5 1 4 2 2 4 1 5 3 6 7 8 1 8 7 6 3 5 1 4 2 2 4 1 5 3 6 7 8 9 9 8 7 6 3 5 1 4 2 2 4 1 5 3 6 7 8 8 7 6 3 5 1 4 2 2 4 1 5 3 6 7 8 9 9 8 7 6 3 5 1 4 2 2 4 1 5 3 6 7 7 7 6 3 5 1 4 2 2 4 1 5 3 6 7 8 9 9 8 7 6 3 5 1 4 2 2 4 1 5 3 6 6 6 6 3 5 1 4 2 2 4 1 5 3 6 7 8 9 9 8 7 6 3 5 1 4 2 2 4 1 5 3 3 3 3 3 5 1 4 2 2 4 1 5 3 6 7 8 9 9 8 7 6 3 5 1 4 2 2 4 1 5 5 5 5 5 5 1 4 2 2 4 1 5 3 6 7 8 9 9 8 7 6 3 5 1 4 2 2 4 1 1 1 1 1 1 1 4 2 2 4 1 5 3 6 7 8 9 9 8 7 6 3 5 1 4 2 2 4 4 4 4 4 4 4 4 2 2 4 1 5 3 6 7 8 9 9 8 7 6 3 5 1 4 2 2 2 2 2 2 2 2 2 2 2 4 1 5 3 6 7 8 9 9 8 7 6 3 5 1 4 2 2 2 2 2 2 2 2 2 2 4 1 5 3 6 7 8 9 9 8 7 6 3 5 1 4 4 4 4 4 4 4 4 4 4 4 1 5 3 6 7 8 9 9 8 7 6 3 5 1 1 1 1 1 1 1 1 1 1 1 1 5 3 6 7 8 9 9 8 7 6 3 5 5 5 5 5 5 5 5 5 5 5 5 5 3 6 7 8 9 9 8 7 6 3 3 3 3 3 3 3 3 3 3 3 3 3 3 6 7 8 9 9 8 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 8 9 9 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 9 9 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 is een mooie voorstelling van het priemgetal 999999999 9999999999 8888888888 8888888998 7777777777 7777778998 7666666666 6666667899 8763333333 3333333678 9987635555 5555555553 6789987635 1111111111 1153678998 7635144444 4444441536 7899876351 4222222222 2415367899 8763514222 2222222241 5367899876 3514224444 4444224153 6789987635 1422411111 1142241536 7899876351 4224155555 5142241536 7899876351 4224153333 3514224153 6789987635 1422415366 6635142241 5367899876 3514224153 6777635142 2415367899 8763514224 1536788763 5142241536 7899876351 4224153678 1876351422 4153678998 7635142241 5367887635 1422415367 8998763514 2241536777 6351422415 3678998763 5142241536 6663514224 1536789987 6351422415 3333351422 4153678998 7635142241 5555551422 4153678998 7635142241 1111114224 1536789987 6351422444 4444422415 3678998763 5142222222 2222415367 8998763514 2222222222 4153678998 7635144444 4444441536 7899876351 1111111111 1536789987 6355555555 5555536789 9876333333 3333333367 8998766666 6666666666 7899877777 7777777777 7899888888 8888888888 8999999999 9999999999 18 . 2.6.2 Palindroompriemgetallen Palindroompriemgetallen zijn priemgetallen die bij het omgekeerd lezen ervan, hetzelfde priemgetal geven. Voorbeelden zijn 2, 11, 101. Er zijn natuurlijk ook andere, leuker ogende voorbeelden... 14·106343−41 99 = 14141414141...14141414141 is een palindroompriemgetal, bestaande uit 6343 cijfers, afwisselend 1 en 4. 1039026 + 4538354 · 1019510 + 1 = 10000...0004538354000...00001 is palindroompriem, en bevat maar liefst 39027 cijfers! Nog andere palindroompriemen met bizarre eigenschappen: 717 is het grootste getal met 3 cijfers dat palindroompriem is, zodat 7177+1+7 + (7 + 1 + 7) + 1 ook priem is. 123456789 0 98765432123456789 0 98765432123456789 0 98765432123456789 0 98765432123456789 0 987654321 Een palindroompriem dat alle de cijfers van 1 tot en met 0 vijf keren op en af gaat. 999999...9999746479999...999999 (999 cijfers) De grootste niet-Titanic-palpriem. Een Titanic-priemgetal is een priemgetal met ten minste 1000 cijfers. Deze naam werd meegegeven door Samuel Yates in de jaren 80, en dat verklaart waarom de grens van 1000 cijfers ’laag’ ligt. In die tijd waren er slechts enkele gekend. Men geeft de naam Gigantisch priemgetal aan een priem die 10.000 of meer cijfers bevat, en een Megapriemgetal bevat er ten minste 1.000.000. In december 2003 waren er slechts 4 van hen geweten, alhoewel bijna alle priemgetallen ’mega’ zijn. 31415926535897932384626433833462648323979853562951413 Dit is toch ook een heel speciaal palindroompriemgetal. Het onderlijnd gedeelte is een begrensde decimale ontwikkeling van π. Andere priemgetallen, die geen palindroom zijn, kunnen ook een decimale ontwikkeling van π geven. 3, 31 en 314159 zijn de eerste drie ervan. De volgende bevat al 38 cijfers, diegene erna maar liefst 500! Het is je misschien ondertussen al opgevallen, misschien ook niet, maar wist je dat ieder palindroompriemgetal uit een oneven aantal cijfers bestaat, op 11 na? Dit komt omdat ieder even palindroomgetal deelbaar is door 11. 2·3·5·7·11·13·17·19 10 = 969969. Een palindroomgetal, niet priem, bekomen door het vermenigvuldigen van de eerste acht priemen, na delen door 10. 1023456987896543201 is een pandigitaal palindroompriemgetal, want het eerste helft (de linkerkant met het exacte middencijfer erbij) bevat alle cijfers exact één keer. Een getal is n-pandigitaal wanneer het alle cijfers kleiner dan n één maal bevat. Een 10-pandigitaal getal kan dus nooit priem zijn, omdat 90 = 45, dus is 19 het deelbaar door 9. 7 2 7 7 2 2 2 7 7 2 2 2 2 2 2 2 7 7 5 7 7 5 5 5 7 7 5 5 5 5 5 5 5 5 5 7 Bovenstaande getallen noemt men depressie-priemgetallen. Ze zijn allemaal palindromen. De volgende priemgetallen in de ’2’ reeks bezitten 27 en 63 tweeën. De priemen die op de ’5’ reeks volgen hebben 19, 21, 57, 73 en 81 vijven. Er bestaan nog heel wat soorten palindroom-eigenschappen van priemgetallen, maar één ervan moet je gewoon hebben gezien. We spreken hier namelijk over de palindroompiramide. Je start met een priemgetal, en plakt er dan links een getal aan en rechts het spiegelbeeld van dat getal, zodat het nieuwe getal dat nu ontstaan is, opnieuw priem is. Dan herhaal je dit weer, en kom je bijvoorbeeld deze indrukwekkende palindroompriempiramide uit: 2 70207 357020753 9635702075369 33963570207536933 723396357020753693327 1272339635702075369332721 97127233963570207536933272179 119712723396357020753693327217911 9011971272339635702075369332721791109 33901197127233963570207536933272179110933 943390119712723396357020753693327217911093349 3894339011971272339635702075369332721791109334983 19389433901197127233963570207536933272179110933498391 151938943390119712723396357020753693327217911093349839151 7515193894339011971272339635702075369332721791109334983915157 74751519389433901197127233963570207536933272179110933498391515747 127475151938943390119712723396357020753693327217911093349839151574721 3012747515193894339011971272339635702075369332721791109334983915157472103 73301274751519389433901197127233963570207536933272179110933498391515747210337 337330127475151938943390119712723396357020753693327217911093349839151574721033733 9933733012747515193894339011971272339635702075369332721791109334983915157472103373399 72993373301274751519389433901197127233963570207536933272179110933498391515747210337339927 927299337330127475151938943390119712723396357020753693327217911093349839151574721033733992729 1892729933733012747515193894339011971272339635702075369332721791109334983915157472103373399272981 13189272993373301274751519389433901197127233963570207536933272179110933498391515747210337339927298131 Tot slot nog even de tetraëdische priemgetallen vermelden. Het zijn palindroompriemen, die niet alleen van achter naar voor hetzelfde hetzelfde zijn, maar ook in de spiegel en ondersteboven hetzelfde worden gelezen. Kleine voorbeelden zijn 11, 181 en 1888081808881. Een formule die tetraëdische getallen geeft is Tk = 102n+4 + k · 10n + 1, waarin k zelf tetraëdisch is. Sommigen ervan zijn priem, bijvoorbeeld: 1048 + 18881· 1022 + 1 = 1000000000000000000000188810000000000000000000001 20 2.6.3 Repunit-priemgetallen De term ’repunit’ komt van ’repeated’ en ’unit’. Een Repunit-getal is dus een getal waarin enkel het cijfer 1 in voorkomt. Voorbeelden hiervan zijn R1 = 1, R2 = 11 en R3 = 111. Een Repunit-priemgetal is dus een Repunit-getal dat priem is. Eén is het enige cijfer waar dat mogelijk is, immers, bij een herhaling van het cijfer 2 zou het getal zeker deelbaar zijn door 2 zelf. n Een Repunit-getal kan altijd worden geschreven in de vorm Rn = 10 9−1 . Merk op dat n in Rn zelf priem moet zijn. Als dat niet zo is, dan is n = a · b en is Ra·b deelbaar door Ra en Rb . Zo is R15 = R3·5 niet priem, want RR155 = 111111111111111 = 11111 10000100001. De eerste Repunit-priemgetallen zijn R2 = 11, R19 en R23, waarvan de tweede ook een congruent priemgetal is, omdat er een regelmatige zeshoek mee kan worden gevormd. De 3e en 2e grootst gekende Repunit-priemgetallen zijn diegene met 317 317 1031 cijfers, 10 9 −1 en die met 1031 cijfers, 10 9 −1 . 49081 86453 R49081 = 10 9 −1 en R86453 = 10 9 −1 zijn dan PRP’s, waar ondertussen de eerste is van bewezen op priemheid. R49081 is dus met zekerheid de grootste Repunitpriem tot nu toe. 2.6.4 Circulaire priemgetallen Als een getal priem is, en ook alle getallen die je kan krijgen door steeds opnieuw het laatste cijfer weg te nemen en vooraan te zetten, dan is dat getal een circulair priemgetal. Een getal dat door dit proces ontstaat noemen we een rotatie van het begingetal. Als een startgetal een circulaire priem is, dan zijn zijn rotaties dat ook, en bijgevolg zijn alle getallen rotaties van elkaar. Een rotatiegetal kunnen we dan als een startgetal beschouwen. We verduidelijken met het getal 1193. Dit is circulair, dus zijn 1931, 9311 en 3119 ook allemaal circulaire priemen. Figuur 2.2: Het circulaire priemgetal 1931. Circulaire priemgetallen kunnen dus nooit de cijfers 0, 2, 4, 6 en 8 bevatten, anders zou minstens één van de geroteerde getallen deelbaar zijn door 2. Ook het cijfer 5 is uitgesloten, want als deze achteraan een getal staat, is dat deelbaar door 5. 21 Men rekent ook alle 1-cijferige priemgetallen tot de circulairen, ook al kun je moeilijk het ’laatste’ cijfer vooraan plakken. Deze soort priemgetallen zijn uiterst zeldzaam en moeilijk te vinden, want wil je een getal van pakweg 1000 cijfers testen, dan wil dat zeggen dat je ook nog 999 andere getallen van duizend cijfers moet testen! Hier volgt een opsomming van alle gekende circulaire priemgetallen, waarvan we enkel de kleinste van een ’cirkel’ nemen. 2, 3, 5, 7, 11, 13, 17, 37, 79, 113, 197, 199, 337, 1193, 3779, 11939, 19937, 193939, 199933, R19 , R23, R73, R317, R1031, R49081 en de PRP R86453. De laatste zes zijn dan de vijf Repunit-priemgetallen met de Repunit-PRP waarvan nog niet is bewezen dat het priem is. Er wordt aangenomen dat er oneindig veel Repunit-priemgetallen zijn, dus zouden er ook oneindig veel circulaire priemgetallen zijn. Het is dan ook hoogst waarschijnlijk dat alle circulairen die niet in bovenstaande lijst staan (op de geroteerden ervan na) allemaal Repunit-getallen zijn. 2.6.5 Permutabele priemgetallen Permutabele priemgetallen gaan nog verder dan de circulairen. Een permutabele priem is een priemgetal waarvan alle permutaties (herschikkingen) van zijn cijfers ook priem zijn, en het getal moet minstens 2 verschillende cijfers bevatten. De Repunit-getallen tellen dus alleszins niet mee. Men kent zeven permutabele priemgetallen (zonder de permutaties erbij te tellen): 13, 17, 37, 79, 113, 199 en 337. Infeite brengt deze groep priemgetallen, vergeleken met de circulairen, niets nieuws onder de zon, omdat men vermoedt dat er geen groter permutabel priemgetal bestaat dan 337; als dit waar is, dan weet men ook dat er geen enkele permutabele priem met 3 verschillende cijfers bestaat, zodat iedere permutatie in principe een rotatie is van een circulaire priem. De permutable priemgetallen zijn dus toch niet zó speciaal. 2.6.6 Beschrijvende priemgetallen Een beschrijvend priemgetal is een uitvinding van G.L. Honaker. Hij vond de volgende rij priemgetallen: 373 131713 111311171113 311331173113 is één 3, één 7, één 3 is één 1, één 3, één 1, één 7... is drie keer 1, één keer 3, 3 keer 1,... [het volgende getal zou priem zijn] 22 Vertrekkende van een priemgetal, bekijk je hoeveel keren het begincijfer zichzelf opvolgt. In 373 staat er één 3 vooraan, dus ’1 keer 3’ of ’13’ vormen de eerste getallen van het volgend getal. Nu kijk je naar het volgend cijfer. Er staat ’1 keer 7’ dus ’17’ zullen de volgende twee cijfers zijn. Ga zo door tot je aan het einde van het getal bent, en dan heb je het volgend getal. Zo verkrijg je een reeks getallen, die in dit geval tot 3 keer toe priem zijn. De lengte van de rij is 4. Op 22 januari 1999 vond Carlos Rivera een rij van 6 beschrijvende priemgetallen, startend van 233. Een dag later vond hij er nog één, startend van 120.777.781 en nog een dag later vond hij de laatste met 402.266.411 als startgetal. Op deze dag bevestigde hij ook dat er slechts drie rijen zijn van lengte 6 waarvan het startgetal kleiner is dan 109 . Een goede twee weken later vond Mike Keith dan nog drie andere rijen van lengte 6 met startgetallen 1.171.465.511, 1.623.379.207 en 1.955.771.683. Keith deed ook onderzoek naar de waarschijnlijkheid dat deze getallen zouden voorkomen. Hij vond dat de eerste rij van 7 beschrijvende priemen zou voorkomen rond 1011 en de rij met lengte 8 zou voorkomen rond 1013 . Hij vond ook dat er nog één rij met lengte 6 was voor 1010 en ontdekte de eerste rij met lengte 7! Tot nu toe is er geen enkele andere rij van 7 of meer beschrijvende priemgetallen gekend. Deze rij van zeven beschrijvende priemgetallen is de volgende: 19972667609 112917122617161019 21121911171122161117111611101119 12211211193117212211163117311631103119 1122211231191321171211223116132117132116132110132119 213221121321191113122117111221221321161113122117111312211611131221101113122119 1211132221121113122119311311222117312211221113122116311311222117311311222116311311222110311311222119 Carlos Rivera, Mike Keith en Walter Schneider blijven voortzoeken naar beschrijvende priemrijen. In oktober 2003 hadden ze er reeds 101 gevonden met lengte 6. 2.6.7 Afknotbare priemgetallen Afknotbare priemgetallen zijn priemen waarvoor geldt dat wanneer men herhaaldelijk een cijfer wegneemt van een vooraf bepaalde kant, er altijd opnieuw een priemgetal ontstaat. We spreken van links- en rechts-afknotbare priemgetallen. Bij de eerste groep mag er uiteraard geen 0 in het getal staan. Er zijn exact 4260 van deze linksafknotbaren, en slechts 83 van de rechts-afknotbare priemen, waarvan de grootsten respectievelijk bestaan uit 24 en 8 cijfers. Als er voor een links-afknotbare priem p met lengte n geen priem p bestaat zodat bij het links afknotten van p , p ontstaat, dan noemen we p hier een Henry VIII priemgetal. Zo zijn er 1440. Hieronder zie je de grootste links- en rechts-afknotbare priemgetallen. 23 357686312646216567629137 57686312646216567629137 7686312646216567629137 686312646216567629137 86312646216567629137 6312646216567629137 312646216567629137 12646216567629137 2646216567629137 646216567629137 46216567629137 6216567629137 216567629137 16567629137 6567629137 567629137 67629137 7629137 629137 29137 9137 137 37 7 2.6.8 73939133 7393913 739391 73939 7393 739 73 7 Verwijderbare priemgetallen Verwijderbare priemgetallen zouden gedefinieerd kunnen worden als priemgetallen waarin je eender welk cijfer moet kunnen schrappen om een ander priemgetal te bekomen, welke je dan weer elk cijfer moet kunnen ontnemen om een priemgetal te krijgen, enzovoort. Omdat dit zeer moeilijk is, worden verwijderbare priemgetallen gedefinieerd als priemgetallen waarin je eender welk cijfer mag schrappen om een nieuw priemgetal te bekomen, en zo ook voor het bekomen getal. 410256793 41256793 4125673 415673 45673 4567 467 67 7 is een voorbeeld van een verwijderbaar priemgetal. 24 2.7 Priemtweelingen 2.7.1 Algemeen Een priemtweeling is een paar van priemgetallen die met 2 verschillen. Een tweelingpriem is dan een priemgetal dat deel uitmaakt van een priemtweeling. Dit is het kleinste interval dat kan bestaan, op de uitzondering van 1 bij (2, 3) na. De eerste priemtweelingen zijn (3, 5), (5, 7), (11, 13) en (17, 19). Euclides stelde rond 300 v.C. dat er oneindig veel priemgetallen p bestaan zodat p + 2 ook priem is. Op 26 mei 2004 gaf Richard Arenstorf van de Vanderbilt Universiteit een 38-tellend bewijs dat er oneindig veel priemtweelingen zijn, maar op 3 juni rapporteerde Michel Balazard van de Universiteit van Bordeaux dat er een fout stond op pagina 35. Op 8 juni verklaarde Arenstorf dan zijn eigen bewijs ongeldig. Het blijft tot nu toe dus onbewezen, alhoewel dat het wel wordt aangenomen. We benoemen dit als de stelling van de priemtweelingen. In 1849 stelde Polignac het zelfs algemener: voor ieder natuurlijk getal k bestaan er oneindig veel priemparen p en p zodat p − p = 2k. Het geval waarin k = 1, is dan de stelling der priemtweelingen. Iedere priemtweeling groter dan 3 kan geschreven worden als (6n − 1, 6n + 1) voor een n ∈ ℵ. n moet altijd eindigen op 0, 2, 3, 5, 7 of 8 met de uitzondering dat n ook 1 kan zijn. Het is bewezen dat het paar (m, m + 2) een priemtweeling is als en slechts als 4((m − 1)! + 1) = −m(mod (m(m + 2))). Sinds 2005 kennen we de grootste priemtweeling: 16869987339975 · 2171960 ± 1. Het bevat 51779 cijfers. Een analyse van alle priemtweelingen tot 4.35 · 1015 toont aan dat het aantal (x) waar f(x) ongeveer gelijk is aan priemtweelingen kleiner dan x gelijk is aan x·f log 2 x 1.7 voor kleine x en convergeert naar ongeveer 1.3. De limietwaarde voor f(x) wordt de tweelingpriemconstante genoemd en wordt gegeven door: 2· p≥3 2.7.2 (1 − 1 ) = 1.3203236... (p − 1)2 (2.3) Constanten van Brun Viggo Brun toonde aan dat het aantal tweelingpriemen kleiner dan x kleiner is dan x . Bovendien bewees hij dat de som van de omgekeerden van de tweelingpriemen log 2 (x) van alle priemtweelingen convergeert naar een constante, die de constante van Brun werd gedoopt. 1 1 1 1 1 1 1 1 1 1 B2 = ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + ... 3 5 5 7 11 13 17 19 29 31 25 (2.4) De som van de omgekeerden van alle priemgetallen divergeert, wat in contrast staat deze formule die convergeert. Moest deze divergeren, hadden we een uitsluitend bewijs van de stelling der priemtweelingen. Nu kunnen we niet weten of er oneindig veel zijn of niet. Simultaan kunnen we ook stellen dat wanneer B2 irrationaal is, dus een oneindig aantal decimalen bevat zonder periode, de stelling der priemtweelingen bewezen is. Is B2 rationaal, dan blijft het onbewezen. Bij het berekenen van B2 heeft Thomas R. Nicely in 1994 alle priemgetallen tot 1014 gebruikt en kwam hij tot B2 = 1.902160578. Een pittig detail is dat Nicely, bij het berekenen van B2, de Pentium FDIV3 bug4 gevonden heeft. De Pentium FDIV bug was dan een fout die ervoor zorgde dat bepaalde delingen verkeerd werden berekend door de processor, en er zo voor zorgde dat het werkelijk resultaat licht afweek. De beste benadering wordt wordt tot op heden gegeven door B2 = 1.902160583104, die berekent werd door alle priemgetallen kleiner dan 1016 te gebruiken, en werd gevonden door Pascal Sebah en Patrick Demichel in 2002. Er is ook een constante van Brun voor priemvierlingen, dit zijn vier getallen waarvoor geldt dat p, p+2, p+6 en p + 8 allemaal priem zijn. De eersten zijn (5, 7, 11, 13), (11, 13, 17, 19) en (101, 103, 107, 109). Analoog met de berekening voor B2 vinden we B4 = 0.8705883800. Verwar deze constante niet met de constante van Brun voor zogenaamde priemneven, getallen waarvoor geldt dat p en p + 4 priem zijn. Ze wordt ook genoteerd als B4 . Vooraleer Brun het vraagstuk van de priemtweelingen aanvechtte, had Jean Merlin ook al tevergeefs geprobeerd om dit op te lossen. Hij werd echter gedood in wereldoorlog I. In elk geval, voor geen enkele nling is reeds bewezen dat er oneindig veel van zulke priemgetallen bestaan, alhoewel dat toch wordt aangenomen. 2.7.3 De stelling van Hardy-Littlewood De verdeling van priemtweelingen werd onderzocht door G.H. Hardy en John Littlewood. Zij werkten een stelling uit, welke niet exact is, maar toch een vrij precieze benadering geeft. Ze steunt op de theorie der priemgetallen. Definieer de constante C2 als p(p − 2) C2 = ≈ 0.660161181584686957... (2.5) 2 p≥3 (p − 1) Het Π-teken is het factorisatieteken (analoog met het sommatieteken Σ). Definieer nu π2(x) als de functie die het aantal tweelingpriemen p ≤ x telt zodat p + 2 ook 3 4 FDIV is een voor mensen interpreteerbare machinetaal voor computerarchitectuur. Een bug is een fout in software. 26 priem is. Dan is de stelling van Hardy-Littlewood π2(x) ∼ 2 · C2 x 2 dt (ln t)2 (2.6) waarin de verhouding van beide leden 1 wordt als x gaat naar oneindig. Enderzijds kan deze stelling niet worden bewezen, maar hij wordt wel gerechtvaardigd door de theorie der priemgetallen, welke zegt dat de kans dat een getal in de buurt van t priem is, gelijk is aan ln1 t . Anderzijds zijn de numerieke berekeningen achter de Hardy-Littlewood stelling impressionant. 2.7.4 Varianten Zoals eerder gezegd zijn priemneven een paar van priemgetallen waar het verschil tussen beide gelijk is aan 4. In mei 2004 werd een nieuw record gevestigd met 30062 · 237555 + 5 ± 2, welke allebei 11311 cijfers bevatten. Een tweede variant op priemtweelingen zijn de sexy priemgetallen. Een sexy priemgetal is een priemgetal p waarvoor geldt dat p + 6 ook priem is. De benaming ’sexy’ komt van het Latijnse woord ’sex’, wat ’zes’ betekent. Voorbeelden hiervan zijn (5, 11), (61, 67), (101, 107) en (191, 197). Er bestaan ook triootjes van sexy priemgetallen. Als p = 999999999 9999999999 9999999999 9999999999 9999999999 9999999999 9999999999 9999999999 9999999999 9999605527, dan zijn p + 6 en p + 6 + 6 ook priem. 27 Hoofdstuk 3 De zoektocht naar priemgetallen 3.1 Inleiding In dit hoofdstuk worden de meest gangbare methodes om priemgetallen op te sporen, uitgelegd. Er bestaan manieren die al eeuwenlang bekend zijn, maar die niet snel genoeg werken. Met de opkomst van de computer zijn andere methodes ontstaan, d.w.z. dat men eerst de ’priemwaarschijnlijkheid’ van een getal bepaalt en achteraf een exacte controle uitvoert op het getal, indien dit dus de ’priemwaarschijnlijkheidstest’ doorstond. Bij zo’n test is men zeker dat een getal niet priem is als het de test niet doorstaat, maar is men niet zeker of een getal priem is wanneer het de test wél doorstaat. Daarom zal men een programma zó schrijven dat er verschillende tests elkaar opvolgen, zodat men niet direct hoeft over te gaan op een exacte controle, die veel langer duurt dan een priemwaarschijnlijkheidstest. Zo’n moderne computertest zou er natuurlijk niet geweest zijn zonder voorafgaande studies van bekende wiskundigen. De bekendste stellingen en formules zoals die van Lucas-Lehmer en Pepin worden nog steeds gebruikt. Verder bespreken we ook nog het GIMPS project, waarbij gezocht wordt naar steeds grotere Mersenne-priemgetallen. Tenslotte wordt ook nog aandacht besteed aan de meest gekende priemgetalfuncties. Dit zijn functies waarvan het voorschrift steeds een priemgetal oplevert tot en met een bepaalde term n. 3.2 De vlugge tests Vlugge tests om te onderzoeken of een getal priem is, zijn meestal vrij simpel. Sommigen zijn al eeuwen oud en manueel uitvoerbaar, andere bestaan uit algoritmes waarbij het gebruik van een computer een noodzaak is. 28 3.2.1 De zeef van Eratosthenes De zeef van Eratosthenes is de oudste methode om priemgetallen te vinden. Ze is ontstaan omstreeks 240 voor Christus. Het werkt vrij simpel. Maak een geordende lijst van alle getallen kleiner en gelijk aan n. Begin nu met het kleinste priemgetal 2, waarvan je alle veelvouden schrapt. Schrap dan de veelvouden van 3, 5, 7, enzovoort. Opmerkelijk is wel dat je enkel de veelvouden hoeft te schrappen van alle √ priemgetallen kleiner dan n. Figuur 3.1: De zeef van Eratosthenes Dit is een zeer snelle methode. Een computerprogramma dat volgens dit principe werkt, is zo snel, dat het rapper priemgetallen genereert dan dat het priemgetallen kan inlezen van een opslagmedium. Hier zou het dus niets uithalen om al die getallen op te slaan in een bestand. 3.2.2 Priemfactoren Een andere, maar ietswat tragere manier, is het onderzoeken van een getal n op deelbaarheid. We proberen dus het getal te ontbinden in priemfactoren. Lukt dit niet, dan is dit getal priem. √ We moeten enkel proberen delen door alle priemgetallen we of kleiner (of gelijk aan) n. Nemen we als voorbeeld het getal 211, dan kijken √ het deelbaar is door 2, 3, 5, 7, 11 en 13. We stoppen hier, omdat 17 > 211. Het getal blijkt niet deelbaar te zijn door deze zes priemgetallen, dus is het zelf priem. Deze methode is vrij snel voor de kleinere getallen, maar wordt zeker niet gebruikt bij getallen die bestaan uit meer dan 25 cijfers. 29 3.2.3 Fermats kleine stelling Fermats ’grootste’ maar tevens laatste stelling zegt dat xn + y n = z n geen oplossingen heeft voor gehele getallen x, y, z waarin n > 2. Dit is uiteindelijk bewezen door Andrew Wiles in 1995. Wiles, een Brits wiskundige, heeft het bewijzen van deze stelling van Fermat tot zijn levenswerk gemaakt. Immers, meer dan 7 jaar heeft hij eraan gewerkt in isolement. Zijn meer dan 100 pagina’s tellend bewijs, dat in 1993 voorgesteld werd in een zaal van het Isaac Newton Instituut in Cambridge, bevatte echter één fout, zo bleek achteraf na controle. Het bewijs werd dan samen met Richard Taylor volmaakt en in 1994 was het af. Het definitief bewijs werd gepubliceerd in de Annals of Mathematics in mei 1995. Wat hier belangrijker is, is Fermats ’kleine’ stelling. Ze luidt: Als p een priemgetal is, dan geldt voor ieder geheel getal a dat ap = a(mod p) 1 Om de kleine stelling te bewijzen, maken we gebruik van een hulpstelling: Als p a niet deelt en a · m = a · n(mod p) dan geldt ook dat m = n(mod p) Bewijs van de hulpstelling: ⇔ ⇔ ⇔ a·m a·m−a·n a · (m − n) p|a(m − n) = a · n(mod p) = 0(mod p) = 0(mod p) p is priem, dus kan geen veelvoud zijn van a. Ook kan a geen veelvoud zijn van p, want p is geen deler van a (gegeven). m − n moet dus een veelvoud zijn van p. ⇔ m−n ⇔ m = = 0(mod p) n(mod p) We gaan nu verder met het eigenlijke bewijs van de kleine stelling. Stel dat p priem is, en a een geheel getal. Dan zijn er twee gevallen: a = 0(mod p) en a = 0(mod p). In het eerste geval is a een veelvoud van p en ieder veelvoud van a dus ook. De kleine stelling kunnen we dan anders schrijven: ap − a ⇔ a(ap−1 − 1) ⇔ p|a(ap−1 − 1) 1 = 0(mod p) = 0(mod p) De notatie x = y(mod z) is een andere notatie voor z|(x − y), ”z is een deler van (x − y)”. Als men x deelt door z, blijft y over als rest. 30 Dit laatste klopt, want p deelt a, dus ook alle veelvouden van a. Voor alle p die a delen, klopt de kleine stelling. In het tweede geval, a = 0(mod p), is het bewijs iets langer. Beschouw het volgende: A = {1, 2, 3,...,p − 1}, de verzameling van alle natuurlijke getallen kleiner dan p. B = {a, 2a, 3a,...,(p − 1)a} Indien men een element uit B deelt door p, bekomt men een rest die gelijk is aan een element uit A. De resten vormen een permutatie van de getallen {1, 2, 3,...,p − 1}, dus is de verzameling van alle resten gelijk aan A. Hieruit volgt ⇒ ⇒ ⇒ (1a) · (2a) · (3a) · ... · ((p − 1)a) 1 · 2 · 3 · ... · (p − 1) · ap−1 ap−1 ap = = = = 1 · 2 · 3 · ... · (p − 1)(mod p) 1 · 2 · 3 · ... · (p − 1)(mod p) 1(mod p) a(mod p) We illustreren dit voor het priemgetal 7 en kijken eens naar deze stelling voor a = 3 en a = 5. • Geeft 37 gedeeld door 7 een rest 3? Ja, want 37 = 312 · 7 + 3. • Geeft 57 gedeeld door 7 een rest 5? Ja, want 57 = 11160 · 7 + 5. 3.2.4 a-PRP’s, priem-waarschijnlijkheid De hedendaagse computertests hebben hun snelheid niet enkel te danken aan snelle hardware, maar veeleer aan de software. Omdat het exact onderzoeken van ieder getal op priem zijn veel te veel tijd in beslag neemt, zal men eerst zoeken naar pseudo-priemen. Dit zijn getallen die niet noodzakelijk priem zijn, maar wel één of meerdere tests doorstaan. De eenvoudigste pseudo-priemtest werkt met de kleine stelling van Fermat. Het omgekeerde van die stelling is namelijk niet altijd geldig: als voor een gehele a en k geldt dat ak = a(mod k) dan is k niet noodzakelijk een priemgetal. Vroeger werd een k, waarvoor deze stelling geldig is, een pseudo-priemgetal genoemd. Nu behoudt men deze term voor getallen die één of meerdere tests doorstaan maar geen priemgetal zijn. Een getal k dat in een test slaagt waarin a = 2, noemt men een 2-PRP (van probable prime, ’waarschijnlijk priemgetal’). Analoog hebben we 3-PRP’s, 5-PRP’s,... We zeggen dat k een pseudo-priemgetal is op basis a. Dergelijke pseudo-priemtests verlopen veel sneller dan exacte controles, daarom kan men er meerdere na elkaar uitvoeren. Men probeert eerst voor a = 2, dan a = 3, 31 enzovoort. Als een getal k bij meerdere tests een positieve uitslag geeft, dan is het zeer waarschijnlijk dat k ook priemgetal is. We geven een paar voorbeelden van pseudo-priemgetallen op basis a. a-PRP 2-PRP 3-PRP 5-PRP 7-PRP k 341 91 271 25 ontbinding 11 · 31 7 · 13 7 · 31 52 Er zijn 1.091.987.405 priemgetallen kleiner dan 25.000.000.000, maar slechts 21.853 pseudo-priemgetallen op basis 2. Hier wil dit zeggen dat een getal k kleiner dan 25 miljard, die in deze 2-PRP-test slaagt, in 99,998 % van de gevallen daadwerkelijk priem is. Meer zelfs: hoe groter k wordt, hoe groter de kans dat het ook priem is. Su Hee Kim en Carl Pomerance onderzochten dit fenomeen en noteerden dat P (k) de kans is dat k te ontbinden is. Als k een willekeurig positief getal is, dan definiren we P (k) als de kans dat k te ontbinden is op basis van een a-PRP test met willekeurige a, met volgende voorwaarden: • Neem een n zodat 1 < n ≤ k • Neem een a zodat 1 < a < n − 1 • an = a(mod n) Cijfers in k 60 80 100 120 150 3.2.5 P (k) max. 0.0716 0.0000846 0.0000000277 5.28 · 10−12 1.49 · 10−17 Cijfers in k 200 300 400 500 700 P (k) max. 3.85 · 10−27 5.8 · 10−29 5.7 · 10−42 2.3 · 10−55 1.8 · 10−82 Cijfers in k 1000 2000 5000 10000 100000 P (k) max. 1.2 · 10−123 8.6 · 10−262 7.6 · 10−680 1.6 · 10−1331 1.3 · 10−10584 a-SPRP’s Als k het getal is dat we onderzoeken op priemheid, schrijf dan k − 1 = 2s · d waarin d oneven is en s positief. k is een sterk waarschijnlijk priemgetal (Strong PRobable Prime) op basis a als ofwel ad = 1(mod k) ofwel (ad )2r = −1(mod k) waarbij r positief is en r < s. Ook hier zijn alle getallen k > 1 die niet in deze test slagen niet priem, maar de getallen die wel slagen in deze test kunnen priem zijn. De kleinste SPRP’s zijn de volgende. a-SPRP 2-SPRP 3-SPRP 5-SPRP 7-SPRP k 2047 121 781 25 32 ontbinding 23 · 89 112 11 · 71 52 Een SPRP-test is vrij snel, vooral als het gecombineerd wordt met het zoeken naar de kleinste priemfactoren. Het is bewezen dat dergelijke tests in 75 % van alle gevallen priemgetallen oplevert. Op zich is zo’n test tamelijk zwak, maar als we enkele van deze tests combineren, maken we een krachtige test voor ’kleine’ getallen k, die priemheid aantonen, dus met zekerheid kunnen zeggen dat een getal priem is of niet. Bijvoorbeeld: • Als k < 1.373.653 een 2- en 3-SPRP is, dan is k priem. • Als k < 25.326.001 een 2-, 3- en 5-SPRP is, dan is k priem. • Als k < 25.000.000.000 een 2-, 3-, 5- en 7-SPRP is, dan is k priem. • Als k < 2.152.302.898.747 een 2-, 3-, 5-, 7- en 11-SPRP is, dan is k priem. • Als k < 3.474.749.660.383 een 2-, 3-, 5-, 7-, 11- en 13-SPRP is, dan is k priem. • Als k < 341.550.071.728.321 een 2-, 3-, 5-, 7-, 11-, 13- en 17-SPRP is, dan is k priem. De eerste drie zijn gevonden door Pomerance, Selfridge en Wagstaff, alle andere komen van Jaeschke. Jaeschke vond zelfs iets betere resultaten: • Als k < 9.080.191 een 31- en 73-SPRP is, dan is k priem. • Als k < 4.759.123.141 een 2-, 7- en 61-SPRP is, dan is k priem. • Als k < 1.000.000.000.000 een 2-, 13-, 23- en 1662803-SPRP is, dan is k priem. Deze resultaten geven ons een manier om een zeer snelle priemheidstest te maken: we beginnen met het zoeken naar de kleinste priemfactoren, daarna voeren we SPRPtests uit op basis 2, basis 3, ... tot wanneer een van de bovenstaande criteria is bereikt. Bijvoorbeeld, als k < 25.326.001 dan moeten we enkel basis 2, 3 en 5 nagaan. Dit werkt helaas enkel voor alle k < 341.550.071.728.321. Om te eindigen vermelden we nog even de Test van Miller. Deze luidt: ”Als de Riemann hypothese waar is, en k een a-SPRP is voor alle a waarbij 1 < a < 2(log k)2, dan is k priem”. De Riemann hypothese is te groot en te moeilijk om uit te leggen - maar moest ze waar zijn, dan hadden we hier een zeer eenvoudige priemtest, want dan zouden slechts een beperkt aantal a moeten voldoen aan de a-SPRP-test. 3.3 De klassieke tests In deze paragraaf bespreken we nog enkele veelgebruikte priemtests die volgens een vast principe werken. 33 n − 1 tests 3.3.1 Opvallend aan de grootste priemgetallen die totnogtoe gevonden zijn, is dat ofwel p − 1 ofwel p + 1 zeer gemakkelijk te ontbinden is. Dit is simpelweg omdat dit priemgetallen zijn waarvan het gemakkelijk is om te bewijzen dat ze priem zijn. Bij n − 1 tests tonen we hoe we op Fermat gebaseerde tests kunnen gebruiken als we genoeg factoren weten van n − 1. Overigens zijn dit tests die priemheid aantonen, en niet doen vermoeden dat het onderzochte getal priem kan zijn. 3.3.1.1 Stelling 1 (Lucas-Kraitchik-Lehmer) In 1891 heeft Lucas de kleine stelling omgevormd tot een praktische test, die later door Kraitchik en Lehmer is versterkt. Stel n > 1. Als voor iedere priemfactor q van n − 1 er een natuurlijke a bestaat zodat • an−1 = 1(mod n) • a n−1 q = 1(mod n) dan is n priem. Dit is de basis van alle moderne priemtests, zoals elliptische curven of getallenvelden, maar daar gaan we niet verder op in. 3.3.1.2 Stelling 2 (Pocklington) Stelling 1 heeft een volledige ontbinding in priemfactoren nodig van n − 1. Het was Pocklington die daarvoor de oplossing bood. Stel n − 1 = q k r waar q priem is en r niet deelt. Als er een natuurlijk getal a bestaat n−1 zodat an−1 = 1(mod n) en gcd(a q − 1, n) = 1, dan2 heeft iedere priemfactor q van n de vorm q k r + 1. Als we de theorie van Pocklington wat omvormen komen we tot een volgende stap: Stel n − 1 = F R, waarbij F > R, gcd(F, R) = 1 en de ontbinding van F gekend is. Als voor iedere priemfactor q van F er een a > 1 bestaat zodat • an−1 = 1(mod n) • gcd(q n−1 q − 1, n) = 1 dan is n priem. Er kunnen verschillende a gebruikt worden voor ieder priemgetal q. Waarom nu al die formules? Wel, omdat deze eigenlijk de basis zijn van de bekendere formules, zoals die van Pepin en Proth. 2 gcd(x, y) is de notatie voor de grootste gemene deler van x en y. 34 3.3.1.3 Pepin’s test voor Fermat-getallen n Fermat-getallen zijn getallen van de vorm 22 + 1. Pepin heeft in 1877 een formule gevonden die Fermat-getallen op priemheid test. Stel dat Fn het nde Fermat-getal Fn −1 is met n > 1. Fn is priem als en slechts als 3 2 = −1(mod Fn ). 2 Nemen we als voorbeeld F2 = 22 + 1 = 17. Is dan 3 = 386. −1(mod 17)? Ja, want 6561+1 17 17−1 2 = 38 = 6561 = De eerste Fermat-priemgetallen zijn: F0 F1 F2 F3 F4 = = = = = 21 + 1 = 3 22 + 1 = 5 24 + 1 = 17 28 + 1 = 257 216 + 1 = 65537 Fermat dacht echter dat alle getallen van deze vorm priem waren, maar in 1732 werd door Euler ontdekt dat het volgende Fermat-getal, F5, ontbindbaar was in 641 · 6700417. Inmiddels is bewezen dat alle Fermat-getallen van F5 tot en met F32 (een getal van meer dan 1 miljard cijfers!) niet-priem zijn. 3.3.1.4 Proth’s test In 1878 maakt Proth deze formule: stel n = 2k h + 1 met 2k > h. Als er een natuurn−1 lijk getal a bestaat zodat a 2 = −1(mod n), dan is n priem. Er bestaat ook nog een andere, zeer bekende formule die aan niemand is toegekend: stel n = q k h + 1 met q priem en q k > h. Als er een natuurlijk getal a bestaat n−1 zodat an−1 = 1(mod n), en gcd(a q − 1, n) = 1, dan is n priem. 3.3.2 n + 1 tests De helft van de grootste priemgetallen totnogtoe gevonden zijn van de vorm n − 1. Priemheid bewijzen kan nog anders! 3.3.2.1 De Lucas-rijen Veronderstel dat we natuurlijke getallen p en q zo kiezen dat p2 − 4q een kwadraat √ p+ p2 −4q 2 vormt. Neem dan de tweedegraadsvergelijking x −px+q = 0 waarvan r = 2 een oplossing is. Door inductie kan men bewijzen dat de machten van r genoteerd √ V (m)+U (m)· p2 −4q waarin U(m) en V (m) recursief kunnen worden volgens rm = 2 bepaald worden door de Lucas-rijen: U(0) = 0, U(1) = 1, U(m) = p · U(m − 1) − q · U(m − 2) V (0) = 2, V (1) = p, V (m) = p · V (m − 1) − q · V (m − 2) De Lucas-rijen hebben een wel zeer bekende toepassing: als p = 1 en q = −1, dan 35 krijgen we de rij van Fibonacci. De rij van Lucas kan aangewend worden voor een priemtest. 3.3.2.2 Lucas-Lehmertest voor Mersenne-priemgetallen In 1930 hebben Lucas en Lehmer een test ontwikkeld voor Mersenne-priemgetallen (zie ook: Mersenne-priemgetallen, p. 15). Dit zijn getallen van de vorm 2n − 1. k+1 Definieer Sk = V (222k ) Laat n een priemgetal zijn, dan is het Mersenne-getal M(n) = 2n − 1 priem als en slechts als Sn−2 = 0(mod M(n)) waar S0 = 4 en Sn+1 = Sn2 − 2. Als we dit willen testen op 7 = 23 − 1, dan leiden we hieruit af dit n = 3 en dat M(n) = 7. Dan is S3−2 = S1 = S02 − 2 = 16 − 2 = 14. Dan geldt inderdaad dat 14 = 0(mod 7), want priemgetal. 14 7 = 2. 7 is dus een Mersenne- Deze test is zeer rap uit te voeren omdat het geen delingen hoeft uit te voeren (op één na). Het is bovendien heel erg gemakkelijk te programmeren. Zo hebben in 1978 twee hogeschoolstudenten een zelfgemaakt programma laten draaien en het toenmalige record van Mersenne-priemgetallen gevonden: 221701 − 1. Joerg Arndt vond een tweede manier om Mersennegetallen op priemheid √ te testen: p = 2n − 1 is priem als en slechts als p deler is van cosh(2n−2 · ln(2 + 3)). Deze formule is wel minder bekend als die van Lucas en Lehmer, en valt ook moeilijk uit te voeren op computers door de moeilijke berekingen. Een vermenigvuldiging is namelijk veel gemakkelijker uit te voeren dan een cosinus hyperbolicus of een logaritme. Nemen we dan toch eens een paar voorbeelden: √ 7 = 1 7 = 23 − 1 cosh(23−2 · ln(2 + √3)) = 7 7 18817 5 5−2 31 = 2 − 1 cosh(2 · ln(2 + 3)) = 18817 = 607 31 3.4 APR, APRT-CL Alle voorgaande testen kunnen nóg verbeterd worden. Vanaf 1970 begonnen Williams en anderen op een andere manier dan voorheen: men ging nu niet meer de factoren van n−1 gebruiken, maar factoren van n2 +1, n2 +n+1 en n2 −n+1. Men ging zelfs nm − 1 gebruiken met een m die heel groot was, bijvoorbeeld 5040. Ieder priemgetal q waarvoor q − 1 een deler is van 5040 (welke n niet deelt) moet dan n5040 − 1 delen (omwille van de kleine stelling). Deze test werkt zelfs voor zeer grote n. Het is aangetoond dat er altijd een m is waarvoor geldt dat m < (logn)log(log(log n)) zodat 1 delen met q − 1 een deler van m op z’n minst een product de factoren q die nm −√ geven dat gelijk is aan n. Normaal ligt m rond de 100.000.000 voor een n die rond de 3.000 cijfers bevat. 36 Dit is in grote lijnen (hele grote lijnen!) de manier waarop Adleman, Pomerance en Rumedly het moderne tijdperk van priemheistesten inluiden door de APRpriemheidstest in te voeren in 1979. Weldra zouden Cohen en Lenstra deze test nog verbeteren en doopten hem APRTCL, welke getallen van 100 cijfers in enkele seconden kan behandelen. Er bestaat een versie van dit programma voor DOS welke gemakkelijk getallen van 500 cijfers kan testen. Ook bestaat de mix van enkele testen: zo kunnen n−1 of n+1 tests gecombineerd worden met APR tests. Tony Forbes schreef een dergelijk programma dat zo maar liefst getallen van maximaal 2982 cijfers kon nagaan op priemheid! 3.5 3.5.1 GIMPS Algemeen GIMPS is de afkorting voor Great Internet Mersenne Prime Search. Het is een project waarbij men zoekt naar steeds grotere Mersenne-priemgetallen. Dankzij GIMPS is het mogelijk geworden om enorme getallen te controleren op priemheid, omdat het werk verdeeld wordt onder de deelnemers. En zo zijn er heel wat aangezien iedereen, die over een Pentium computer en internetverbinding beschikt, kan deelnemen. Het project heeft tot nu toe al negen Mersenne priemgetallen gevonden. Wat je er ook nog moet aan spenderen, is heel veel geduld. Het kan namelijk een maand duren alvorens één priemheidstest af is. Afgelopen Kerstmis werd aangekondigd dat er een nieuw Mersennegetal was ontdekt. Het getal was echter al op 15 december gevonden, door Dr. Curtis Cooper en Dr. Steven Boone, beiden professoren aan de Central Missouri State University. Het 43e , en grootste Mersenne-priemgetal is 9.152.052 cijfers lang. Dit betekent dus, dat de grote prijs van $ 100.000 die wordt uitgereikt bij een Mersenne-priemgetal groter of gelijk aan 10.000.000 cijfers, nog niet is weggekaapt. Perfectly Scientific, het bedrijf dat het FFT3 algoritme heeft geschreven dat door GIMPS wordt gebruikt, heeft een poster laten maken met daarop het getal van meer dan 9 miljoen cijfers. Mersenne-priemgetal 230402457 − 1 225964951 − 1 224036583 − 1 220996011 − 1 213466917 − 1 26972593 − 1 23021377 − 1 22976221 − 1 21398269 − 1 3 Datum ontdekking December 2005 Februari 2005 Mei 2004 November 2003 November 2001 Juni 1999 Januari 1998 Augustus 1997 November 1996 FFT: Fast Fourier Transform. 37 Mn M43 M42 M41 M40 M39 M38 M37 M36 M35 3.5.2 De wiskunde achter GIMPS Om efficiënt te zoeken naar Mersenne-priemgetallen, gebeurt dit in verschillende stappen. Zoals we al eerder hebben bewezen moet de exponent van 2 zelf priem zijn. De eerste stap is dus het aanmaken van een lijst met priemgetallen. De tweede stap bestaat uit het zoeken naar priemfactoren. Dit kan op verschillende manieren gebeuren. In GIMPS zal men de exponent eerst omzetten naar het binair talstelsel. Nemen we als voorbeeld het getal 223 − 1, dat we proberen delen door 47. 23 omzetten naar binair wordt 10111. Kwadraat 1·1 =1 2·2 =4 4 · 4 = 16 32 · 32 = 1024 27 · 27 = 729 Schrap links cijfer 1 0111 0 111 1 11 1 1 1 Vermenigvuldig met 2 mod 47 1·2 =2 2 nee 4 16 · 2 = 32 32 1024 · 2 = 2048 27 729 · 2 = 1458 1 Dus, 223 = 1(mod 47). Trek 1 af van beide leden, en je bekomt 223 − 1 = 0(mod 47). 47 is dus een deler van 223 − 1, welke dus niet priem is. Een bijkomend voordeel is dat de ’kandidaat-priemfactor’ q, hier 47, steeds van de vorm 2kp+1 moet zijn, waarbij p de exponent van 2 is in het Mersennegetal. Hier is p = 23. De eerste priemfactor q die dus in aanmerking komt, is 2 · 1 · 23 + 1 = 47. De volgende zou dan 93 zijn maar dat kan niet, want het is zelf niet priem. Op deze manier kan je dus al vele getallen uitschakelen! Als je q deelt door 8, moet de rest 1 of 7 zijn. GIMPS creëert dus een soort Zeef van Eratosthenes voor de priemfactoren q, die dus alle potentiële factoren verwijderd die zelf deelbaar zijn door priemgetallen onder de 40.000, maar ook alle getallen q die bij deling door 8 een rest van 3 of 5 opleveren, worden uit de baan geruimd. Dit is zeker niet onnuttig, want maar liefst 95 % van de potentiële factoren q worden hierdoor uitgeschakeld! De overblijvenden worden dan gebruikt bij het proces dat in bovenstaande tabel werd verklaard. Hoe vaak moet nu gezocht worden naar priemfactoren, zodat we niet te veel tijd verliezen? Het hangt af van 3 variabelen: de duur van het zoeken naar priemfactoren, de kans dat een priemfactor wordt gevonden en de duur van een priemtest. De kans dat een factor wordt gevonden tussen 2x en 2x+1 is ongeveer x1 . De duur van het priemfactoren zoeken en van de priemtest worden berekend door het programma te timen. 38 Exponenten tot 3960000 5160000 6515000 8250000 13380000 23390000 29690000 Factoren zoeken tot 260 261 262 263 264 265 266 De 3de stap in GIMPS is de Pollard-methode om te ontbinden in priemfactoren. De ’P-1’-methode werkt vrij simpel. In stadium 1 kiezen we vaste B1. Als q = 2kp + 1, dan zal het ’P-1’-ontbinden in factoren deze factor q bepalen zolang als alle factoren van k kleiner zijn dan B1. E is dan het product van al deze priemen kleiner dan B1. Dan wordt x = 3E·2·P berekend. Dan controleren we gcd(x − 1, 2p − 1) om te zien of er een factor is gevonden. In het tweede stadium gebruiken we een ander vast getal, B2. Hier zal de factor q gevonden worden als k juist één factor heeft tussen B1 en B2 en alle andere factoren van k kleiner zijn dan B1. Dit stadium heeft heel veel geheugen nodig. GIMPS gebruikt deze methode om grote factoren te vinden, zoals 22944999 − 1 deelbaar is door 314584703073057080643101377. B1 en B2 worden gekozen op basis van een kansberekening. De vierde en voorlaatste stap is de Lucas-Lehmer test (zie ook: De LucasLehmertest voor Mersenne-priemgetallen, p.36). Om een getal te controleren zijn er vele vermenigvuldigingen nodig, omdat de test bestaat uit een recursieve rij. Men moest dus een manier vinden om snel te vermenigvuldigen. Hierbij wordt gebruik gemaakt van zeer zorgvuldig geschreven algoritmes. De kans dat een Lucas-Lehmer test een nieuw Mersenne-priemgetal vindt kan benaderd worden met de gegevens van het ontbinden in priemfactoren, alhoewel de uitslag niet meteen een zeer exacte waarde geeft. De kans om een factor tussen 2x en 2x+1 te vinden is ongeveer x1 , dus als je 210000139 − 1 test, waarvoor het ontbinden heeft aangetoond dat er geen factoren zijn kleiner dan 264 , dan is de kans dat het 64 1 · 65 · ... · 5000069 = 5000070 ≈ 78126 . priem is gelijk aan 64 65 66 5000070 De laatste stap, die dus bijna nooit wordt uitgevoerd, is het nogmaals controleren van het (priem)getal. Er wordt dus opnieuw een Lucas-Lehmer test uitgevoerd. De laatste 64 cijfers van het Sp−2 getal worden uitgeprint en vergeleken met de vorige test. Deze vijfde en laatste stap wordt herhaald tot zolang er een overeenkomst is. Gewoonlijk wordt deze stap twee jaar achter de eerste Lucas-Lehmer test gedaan. Als we kijken naar de geschiedenis van alle Lucas-Lehmer tests in GIMPS, dan gaven er niet meer dan 1.5 % een foute uitslag. 39 3.6 3.6.1 Priemgetalfuncties Toevalsgetallen van Euler Beschouw het voorschrift n2 − n + p. Een toevalsgetal van Euler p is een getal waarvoor het voorschrift enkel priemgetallen geeft voor alle gehele waarden n van 0 tot en met p − 2. 3.6.2 Records van priemgetalfuncties Priemgetallen zijn wanordelijk verdeeld. Moest er een regelmaat in zitten, hadden we al die moeilijke tests niet nodig. Toch heeft men al getracht om functies te maken die enkel priemgetallen geven. Dat is helaas nog niet gelukt, en zal ook nooit lukken, al zijn er toch heel wat mooie pogingen gedaan. Legendre heeft namelijk aangetoond dat er geen enkele rationale, algebrı̈sche functie bestaat die altijd priemgetallen geeft. Het bekendste voorschrift dat priemgetallen genereert is n2 + n + 41, te danken aan Euler. Het is een voorschrift waarin 41 een toevalsgetal van Euler is, want het geeft priemgetallen voor n = 0 tot en met n = 39, maar niet allemaal verschillende. n2 −n+41 is dan weer aan Legendre toe te kennen, het geeft dezelfde 40 priemgetallen voor n = 0 tot en met n = 40 als in het voorschrift van Euler. Als we dan het voorschrift n2 − 79n + 1601 = (n − 40)2 + (n − 40) + 41 beschouwen, dan zijn er 80 opeenvolgende oplossingen priem. Op www.recmath.org/contest loopt er tot 13 juni 2006 een wedstrijd voor priemgenerende functies . De volgende tabel geeft een overzicht van de recordvoorschriften tot nu toe; variaties op n2 − n + 41 zijn niet opgenomen. Voorschrift 36n2 − 810n + 2753 3n3 − 183n2 + 3318n − 18757 47n2 − 1701n + 10181 103n2 − 4707n + 50383 n2 − n + 41 43n2 − 537n + 2971 Priem van Verschillende 0 tot n priemen 44 45 46 43 42 43 42 43 40 40 34 35 40 Referentie Fung en Ruby Ruiz (Nov. 2005) Fung en Ruby Spelser (Juni 2005) Euler Brox (Maart 2006) Hoofdstuk 4 Toepassingen op priemgetallen 4.1 Het bankrekeningnummer Een Belgisch bankrekeningnummer bestaat uit 12 cijfers in groepen van 3, 7 en 2 cijfers. Als je de eerste en de tweede groep bij elkaar neemt, krijg je een getal van 10 cijfers. Bij een deling van dit getal door 97, dan is de rest gelijk aan het getal gevormd door de twee laatste cijfers van het bankrekeningnummer. Een bankrekeningnummer is opgebouwd als volgt. restnummer banknummer x1 x2 x3 x4 x5x6 x7x8 x9x10 x11 x12 eigenlijk rekeningnummer Het banknummer is een nummer waaraan je de bank herkent waar het rekeningnummer aan toebehoort. Zo geeft de Bank van de Post rekeningnummers uit die beginnen met banknummer 000. Nu moet gelden: x1 x2x3x4 x5x6 x7x8 x9x10 = x11x12(mod 97) (4.1) 7 x8 x9 x10 −x11 x12 een geheel getal is. Als dit niet zo is, of anders gezegd dat x1 x2 x3 x4 x5 x6 x97 heeft de klant van de bank een verkeerd nummer ingevoerd. Men past deze methode toe opdat de klant dan de garantie krijgt dat zijn gestort geld niet verloren gaat bij een foutief bankrekeningnummer. Het is ook gemakkelijker om een ontbrekend cijfer te achterhalen. Merk op dat het restnummer niet gelijk kan zijn aan 00; dit wordt vervangen door het controlegetal 97. We nemen als voorbeeld het rekeningnummer van de Heikantse Bierliefhebbers. Wil je lid worden van deze club, dan moet je 17,5 euro storten op rekeningnummer 850-8854531-78. Om eens na te gaan of de maker van de clubsite niet te beschonken = was toen hij ze maakte, zullen we dat rekeningnummer eens testen. 8508854531 97 87720149.80412, dan is het restnummer gelijk aan 8508854531 − 87720149 · 97 = 78. De maker van de site was dus volkomen nuchter. Ook het rekeningnummer van 41 Tsunami 12-12 ontsnapte niet aan de ijzeren 97-regel: 000-0000012-12. Waarom wordt er gecontroleerd met het getal 97? Wel, allereerst kan het restnummer slechts uit twee cijfers bestaan. Het controlegetal kan dus maar maximaal 99 zijn, want anders zou er zeker al een rest van 100 moeten kunnen bestaan (omdat 00 niet mogelijk is), wat niet mag. Ten tweede kijkt men naar het aantal mogelijkheden om banknummers te maken. Omdat aan de voorwaarde (4.1) voldaan moet zijn, is dit aantal beperkt. Als we kijken naar de eerste tien getallen, dan hebben we 1010 mogelijkheden (als we niet kijken naar de ’niet-wiskundige’ beperkingen zoals het banknummer). Zou het controlegetal 2 zijn, dan hadden we altijd een rest van 0 of 1. Dit schept dus niet veel mogelijkheden bij, en is bovendien niet veilig. Dan zou je denken dat 99 het beste getal is. Niets is minder waar, want 99 = 3 · 3 · 11 is een samengesteld getal. Een getal is in 13 van alle gevallen deelbaar door 3. Wanneer dit 1 = 33 hebt. In 3·3 = 19 zo is, impliceert dit dan dat je maar een maximale rest van 99 3 99 van alle gevallen heb je dan een maximale rest van 3·3 = 11. Een rest 98 komt dan niet vaak voor. Dezelfde redenering kan je toepassen bij 98 = 2 · 7 · 7. Hier kan de rest zelfs in van alle gevallen niet groter zijn dan 7 · 7 = 49. 1 2 97, het grootste priemgetal kleiner dan 100, kent dit probleem niet. Het is priem, dus niet samengesteld. De kans dat de rest 97 (nul) is, is gelijk aan de kans dat het 96 is, of 95 is, ga zo maar door. Bij 97 worden er dus het meeste mogelijkheden gecreëerd. Als we nu wél rekening houden met de ’niet-wiskundige beperkingen’ zoals het banknummer, dan zien we dat dit systeem wel degelijk zijn nut heeft. Het aantal mogelijkheden wordt gereduceerd omdat er maar een beperkt aantal banknummers zijn. Door gebruik te maken van het controlegetal 97, wordt dit effect dan geminimaliseerd. 97, een priemgetal ! 4.2 4.2.1 Encryptie met RSA Het principe van RSA RSA is een asymmetrisch encryptiealgoritme1, dat veel gebruikt wordt voor elektronische handel, voor de beveiliging van transacties en dergelijke. Het algoritme werd in 1977 ontworpen door Ron Rivest, Adi Shamir en Len Adleman, vandaar de afkorting RSA. De veiligheid van RSA steunt op het probleem van de ontbinding in priemfactoren bij heel grote getallen. Op dit moment is het bijna onmogelijk de twee oorspronkelijke priemgetallen p en q te achterhalen als alleen p · q bekend is en p en 1 Bij asymmetrische cryptografie wordt gebruik gemaakt van twee aparte sleutels: één sleutel wordt gebruikt om de informatie de coderen (vercijferen) en de tweede sleutel om de informatie te decoderen (ontcijferen). Bij de andere methode, de symmetrische cryptografie, wordt één sleutel gebruikt voor zowel coderen als decoderen. 42 q groot genoeg zijn; het zou te veel tijd in beslag nemen. Nieuwe ontwikkelingen op dit gebied zouden RSA onbruikbaar kunnen maken. 4.2.1.1 Sleutels Veronderstel dat An ervoor wil zorgen dat Bert haar een persoonlijk bericht kan zenden over een onveilig medium (telefoon, internet,...). Ze doet het volgende om een publieke sleutel en een geheime sleutel te maken: • Kies twee grote priemgetallen p = q en bereken N = p · q. • Kies een geheel getal 1 < d < N, dat relatief priem2 is t.o.v. (p − 1)(q − 1). • Bereken e zo dat 1 = d · e(mod (p − 1)(q − 1)). • Vernietig alle sporen van p en q. N en e zijn dan de publieke sleutel, N en d zijn de geheime sleutel. Alleen d is dus volstrekt geheim. An stuurt de publieke sleutel naar Bert over een onveilig medium en houdt de geheime sleutel geheim. 4.2.1.2 Coderen Veronderstel dat Bert een bericht m naar An wil zenden. Hij kent N en e, de publieke sleutel, want die heeft An hem gezonden. Hij zet de klare tekst m om in een getal n < N, gebruik makend van een eerder afgesproken, omkeerbaar protocol. Bijvoorbeeld, elk teken in een bericht kan worden omgezet in zijn ASCII-code, en de codes samengevoegd tot een enkel getal. Als het nodig is kan m worden opgesplitst en elk stuk afzonderlijk gecodeerd. Dan berekent hij de cijfertekst c: c = ne (mod N) (4.2) Dit kan snel berekent worden door machtsverheffing door kwadrateren3 . Bert verzendt dan c naar Alice. 4.2.1.3 Decoderen An ontvangt c van Bob, en kent haar geheime sleutel d. Ze kan n te weten komen uit c op de volgende manier: n = cd (mod N) (4.3) 2 Een getal a is relatief priem t.o.v. een getal b als a en b geen enkele priemfactor gemeenschappelijk hebben. Het zijn dus zelf niet noodzakelijk priemgetallen. Een voorbeeld is 6 = 2 · 3 en 35 = 5 · 7. 3 Een simpel voorbeeld van machtsverheffing door kwadrateren is 29 . Men neemt dan 22 = 4, dan 42 = 16, dan 162 = 256 en tenslotte 256 · 2. Dit proces vergde 4 i.p.v. 9 vermenigvuldigingen en is dus heel wat sneller. 43 An kan dan n vinden, aangezien n < N, en uit n kan ze dan het oorspronkelijke bericht m vinden. Het ontcijferen werkt omdat cd (mod N) = ne·d (mod N) (4.4) en 1 = e · d(mod (p − 1)) en 1 = e · d(mod (q − 1)). Fermats kleine stelling geeft: n = ne·d (mod p)metn = ne·d (mod q) (4.5) en dus (aangezien p en q verschillende priemgetallen zijn): n = ne·d (mod (p · q)) 4.2.2 (4.6) De digitale handtekening Als je software download van het internet, zit daar geregeld een digitale handtekening bijgevoegd. RSA kan ook worden gebruikt om een bericht te ondertekenen. Veronderstel dat An een ondertekend bericht wil zenden naar Bert. Ze berekent dan een hashwaarde4 uit het bericht, encrypteert die met haar geheime sleutel, en voegt dat als een ’handtekening’ bij het bericht. Deze handtekening kan alleen worden gedecrypteerd met haar publieke sleutel. Wanneer Bob het ondertekende bericht ontvangt, decrypteert hij de handtekening met Ans publieke sleutel, en vergelijkt de aldus bekomen hashwaarde met de eigenlijke hashwaarde van het bericht. Als die gelijk zijn, weet hij dat de auteur van het bericht de geheime sleutel van An bezit (dus normaalgezien An is), en dat het bericht nadien niet meer veranderd is. 4.2.3 Veiligheid Veronderstel dat Charles, een afluisteraar, de publieke sleutel N en e, en de cijfertekst c onderschept. Hij kan niet rechtstreeks aan d raken omdat hij de factorisatie van N niet kent. Als N groot genoeg is, staat Charles voor een onmogelijke taak en is het bericht dus veilig verstuurd. Als N 256 bits (0 of 1, dus binaire notatie) of minder bevat, kunnen de factoren in een paar uur gevonden worden op een PC met software die op internet te vinden is. Heeft N rond de 512 bits dan kan sinds 1999 de ontbinding uitgevoerd worden door enkele honderden computers in een aanvaardbare tijd. Tegenwoordig is het aangeraden om N tenminste 1024 bits lang te kiezen. 4.3 De levenscyclus van cicaden In bepaalde bossen in Amerika en over gans Europa kan je speciale insecten vinden die afhangen van priemgetallen om te overleven. Cicaden, want zo worden ze genoemd, verstoppen zich jarenlang onder de grond, en verschijnen dan plots voor zes 4 Een hashwaarde is de uitkomst van een wiskundige berekening over de inhoud van een bestand en is altijd uniek. Een hashwaarde kan na berekening bijvoorbeeld een indicatie geven dat een bestand is veranderd zonder dat dit aan de uiterlijke kenmerken te zien is. 44 weken boven de grond: ze eten, planten zich voort en maken enorm veel zoemend lawaai. Na het leggen van de eitjes voor de volgende generatie, sterven ze. Het mysterieuze aan dit alles is dat cicaden steeds een priem aantal jaren kiezen om zich schuil te houden onder de grond. Waarom priemgetallen? Men denkt dat dit te maken heeft met een vijand van deze soort, zoals een giftige zwam of een parasiet, die dodelijk is voor de cicade. De vijand verschijnt ook om de zoveel jaar. Een priemlengte van de levenscyclus van dit insect zorgt ervoor dat de zwam of parasiet het meest wordt vermeden. In de natuur vinden we de Magicicada septendecim met een 17-jarige cyclus, en de Magicicada tredecim met een 13-jarige cyclus. 4.4 Priempuzzels Ja, er bestaan ook puzzels met priemgetallen! Hieronder zie je een ster. Kan jij in ieder vakje een priemgetal invullen zodat de som op elke lijn gelijk is aan 84? Je kan kiezen uit 5, 7, 11, 13, 17, 19, 23, 31, 41 en 43. Voor wie een échte uitdaging wil, is volgende keuze ook mogelijk: 13907, 13913, 13921, 13931, 13933, 13963, 13967, 13997, 13999 en 14009, waarbij de som op iedere lijn 55816 moet zijn. Veel geluk! Mogelijke oplossingen vind je in bijlage 2. Figuur 4.1: Het magische priempentagram. 45 Besluit ”Priemgetallen? Wat valt er daarover nu te vertellen?” We hopen alvast dat we die vraag goed hebben beantwoord. Hopelijk is iedereen die dit gelezen heeft verbaasd en nog meer geı̈nteresseerd raakt in de wereld der priemen. Alleszins staat vast dat er nog veel nieuwigheden omtrent priemgetallen zullen ontdekt worden. Er zijn er immers oneindig veel, en er zijn mensen die constant op zoek zijn naar curiositeiten, of doodgewoon grotere priemgetallen. Iedere dag groeit het aantal mensen dat deelnemen aan GIMPS, dus wie weet wordt binnenkort het 44e Mersenne-priemgetal gevonden! Indien men een snelle methode zou vinden om te ontbinden in priemfactoren, dan zou RSA plots de minst veilige cryptografiemethode zijn. Misschien wordt het vermoeden van Goldbach wel bewezen? Of wordt het bewijs voor de oneindigheid van het aantal priemtweelingen geleverd? Over priemgetallen is dus nog lang niet alles verteld. Met de mogelijkheden van vandaag zal er nog veel gebeuren. Priemgetallen zijn de bouwstenen van alle getallen. En er zijn oneindig veel bouwstenen, dus oneindig veel constructies. Het priemverhaal is nog lang niet uit! 46 Bibliografie - http://primes.utm.edu/ - http://nl.wikipedia.org/wiki/Hoofdpagina - http://en.wikipedia.org/wiki/Main Page - http://mathworld.wolfram.com/ - http://www.loria.fr/˜zimmerma/record/primes.html - http://www.cs.cmu.edu/ dst/DeCSS/Gallery/Stego/index.html - http://www.geocities.com/ harveyh/primes.htm#Prime%20Circle - http://www.wschnei.de/digit-related-numbers/descriptive-primes.html - http://www.utm.edu/staff/caldwell/supplements/ - http://www.mersenne.org/prime.htm - http://www.worldofnumbers.com/ - http://www.mathstat.dal.ca/˜joerg/pic/g-letter.jpg - http://www.musicoftheprimes.com/primes in nature.htm - DE MEDTS, T., GOVAERT, E., ... , ”Wiskundig nieuws”, Tussen Haakjes, (2005), nr. 3, p. 3. 47 Bijlagen De brief van Goldbach aan Euler Figuur 4.2: De brief van Goldbach aan Euler Dit is de brief die Christian Goldbach op 7 juni 1742 aan Leonard Euler schreef. In de marge staat zijn beroemd vermoeden, dat elk even getal groter dan 2 geschreven kan worden als de som van 2 priemgetallen. 48 Oplossingen van de priempuzzels Figuur 4.3: Oplossing priempentagram 1. Figuur 4.4: Oplossing priempentagram 2. Andere oplossingen zijn ook mogelijk. 49