MODULOREKENEN EN CRYPTOGRAFIE

Maat: px
Weergave met pagina beginnen:

Download "MODULOREKENEN EN CRYPTOGRAFIE"

Transcriptie

1 MODULOREKENEN EN CRYPTOGRAFIE 1. Inleiding 1.1. Oorsprong. Het woord cryptografie stamt uit het Grieks en betekent geheimschrift (κρυπτ óς = kryptós = verborgen; γράφω = gráfo = schrijven). Het behoeft geen betoog dat geheimhouding van berichten van alle tijden en alle werelden is, de ingebakken kleine trekjes van de mens indachtig. De wedijver tussen codemakers en codebrekers is al eeuwen aan de gang, en heeft in verscheidene situaties de loop van de geschiedenis bepaald. Aanvankelijk waren de gebruikte methoden niet meer dan spitsvondigheden, die te doorzichtig of te weinig praktisch waren om een lang leven beschoren te zijn. Zo maakte de Griekse geschiedschrijver Herodotos melding van een slaaf die een boodschap op het kaal geschoren hoofd getatoeëerd kreeg, om vervolgens met een vers aangegroeid kapsel vijandig gebied te doorkruisen. Later ontwikkelden de Grieken meer systematische manieren om berichten in geheimschrift te zetten. De bekendste daarvan maakt gebruik van een scytale. Dat is een cilindrische stok waarrond een strook perkament kan worden gewikkeld. Door horizontaal op het gewikkelde perkament te schrijven en het perkament daarna Figuur 1. Een scytale. terug af te wikkelen, verkrijgt men de tekst in geheimschrift. De ontvanger hoeft dan enkel op zijn beurt de perkamentstrook rond een scytale van dezelfde diameter te wikkelen om het originele bericht te kunnen lezen. Dit is het startpunt van een beklijvende geschiedenis, doorspekt met veel smeuïge details en intriges, maar ook met veel boeiende wiskunde. We gebruiken de volgende terminologie Terminologie. Een systematische manier om berichten in geheime code te zetten noemen we een cryptosysteem of een cijfer. Het omzetten van een bericht naar geheimschrift noemen we vercijferen. Het omzetten van geheime code naar een leesbaar bericht noemen we ontcijferen Het substitutiecijfer. Historisch gezien is het substitutiecijfer het eerste cryptosysteem dat belangrijk bleek voor de ontwikkeling van de moderne cryptografie. In wezen is het van de hand van Julius Caesar: om met zijn generaals 1

2 2 MODULOREKENEN EN CRYPTOGRAFIE te communiceren verving hij elke letter door de derde daaropvolgende letter van het alfabet, Dus A D, B E, C F,..., W Z, X A, Y B, Z C. ALEA JACTA EST wordt DOHD MDFWD HVW. Meer algemeen kan men de letters van het alfabet in eender welke volgorde zetten, bijvoorbeeld (1.1) RBDKOMQNAYUEHXZCJLPVSITFWG. Een bericht wordt dan in code gezet door systematisch A door de eerste letter uit die volgorde te vervangen, B door de tweede letter, C door de derde letter, enzovoort. Op basis van volgorde (1.1) wordt ALEA JACTA EST nu REOR YRDVR OPV. Door de omgekeerde substitutie toe te passen kan de ontvanger het bericht terug leesbaar maken. Het moderne aan het substitutiecijfer is dat er een duidelijk onderscheid wordt gemaakt tussen het systeem zelf (substitutie) en een geheim extra ingrediënt (de volgorde van de letters van het alfabet). Een naïeve vijand die een vercijferd bericht onderschept moet, indien hij al weet dat het bericht met behulp van substitutie werd vercijferd, alle mogelijke lettervolgordes uitproberen. Dat zijn er 26! = Stel dat het uitproberen van één lettervolgorde een halve minuut duurt, dan zou dit hem ongeveer jaar kosten. Ter vergelijking: de leeftijd van het heelal is ongeveer jaar. Dat is een belangrijk verschil met de Griekse scytale. Indien de vijand weet dat het onderschepte bericht met een scytale werd vercijferd, hoeft hij maar een heel beperkt aantal mogelijkheden af te gaan. Oefening De zin THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG telt alle letters van het alfabet minstens één keer en heeft dus 26! mogelijke vercijferingen onder het substitutiecijfer. Wat is het aantal mogelijke vercijferingen met behulp van een scytale? Hierbij beschouwen we de spaties ook als karakters Sleutels. In wat volgt zullen we er altijd van uitgaan dat het gebruikte cryptosysteem door vriend en vijand gekend is: dit heet het principe van Kerckhoffs, genoemd naar de 19de-eeuwse Nederlandse cryptograaf Auguste Kerckhoffs. Een geheime sleutel is een kort ingrediënt dat als extra input wordt gebruikt en dat enkel door de zender en de ontvanger gekend is. De sleutelruimte is de verzameling van alle bruikbare geheime sleutels Veiligheid. Een cryptosysteem wordt veilig beschouwd als er voor een aanvaller niet veel beter op zit dan alle sleutels uit de sleutelruimte één voor één uitproberen. De sleutelruimte van het substitutiecijfer is de verzameling permutaties van het alfabet. Bij hedendaagse cryptosystemen worden sleutelruimtes van om en bij de 2 80 sleutels aangeraden (ter vergelijking: 26! 2 88 ). Meer en meer wordt de nieuwe standaard, al zit daar heel veel veiligheidsmarge op.

3 MODULOREKENEN EN CRYPTOGRAFIE Het substitutiecijfer gekraakt. Hierboven hadden we het over een naïeve vijand, die miljarden keer de leeftijd van het heelal zou nodig hebben om het substitutiecijfer te kraken. Een iets slimmere vijand kan het echter veel handiger aanpakken, waardoor het substitutiecijfer vandaag de dag als flagrant onveilig wordt beschouwd. Dat heeft te maken met de ongelijke frequenties waarmee de letters van het alfabet in de Nederlandse taal (of in eender welke populaire taal) voorkomen. Bijna 20 % van alle letters in een voldoende lange doorsnee Nederlandse tekst zijn E. Met een aandeel van zo n 10 % komt de letter N op de tweede plaats, gevolgd door ongeveer 8 % A s. Dat betekent dat, wanneer we een stuk geheimschrift in handen hebben, de letter die het vaakst voorkomt veel kans heeft om de vercijfering van de letter E te zijn, de letter die het op één na vaakst voorkomt is met een redelijke kans een vercijferde N, en zo verder. Op die manier herleidt het ontcijferwerk zich essentieel tot een spelletje Rad van Fortuin. We noemen deze methode frequentieanalyse. Ze werd reeds in de 9de eeuw na Christus beschreven door de Arabische wetenschapper Al-Kindi. Hoe langer de te ontcijferen tekst is, hoe beter de statistiek zijn werk doet en hoe eenvoudiger het ontcijferwerk wordt. Figuur 2. Letterfrequenties in het Nederlands (gebaseerd op een steekproef van letters uit de krant De Standaard van 26 april 2011). We geven een voorbeeld. Veronderstel dat onze geheime diensten het volgende bericht onderschepten. PDJFRPPX QTREGK TQ CPLD KGEGK PPK CGM XPJMGGL BX NPL HABNGKH WRTKNGK QAKMJMAXXGK WBZ QG CGWWGK We zien dat de letter G twaalf keer voorkomt, de letter K tien keer en de letter P acht keer (en dat deze letters daarmee de kroon spannen). We gokken daarom dat dit de vercijferingen zijn van respectievelijk E, N en A en krijgen de volgende gedeeltelijke kandidaat-ontcijfering. A...AA....EN...A.. NE.EN AAN.E..A..EE....A....EN....N.EN..N...EN....E.E..EN

4 4 MODULOREKENEN EN CRYPTOGRAFIE Een logische gok voor het woord na AAN is HET (waarom kan EEN niet?), wat zou betekenen dat de letters C en M de respectievelijke vercijferingen zijn van de letters H en T. Invullen geeft: A...AA....EN.. HA.. NE.EN AAN HET.A.TEE....A....EN....N.EN..NT.T...EN....E HE..EN We laten het resterende puzzelwerk aan de lezer over. Ondanks het feit dat een gokje af en toe verkeerd kan uitdraaien, zou het duidelijk moeten zijn dat het ontcijferen van de tekst ons absoluut geen jaar zal kosten Inhoud van de studiebundel. In het vervolg van deze tekst zullen we enkele meer recente en meer geavanceerde cryptosystemen onder de loep nemen. Deze systemen maken vaak gebruik van fundamentele resultaten uit de wiskunde, meer bepaald uit de getaltheorie. Een belangrijk ingrediënt is het zogeheten modulorekenen; Paragraaf 2 van de bundel is daaraan gewijd. In de daaropvolgende paragrafen bespreken we verschillende cryptografische methoden die op het modulorekenen zijn gebaseerd Over de bewijzen in de studiebundel. Voor verschillende resultaten uit de getaltheorie wordt in deze bundel ook een bewijs gegeven. Dit bewijs kan extra inzicht verschaffen in de theorie, maar het is niet strikt noodzakelijk om de rest van de bundel te begrijpen of de opgaven op te lossen. De bewijzen zijn vooral bestemd voor de leerlingen die dieper op de theorie willen ingaan. De bewijzen van Stelling en Propositie zijn wel belangrijk omdat ze praktische methoden bevatten om bepaalde getallen te gaan berekenen. Deze methoden worden geïllustreerd in Voorbeelden en Enkele basisbegrippen. Zij x en y gehele getallen. Een deler van x is een geheel getal d zodat er een geheel getal q bestaat met x = dq. Als d een deler is van x, dan zal d ook een deler zijn van van ax, voor alle gehele getallen a. Als d een deler is van x en y, dan is d ook een deler van ax + by, voor alle gehele getallen a en b. Als e een deler is van d en d een deler van x, dan is e ook een deler van x. Veronderstel nu dat x en y niet beide nul zijn. De grootste gemene deler ggd(x, y) is het grootste natuurlijk getal dat zowel x als y deelt. We noemen x en y relatief priem wanneer hun grootste gemene deler gelijk is aan 1. Dat betekent dat 1 en 1 de enige gehele getallen zijn die zowel x als y delen. Een priemgetal is een natuurlijk getal p > 1 zodat 1 en p de enige natuurlijke delers zijn van p. 2. Modulorekenen 2.1. De wijzers van de klok. Modulorekenen doen we elke dag zonder er bij stil te staan, in het bijzonder wanneer we rekenen met tijd. Stel dat het momenteel vijf uur in de namiddag is. In Sydney is het acht uur later. Hoe laat is het daar op dit moment? Een kleine rekensom leert dat het in Sydney één uur in de ochtend is. Hoe zijn we precies tot dit resultaat gekomen? We hebben bij vijf uur het tijdsverschil van acht uur opgeteld; dat geeft dus = 13. Omdat ons horloge de tijd opdeelt in blokken van twaalf uur, trekken we 12 af van de waarde 13 zodat we een uitkomst tussen 0 en 12 verkrijgen. Zo vinden we = 1. We zeggen dat 5+8 congruent

5 MODULOREKENEN EN CRYPTOGRAFIE 5 is aan 1 modulo 12. We noteren dit door mod 12. Zo n uitdrukking heet een congruentie, en 12 noemen we de modulus van de congruentie. In Boston is het zes uur vroeger dan in Leuven. Op dit moment is het daar dus elf uur in de voormiddag, want 5 6 = 1 en door bij 1 de waarde 12 op te tellen vinden we 11. We zeggen daarom dat 5 6 congruent is aan 11 modulo 12. Vaak werken we met congruenties met een andere modulus dan 12. Wanneer je een digitaal horloge gebruikt met 24-uursnotatie, dan reken je met uren modulo 24. Als het vandaag vrijdag is en je wil weten welke weekdag het over vier dagen zal zijn, dan rekenen je modulo 7. Enzovoort Congruenties. We gieten deze observaties nu in een algemene definitie. In het vervolg van deze tekst noteren we met M steeds een strikt positief geheel getal. Definitie Zij x en y gehele getallen. We zeggen dat x congruent is aan y modulo M wanneer M het geheel getal x y deelt. We noteren dit met x y mod M. We noemen M de modulus van de congruentie. De congruentierelatie heeft enkele interessante eigenschappen: (1) elk geheel getal x is congruent aan zichzelf modulo M. (2) als x y modulo M, dan zal ook y x modulo M, want als M het verschil x y deelt, dan deelt M ook y x = (x y). (3) als x y en y z modulo M, dan zal ook x z modulo M. Dit kan je zelf bewijzen als oefening. Voor elk geheel getal x noteren we met x de verzameling van alle gehele getallen die congruent zijn aan x modulo M. Dat is dus de verzameling x = {x, x M, x + M, x 2M, x + 2M,...}. We noemen x de congruentieklasse van x modulo M. Elk element van de congruentieklasse x heet een representant van x. Bovenstaande eigenschappen van de congruentierelatie hebben de volgende consequenties: alle elementen van x zijn congruent aan elkaar modulo M. Als y een tweede geheel getal is, dan is x = y als en slechts als x en y congruent zijn modulo M. In het andere geval zijn x en y disjunct (dat wil zeggen dat deze verzamelingen een lege doorsnede hebben). Een geheel getal a is een representant van x als en slechts als a = x. Elke congruentieklasse x heeft precies één representant c in {0,..., M 1}; als x positief is, dan is c de rest van x bij deling door M. Wanneer we een congruentieklasse opschrijven, dan kiezen we als representant vaak dit element c. Bijvoorbeeld: als M = 7, dan schrijven we meestal 2 in plaats van 16, en 5 in plaats van 9. De verzameling Z van gehele getallen is dus de unie van de congruentieklassen 0, 1,..., M 1. De verzameling van al deze congruentieklassen noteren we met Z M = {0, 1,..., M 1}.

6 6 MODULOREKENEN EN CRYPTOGRAFIE Deze definitie lijkt nogal ingewikkeld: Z M is een verzameling waarvan de elementen zelf verzamelingen zijn. Het is vaak handiger om Z M eenvoudigweg te beschouwen als de verzameling die bestaat uit de getallen 0, 1,..., M 1. De streep boven deze getallen in de notatie voor de elementen van Z M duidt dan aan dat we op een bijzondere manier met deze elementen moeten rekenen; dit wordt uitgelegd in de volgende paragraaf. Voorbeeld (Congruenties op je bankkaart). Een geldig Belgisch bankrekeningnummer bestaat uit een getal G van tien cijfers (met een streepje na de eerste drie), plus een controlegetal van twee cijfers, bijvoorbeeld: Het controlegetal is het unieke element in {1,..., 97} dat congruent is aan G modulo 97. Het controlegetal is dus precies de rest van G bij deling door 97, tenzij deze rest 0 is: in dat geval is het controlegetal 97. In bovenstaand voorbeeld is 16 de rest van bij deling door 97. Het controlegetal wordt toegevoegd om na te gaan of een rekeningnummer correct ingevoerd wordt, bijvoorbeeld als je een overschrijving wil uitvoeren. Als je exact één cijfer verkeerd ingeeft, dan zal het controlegetal niet meer correct zijn, zodat het systeem kan signaleren dat je een fout hebt gemaakt. Als je meer dan één fout maakt, dan kan het wel toevallig gebeuren dat je opnieuw een geldig rekeningnummer krijgt Rekenen met congruentieklassen. Propositie Beschouw gehele getallen x, x, y en y. Veronderstel dat x x en y y modulo M. Dan gelden de volgende eigenschappen: (1) x + y x + y modulo M, (2) x y x y modulo M, (3) x y x y modulo M. Bewijs. We bewijzen enkel eigenschap (3), de andere kan je zelf aantonen als oefening. We weten dat x x en y y deelbaar zijn door M. Dat betekent dat er gehele getallen a en b bestaan zodat x = x + am en y = y + bm. Door deze gelijkheden te vermenigvuldigen vinden we dat x y = (x + am)(y + bm) = xy + (bx + ay + abm)m. Dus x y xy is deelbaar door M, en dat betekent precies dat x y x y mod M. Propositie is erg belangrijk, omdat hij toelaat bewerkingen te definiëren op congruentieklassen in plaats van op gehele getallen. Definitie We definiëren we bewerkingen +, en op de verzameling Z M door voor alle gehele getallen x en y. x + y = x + y, x y = x y, x y = x y,

7 MODULOREKENEN EN CRYPTOGRAFIE 7 Merk op dat deze definitie ondubbelzinnig is: als x en y gehele getallen zijn zodat x = x en y = y, dan garandeert Propositie dat x + y = x + y, x y = x y, x y = x y. Het resultaat van de bewerkingen in Definitie hangt dus niet af van de keuze van de representanten x en y. Meer concreet betekent dit dat we rekenen met elementen van Z M = {0, 1,..., M 1} op de volgende manier: om de som, het verschil of het product van twee elementen x en y van Z M te berekenen, voeren we de overeenkomstige bewerking uit op de gehele getallen x en y; vervolgens tellen we bij het resultaat een geheel veelvoud op van M zodat we een element z van {0,..., M 1} bekomen. Het resultaat van onze bewerking is dan het element z van Z M. Voorbeeld Veronderstel dat de modulus M gelijk is aan 6. Dan geldt 2 9 = 7 = 5. Het product 2 3 bereken je als volgt: 2 3 = 6 = 0. Als we willen uitrekenen, dan hoeven we daarvoor niet eerst het product te bepalen. Het volstaat op te merken dat 122 = 2 en 6001 = 1 omdat 120 en 6000 deelbaar zijn door 6, zodat = 2 1 = 2. Oefening Bereken de volgende uitdrukkingen modulo 5: 2 + 3, 3 4, Onze bewerkingen op congruentieklassen hebben de volgende eigenschappen. Propositie (1) Het element 0 is een neutraal element voor de optelling, en 1 is een neutraal element voor de vermenigvuldiging: voor alle gehele getallen x geldt dat x + 0 = 0 + x = x en x 1 = 1 x = x. (2) Voor elk geheel getal x bestaat er een unieke congruentieklasse w zodat x + w = w + x = 0, namelijk w = x. We noteren deze congruentieklasse ook met x, de tegengestelde van x. (3) De optelling van congruentieklassen is associatief en commutatief, dat wil zeggen: x + (y + z) = (x + y) + z en x + y = y + x voor alle gehele getallen x, y en z. De analoge eigenschappen gelden voor de vermenigvuldiging. (4) De vermenigvuldiging van congruentieklassen is distributief te opzichte van de optelling, dat wil zeggen: x (y + z) = x y + x z voor alle gehele getallen x, y en z. Al deze eigenschappen volgen onmiddellijk uit de overeenkomstige eigenschappen voor de optelling en vermenigvuldiging van gehele getallen. Je zal bij berekeningen met congruentieklassen deze eigenschappen waarschijnlijk spontaan toepassen zonder er bij stil te staan. Oefening Toon aan dat een natuurlijk getal x deelbaar is door 9 als en slechts als de som van de cijfers van x deelbaar is door 9. Hint: schrijf x als x = c 0 + c c m 10 m met c 1,..., c m in {0,..., 9}, en bereken de congruentieklasse van x modulo 9.

8 8 MODULOREKENEN EN CRYPTOGRAFIE Oefening Bij een perfect shuffle meng je twee helften van een spel kaarten ritsgewijs door elkaar. Als je de kaarten bij aanvang nummert met 0, 1,..., 51, dan liggen ze na zo n perfect shuffle in de volgorde 0, 26, 1, 27, 2, 28,..., 25, 51. Hoeveel perfect shuffles moet je minimaal uitvoeren opdat de kaarten weer op dezelfde volgorde zouden liggen als in het begin? Hint: reken modulo Het algoritme van Euclides en de stelling van Bézout-Bachet. Omstreeks 300 voor Christus schreef de beroemde Alexandrijnse wiskundige Euclides in één van zijn Elementen een algoritme neer om de grootste gemene deler van twee natuurlijke getallen te bepalen. We illustreren dit algoritme aan de hand van een voorbeeld. Voorbeeld We gaan de grootste gemene deler bepalen van 34 en 14. We voeren eerst de Euclidische deling (= gehele deling met rest) uit van 34 door 14: 34 = Hierbij is 2 het quotiënt van de deling en 6 de rest. We herhalen deze bewerking met 14 en 6: 14 = Vervolgens delen we 6 door de nieuwe rest 2: 6 = 3 2. Nu is de rest gelijk aan 0, met andere woorden: 2 is een deler van 6. Hieruit kan je besluiten dat 2 (de laatste rest die we vonden verschillend van nul) de grootste gemene deler is van 34 en 14; we zullen dit hieronder op een precieze manier aantonen. Merk op dat het algoritme altijd eindigt na een eindig aantal stappen: in elke stap wordt de rest strikt kleiner, zodat we uiteindelijk op 0 moeten uitkomen. Door het algoritme van Euclides nauwkeuriger te bestuderen, kunnen we een nieuw resultaat bewijzen: de stelling van Bézout-Bachet. Deze stelling is van groot belang voor de getaltheorie. Stelling (Bézout-Bachet). Als x en y twee natuurlijke getallen zijn, niet beide nul, en als d de grootste gemene deler is van x en y, dan bestaan er gehele getallen a en b zodat ax + by = d. Bewijs. We mogen veronderstellen dat x y (anders wisselen we x en y gewoon om) en dat y verschillend is van 0 (anders is ggd(x, y) = x en valt er niets te bewijzen). We stellen r 0 = x en r 1 = y. Nu voeren we het algoritme van Euclides uit. Het resultaat is een lijst van Euclidische delingen r 0 = q 1 r 1 + r 2 r 1 = q 2 r 2 + r 3. r n = q n+1 r n+1 + r n+2 waarbij de laatste rest r n+2 gelijk is aan 0.

9 MODULOREKENEN EN CRYPTOGRAFIE 9 Omdat r n = q n+1 r n+1 is r n+1 een deler van r n. Omdat r n 1 = q n r n + r n+1 zal r n+1 bovendien ook een deler zijn van r n 1. Door zo verder op te klimmen in onze lijst, zien we uiteindelijk dat r n+1 ook r 0 = x en r 1 = y zal delen. Door onze Euclidische delingen een beetje te herschrijven, vinden we de volgende gelijkheden: r 2 = r 0 q 1 r 1 r 3 = r 1 q 2 r 2 = q 2 r 0 + (q 1 q 2 + 1)r 1 r 4 = r 2 q 3 r 3 = (q 2 q 3 + 1)r 0 (q 1 + q 1 q 2 q 3 + q 3 )r 1. r n+1 = r n 1 q n r n = ar 0 + br 1 met a en b gehele getallen. Uit de laatste gelijkheid volgt dat elke gemene deler van r 0 = x en r 1 = y ook een deler moet zijn van r n+1. We hebben hierboven al gezien dat r n+1 zelf een deler is van x en y. Daarom kunnen we besluiten dat r n+1 gelijk is aan de grootste gemene deler d van x en y. We vinden zo dat d = ax + by, en dit is precies wat we wilden bewijzen. Het bewijs van de stelling geeft een methode om de grootste gemene deler d en de coëfficiënten a en b expliciet te bepalen. We noemen deze methode het uitgebreide algoritme van Euclides. In Voorbeeld zie je het algoritme aan het werk in een concrete situatie. De coëfficiënten a en b zijn niet uniek: alle gehele getallen a = a + ky/d en b = b kx/d, met k Z, voldoen aan de vergelijking a x + b y = d. Voorbeeld We passen het uigebreide algoritme van Euclides toe op x = 31 en y = 22. We voeren eerst het klassieke algoritme van Euclides uit: 31 = , 22 = , 9 = , 4 = De grootste gemene deler van 31 en 22 is dus gelijk aan 1. Nu herschrijven we deze lijst gelijkheden zoals in het bewijs van Stelling 2.4.2: 9 = 31 22, 4 = = , 1 = = We vinden zo dat ggd(31, 22) = 1 = Het is handig om deze berekeningen op te schrijven in een tabel:

10 10 MODULOREKENEN EN CRYPTOGRAFIE = = = = = Oefening Vind de grootste gemene deler van 202 en 142 en schrijf hem als met a en b gehele getallen. a b 142 We bespreken nu enkele belangrijke gevolgen van de stelling van Bézout-Bachet Priemontbinding. Lemma (Lemma van Euclides). Zij x en y gehele getallen, en zij p een priemgetal. Als p het product xy deelt, dan moet p ook x of y delen. Bewijs. Stel dat p het getal x niet deelt. Dan zijn x en p relatief priem, want de enige natuurlijke delers van p zijn 1 en p. Volgens de stelling van Bézout-Bachet bestaan er gehele getallen a en b zodat 1 = ax + bp. Omdat p een deler is van xy, zal p ook een deler zijn van y = (ax + bp) y = axy + bpy. Het volgende resultaat is één van de belangrijkste eigenschappen van de natuurlijke getallen. Een groot deel van de getaltheorie is op deze stelling gebaseerd. Daarom wordt hij de fundamentaalstelling van de getaltheorie genoemd. Dit resultaat staat in essentie al vermeld in Euclides Elementen, hoewel Euclides een andere formulering gebruikte. Stelling (Fundamentaalstelling van de getaltheorie). Elk natuurlijk getal x > 1 kan geschreven worden als een product van machten van priemgetallen: (2.1) x = p α pαr r, met p 1,..., p r priem en α 1,..., α r natuurlijke getallen. We zullen in deze schrijfwijze steeds veronderstellen dat p 1 < p 2 <... < p r en dat de exponenten α i verschillend zijn van 0. Onder die veronderstelling is de schrijfwijze uniek. We noemen hem de priemontbinding van x. Bewijs. Het is niet moeilijk in te zien dat we elk natuurlijk getal x > 1 kunnen schrijven als een product van priemgetallen. We geven een bewijs via inductie op x. Als x = 2 dan is x al priem en valt er niets te bewijzen. Veronderstel dus dat x > 2 en dat we elk natuurlijk getal x in het interval [2, x 1] kunnen schrijven als een product van priemgetallen. Als x priem is, dan valt er niets te bewijzen. Zoniet kunnen we x schrijven als y z met y en z natuurlijke getallen die strikt kleiner zijn dan x. Volgens onze inductiehypothese kunnen we y en z schrijven als producten van priemgetallen. Als we deze uitdrukkingen met elkaar vermenigvuldigen, dan hebben we x geschreven als een product van priemgetallen.

11 MODULOREKENEN EN CRYPTOGRAFIE 11 Nu bewijzen we dat de schrijfwijze (2.1) uniek is. Zij p een priemgetal en α het grootste natuurlijke getal zodat p α een deler is van x. Als α = 0 dan is p α = 1 en is p geen deler van x; het priemgetal p kan dan ook niet voorkomen in de ontbinding (2.1). Als α > 0 dan moet p volgens het lemma van Euclides een deler zijn van één van de priemgetallen p 1,..., p r, en dus gelijk zijn aan p i met i {1,..., r}. Omdat p α i i een deler is van x en we α zo groot mogelijk gekozen hebben, moet α i α. Omdat p α een deler is van x, zal p α αi een deler zijn van x/p αi i. Maar x/p αi i is een product van priemgetallen die verschillend zijn van p, en dus volgt uit het lemma van Euclides dat p geen deler kan zijn van x/p αi i, zodat α = α i. Dit toont aan dat de ontbinding (2.1) uniek is: de priemgetallen p 1,..., p r zijn precies al de priemgetallen die x delen, en voor elke i is α i het grootste natuurlijk getal zodat p α i i een deler is van x. Gevolg Twee gehele getallen zijn relatief priem als en slechts als ze geen gemeenschappelijke priemdelers hebben. Oefening Stel dat x, y en z gehele getallen zijn zodat x en y relatief priem zijn. Toon de volgende eigenschappen aan. (1) Als x en z relatief priem zijn, dan zijn ook x en yz relatief priem. (2) Het product xy is een deler van z als en slechts als x en y delers zijn van z. (3) Het getal x is een deler van z als en slechts als x een deler is van yz. Oefening Zij p en q verschillende priemgetallen. natuurlijke delers van x = p 8 q 13. Bepaal het aantal Oefening Zij n een natuurlijk getal zodat n + 1 geen priemgetal is en ook niet het kwadraat van een priemgetal. Toon aan dat n + 1 een deler is van n! De Chinese reststelling. Stelling (Chinese reststelling 1 ). Zij M 1,..., M r strikt positieve gehele getallen. We veronderstellen dat deze getallen paarsgewijs relatief priem zijn, dat wil zeggen: ggd(m i, M j ) = 1 voor alle elementen i en j in {1,..., r} waarvoor i j. Voor alle gehele getallen x 1,..., x r bestaat er een geheel getal x zodat (2.2) x x i mod M i voor elke i in {1,..., r}. De gehele getallen y die ook aan al deze congruenties voldoen zijn precies de elementen van de congruentieklasse van x modulo M = M 1... M r. Bewijs. Stel M = M 1... M r. Voor elke i in {1,..., r} zijn de gehele getallen M i en M/M i relatief priem, aangezien elke priemdeler van M/M i een deler moet zijn van één van de factoren M j met j i, en M i en M j geen gemeenschappelijke priemdelers hebben. Volgens de stelling van Bézout-Bachet kunnen we gehele getallen a i en b i vinden zodat a i M i + b i M/M i = 1. 1 Dit resultaat werd al in de 4de eeuw na Christus opgetekend in Het rekenkundig handboek van Meester Sun van de Chinese wiskundige Sunzi.

12 12 MODULOREKENEN EN CRYPTOGRAFIE We stellen x = x 1 b 1 M/M x r b r M/M r. Voor elke i in {1,..., r} zal M i een deler zijn van x x i = x 1 b 1 M/M x i (b i M/M i 1) + + x r b r M/M r omdat M i een deler is van M/M j voor alle j i en ook een deler van b i M/M i 1 = a i M i. Dus het getal x voldoet aan de congruentie (2.2), voor alle i in {1,..., r}. Het is duidelijk dat elk getal y in de congruentieklasse van x modulo M ook aan al deze congruenties voldoet, aangezien y x dan deelbaar is door M en dus door al de moduli M i. We moeten enkel nog aantonen dat we zo alle oplossingen gevonden hebben. Veronderstel dus dat y een geheel getal is zodat y x i mod M i voor alle i. Dan zal y ook congruent zijn aan x modulo M i, voor alle i. Aangezien de moduli M i paarsgewijs relatief priem zijn, vinden we door Oefening herhaaldelijk toe te passen dat M een deler moet zijn van y x. Dus y behoort tot de congruentieklasse van x modulo M. De Chinese reststelling is een sterk resultaat: om de congruentieklasse van een geheel x modulo M 1... M r te bepalen, volstaat het de congruentieklassen van x te kennen modulo de getallen M 1,..., M r. Voorbeeld De gehele getallen x die voldoen aan de congruenties { x 2 mod 13 x 0 mod 7 zijn precies de elementen van de congruentieklasse modulo 13 7 = = {28, 119, 63, 210, 154,...} 2.7. Eenheden in Z M. Zij M een strikt positief geheel getal. Propositie Zij x een geheel getal. De getallen x en M zijn relatief priem als en slechts als er een geheel getal y bestaat zodat x y = 1 in Z M. In dat geval is de congruentieklasse y uniek. We noemen deze congruentieklasse het inverse element van x, en we noteren hem met x 1. Als x een inverse heeft, dan noemen we x een eenheid in Z M, en noemen we x een eenheid modulo M. De verzameling van eenheden in Z M duiden we aan met Z M. Bewijs. Veronderstel eerst dat x en y gehele getallen zijn zodat x y = 1. Dat betekent dat M een deler is van xy 1. Elke gemene deler d van x en M deelt dus zowel x als xy 1. Dan moet d ook een deler zijn van xy, en dus van xy (xy 1) = 1. Daaruit volgt dat d enkel 1 of 1 kan zijn, en dat ggd(x, M) = 1.

13 MODULOREKENEN EN CRYPTOGRAFIE 13 Nu tonen we de omgekeerde implicatie aan. Veronderstel dat x een geheel getal is zodat ggd(x, M) = 1. Volgens de stelling van Bézout-Bachet bestaan er dan gehele getallen a en b zodat ax + bm = 1. De modulus M moet dan een deler zijn van Dus ax 1 = bm. ax 1 mod M, met andere woorden: x a = 1. Als c een geheel getal is zodat eveneens x c = 1, dan geldt omwille van de commutativiteit en de associativiteit van de vermenigvuldiging dat c = (x a) c = (x c) a = a. Dus het inverse element a van x is uniek (als het bestaat). Dit bewijs laat ook zien hoe je het inverse element van x kan vinden: het is de congruentieklasse van de coëfficiënt a van x die je kan bepalen via het uitgebreide algoritme van Euclides. Voorbeeld We lezen af uit Voorbeeld dat 7 = 24 het inverse element is van 22 in Z 31, omdat 7 22 = mod 31. Oefening Zijn de volgende getallen eenheden in Z 35? Zo ja, bereken hun invers. 5, 6, 8, 34. Oefening Toon de volgende eigenschappen aan: (1) Als r en s eenheden zijn in Z M, dan is r s een eenheid in Z M. (2) Als r een eenheid is in Z M en u en v elementen in Z M zodat r u = r v, dan moet u = v. Merk op dat de tweede eigenschap niet geldt als r geen eenheid is: zo is 2 3 = 0 = 2 0 in Z 6, terwijl 3 0. Oefening Stel dat x en y natuurlijke getallen zijn zodat x eindigt op de cijfers 13 en zodat x y eindigt op 52. Toon aan dat het getal y moet eindigen op 04. We stellen ons nu de volgende vraag: hoeveel elementen bevat Z M? Met andere woorden: hoeveel elementen in {0,..., M 1} zijn een eenheid modulo M? Omwille van Propositie weten we dat dit precies de elementen zijn van de verzameling E M = {x {0,..., M 1} ggd(x, M) = 1}. Het aantal elementen van E M noteren we met φ(m). Dit getal wordt het Eulergetal van M genoemd.

14 14 MODULOREKENEN EN CRYPTOGRAFIE Voorbeeld Het Eulergetal φ(1) is gelijk aan 1, want de grootste gemene deler van 0 en 1 is gelijk aan 1, zodat E 1 = {0}. Het Eulergetal φ(6) is gelijk aan 2, want E 6 = {1, 5}. Als p een priemgetal is, dan is en dus φ(p) = p 1. E p = {1,..., p 1} We gaan nu een handige formule opstellen die ons toelaat om φ(m) expliciet te berekenen. Lemma Zij M en N strikt positieve gehele getallen, en veronderstel dat M en N relatief priem zijn. Dan geldt φ(mn) = φ(m) φ(n). Bewijs. Zij x een element van {0,..., MN 1}. Uit de Chinese reststelling volgt dat x volledig bepaald wordt door zijn congruentieklassen modulo M en N: voor elke a in {0,..., M 1} en elke b in {0,..., N 1} is er precies één element x in {0,..., MN 1} zodat x a mod M en x b mod N. Bovendien is x relatief priem met MN als en slechts als a relatief priem is met M en b relatief priem is met N. Dit kan je inzien als volgt: de gemeenschappelijke priemdelers van x en MN zijn precies de priemgetallen p die x delen en ook M of N, omwille van het lemma van Euclides. Maar als p een deler is van M, dan deelt p ook x als en slechts als p een deler is van a, vermits we a kunnen schrijven als a = x + km met k Z. De gemeenschappelijke priemdelers van x en M zijn dus precies de gemeenschappelijke priemdelers van a en M. De analoge eigenschap geldt voor x, b en N. Dus φ(mn) is gelijk aan het aantal elementen in de productverzameling {a {0,..., M 1} ggd(a, M) = 1} {b {0,..., N 1} ggd(b, N) = 1}. De eerste factor in dit product heeft precies φ(m) elementen, en de tweede φ(n). We kunnen daarom besluiten dat φ(mn) = φ(m) φ(n). Propositie Zij M > 1 een geheel getal met priemontbinding Dan geldt M = p α pα r r. φ(m) = (p 1 1)p α (p r 1)p α r 1 r. Bewijs. Veronderstel eerst dat r = 1; dan is M gelijk aan p α, met p een priemgetal en α een strikt positief geheel getal. De elementen in {0,..., M 1} die niet relatief priem zijn met M zijn dan precies de veelvouden van p, namelijk V = {0, p, 2p,..., (p α 1 1)p}.

15 MODULOREKENEN EN CRYPTOGRAFIE 15 Merk op dat (p α 1 1)p inderdaad het grootste veelvoud van p is dat strikt kleiner is dan M = p α. De verzameling V bevat p α 1 elementen, dus de verzameling bevat elementen. We vinden zo dat E M = {0,..., M 1} \ V M p α 1 = (p 1)p α 1 φ(p α ) = (p 1)p α 1. De algemene formule voor φ(m) volgt nu onmiddellijk uit Lemma Oefening Bewijs Propositie als M een product is van twee verschillende priemgetallen p en q, zonder gebruik te maken van de Chinese reststelling: tel de elementen van {0,..., M 1} die niet relatief priem zijn met M De congruentie van Euler en de kleine stelling van Fermat. Stelling (Congruentie van Euler). Zij M een strikt positief geheel getal, en a een geheel getal dat relatief priem is ten opzichte van M. Dan geldt a φ(m) 1 mod M. Bewijs. Zij r 1,..., r φ(m) de eenheden in Z M. Uit Oefening volgt dat {r 1,..., r φ(m) } = {a r 1,..., a r φ(m) }. Als we de elementen in elk van deze verzameligen vermenigvuldigen, dan vinden we dat r 1... r φ(m) = a φ(m) r 1... r φ(m). Oefening zegt dan dat anders gezegd: a φ(m) = 1, a φ(m) 1 mod M. Gevolg (Kleine stelling van Fermat 2 ). Als p een priemgetal is en a een geheel getal dat niet deelbaar is door p, dan geldt Voor alle gehele getallen b geldt dus dat a p 1 1 mod p. b p b mod p. 2 We noemen Gevolg de kleine stelling van Fermat om het onderscheid te maken met de beroemde grote stelling van Fermat. Die zegt het volgende: als x, y, z en n natuurlijke getallen zijn zodat x n + y n = z n en n > 2, dan moet x of y gelijk zijn aan 0. Dit resultaat, door Fermat geformuleerd in 1637, werd pas in 1994 bewezen door de Britse wiskundige Andrew Wiles. Het bewijs maakt gebruik van erg diepe resultaten uit de getaltheorie en de meetkunde.

16 16 MODULOREKENEN EN CRYPTOGRAFIE Bewijs. De eerste bewering is een bijzonder geval van de congruentie van Euler, omdat φ(p) = p 1. Als we beide leden van deze congruentie vermenigvuldigen met a, dan vinden we a p a mod p. De tweede bewering hoeven we dan enkel nog te bewijzen als p een deler is van b. In dat geval geldt b p b 0 mod p. Gevolg Zij M een strikt positief geheel getal, en a een geheel getal dat relatief priem is ten opzichte van M. Als x en y natuurlijke getallen zijn zodat dan zal x y mod φ(m), a x a y mod M. Bewijs. We mogen veronderstellen dat x > y, anders wisselen we x en y gewoon om. Dan zal y = x + φ(m)q met q een natuurlijk getal. Uit de congruentie van Euler volgt nu dat a y = a x (a φ(m) ) q a x mod M. Voorbeeld Stel dat we de rest van 3 50 bij deling door 35 willen berekenen, Uit Propositie volgt dat φ(35) = 4 6 = 24. Bovendien zijn 3 en 35 relatief priem. We kunnen Gevolg daarom toepassen op de volgende manier: zodat 50 2 mod 24, mod 35. De rest van 3 50 bij deling door 35 is dus gelijk aan 9. Oefening Beschouw een geheel getal n > 1. Bewijs dat 7 (2n) eindigt op het cijfer 1, en 2 (2n) + 1 op het cijfer 7. Wat zijn de laatste twee cijfers van 39 (412011)? 2.9. Generatoren in Z p. Propositie Zij p een priemgetal. Dan bestaat er een element g in Z p zodat Z p = {g, g 2,..., g p 1 = 1}. Zo n element g noemen we een generator van Z p. Merk op dat g p 1 = 1 voor elk element g van Z p omwille van de kleine stelling van Fermat (Gevolg 2.8.2). Als g een generator is van Z p, dan moeten de machten g i en g j verschillend zijn voor alle elementen i j in {1,..., p 1}, omdat we weten dat Z p precies φ(p) = p 1 elementen bevat. Het bewijs van deze eigenschap valt helaas buiten het bestek van deze bundel. We kunnen hem wel illustreren aan de hand van een voorbeeld.

17 MODULOREKENEN EN CRYPTOGRAFIE 17 Voorbeeld Het element 2 is een generator van Z 5. machten van 2 zijn Het element 4 is geen generator van Z = 2, 2 2 = 4, 2 3 = 8 = 3, 2 4 = 16 = 1. De opeenvolgende In de volgende secties bespreken we verschillende cryptosystemen die zijn gebaseerd op getaltheorie, en in het bijzonder op modulorekenen. 3. Van Vigenère tot AES 3.1. Het Vigenèrecijfer. We zagen in Paragraaf 1.6 dat het substitutiecijfer relatief eenvoudig gekraakt kan worden door middel van frequentieanalyse. In 1553 stelde Giovanni Belaso een alternatief cryptosysteem voor dat de problemen van het substitutiecijfer leek op te lossen. Het werd opgepikt door de Franse diplomaat Blaise de Vigenère naar wie het cryptosysteem sindsdien wordt genoemd: het Vigenèrecijfer. Het Vigenèrecijfer maakt gebruik van een codewoord. Dat woord kan bijvoorbeeld zijn. Om een zin, bijvoorbeeld TOERNOOI ALEA JACTA EST, te vercijferen vullen we een regel eronder met kopieën van het codewoord. Eventueel dient de laatste kopie te worden afgebroken: ALEA JACTA EST TOER NOOIT OER. Een letter op de tweede regel bepaalt nu hoeveel plaatsen in het alfabet de letter erboven wordt opgeschoven. We identificeren daarvoor de letters van het alfabet met de congruentieklassen in Z 26. Hierbij staat de A voor 0, de B voor 1, de C voor 2,..., de Z voor 25. We vervangen nu de letters van de boodschap en van het codewoord door de overeenkomstige congruentieklassen in Z 26. Vervolgens tellen we beide regels bij elkaar op. Het resultaat is een rij elementen van Z 26, die we opnieuw omzetten in een rij van letters. Deze rij letters is de vercijferde boodschap. In ons voorbeeld vervangen we dus door ALEA JACTA EST TOER NOOIT OER Als we nu beide regels optellen, dan vinden we Door deze reeks congruentieklassen weer om te zetten in letters, vinden we tenslotte de Vigenère-vercijfering horend bij het codewoord TOERNOOI: TZIR WOQBT SWK.

18 18 MODULOREKENEN EN CRYPTOGRAFIE Het ontcijferen gebeurt dan door de rij kopieën van het codewoord weer van de vercijferde tekst af te trekken. Zoals je ziet wordt de letter A in bovenstaande tekst zowel als een T, een R en een O vercijferd. Dat maakt een statistische aanval zoals in Paragraaf 1.6 op het eerste zicht waardeloos. Oefening Het Caesarcijfer is een speciaal geval van het Vigenèrecijfer. Wat is het bijhorende codewoord? Oefening De tekst GVZZG BY SE! is vercijferd volgens de Vigenèremethode, met codewoord Wat is de oorspronkelijke boodschap? FERMAT. Lange tijd werd het Vigenèrecijfer als onbreekbaar beschouwd. Het kreeg zelfs de bijnaam le chiffre indéchiffrable (het onontcijferbare cijfer). Halfweg de 19 de was het sprookje echter uit. Toen publiceerde Friedrich Kasiski een methode om het cijfer te kraken, op voorwaarde dat de ontvangen tekst voldoende lang is. (a) Wanneer we de lengte van het codewoord kennen, dan is het Vigenèrecijfer eenvoudig te kraken. Stel bijvoorbeeld dat we weten dat het codewoord acht letters telt. Dan kunnen we de 1 ste, de 9 de, de 17 de, de 25 ste,... letter van de vercijferde tekst samen bekijken. Omdat deze letters allemaal over dezelfde afstand zijn verschoven, zullen we de eerste letter van het codewoord kunnen gokken met behulp van een frequentieanalyse zoals in Paragraaf 1.6. Analoog vinden we de tweede letter door de 2 de, de 10 de, de 18 de, de 26 ste,... vercijferde letters samen te bekijken, enzoverder. (b) De meest ambachtelijke aanval is dan om de procedure uit (a) uit te voeren voor lengte 1, lengte 2, lengte 3,... tot we een betekenisvolle ontcijfering vinden. Vaak kan de lengte op voorhand gegokt worden door te kijken naar opvallende letteropeenvolgingen die terugkeren. De afstand tussen twee dergelijke opeenvolgingen is met grote kans een veelvoud van de lengte van het codewoord. Als we een paar dergelijke veelvouden kunnen opspeuren, dan is de lengte van het codewoord heel waarschijnlijk de grootste gemene deler van deze veelvouden. Deze methode wordt geïllustreerd op de leuke website De daaropvolgende 100 jaar worden gekenmerkt door veel cryptografische bedrijvigheid. De twee wereldoorlogen zijn daar natuurlijk niet vreemd aan. Zo stuurde Arthur Zimmermann, de Duitse minister van buitenlandse zaken, in 1917 een vercijferd bericht naar zijn ambassadeur in Washington, D.C. Daarin werd die laatste aangemaand om de Verenigde Staten en Mexico tegen elkaar op te stoken. Op die manier hoopte Zimmermann dat de Amerikanen het te druk zouden hebben met hun eigen conflict om zich actief met WO I te bemoeien. Het bericht werd echter onderschept en gekraakt, en had een averechts effect: de Verenigde Staten verklaarden Duitsland de oorlog en WO I, die op dat moment muurvast zat, kwam in een stroomversnelling. Een jaar later was de oorlog beslecht. Waar het Zimmermanntelegram eerder een amateuristische blunder was die geen veiligheidsdienst die naam waardig had kunnen verschalken, was cryptografie tijdens de tweede wereldoorlog echt big business. Door het toenemende gebruik

19 MODULOREKENEN EN CRYPTOGRAFIE 19 van vliegtuigen en onderzeeërs bulkte de ether van de geheime berichten. In het geval van de Duitsers waren die berichten meestal vercijferd met behulp van een Enigma. Dat was een typmachine die in de jaren 10 was ontwikkeld en de ingetypte tekst automatisch in geheimschrift zette. Vóór gebruik moesten bij de Enigma een aantal zaken fysiek worden ingesteld (koppelingen van elektrische bedradingen, beginstanden van rotoren). Die instellingen dienden als geheime sleutel en veranderden dagelijks. De Enigma leek niet te kraken, maar de Britse geheime diensten bleven hardnekkig proberen. Hardnekkig is een understatement. Op het hoogtepunt was een team van maar liefst mannen en vrouwen full-time bezig met het onderscheppen, opschrijven en bestuderen van de Duitse berichten. Het bestuderen gebeurde door een team wiskundigen, met aan het hoofd de briljante Alan Turing. Uiteindelijk slaagden ze in hun opzet, voortbouwend op eerdere doorbraken van de Poolse wiskundige Marian Rejewski in opdracht van de Poolse geheime dienst. De Enigma was een wijd verspreid toestel en de Duitsers waren zich ervan bewust dat de Britten over fysieke exemplaren beschikten. Ook al betekende dat niet dat de Britten de bijhorende geheime instellingen kenden, toch gebruikten de Duitsers uit voorzorg een complexere variant van het toestel voor informatie die echt top secret was: de Lorenz-Geheimschreiber. Ook die werd uiteindelijk door de Britten gekraakt. Ze wisten zelfs een Geheimschreiber na te bootsen zonder er zelf ooit één te hebben gezien! Dit alles speelde ongetwijfeld een sleutelrol in WO II. Zo waren de geallieerde troepen er bij de cruciale landing op Normandië vrij zeker van dat de Duitsers in de bijhorende valstrik waren getrapt Om de Lorenz-Geheimschreiber te kraken ontwikkelden de Britten de allereerste digitale computers: Colossus I en Colossus II. Na afloop van WO II werden de Colossus-computers vernietigd Bij deze fantastische geschiedenis horen een aantal minder fraaie kanttekeningen. Na afloop van de oorlog hielden de Britten hun verwezenlijkingen geheim (tot de jaren 70). Hiervan misbruik makend bleef het Verenigd Koninkrijk het gebruik van Enigma-toestellen stimuleren, onder andere bij hun eigen kolonies. Ook jegens Alan Turing legden ze niet veel menselijkheid aan de dag. De homoseksuele Turing werd na de oorlog verplicht zich chemisch te laten castreren en zou uiteindelijk in 1954 zelfmoord plegen. In 2009 bood de Britse regering hiervoor haar excuses aan De jaren 70: een sleutelperiode. De jaren 70 zijn een absoluut keerpunt voor de cryptografie. Eén van de redenen is de publieke bekendmaking van het ganse Enigma-verhaal. De technieken die Turing en co hadden ontwikkeld vonden op die manier hun weg naar het wetenschappelijke circuit en veranderden het aanschijn van de cryptografie definitief. Een tweede reden is de invoering door de Amerikaanse overheid van een nationale standaard om berichten in geheimschrift te zetten: de Data Encryption Standard (DES). Veel wetenschappers vertrouwden DES niet. De sleutelruimte was immers nogal klein (2 56 mogelijke sleutels) en men vreesde dat de beleidsmakers er een achterpoortje in hadden verwerkt, waardoor ze het systeem zelf zouden kunnen kraken. Die achterdocht bleek uiteindelijk onterecht, maar de intensieve analyse van DES is van enorme waarde gebleken voor de cryptografie. Vandaag de dag kan DES in minder dan een dag worden gekraakt. Varianten van het cijfer worden echter nog

20 20 MODULOREKENEN EN CRYPTOGRAFIE altijd gebruikt. Zo beroepen de meeste bankautomaten zich op 3DES (essentieel drie kopieën van DES, met een sleutelruimte van grootte = ). De lessen die uit DES werden getrokken leidden uiteindelijk naar een nieuw cryptosysteem dat in 2002 gelanceerd werd: de Advanced Encryption Standard (AES). Het is gebaseerd op het Rijndael-algoritme van de Leuvense ingenieurs Joan Daemen en Vincent Rijmen. Vandaag de dag geldt AES als de internationale standaard. Ze heeft een sleutelruimte van grootte Een derde en misschien wel belangrijkste reden is de ontdekking van methodes om op een publieke manier geheime sleutels of zelfs ganse geheime boodschappen uit te wisselen. Deze vormen het einddoel van deze bundel en bespreken we in de volgende secties. 4. Veilige sleuteluitwisseling 4.1. Een fundamenteel probleem bij alle hierboven besproken cryptosystemen, inclusief DES en AES, is het uitwisselen van de geheime sleutel tussen zender en ontvanger. Indien beide partijen elkaar niet fysiek kunnen ontmoeten is dit een heel delicaat aspect. Zo kregen de Duitse klerken tijdens WO II maandelijks een agenda opgestuurd waarin de geheime Enigma-instellingen voor de volgende maand per dag stonden opgelijst. Bij minstens één gelegenheid is zo n boekje door de Britse geheime diensten onderschept. Een ander cryptosysteem gebruiken om de geheime sleutel met elkaar uit te wisselen verlegt het probleem natuurlijk alleen maar. Het is a priori zelfs helemaal niet duidelijk dat er een oplossing voor dit probleem bestaat. Het kwam dan ook als een absolute verrassing toen Whitfield Diffie en Martin Hellman in 1976 een methode publiceerden die geheime sleuteluitwisseling mogelijk maakt. Hun methode maakt gebruik van modulorekenen Van sleutel tot congruentieklas modulo p. Een geheime sleutel is in de praktijk altijd te identificeren met een natuurlijk getal x waarvoor 0 x < S waarbij S de grootte van de sleutelruimte is. Bij het substitutiecijfer kan een lettervolgorde zoals in (1.1) worden bekeken als een getal tussen 0 en 26! 1 door alle mogelijke lettervolgordes alfabetisch te ordenen. Omgekeerd geeft elk natuurlijk getal tussen 0 en 26! 1 aanleiding tot zo n lettervolgorde. Bij AES is de geheime sleutel een opeenvolging van 128 nulletjes en eentjes: Dit kan men bekijken als de binaire schrijfwijze van een natuurlijk getal tussen 0 en Omgekeerd zal elk natuurlijk getal tussen 0 en aanleiding geven tot een AES-sleutel. Anders gezegd kunnen we een sleutel dus bekijken als een rest modulo S. Het veilig uitwisselen van zo n rest is precies wat het hieronder beschreven Diffie- Hellmanprotocol doet. In praktijk werken Diffie en Hellman echter modulo een priemgetal p dat groter is dan S (vaak een priemgetal van tenminste 1024 binaire cijfers). Het resultaat van het Diffie-Hellmanprotocol is dan een congruentieklas x modulo p, die enkel gekend is door de twee partijen die een sleutel willen afspreken. Uit deze congruentieklas x, die voorgesteld kan worden door een rest 0 x < p, kan dan eenvoudig een sleutel worden afgeleid door x modulo S te berekenen. In

21 MODULOREKENEN EN CRYPTOGRAFIE 21 praktijk wordt deze laatste stap vervangen door het hashen van de congruentieklas x. Het zou ons te ver leiden om in deze nota s op dit hashen in te gaan; het principe blijft sowieso hetzelfde Het vinden van een groot priemgetal p. Zoals hierboven vermeld wil men gebruik maken van een priemgetal p van ongeveer duizend binaire cijfers. Met de huidige stand van de informatica en de wiskunde vormt het geen praktisch probleem om binnen een fractie van een seconde zo n priemgetal te vinden. Ruw gesteld kiest men herhaaldelijk een lukraak getal van de juiste grootte-orde, tot het een priemgetal betreft. Daarvoor moeten (1) we over een snelle test beschikken om na te gaan of een gegeven getal al dan niet priem is; zo n test bestaat inderdaad, maar een beschrijving ervan valt buiten het bestek van deze nota s; (2) de priemgetallen dik genoeg gezaaid liggen; vanuit praktisch oogpunt mogen we hier vertrouwen in hebben, al is dat vertrouwen vooral gebaseerd op onbewezen heuristieken en experimentele ervaring; op theoretisch vlak baart de verdeling van de priemgetallen ons nog veel kopzorgen (o.a. het Riemannvermoeden, door velen beschouwd als het belangrijkste onopgeloste probleem uit de hele wiskunde, doet hier een uitspraak over wie het oplost krijgt een miljoen dollar van het Clay Mathematics Institute). Merk op dat (1) in opmerkelijk contrast staat met het volgende al even beroemde onopgeloste probleem. Open probleem Vind een efficiënte methode om van eender welk gegeven geheel getal n de priemontbinding te vinden. Nagaan of een gegeven getal van enkele honderden cijfers priem is lukt vandaag in een fractie van een seconde, maar de best gekende methodes om de priemontbinding van een gelijkaardig getal te vinden doen er in het slechtste geval miljarden jaren over Het Diffie-Hellmanprotocol. Het Diffie-Hellmanprotocol (DHP) is een manier om op een veilige en efficiënte manier een geheime congruentieklas x modulo een gegeven priemgetal p af te spreken tussen twee partijen die over een onveilig kanaal met elkaar communiceren. Veronderstel dat de twee partijen Agnetha en Benny heten. Ze spreken eerst een generator g van (Z p, ) af. Daarna kiest Agnetha een getal a met 0 a < p 1, dat ze angstvallig geheim houdt. Analoog kiest Benny een geheim getal b met 0 b < p 1. Agnetha berekent g a en stuurt dit door naar Benny. Op zijn beurt berekent Benny g b en laat de uitkomst weten aan Agnetha. Zowel Agnetha als Benny kunnen nu g ab berekenen: Agnetha kent g b (omdat Benny haar die waarde heeft meegedeeld) en a (haar geheim getal) en kan dus (g b ) a uitrekenen. Analoog kan Benny (g a ) b bepalen. Zowel Agnetha als Benny hebben dus g ab = (g b ) a = (g a ) b in hun bezit. Dat is precies onze geheime congruentieklas x. We vatten samen:

OPLOSSINGEN VAN DE OEFENINGEN

OPLOSSINGEN VAN DE OEFENINGEN OPLOSSINGEN VAN DE OEFENINGEN 1.3.1. Er zijn 42 mogelijke vercijferingen. 2.3.4. De uitkomsten zijn 0, 4 en 4 1 = 4. 2.3.6. Omdat 10 = 1 in Z 9 vinden we dat x = c 0 +... + c m = c 0 +... + c m. Het getal

Nadere informatie

RSA. F.A. Grootjen. 8 maart 2002

RSA. F.A. Grootjen. 8 maart 2002 RSA F.A. Grootjen 8 maart 2002 1 Delers Eerst wat terminologie over gehele getallen. We zeggen a deelt b (of a is een deler van b) als b = qa voor een of ander geheel getal q. In plaats van a deelt b schrijven

Nadere informatie

v.l.n.r. RSA: Ron Rivest (1947), Adi Shamir (1952), Leonard Adleman (1945)

v.l.n.r. RSA: Ron Rivest (1947), Adi Shamir (1952), Leonard Adleman (1945) Julius Caesar (100-44 v.chr.) Blaise de Vigen!"#$%&'()*&'+,- Whitfield Diffie (1944) Robert Hellman (1945) v.l.n.r. RSA: Ron Rivest (1947), Adi Shamir (1952), Leonard Adleman (1945) VOORBEREIDEND MATERIAAL

Nadere informatie

3 Modulorekenen. 3.1 De eulerfunctie en de kleine stelling van Fermat. Oefening 3.1. Bepaal Φ(1992), Φ(2011) en Φ(2048) (83 en 2011 zijn priem).

3 Modulorekenen. 3.1 De eulerfunctie en de kleine stelling van Fermat. Oefening 3.1. Bepaal Φ(1992), Φ(2011) en Φ(2048) (83 en 2011 zijn priem). 3 Modulorekenen 3.1 De eulerfunctie en de kleine stelling van Fermat Oefening 3.1. Bepaal Φ(1992), Φ(2011) en Φ(2048) (83 en 2011 zijn priem). Oplossing 3.1 1992 = 2 3 3 83. Φ(1992) = 2 2 2 82 = 656. 2048

Nadere informatie

7.1 Het aantal inverteerbare restklassen

7.1 Het aantal inverteerbare restklassen Hoofdstuk 7 Congruenties in actie 7.1 Het aantal inverteerbare restklassen We pakken hier de vraag op waarmee we in het vorige hoofdstuk geëindigd zijn, namelijk hoeveel inverteerbare restklassen modulo

Nadere informatie

Opgeloste en onopgeloste mysteries in de getaltheorie

Opgeloste en onopgeloste mysteries in de getaltheorie Opgeloste en onopgeloste mysteries in de getaltheorie Jan De Beule, Tom De Medts en Jeroen Demeyer Voorwoord 1 Voorwoord Beste leerling, Deze nota s zijn bedoeld als begeleiding bij 6 lesuren Opgeloste

Nadere informatie

Oefening 4.3. Zoek een positief natuurlijk getal zodanig dat de helft een kwadraat is, een derde is een derdemacht en een vijfde is een vijfdemacht.

Oefening 4.3. Zoek een positief natuurlijk getal zodanig dat de helft een kwadraat is, een derde is een derdemacht en een vijfde is een vijfdemacht. 4 Modulair rekenen Oefening 4.1. Merk op dat 2 5 9 2 2592. Bestaat er een ander getal van de vorm 25ab dat gelijk is aan 2 5 a b? (Met 25ab bedoelen we een getal waarvan a het cijfer voor de tientallen

Nadere informatie

Oefening 4.3. Zoek een positief natuurlijk getal zodanig dat de helft een kwadraat is, een derde is een derdemacht en een vijfde is een vijfdemacht.

Oefening 4.3. Zoek een positief natuurlijk getal zodanig dat de helft een kwadraat is, een derde is een derdemacht en een vijfde is een vijfdemacht. 4 Modulair rekenen Oefening 4.1. Merk op dat 2 5 9 2 = 2592. Bestaat er een ander getal van de vorm 25ab dat gelijk is aan 2 5 a b? (Met 25ab bedoelen we een getal waarvan a het cijfer voor de tientallen

Nadere informatie

2 n 1. OPGAVEN 1 Hoeveel cijfers heeft het grootste bekende Mersenne-priemgetal? Met dit getal vult men 320 krantenpagina s.

2 n 1. OPGAVEN 1 Hoeveel cijfers heeft het grootste bekende Mersenne-priemgetal? Met dit getal vult men 320 krantenpagina s. Hoofdstuk 1 Getallenleer 1.1 Priemgetallen 1.1.1 Definitie en eigenschappen Een priemgetal is een natuurlijk getal groter dan 1 dat slechts deelbaar is door 1 en door zichzelf. Om technische redenen wordt

Nadere informatie

Getallenleer Inleiding op codeertheorie. Cursus voor de vrije ruimte

Getallenleer Inleiding op codeertheorie. Cursus voor de vrije ruimte Getallenleer Inleiding op codeertheorie Liliane Van Maldeghem Hendrik Van Maldeghem Cursus voor de vrije ruimte 2 Hoofdstuk 1 Getallenleer 1.1 Priemgetallen 1.1.1 Definitie en eigenschappen Een priemgetal

Nadere informatie

Getaltheorie I. c = c 1 = 1 c (1)

Getaltheorie I. c = c 1 = 1 c (1) Lesbrief 1 Getaltheorie I De getaltheorie houdt zich bezig met het onderzoek van eigenschappen van gehele getallen, en meer in het bijzonder, van natuurlijke getallen. In de getaltheorie is het gebruikelijk

Nadere informatie

Hoofdstuk 6. Congruentierekening. 6.1 Congruenties

Hoofdstuk 6. Congruentierekening. 6.1 Congruenties Hoofdstuk 6 Congruentierekening 6.1 Congruenties We hebben waarschijnlijk allemaal wel eens opgemerkt dat bij vermenigvuldigen van twee getallen de laatste cijfers als het ware meevermenigvuldigen. Stel

Nadere informatie

Getaltheorie II. ax + by = c, a, b, c Z (1)

Getaltheorie II. ax + by = c, a, b, c Z (1) Lesbrief 2 Getaltheorie II 1 Lineaire vergelijkingen Een vergelijking van de vorm ax + by = c, a, b, c Z (1) heet een lineaire vergelijking. In de getaltheorie gaat het er slechts om gehele oplossingen

Nadere informatie

1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12

1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12 Katern 2 Getaltheorie Inhoudsopgave 1 Delers 1 2 Deelbaarheid door 2, 3, 5, 9 en 11 6 3 Grootste gemene deler en kleinste gemene veelvoud 12 1 Delers In Katern 1 heb je geleerd wat een deler van een getal

Nadere informatie

De Chinese reststelling

De Chinese reststelling De Chinese reststelling 1 Inleiding 1. De Chinese reststelling is een stelling binnen de getaltheorie. De stelling werd voor het eerst beschreven in de vierde eeuw na Chr. door de Chinese wiskundige Sunzi

Nadere informatie

Diophantische vergelijkingen

Diophantische vergelijkingen Diophantische vergelijkingen 1 Wat zijn Diophantische vergelijkingen? Een Diophantische vergelijking is een veeltermvergelijking waarbij zowel de coëfficiënten als de oplossingen gehele getallen moeten

Nadere informatie

Eigenschap (Principe van welordening) Elke niet-lege deelverzameling V N bevat een kleinste element.

Eigenschap (Principe van welordening) Elke niet-lege deelverzameling V N bevat een kleinste element. Hoofdstuk 2 De regels van het spel 2.1 De gehele getallen Grof gezegd kunnen we de (elementaire) getaltheorie omschrijven als de wiskunde van de getallen 1, 2, 3, 4,... die we ook de natuurlijke getallen

Nadere informatie

Projectieve Vlakken en Codes

Projectieve Vlakken en Codes Projectieve Vlakken en Codes 1. De Fanocode Foutdetecterende en foutverbeterende codes. Anna en Bart doen mee aan een spelprogramma voor koppels. De ene helft van de deelnemers krijgt elk een kaart waarop

Nadere informatie

Opgaven Eigenschappen van Getallen Security, 2018, Werkgroep.

Opgaven Eigenschappen van Getallen Security, 2018, Werkgroep. Opgaven Eigenschappen van Getallen Security, 2018, Werkgroep. Gebruik deze opgaven, naast die uit het boek, om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal zes tot acht

Nadere informatie

Opgaven Getaltheorie en Cryptografie (deel 4) Inleverdatum: 13 mei 2002

Opgaven Getaltheorie en Cryptografie (deel 4) Inleverdatum: 13 mei 2002 Opgaven Getaltheorie en Cryptografie (deel 4) Inleverdatum: 13 mei 2002 19.a) Laat zien dat 5 een voortbrenger is van F 37. b) In het sleuteldistributiesysteem van Diffie en Hellman (met G = F 37, α =

Nadere informatie

7 Deelbaarheid. 7.1 Deelbaarheid WIS7 1

7 Deelbaarheid. 7.1 Deelbaarheid WIS7 1 WIS7 1 7 Deelbaarheid 7.1 Deelbaarheid Deelbaarheid Voor geheeltallige d en n met d > 0 zeggen we dat d een deler is van n, en ook dat n deelbaar is door d, als n d een geheel getal is. Notatie: d\n k

Nadere informatie

Memoriseren: Een getal is deelbaar door 10 als het laatste cijfer een 0 is. Of: Een getal is deelbaar door 10 als het eindigt op 0.

Memoriseren: Een getal is deelbaar door 10 als het laatste cijfer een 0 is. Of: Een getal is deelbaar door 10 als het eindigt op 0. REKENEN VIJFDE KLAS en/of ZESDE KLAS Luc Cielen 1. REGELS VAN DEELBAARHEID. Luc Cielen: Regels van deelbaarheid, grootste gemene deler en kleinste gemeen veelvoud 1 Deelbaarheid door 10, 100, 1000. Door

Nadere informatie

We beginnen met de eigenschappen van de gehele getallen.

We beginnen met de eigenschappen van de gehele getallen. II.2 Gehele getallen We beginnen met de eigenschappen van de gehele getallen. Axioma s voor Z De gegevens zijn: (a) een verzameling Z; (b) elementen 0 en 1 in Z; (c) een afbeelding +: Z Z Z, de optelling;

Nadere informatie

Bijzondere kettingbreuken

Bijzondere kettingbreuken Hoofdstuk 15 Bijzondere kettingbreuken 15.1 Kwadratische getallen In het vorige hoofdstuk hebben we gezien dat 2 = 1, 2, 2, 2, 2, 2, 2,.... Men kan zich afvragen waarom we vanaf zeker moment alleen maar

Nadere informatie

FACTORISATIE EN CRYPTOGRAFIE

FACTORISATIE EN CRYPTOGRAFIE FACTORISATIE EN CRYPTOGRAFIE COMPUTERPRACTICUM UvA-MASTERCLASS WISKUNDE 1993 G.C.M. Ruitenburg Faculteit Wiskunde en Informatica Universiteit van Amsterdam 1993 INLEIDING In dit computer prakticum volgen

Nadere informatie

Hoe je het cryptosysteem RSA soms kunt kraken. Benne de Weger

Hoe je het cryptosysteem RSA soms kunt kraken. Benne de Weger Hoe je het cryptosysteem RSA soms kunt kraken Benne de Weger 28 aug. / 4 sept. RSA 1/38 asymmetrisch cryptosysteem versleutelen met de publieke sleutel ontsleutelen met de bijbehorende privé-sleutel gebaseerd

Nadere informatie

Het RSA Algoritme. Erik Aarts - 1 -

Het RSA Algoritme. Erik Aarts - 1 - Het RSA Algoritme Erik Aarts - 1 - 1 Wiskunde... 3 1.1 Het algoritme van Euclides... 3 1.1.1 Stelling 1... 4 1.2 Het uitgebreide algoritme van Euclides... 5 1.3 Modulo rekenen... 7 1.3.1 Optellen, aftrekken

Nadere informatie

Dossier 3 PRIEMGETALLEN

Dossier 3 PRIEMGETALLEN Dossier 3 PRIEMGETALLEN atomen van de getallenleer Dr. Luc Gheysens Een priemgetal is een natuurlijk getal met twee verschillende delers, nl. 1 en het getal zelf. De priemgetallen zijn dus 2, 3, 5, 7,

Nadere informatie

??? Peter Stevenhagen. 7 augustus 2008 Vierkant voor wiskunde

??? Peter Stevenhagen. 7 augustus 2008 Vierkant voor wiskunde 1 ??? Peter Stevenhagen 7 augustus 2008 Vierkant voor wiskunde 2 Wiskunde en cryptografie Peter Stevenhagen 7 augustus 2008 Vierkant voor wiskunde 3 Crypto is voor iedereen Peter Stevenhagen 7 augustus

Nadere informatie

Getaltheorie groep 3: Primitieve wortels

Getaltheorie groep 3: Primitieve wortels Getaltheorie groep 3: Primitieve wortels Trainingsweek juni 2008 Inleiding Voor a relatief priem met m hebben we de orde van a modulo m gedefinieerd als ord m (a) = min { n Z + a n 1 (mod m) }. De verzameling

Nadere informatie

Priemontbinding en ggd s

Priemontbinding en ggd s Hoofdstuk 3 Priemontbinding en ggd s 3.1 Priemgetallen Een getal > 1 dat alleen 1 en zichzelf als positieve deler heeft noemen we een priemgetal. De rij priemgetallen begint als volgt, 2, 3, 5, 7, 11,

Nadere informatie

Spreekbeurt Nederlands Cryptologie

Spreekbeurt Nederlands Cryptologie Spreekbeurt Nederlands Cryptologie Spreekbeurt door een scholier 1371 woorden 5 maart 2006 6,2 25 keer beoordeeld Vak Nederlands Cryptologie Algemeen Cryptologie bestaat uit twee Griekse woorden: krypto

Nadere informatie

1. REGELS VAN DEELBAARHEID.

1. REGELS VAN DEELBAARHEID. REKENEN VIJFDE KLAS Luc Cielen 1. REGELS VAN DEELBAARHEID. Deelbaarheid door 10, 100, 1000 10: het laatste cijfer (= cijfer van de eenheden) is 0 100: laatste twee cijfers zijn 0 (cijfers van de eenheden

Nadere informatie

Je hebt twee uur de tijd voor het oplossen van de vraagstukken. µkw uitwerkingen. 12 juni 2015

Je hebt twee uur de tijd voor het oplossen van de vraagstukken. µkw uitwerkingen. 12 juni 2015 Je hebt twee uur de tijd voor het oplossen van de vraagstukken. Elk vraagstuk is maximaal 10 punten waard. Begin elke opgave op een nieuw vel papier. µkw uitwerkingen 12 juni 2015 Vraagstuk 1. We kunnen

Nadere informatie

Groepen, ringen en velden

Groepen, ringen en velden Groepen, ringen en velden Groep Een groep G is een verzameling van elementen en een binaire operator met volgende eigenschappen: 1. closure (gesloten): als a en b tot G behoren, doet a b dat ook. 2. associativiteit:

Nadere informatie

2. Ga voor volgende relaties na of het al dan niet functies, afbeeldingen, bijecties, injecties, surjecties zijn :

2. Ga voor volgende relaties na of het al dan niet functies, afbeeldingen, bijecties, injecties, surjecties zijn : HOOFDSTUK. VERZAMELINGEN, RELATIES EN FUNCTIES Opgaven verzamelingen, relaties en functies. Toon aan : a) (A B) C = A (B C) b) A (B C) = (A B) (A C) c) (A B) c = A c B c d) A B B c A c. Ga voor volgende

Nadere informatie

Public Key Cryptography. Wieb Bosma

Public Key Cryptography. Wieb Bosma Public Key Cryptography de wiskunde van het perfecte kopje koffie Wieb Bosma Radboud Universiteit Nijmegen Bachelordag 2 april 2011 Nijmegen, 6 november 2010 0 Nijmegen, 6 november 2010 1 cryptografie

Nadere informatie

Cryptografie met krommen. Reinier Bröker. Universiteit Leiden

Cryptografie met krommen. Reinier Bröker. Universiteit Leiden Cryptografie met krommen Reinier Bröker Universiteit Leiden Nationale Wiskundedagen Februari 2006 Cryptografie Cryptografie gaat over geheimschriften en het versleutelen van informatie. Voorbeelden. Klassieke

Nadere informatie

Opgeloste en onopgeloste mysteries in de getaltheorie

Opgeloste en onopgeloste mysteries in de getaltheorie Opgeloste en onopgeloste mysteries in de getaltheorie Jan De Beule, Tom De Medts en Jeroen Demeyer Voorwoord 1 Voorwoord Beste leerling, Deze nota s zijn bedoeld als begeleiding bij 6 lesuren Opgeloste

Nadere informatie

priemrecords? Jaap Top

priemrecords? Jaap Top priemrecords? Jaap Top JBI-RuG & DIAMANT j.top@rug.nl 18-23 april 2013 (Collegecaroussel, Groningen) 1 priemrecords?! over priemgetallen 2, 3, 5, 7,..., 101,..., 2017,...... p priem: niet deelbaar door

Nadere informatie

Enkele valkuilen om te vermijden

Enkele valkuilen om te vermijden Enkele valkuilen om te vermijden Dit document is bedoeld om per onderwerp enkele nuttige strategieën voor opgaven te geven. Ook wordt er op een aantal veelgemaakte fouten gewezen. Het is géén volledige

Nadere informatie

Geldwisselprobleem van Frobenius

Geldwisselprobleem van Frobenius Geldwisselprobleem van Frobenius Karin van de Meeberg en Dieuwertje Ewalts 12 december 2001 1 Inhoudsopgave 1 Inleiding 3 2 Afspraken 3 3 Is er wel zo n g? 3 4 Eén waarde 4 5 Twee waarden 4 6 Lampenalgoritme

Nadere informatie

Getallen, 2e druk, extra opgaven

Getallen, 2e druk, extra opgaven Getallen, 2e druk, extra opgaven Frans Keune november 2010 De tweede druk bevat 74 nieuwe opgaven. De nummering van de opgaven van de eerste druk is in de tweede druk dezelfde: nieuwe opgaven staan in

Nadere informatie

Worteltrekken modulo een priemgetal: van klok tot cutting edge. Roland van der Veen

Worteltrekken modulo een priemgetal: van klok tot cutting edge. Roland van der Veen Worteltrekken modulo een priemgetal: van klok tot cutting edge Roland van der Veen Modulorekenen Twee getallen a en b zijn gelijk modulo p als ze een veelvoud van p verschillen. Notatie: a = b mod p Bijvoorbeeld:

Nadere informatie

FACTORISATIE EN CRYPTOGRAFIE

FACTORISATIE EN CRYPTOGRAFIE FACTORISATIE EN CRYPTOGRAFIE UvA-MASTERCLASS WISKUNDE 1993 P. Stevenhagen Faculteit Wiskunde en Informatica Universiteit van Amsterdam 1993 INLEIDING In deze masterclass zullen we ons voornamelijk bezighouden

Nadere informatie

informatica. cryptografie. overzicht. hoe & wat methodes belang & toepassingen moderne cryptografie

informatica. cryptografie. overzicht. hoe & wat methodes belang & toepassingen moderne cryptografie informatica cryptografie overzicht hoe & wat methodes belang & toepassingen moderne cryptografie 1 SE is op papier hoe & wat vragen komen uit methode en verwijzingen die in de methode staan in mappen RSA

Nadere informatie

Inleiding tot de Problem Solving - deel 1: Combinatoriek en getaltheorie

Inleiding tot de Problem Solving - deel 1: Combinatoriek en getaltheorie Inleiding tot de Problem Solving - deel 1: Combinatoriek en getaltheorie Jan Vonk 1 oktober 2008 1 Combinatoriek Inleiding Een gebied dat vandaag de dag haast niet onderschat kan worden binnen de wiskunde

Nadere informatie

1.5.1 Natuurlijke, gehele en rationale getallen

1.5.1 Natuurlijke, gehele en rationale getallen 46 Getallen 1.5 Getaltheorie 1.5.1 Natuurlijke, gehele en rationale getallen De getallen 0,1,2,3,4,... enz. worden de natuurlijke getallen genoemd (de heleverzamelingvanaldezegetallenbijelkaarnoterenwemethetteken:

Nadere informatie

Bewijs door inductie

Bewijs door inductie Bewijs door inductie 1 Bewijs door inductie Vaak bestaat een probleem erin aan te tonen dat een bepaalde eigenschap geldt voor elk natuurlijk getal. Als je wilt weten of iets waar is voor alle natuurlijke

Nadere informatie

Definitie 5.1. Cyclische groepen zijn groepen voortgebracht door 1 element.

Definitie 5.1. Cyclische groepen zijn groepen voortgebracht door 1 element. Hoofdstuk 5 Cyclische groepen 5.1 Definitie Definitie 5.1. Cyclische groepen zijn groepen voortgebracht door 1 element. Als G wordt voortgebracht door a en a n = e, dan noteren we de groep als C n = a.

Nadere informatie

Universiteit Gent. Academiejaar Discrete Wiskunde. 1ste kandidatuur Informatica. Collegenota s. Prof. Dr.

Universiteit Gent. Academiejaar Discrete Wiskunde. 1ste kandidatuur Informatica. Collegenota s. Prof. Dr. Universiteit Gent Academiejaar 2001 2002 Discrete Wiskunde 1ste kandidatuur Informatica Collegenota s Prof. Dr. Frank De Clerck Herhalingsoefeningen 1. Bepaal het quotiënt en de rest van de deling van

Nadere informatie

II.3 Equivalentierelaties en quotiënten

II.3 Equivalentierelaties en quotiënten II.3 Equivalentierelaties en quotiënten Een belangrijk begrip in de wiskunde is het begrip relatie. Een relatie op een verzameling is een verband tussen twee elementen uit die verzameling waarbij de volgorde

Nadere informatie

Cryptografie: de wetenschap van geheimen

Cryptografie: de wetenschap van geheimen Cryptografie: de wetenschap van geheimen Benne de Weger b.m.m.d.weger@tue.nl augustus 2018 Cryptografie als Informatiebeveiliging 1 beveiliging: doe iets tegen risico s informatie-risico s en eisen: informatie

Nadere informatie

Veeltermen. Module 2. 2.1 Definitie en voorbeelden. Een veelterm met reële coëfficiënten in één veranderlijke x is een uitdrukking van de vorm

Veeltermen. Module 2. 2.1 Definitie en voorbeelden. Een veelterm met reële coëfficiënten in één veranderlijke x is een uitdrukking van de vorm Module 2 Veeltermen 2.1 Definitie en voorbeelden Een veelterm met reële coëfficiënten in één veranderlijke x is een uitdrukking van de vorm a 0 +a 1 x+a 2 x 2 + +a n x n met a 0,a 1,a 2,...,a n Ê en n

Nadere informatie

In Katern 2 hebben we de volgende rekenregel bewezen, als onderdeel van rekenregel 4:

In Katern 2 hebben we de volgende rekenregel bewezen, als onderdeel van rekenregel 4: Katern 4 Bewijsmethoden Inhoudsopgave 1 Bewijs uit het ongerijmde 1 2 Extremenprincipe 4 3 Ladenprincipe 8 1 Bewijs uit het ongerijmde In Katern 2 hebben we de volgende rekenregel bewezen, als onderdeel

Nadere informatie

PG blok 4 werkboek bijeenkomst 4 en 5

PG blok 4 werkboek bijeenkomst 4 en 5 2015-2015 PG blok 4 werkboek bijeenkomst 4 en 5 Inhoud Kenmerken van deelbaarheid (herhaling)...1 Ontbinden in factoren...1 Priemgetallen (herhaling)...2 Ontbinden in priemfactoren...2 KGV (Kleinste Gemene

Nadere informatie

Zomercursus Wiskunde. Module 1 Algebraïsch rekenen (versie 22 augustus 2011)

Zomercursus Wiskunde. Module 1 Algebraïsch rekenen (versie 22 augustus 2011) Katholieke Universiteit Leuven September 011 Module 1 Algebraïsch rekenen (versie augustus 011) Inhoudsopgave 1 Rekenen met haakjes 1.1 Uitwerken van haakjes en ontbinden in factoren............. 1. De

Nadere informatie

Uitwerkingen Rekenen met cijfers en letters

Uitwerkingen Rekenen met cijfers en letters Uitwerkingen Rekenen met cijfers en letters Maerlant College Brielle 5 oktober 2009 c Swier Garst - RGO Middelharnis 2 Inhoudsopgave Rekenen met gehele getallen 7. De gehele getallen.....................................

Nadere informatie

Lesbrief knapzak-cryptografiesysteem

Lesbrief knapzak-cryptografiesysteem Lesbrief knapzak-cryptografiesysteem 1 Inleiding cryptografie Cryptografie gaat over het versleutelen (encrypten) van vertrouwelijke of geheime boodschappen. Als jij in WhatApp voor het eerst contact legt

Nadere informatie

Hoofdstuk 1. Inleiding. Lichamen

Hoofdstuk 1. Inleiding. Lichamen Hoofdstuk 1 Lichamen Inleiding In Lineaire Algebra 1 en 2 heb je al kennis gemaakt met de twee belangrijkste begrippen uit de lineaire algebra: vectorruimte en lineaire afbeelding. In dit hoofdstuk gaan

Nadere informatie

Hoofdstuk 3. Equivalentierelaties. 3.1 Modulo Rekenen

Hoofdstuk 3. Equivalentierelaties. 3.1 Modulo Rekenen Hoofdstuk 3 Equivalentierelaties SCHAUM 2.8: Equivalence Relations Twee belangrijke voorbeelden van equivalentierelaties in de informatica: resten (modulo rekenen) en cardinaliteit (aftelbaarheid). 3.1

Nadere informatie

Cover Page. The handle holds various files of this Leiden University dissertation.

Cover Page. The handle  holds various files of this Leiden University dissertation. Cover Page The handle http://hdl.handle.net/1887/20310 holds various files of this Leiden University dissertation. Author: Jansen, Bas Title: Mersenne primes and class field theory Date: 2012-12-18 Samenvatting

Nadere informatie

III.2 De ordening op R en ongelijkheden

III.2 De ordening op R en ongelijkheden III.2 De ordening op R en ongelijkheden In de vorige paragraaf hebben we axioma s gegeven voor de optelling en vermenigvuldiging in R, maar om R vast te leggen moeten we ook ongelijkheden in R beschouwen.

Nadere informatie

Zomercursus Wiskunde. Katholieke Universiteit Leuven Groep Wetenschap & Technologie. September 2008

Zomercursus Wiskunde. Katholieke Universiteit Leuven Groep Wetenschap & Technologie. September 2008 Katholieke Universiteit Leuven September 008 Algebraïsch rekenen (versie 7 juni 008) Inleiding In deze module worden een aantal basisrekentechnieken herhaald. De nadruk ligt vooral op het symbolisch rekenen.

Nadere informatie

Gehelen van Gauss. Hector Mommaerts

Gehelen van Gauss. Hector Mommaerts Gehelen van Gauss Hector Mommaerts 2 Hoofdstuk 1 Definities Gehelen van Gauss zijn complexe getallen van de vorm a + bi waarbij a, b Z. De verzameling van alle gehelen van Gauss noteren we met Z(i). Dus

Nadere informatie

Ruimtemeetkunde deel 1

Ruimtemeetkunde deel 1 Ruimtemeetkunde deel 1 1 Punten We weten reeds dat Π 0 het meetkundig model is voor de vectorruimte R 2. We definiëren nu op dezelfde manier E 0 als meetkundig model voor de vectorruimte R 3. De elementen

Nadere informatie

Tweede Huiswerk Security 26 of 28 oktober, 11.00, Nabespreken op Werkcollege.

Tweede Huiswerk Security 26 of 28 oktober, 11.00, Nabespreken op Werkcollege. Tweede Huiswerk Security 26 of 28 oktober, 11.00, Nabespreken op Werkcollege. Kijk het huiswerk van je collega s na en schrijf de namen van de nakijkers linksboven en het totaalcijfer rechts onder de namen

Nadere informatie

Rekenen met cijfers en letters

Rekenen met cijfers en letters Rekenen met cijfers en letters Maerlant College Brielle 5 oktober 009 c Swier Garst - RGO Middelharnis Inhoudsopgave Rekenen met gehele getallen 7. De gehele getallen.....................................

Nadere informatie

2.1 Bewerkingen [1] Video Geschiedenis van het rekenen ( 15 x 3 = 45

2.1 Bewerkingen [1] Video Geschiedenis van het rekenen (  15 x 3 = 45 15 x 3 = 45 2.1 Bewerkingen [1] Video Geschiedenis van het rekenen (http://www.youtube.com/watch?v=cceqwwj6vrs) 15 x 3 is een product. 15 en 3 zijn de factoren van het product. 15 : 3 = 5 15 : 3 is een

Nadere informatie

Zwakke sleutels voor RSA

Zwakke sleutels voor RSA Zwakke sleutels voor RSA Benne de Weger, Mike Boldy en Hans Sterk 23 juni 2008 Zwakke sleutels voor RSA Benne de Weger, Mike Boldy en Hans Sterk 23 juni 2008 RSA: beroemd cryptosysteem Genoemd naar Rivest,

Nadere informatie

Tentamen algebra 1. 8 juni 2005, , zaal A.404

Tentamen algebra 1. 8 juni 2005, , zaal A.404 Tentamen algebra 1 8 juni 2005, 13.30 16.30, zaal A.404 Schrijf je naam en collegekaartnummer of het werk dat je inlevert. Het tentamen bestaat uit 5 opgaven. Beargumenteer telkens je antwoord. Veel succes!

Nadere informatie

Hoofdstuk 4. Delers. 4.1 Delers (op)tellen

Hoofdstuk 4. Delers. 4.1 Delers (op)tellen Hoofdstuk 4 Delers 4. Delers (op)tellen Ieder getal heeft zijn delers. Van oudsher heeft het onvoorspelbare gedrag van delers van getallen een aantrekkingskracht uitgeoefend op mensen. Zozeer zelfs dat

Nadere informatie

Definitie 1.1. Een partitie van een natuurlijk getal n is een niet stijgende rij positieve natuurlijke getallen met som n

Definitie 1.1. Een partitie van een natuurlijk getal n is een niet stijgende rij positieve natuurlijke getallen met som n Hoofdstuk 1 Inleidende begrippen 1.1 Definities Definitie 1.1. Een partitie van een natuurlijk getal n is een niet stijgende rij positieve natuurlijke getallen met som n Voor het tellen van het aantal

Nadere informatie

Algebra, Les 18 Nadruk verboden 35

Algebra, Les 18 Nadruk verboden 35 Algebra, Les 18 Nadruk verboden 35 18,1 Ingeklede vergelijkingen In de vorige lessen hebben we de vergelijkingen met één onbekende behandeld Deze vergelijkingen waren echter reeds opgesteld en behoefden

Nadere informatie

Spookgetallen. Jan van de Craats en Janina Müttel

Spookgetallen. Jan van de Craats en Janina Müttel Spookgetallen Jan van de Craats en Janina Müttel leadtekst In de serie Open Problemen deze keer drie beroemde onopgeloste raadsels. Je kunt er geen miljoen dollar mee winnen, maar wel onsterfelijke roem.

Nadere informatie

Pijlenklokken. 1 Inleiding

Pijlenklokken. 1 Inleiding Pijlenklokken 1 Inleiding In bovenstaande tekening zie je 1 rode punten. Er staan blauwe pijlen van elk rood punt naar een ander rood punt 4 plaatsen verder op de cirkel. Een dergelijke afbeelding noemen

Nadere informatie

1 Kettingbreuken van rationale getallen

1 Kettingbreuken van rationale getallen Kettingbreuken van rationale getallen Laten we eens starten met een breuk bijvoorbeeld 37/3 Laten we hier ons kettingbreuk algoritme op los, We concluderen hieruit dat 37 3 3 + 3 + + 37 3 + + + hetgeen

Nadere informatie

Opmerking. TI1300 Redeneren en Logica. Met voorbeelden kun je niks bewijzen. Directe en indirecte bewijzen

Opmerking. TI1300 Redeneren en Logica. Met voorbeelden kun je niks bewijzen. Directe en indirecte bewijzen Opmerking TI1300 Redeneren en Logica College 2: Bewijstechnieken Tomas Klos Algoritmiek Groep Voor alle duidelijkheid: Het is verre van triviaal om definities te leren hanteren, beweringen op te lossen,

Nadere informatie

Lights Out. 1 Inleiding

Lights Out. 1 Inleiding Lights Out 1 Inleiding Het spel Lights Out is een elektronisch spel dat gelanceerd werd in 1995 door Tiger Electronics. Het originele spel heeft een bord met 25 lampjes in een rooster van 5 rijen en 5

Nadere informatie

Les C-01: Algoritmen. 2005 David Lans

Les C-01: Algoritmen. 2005 David Lans 2005 David Lans Les C-01: Algoritmen 1.0 Inleiding Moeilijke problemen pakken we vaak stapsgewijs aan: Een olifant eet je met kleine hapjes. Het is van belang om de stappen waarmee we een probleem oplossen

Nadere informatie

FLIPIT 5. (a i,j + a j,i )d i d j = d j + 0 = e d. i<j

FLIPIT 5. (a i,j + a j,i )d i d j = d j + 0 = e d. i<j FLIPIT JAAP TOP Een netwerk bestaat uit een eindig aantal punten, waarbij voor elk tweetal ervan gegeven is of er wel of niet een verbinding is tussen deze twee. De punten waarmee een gegeven punt van

Nadere informatie

1 Complexe getallen in de vorm a + bi

1 Complexe getallen in de vorm a + bi Paragraaf in de vorm a + bi XX Complex getal Instap Los de vergelijkingen op. a x + = 7 d x + 4 = 3 b 2x = 5 e x 2 = 6 c x 2 = 3 f x 2 = - Welke vergelijkingen hebben een natuurlijk getal als oplossing?...

Nadere informatie

Aanvullingen bij Hoofdstuk 8

Aanvullingen bij Hoofdstuk 8 Aanvullingen bij Hoofdstuk 8 8.5 Definities voor matrices De begrippen eigenwaarde eigenvector eigenruimte karakteristieke veelterm en diagonaliseerbaar worden ook gebruikt voor vierkante matrices los

Nadere informatie

IMO-selectietoets I donderdag 1 juni 2017

IMO-selectietoets I donderdag 1 juni 2017 IMO-selectietoets I donderdag 1 juni 2017 NEDERLANDSE W I S K U N D E OLYMPIADE Uitwerkingen Opgave 1. Zij n een positief geheel getal. Gegeven zijn cirkelvormige schijven met stralen 1, 2,..., n. Van

Nadere informatie

Oplossing van opgave 6 en van de kerstbonusopgave.

Oplossing van opgave 6 en van de kerstbonusopgave. Oplossing van opgave 6 en van de kerstbonusopgave. Opgave 6 Lesbrief, opgave 4.5 De getallen m en n zijn verschillende positieve gehele getallen zo, dat de laatste drie cijfers van 1978 m en 1978 n overeenstemmen.

Nadere informatie

Discrete Structuren voor Informatici

Discrete Structuren voor Informatici Discrete Structuren voor Informatici 1 Eenvoudige telproblemen Dit zijn aantekeningen voor het college Discrete Structuren voor Informatici, Blok A, herfst 2008. We behandelen een aantal telproblemen,

Nadere informatie

Polybiusvierkant. Van bericht naar code: 1 A B C D E 2 F G H I J 3 K L M N O 4 P Q R S T 5 U V W X YZ

Polybiusvierkant. Van bericht naar code: 1 A B C D E 2 F G H I J 3 K L M N O 4 P Q R S T 5 U V W X YZ Polybiusvierkant Rond 200 voor Christus leefde de Griekse historicus Polybius. Hij gebruikte een vorm van cryptografie waarbij elke letter door twee cijfers wordt vervangen. 1 2 3 4 5 1 A B C D E 2 F G

Nadere informatie

De pariteitstestmatrix van de (6,4) Hamming-code over GF(5) is de volgende: [ H =

De pariteitstestmatrix van de (6,4) Hamming-code over GF(5) is de volgende: [ H = Oplossing examen TAI 11 juni 2008 Veel plezier :) Vraag 1 De pariteitstestmatrix van de (6,4) Hamming-code over GF(5) is de volgende: H = [ 1 0 1 2 3 ] 4 0 1 1 1 1 1 (a) Bepaal de bijhorende generatormatrix

Nadere informatie

1 Rekenen met gehele getallen

1 Rekenen met gehele getallen 1 Inhoudsopgave 1 Rekenen met gehele getallen... 1.1 De gehele getallen... 1. Optellen... 1. Opgaven... 1. Aftrekken... 1. Opgaven... 1. Vermenigvuldigen... 1. Opgaven... 1.8 Delen... 9 1.9 Opgaven...9

Nadere informatie

Probabilistische aspecten bij public-key crypto (i.h.b. RSA)

Probabilistische aspecten bij public-key crypto (i.h.b. RSA) p. 1/21 Probabilistische aspecten bij public-key crypto (i.h.b. RSA) Herman te Riele, CWI Amsterdam Nationale Wiskunde Dagen Noordwijkerhout, 31 januari 2015 p. 2/21 verzicht Binair exponentiëren RSA Factorisatie-algoritmen

Nadere informatie

Restsystemen 183 Oplossen van lineaire vergelijkingen 190 Structuren met één bewerking 192 Structuren met twee bewerkingen

Restsystemen 183 Oplossen van lineaire vergelijkingen 190 Structuren met één bewerking 192 Structuren met twee bewerkingen Inhoud Dankwoord 15 Hoofdstuk 1 Instapwiskunde 17 1.1 Letterrekenen 18 Reële getallen 18 Reële veeltermen 23 1.2 Vergelijkingen met één onbekende 25 Lineaire vergelijkingen 25 Kwadratische vergelijkingen

Nadere informatie

handleiding ontbinden

handleiding ontbinden handleiding ontbinden inhoudsopgave inhoudsopgave de grote lijn 3 Bespreking per paragraaf 4 Applets 4 1 met gegeven product 4 ontbinden van getallen 4 3 vergelijkingen 5 4 onderzoek 6 tijdpad 9 materialen

Nadere informatie

Algoritmes in ons dagelijks leven. Leve de Wiskunde! 7 April 2017 Jacobien Carstens

Algoritmes in ons dagelijks leven. Leve de Wiskunde! 7 April 2017 Jacobien Carstens Algoritmes in ons dagelijks leven Leve de Wiskunde! 7 April 2017 Jacobien Carstens Wat is een algoritme? Een algoritme is een eindige reeks instructies die vanuit een gegeven begintoestand naar een beoogd

Nadere informatie

Uitwerking Puzzel 93-1, Doelloos

Uitwerking Puzzel 93-1, Doelloos Uitwerking Puzzel 93-1, Doelloos Wobien Doyer Lieke de Rooij Volgens de titel is deze puzzel zonder doel, dus zonder bekende toepassing. Het doel is echter nul en dat is zeker in de wiskunde niet niks.

Nadere informatie

1 Rekenen in eindige precisie

1 Rekenen in eindige precisie Rekenen in eindige precisie Een computer rekent per definitie met een eindige deelverzameling van getallen. In dit hoofdstuk bekijken we hoe dit binnen een computer is ingericht, en wat daarvan de gevolgen

Nadere informatie

Priemgetallen en het RSA cryptosysteem

Priemgetallen en het RSA cryptosysteem Priemgetallen en het RSA cryptosysteem Brecht Decuyper Industriële Wetenschappen TSO Tweede leerjaar derde graad De heer Danny Wouters Schooljaar 2013-2014 Priemgetallen en het RSA cryptosysteem Brecht

Nadere informatie

Lessenserie Cryptografie

Lessenserie Cryptografie Een van de meest tot de verbeelding sprekende voorgestelde keuzeonderwerpen is cryptografie Onafhankelijk van elkaar gingen Monique Stienstra en Harm Bakker aan de slag om lesmateriaal te ontwikkelen en

Nadere informatie

Definitie 1.1. Een groep is een verzameling G, uitgerust met een bewerking waarvoor geldt dat:

Definitie 1.1. Een groep is een verzameling G, uitgerust met een bewerking waarvoor geldt dat: Hoofdstuk 1 Eerste begrippen 1.1 Wat is een groep? Definitie 1.1. Een groep is een verzameling G, uitgerust met een bewerking waarvoor geldt dat: 1. a, b G : a b G 2. a, b, c G : a (b c) = (a b) c = a

Nadere informatie

Algoritmes en Priemgetallen. Hoe maak je een sleutelpaar voor RSA?

Algoritmes en Priemgetallen. Hoe maak je een sleutelpaar voor RSA? Algoritmes en Priemgetallen Hoe maak je een sleutelpaar voor RSA? Het recept van RSA Kies p q priemgetallen en bepaal N = pq Kies e Z N (publieke sleutel) Bepaal d e 1 mod φ N (privésleutel) x ed x kφ

Nadere informatie

Wanneer zijn veelvouden van proniks proniks?

Wanneer zijn veelvouden van proniks proniks? 1 Uitwerking puzzel 92-1 Wanneer zijn veelvouden van proniks proniks? Harm Bakker noemde het: pro-niks voor-niks De puzzel was voor een groot deel afkomstig van Frits Göbel. Een pronik is een getal dat

Nadere informatie