Opgaven Rekenen met Getallen Security, 2018, Werkgroep.

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

Opgaven Eigenschappen van Getallen Security, 2018, Werkgroep.

Tweede Deeltoets Security 3 juli 2015, , Educatorium-Γ.

Tweede Toets Security 9 november 2016, , Educ-α.

RSA. F.A. Grootjen. 8 maart 2002

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.

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

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

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

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

OPLOSSINGEN VAN DE OEFENINGEN

Getallenleer Inleiding op codeertheorie. Cursus voor de vrije ruimte

Opgaven RSA Security, 15 okt 2018, Werkgroep.

Zwakke sleutels voor RSA

Security. Eerste tentamen

7.1 Het aantal inverteerbare restklassen

Tweede Toets Security Woensdag 8 november 2017, , Educ-α.

Oplossing van opgave 6 en van de kerstbonusopgave.

Rekenen aan wortels Werkblad =

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

Toetsbundel 2 Security 13 juli 2017, Gerard Tel, WerkCollege.

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

PG blok 4 werkboek bijeenkomst 4 en 5

1.3 Rekenen met pijlen

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

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

FACTORISATIE EN CRYPTOGRAFIE

Opgave 1b: Toon ook aan dat meer algemeen geldt: Als het lukt met n = a munten in w keer wegen, dan lukt het voor a < n 2a in w + 1 keer wegen.

Hoofdstuk 6. Congruentierekening. 6.1 Congruenties

Opgeloste en onopgeloste mysteries in de getaltheorie

REKENVAARDIGHEID BRUGKLAS

Geldwisselprobleem van Frobenius

Getaltheorie groep 3: Primitieve wortels

We beginnen met de eigenschappen van de gehele getallen.

Het programma ELGAMAL

Wanneer zijn veelvouden van proniks proniks?

Uitgebreide uitwerking Tentamen Complexiteit, mei 2007

1. REGELS VAN DEELBAARHEID.

Aanvullende tekst bij hoofdstuk 1

Eerste Toets Datastructuren 22 mei 2019, , Educ-β en Megaron.

handleiding ontbinden

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

Verzamelingen, Lijsten, Functioneel Programmeren

Opgaven Fibonacci-getallen Datastructuren, 23 juni 2017, Werkgroep.

Algebra, Les 18 Nadruk verboden 35

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.

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

Tweede Toets Security 2 november 2015, , Educ-α.

6 Ringen, lichamen, velden

ANTWOORDEN blz. 1. d = 1013; = ; = ; =

Lineaire algebra I (wiskundigen)

Hoofdstuk 3. Equivalentierelaties. 3.1 Modulo Rekenen

Diophantische vergelijkingen

TW2020 Optimalisering

1 Kettingbreuken van rationale getallen

Dossier 3 PRIEMGETALLEN

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

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

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

Uitwerkingen toets 12 juni 2010

Uitwerking tentamen Analyse van Algoritmen, 29 januari

Elfde college complexiteit. 23 april NP-volledigheid III

Uitgebreide uitwerking Tentamen Complexiteit, juni 2017

1 Complexe getallen in de vorm a + bi

1.1 Rekenen met letters [1]

Opgaven Discrete Logaritme en Cryptografie Security, 22 okt 2018, Werkgroep.

Het RSA Algoritme. Erik Aarts - 1 -

VAKANTIEWERK WISKUNDE

Opgaven Analyse van Algoritmen 10 mei 2019, Datastructuren, Werkgroep.

Gehelen van Gauss. Hector Mommaerts

Verzamelingen, Lijsten, Functioneel Programmeren

Combinatoriek groep 1 & 2: Recursie

1 Rekenen met gehele getallen

Algebra. voor Informaticastudenten Getallen. Ernic Kamerich. Jean Delville: de school van Plato

De telduivel. Een slaapverwekkende opdracht voor iedereen die van wiskunde durft te dromen

More points, lines, and planes

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

Verzamelingen, Lijsten, Functioneel Programmeren

D-dag 2014 Vrijeschool Zutphen VO. D -DAG 13 februari 2014: 1+ 1 = 2. (en hoe nu verder?) 1 = 2en hoe nu verder?

Haskell: programmeren in een luie, puur functionele taal

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

Opgaven Sommaties Datastructuren, 8 mei 2019, Werkgroep.

Groepen, ringen en velden

Aanvulling bij de cursus Calculus 1. Complexe getallen

Uitwerkingen oefeningen hoofdstuk 1

Bijzondere kettingbreuken

8.1 Herleiden [1] Herleiden bij vermenigvuldigen: -5 3a 6b 8c = -720abc 1) Vermenigvuldigen cijfers (let op teken) 2) Letters op alfabetische volgorde

Getallen, 2e druk, extra opgaven

Extra oefeningen hoofdstuk 2: Natuurlijke getallen

Ringen en Galoistheorie, 1e deel, 19 april 2012

boek Getallen 2009, errata (8 oktober 2011)

6.1 Kwadraten [1] HERHALING: Volgorde bij berekeningen:

Examen Datastructuren en Algoritmen II

1.5.1 Natuurlijke, gehele en rationale getallen

Uitwerkingen tentamen Algebra 3 8 juni 2017, 14:00 17:00

dan verdwijnt een deel van het rijm, maar ook de raadselachtigheid van de tekst.

Algebra. Oefeningen op hoofdstuk Groepentheorie Cayleytabellen van groepen van orde Cyclische groepen

Selectietoets vrijdag 10 maart 2017

De teller geeft hoeveel stukken er zijn en de noemer zegt wat de 5. naam is van die stukken: 6 taart geeft dus aan dat de taart in 6

Transcriptie:

Opgaven Rekenen met 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 opgaven. 1. Stein s Grootste Gemene Deler: (a) Bereken gcd(432, 136) met de methode van Stein. Laat de tussenstappen zien. (b) Kan de regel voor twee even getallen alleen in het begin voorkomen, of kan die ook nog na toepassing van een andere regel? Geef een voorbeeld of bewijs dat het niet kan. Oplossing: Samenvatting van Stein: Als èèn van de getallen even is, deel die door twee (eventueel: zo vaak tot het oneven is). Als beide even zijn: allebei door twee delen en onthoud hoe vaak je dit doet. Als beide oneven zijn, ga verder met de kleinste en het verschil. Als ze gelijk zijn is het antwoord die waarde, vermenigvuldigd met twee tot de macht het aantal toepassingen van de dubbel-even-regel. (a) Daar gaan we: (432, 136) wordt (216, 68) en dan (108, 34) en dan (54, 17) volgens de dubbel-even regel, die nu drie keer is toegepast. Met de eerste regel gaan we naar (27, 17), met de laatste naar (10, 17), met de eerste naar (5, 17), met de laatste naar (5, 12), met de eerste naar (5, 6) en (5, 3), met de laatste naar (2, 3) en dan komt (1, 3) en (1, 2) en (1, 1). Het komt dus uit op 1 en omdat de dubbel-even-regel drie keer is gebruikt is het antwoord 8. (b) De dubbel-even regel kan alleen in het begin, wanneer beide argumenten even zijn. Heb je eenmaal een oneven argument, dan blijft dat zo. Immers, met 1 oneven argument wordt alleen de andere veranderd dus je houdt minstens 1 oneven. Als beide oneven zijn, ga je verder met o.a. de kleinste, en die is natuurlijk oneven. (Het verschil is juist altijd even.) Beoordeling/Toelichting: Totaal 3pt. Onderdeel (a) levert 2pt voor goed antwoord en juiste beschrijving. Het bewijs bij (b) is goed voor 1pt. 2. Machtsverheffen: Exponentiatie in Z n (berekening van a b mod n uit n, a en b) gebeurt door meerdere malen te vermenigvuldigen en te reduceren modulo n. (a) Hoe vaak moet je vermenigvuldigen voor a 17? Hoe vaak voor a 15? Waarom? (b) Geef de procedure voor Indisch Machtsverheffen, ofwel repeated squaring (mag iteratief of recursief). (c) Waarom is 65537 een geschikte exponent voor RSA? Oplossing: (a) Vijf want a 17 = (((a 2 ) 2 ) 2 ) 2.a. Zes als je gebruikt a 15 = ((a 2.a) 2.a) 2.a, maar als je bedenkt dat a 15 = (a 3 ) 5, kan het ook met vijf. (b) In Haskell-stijl: a 1 = a, a 2b = (a b ) 2, a 2b +1 = (a b ) 2.a. Kost twee vermenigvuldigingen voor elke 1 in b (behalve de eerste) en een voor elke 0 in b. (c) Dit is binair 10000000000000001, dus lekker veel nullen. Het is ook priem. Beoordeling/Toelichting: Voor (a) 1pt, voor (b) 2pt, voor (c) 1pt. Beoordelingscodes: A = Gebruikt een Array van e plaatsen, onhaalbaar. E = Telt eerste 1 mee dus 7 resp 8, 1/2pt. L = Tijd is Lineair in e, onacceptabel, geen punt voor (b).

3. Wortels van 1 modulo 299: (a) Schrijf 1 als som van een 13-voud en een 23-voud. (b) Welke vier getallen in Z 299 hebben kwadraat 1? Oplossing: (a) Gebruik extended Euclides en schrijf de achtereenvolgende resten als lineaire combinatie: 23 = 23 + 0; 13 = 0 + 13; 10 = 23 13; 3 = 23 + 26; 1 = 92 91 (dus 4x23 7x13). De getallen 92 en 91 (aka 208) zijn de W 13 en W 23 die je kunt gebruiken om vanuit subgroepen naar Z 299 te rekenen. (b) Bij elke modulus geldt 1 2 = 1 en ( 1) 2 = 1, dus we hebben de eerste twee wortels 1 en 298 al te pakken. Om de andere twee te vinden gebruiken we CRT en zoeken een getal dat 1 is modulo 13 en 1 modulo 23. Dit is W 13 W 23 = 183. Het vierde getal is 183 ofwel 116. Beoordeling/Toelichting: Totaal te behalen 3pt. Voor (a) 1pt, bij (b) 1 voor de karakterisering van het getal in de subgroepen, en 1 voor het daadwerkelijke antwoord. B = Brute-forcen van wortel geeft 1pt. E = ExtEuc toepassen ; inderdaad, doet moet je ook doen en niet alleen zeggen, 0pt. F = 13x + 23y is andere Formulering, geen antwoord; 0pt. M = Geen Motivatie, 1pt bij (b). P = In Positieve getallen, 13.16 + 23.17, is OK. T = Triviale wortels 1 en 1 geven geen punten. 4. Wortel 27: Welke getallen in Z 131 hebben kwadraat 27? Laat zien hoe je dit polynomiaal berekent; noem stellingen uit het dictaat. Oplossing: Gelukkig is 131 een priemgetal en een viervoud min 1. Voor zulke moduli kun je de wortel van b vinden als b (p+1)/4 (Lemma 6.3). Dat komt hier neer op de 33ste macht. Die exponent is binair 100001, dus volgens de Indische methode moeten we vijf keer kwadrateren en nog vermenigvuldigen met 27, steeds met reductie modulo 131 natuurlijk: 27 1 = 27. 27 2 = 729 = 74. 27 4 = 74 2 = 5476 = 105. 27 8 = 105 2 = 11025 = 21. 27 16 = 21 2 = 441 = 48. 27 32 = 48 2 = 2304 = 77. 27 33 = 27 77 = 2079 = 114. Het zou dus 114 moeten zijn, even checken kan nooit kwaad, kwadraat is 12996 en inderdaad is dit 27. De andere oplossing is dan (dit staat ook in 6.3) natuurlijk 114 ofwel 17. Beoordeling/Toelichting: 2pt voor goede antwoorden met berekening. B = Bruteforcen is niet polynomiaal, 1pt. C = CRT is meestal nutteloos bij priem modulus. G = Geen rekenmethode beschreven, max 1/2pt.

5. Wortels van 1 modulo 1333: (a) Schrijf 1 als som van een 31-voud en een 43-voud. (b) Welke vier getallen in Z 1333 hebben kwadraat 1? Oplossing: (a) Gebruik extended Euclides en schrijf de achtereenvolgende resten als lineaire combinatie: 43; 31; 12 = 43-31; 7 = 86 + 93; 5 = 129 124; 2 = 215 + 217; 1 = 559 558 (dus 13x43 18x31). De getallen 559 en 558 (aka 775) zijn de W 31 en W 43 die je kunt gebruiken om vanuit subgroepen naar Z 1333 te rekenen. (b) Bij elke modulus geldt 1 2 = 1 en ( 1) 2 = 1, dus we hebben de eerste twee wortels 1 en 1332 al te pakken. Om de andere twee te vinden gebruiken we CRT en zoeken een getal dat 1 is modulu 43 en 1 modulo 31. Dit is W 43 W 31 = 1117. Het vierde getal is 1117 ofwel 216. Beoordeling/Toelichting: Totaal te behalen 3pt. Voor (a) 1pt, bij (b) 1 voor de karakterisering van het getal in de subgroepen, en 1 voor het daadwerkelijke antwoord. 6. Wortels en Factoren: Om het getal n = 17741 te factoriseren zoekt Marjan twee getallen met hetzelfde kwadraat mod n. (a) Na enig zoeken ontdekt Marjan dat (in Z 17741 ) geldt 1000 2 = 6504 en 16741 2 = 6504. Kan zij hiermee de factoren van n vinden? Zo ja hoe, en wat zijn ze, zo nee waarom niet? (b) Marjan ontdekt (na nog meer zoeken) dat ook 8379 2 = 6504. Kan zij hiermee de factoren van n vinden? Zo ja hoe, en wat zijn ze, zo nee waarom niet? Oplossing: (a) De twee getallen zijn samen n, oftewel 0, ze zijn dus elkaars tegengestelde en hiermee kun je niets: je hebt twee wortels nodig die ongelijk zijn en niet elkaars tegengestelde. (b) 1000 en 8379 zijn niet aan elkaar gelijk en ook niet tegengesteld. Neem de som: 9379 en bepaal ggd(9379,17741) met uitkomst 113; dit is een deler van n. De andere deler is 17741/113 is 157. Beoordeling/Toelichting: Totaal 3pt. Voor (a) 1 pt. Voor (b) 1pt bij de constatering dat de wortels niet-complementair zijn en dat het dus kan. En 2pt voor de berekening die 113 en/of 157 oplevert. Je moet hier wel de kwadraatstelling voor samengestelde modulus (5.23) gebruiken, dus gewoon roepen 113 is niet genoeg. Je hoeft niet eens de Extended versie van Euclides te gebruiken, want aan alleen de ggd heb je genoeg. Beoordelingscodes: C = Uitrekenen met CRT, dit is niet mogelijk want je kunt alleen in de subgroepen rekenen als je de factoren al kent. M = Motivatie ontbreekt. R = Rekenfout. Z = Zegt compleet, ondubbelzinnig en correct hoe t moet maar geeft getal niet.

7. Inverse: Bepaal met behulp van het algoritme van Euclides een oplossing voor: (a) 38x + 43y = 1 (b) 43x + 5y = 3 (c) 112x + 60y + 32z = 33 Bepaal met behulp van het algoritme van Euclides de inverse voor: (I) 38 in Z 43 (II) 86 in Z 264 (III) 52006 in Z 104729 Oplossing: (a-c) Er zijn meerdere antwoorden mogelijk. Bepaal steeds de GGD van de coefficiënten, bij (a) is dit 1 en krijg je uit Extended Euclides dus gelijk een oplossing. Bij (b) is de GGD ook 1, dus EE geeft oplossingen voor 43+5y = 1 - doe die oplossingen keer 3 om de oplossingen van 43x + 5y = 3 te krijgen. Bij (c) moet je twee keer Euclides toepassen: bepaal eerst de GGD van éń paar getallen, en neem dan de GGD van die GGD en de overgebleven coefficiënt. Goede oplossingen zijn bv: (a) x = 17, y = 15, (b) x = 6, y = 51, (c) is onoplosbaar want alle getallen links zijn even, rhs is oneven. (I-III) Bepaal steeds via Extended Euclides wanneer geldt dat een lineare combinatie van het getal en de modulo gelijk is aan 1. Bepaal aan de hand hiervan de inverse. Voor (I) is dit 17, merk op dat dit overeenkomt met de 17 uit vraag (a). Voor (II) is de GGD groter dan 1, dus is er geen inverse. Voor (III) is de inverse 86909. Beoordeling/Toelichting: 0.5pt per vergelijking. Totaal 3pt.

8. Wortel Funding: Instant Root Incorporated (Inst Inc) ontwikkelt een app voor modulair worteltrekken. Na invoer van een modulus m (max. 3072bits) en een getal b < m, produceert de InstInc app een getal a (als dat bestaat) dat voldoet aan a 2 = b (mod m). De nodige 500.000 euro wil InstInc met crowd funding bij elkaar brengen. (a) Laat zien hoe je door deze app slim te gebruiken, de factoren van m kunt vinden. (b) Denk je dat Inst Inc de investering kan terugverdienen? (c) Bij nadere lezing van het persbericht zie je, dat de nieuwe app alleen zal werken als m een priemgetal is. Denk je nu dat Inst Inc de investering kan terugverdienen? Oplossing: (a) Als m priem is, is m zelf de enige factor en ben je klaar. Als m even is, deel door 2 tot het resultaat oneven is. Als m oneven en samengesteld is, zijn er bij elke b minstens vier getallen met b als kwadraat. Neem een random c en bereken b = c 2, en gebruik de app om een a te vinden met a 2 = c 2. Omdat c random gekozen is, is er een kans van minstens 1/2 dat c noch aan a, noch aan a gelijk is. Herhaal het kiezen van c tot dit optreedt. Je beschikt dan over twee niet-complementaire getallen met gelijk kwadraat, waarmee je een factor van m vindt als ggd(m, a + c). Deze berekening is (exclusief het gebruik van de app) polynomiaal en roept de app verwacht hoogstens tweemaal aan. (b) Nee. Omdat je met een goeie wortels-app kunt factoriseren, denk ik om te beginnen niet dat Inst Inc dat echt kan waarmaken. Als het ze wel is gelukt om dit 3000 jaar oude probleem op te lossen, hebben ze een RSA-kraker in handen waarmee ze het Internet en de rest van de wereld rulen. Ze zijn waarschijnlijk al door de Amerikanen, de Russen, de Chinezen, de Israeli s en de Koreanen ontvoerd, gemarteld en vermoord en bestolen voordat ze hun eerste cent hebben omgezet. (c) Modulo een priemgetal m kun je gemakkelijk de wortel uit b vinden, namelijk als a = b (p+1)/4. Die berekening kun je best in een app programmeren, maar ik geloof niet dat je daarmee een half miljoen kunt verdienen. Beoordeling/Toelichting: Totaal 3pt, 2 voor a en 1/2 voor b en c elk. D = Dat de worteltrektruuk alleen voor viervouden plus Drie geldt is juist maar dat hoefde er niet bij. F = Bij (c): niet nuttig want een priem is niet te factoriseren. Geen goed antwoord, want het is niet gezegd dat factoriseren de enige nuttige toepassing van de app kan zijn. H = Je mag de app ook prijzen als grote doorbraak, maar zeg wel iets over de Haalbaarheid. Je steekt je geld toch ook niet in een Perpetuum Mobiel app? K = Je Kunt weinig met zo n app. Hm, kijk eens in de app store of dat wel zo n sterk argument is om geen geld met de app te kunnen verdienen. M = De gevalsonderscheiding hierboven is niet compleet, want het geval dat m een macht van een priemgetal is, ontbreekt. Bv 625 is niet priem, niet even, en de CRT werkt er niet voor. Maar dit mocht je negeren. Overigens is het in polynomiale tijd te testen of m een priemmacht is. N = De app bewijst dat P = NP; onjuist want Factoriseren is wel in NP, maar voor zover we weten niet NP-compleet. Dus helaas, zelfs als de app zou werken, nog geen millenniumprijs. P = Voor viervouden Plus 1 is worteltrekken niet behandeld, maar zeker niet moeilijk (dat is wel genoemd op HC), dus ook daarmee kun je nog geen half miljoen terugverdienen. T = Je moet Twee wortels van hetzelfde getal hebben. Dat doe je niet door meerdere malen dezelfde b aan te bieden! De app kan deterministisch werken zodat je steeds dezelfde a krijgt. Ook input 1 aanbieden (waarvan je wortels 1 en 1 al kent) is niet goed omdat je nooit weet of je dan een niet-complementaire krijgt. W = Gebruik de W p en W q ; dat kan niet, want die kun je pas vinden als je de factoren kent.

9. Derdemachten: In deze vraag moet je bewijzen dat Z m gesloten is onder het nemen van derdemachten. Geef de definitie van Z m en bewijs dat als a Z m, dan a 3 Z m. Oplossing: Z m is de verzameling getallen in Z m met een inverse. Stel a Z m; per definitie is er een b zodanig dat a.b = 1 (in Z m ). Omdat vermenigvuldiging associatief en commutatief is, geldt a 3.b 3 = (a.b) 3 = 1 3 = 1, dus b 3 is een inverse van a 3, wat bewijst dat a 3 Z m. Beoordeling/Toelichting: Voor compleet bewijs 2pt. D = Alleen Definitie gegeven, hiervoor geen punten. G = Gebruikt Ggd-criterium; mag ook. Redeneer dan: als a geen priemfactoren gemeen heeft met m, dan a 3 ook niet, want die heeft dezelfde factoren als a, alleen meer. V = Gebruik geslotenheid onder Vermenigvuldigen (opgave 5.18). 10. Worteltrekken modulo priemgetal: In deze opdracht is p een priemgetal met p + 1 een viervoud (zoals 7, 11 of 23, maar niet 17 of 29). Als je (a) niet kunt bewijzen, mag je het toch gebruiken in (b). (a) Bewijs dat als y Z p een kwadraat is, dan is y p 1 2 = 1. (b) Laat zien dat je, van een kwadraat y, een wortel kunt vinden als x = y p+1 4. (c) Hoeveel tijd kost worteltrekken modulo een priemgetal van k bits? Oplossing: (a) Als y een kwadraat is, bestaat er een z zdd y = z 2, en dan is y p 1 2 = z p 1 = 1, de laatste stap wegens Lagrange. (b) Voor de berekende waarde geldt x 2 = (y p+1 4 ) 2 = y p+1 2 = y p 1 2 +1 = y p 1 2 y = y, laatste stap ogv (a). (De andere wortel is natuurlijk x.) (c) Machtverheffen kost O(lg p) vemenigvuldigingen (met Indisch machtsverheffen), elk in kwadratische tijd uit te voeren, dus totaal O(k 3 ) tijd. Beoordeling/Toelichting: Voor elke deelvraag een punt. B = Wortel is niet Berekenbaar ; dit is modulo een composiet, met priem modulus kan het wel. G = Groepstheoretisch argument: omdat er p 1 2 kwadraten zijn, doe je Lagrange met φ = p 1 2. Zonder uitleg dat de kwadraten een subgroep vormen geen punt. L = Wortelen is Lineair want 1 1 2k verm.; je vergeet kwadratische factor, 1/2pt. V = Een Voorbeeld is geen bewijs. 11. Lagrange: Piet moet 13 1027 uitrekenen in Z 1536 maar hij is lui en wil zich rekenwerk besparen door de Stelling van Lagrange te gebruiken. (NB: 1536 = 2 9 3.) (a) Hoe luidt de Stelling van Lagrange? (b) Hoeveel is φ(1536)? (c) Geef 13 1027 mod 1536. Oplossing: (a) In Z m geldt b φ(m) = 1. (b) Van de 1536 getallen moet je de even getallen wegstrepen, de helft, en van de rest de drievouden, eenderde, dus je houdt tweederde van de helft, eenderde over: 1536/3 = 512. (c) De exponent is een 512-voud plus 3, dus 13 1027 = 13 3 = 2197 = 661. Beoordeling/Toelichting: Max 3pt, 1 per deelvraag.

12. Kwadraatstelling: Zij p en q oneven priemgetallen en n = p q. (a) Hoeveel getallen in Z p zijn een kwadraat? Waarom? (b) Hoeveel getallen in Z n zijn een kwadraat? Waarom? (c) Hoe kan de structuur van kwadraten helpen bij het factoriseren van n? Oplossing: (a) Z p heeft p 1 getallen, elk met een kwadraat, maar steeds hebben twee getallen hetzelfde kwadraat. Het aantal kwadraten is daarom p 1 2. (b) Z n heeft (p 1)(q 1) getallen, elk met een kwadraat, maar steeds hebben vier getallen hetzelfde kwadraat. Het aantal kwadraten is daarom (p 1)(q 1) 4. (c) Als je twee getallen b en c vindt met hetzelfde kwadraat, maar b is niet ±c, dan kun je een factor berekenen als gcd(b + c, n). Factorisatie-algoritmen beginnen meestal met het zoeken van een niet-triviale wortel van 1. Beoordeling/Toelichting: Voor de juiste aantallen in (a) en (b) elk 1pt, voor de juiste factorformule plus toepassing in (c) 2pt. Beoordelingscodes: H = De Helft waarvan? Aftrek 1/2. K = Een Kwart waarvan? Aftrek 1/2. 13. BurgerServiceNummer: Een negencijferig BSN wordt gecontroleerd (check tegen foutief intypen) door de 11-test: 8 i=1 (c i (1 + i)) mod 11 = c 0, waar c i het cijfer is van de macht 10 i. Voor een achtcijferig BSN wordt de test gebruikt met c 8 = 0. Geef drie geldige BSNs van 9 cijfers die weer een geldig getal opleveren als het laatste cijfer wordt verwijderd. Vertel ook hoe je deze nummers gevonden hebt. Oplossing: Je kunt een rijtje van zeven cijfers c 7... c 1 tot een 8-BSN aanvullen door als laatste cijfer de checksumwaarde c 0 = 7 i=1 (c i (1 + i)) mod 11 toe te voegen; dit mislukt als de uitkomst 10 is (dat is wel een rest modulo 11 maar geen decimaal cijfer), de kans daarop is ongeveer 1 op 11. Je kunt een rijtje van acht cijfers c 8... c 1 tot een 9-BSN aanvullen door als laatste cijfer de checksumwaarde c 0 = 8 i=1 (c i (1 + i)) toe te voegen. Algoritme: neem 7 random cijfers (niet beginnend met 0), vul aan tot 8-BSN, vul aan tot 9-BSN, slaagkans ( 10 11 )2 = 83%. (1) Random getal, digits van 2: 4142135. 8.4 + 7.1 + 6.4 + 5.2 + 4.1 + 3.3 + 2.5 = 96 = 8, dus vul aan met 8: 41421358 is geldige 8-BSN. 9.4 + etc + 3.5 + 2.8 = 132 = 0 dus 414213580 is geldige 9-BSN. (2) Random getal, digits van 3: 7320508. Aanvullen met 4 tot 73205084. Aanvullen met 4 tot 732050844. Beoordeling/Toelichting: Voor drie kloppende antwoorden (check bv op http://cgi.dit.nl/sofi.cgi), met onderbouwing die van inzicht getuigt, 3pt. B = BruteForcen, niet echt spannend, 2pt. L = Let erop dat met Laatste cijfer wordt bedoeld: eenheden, dus behalve 732050844 moet ook 73205084 kloppen, niet 32050844. P = Palindroommethode: vier cijfers, plus reversed, plus een nul geeft kloppend negencijferig: abcddcba0, maar niet altijd is dan bcddcba0 ook geldig (voor welke abcd wel?). U = Antwoorden zonder Uitleg, 1pt.

14. Getalberekeningen: (a) Bereken met Euclides de grootste gemene deler van 2358 en 1599; laat de tussenstappen zien. (b) Modulo 17741 hebben 1000 en 8379 hetzelfde kwadraat. Wat is dat kwadraat? Laat zien hoe je hieruit met een polynomiale berekening de factoren van 17741 kunt vinden. (c) Hoeveel vermenigvuldigingen kost het om a 213 te berekenen? Oplossing: (a) De ggd is 3. De resten bij deling zijn 759, 81, 30, 21, 9, 3 en 0. (b) Kwadrateren en mod 17741 levert 6504 voor beide. Uit de kwadraatstructuur die we kennen uit de CRT volgt dat som of verschil van deze getallen, een factor gemeen hebben met de modulus. Bereken ggd(17741, 9379) geeft 113, dit is een factor. Bereken 17741 / 113 is 157 is de andere factor. (c) De exponent is binair 11010101, dus het kost 7 (lengte min 1) plus 4 (enen min 1) is 11 vermenigvuldigingen. De achtereenvolgens berekende machten zijn (na 1): 2, 3, 6, 12, 13, 26, 52, 53, 106, 212, 213. Beoordeling/Toelichting: Tot 3pt, eentje per deelvraag. A = Anderhalf maal de lengte (of lg(213)), max 1/2. E = Eerste 1 toch meegeteld, 1/2. F = Wat zijn nou de Factoren? Die moet ik wel zien voor volle punten. K = Alleen het Kwadraat geeft nog geen punt. P = Exponent als Product 3x71 en dan (a 3 ) 71 kost ook 11. Er is geen enkele Power-methode die zoiets doet!

15. Worteltjestaart: De bakker moet berekenen hoeveel worteltjes hij voor zijn worteltjestaart nodig heeft. Hij heeft wel een recept, maar hij heeft de modulaire wortel nodig om de goede hoeveelheden te vinden. Op een dag komt er een konijn langs. Het konijn kan modulair wortel trekken, maar wil niet verklappen hoe. Het konijn zegt dat hij wel de modulaire wortel wil uitrekenen zolang hij maar een stukje worteltjestaart krijgt. Eerst moet de bakker de modulus m geven en een getal b < m. Daarna geeft de konijn een getal a (als het bestaat) dat voldoet aan a 2 = b(mod m). (a) Laat zien hoe de bakker slim zijn getallen kan kiezen zodat hij de factoren van m kunt vinden. (b) Nu de bakker de factoren kan vinden, vindt hij dat de factoren van 1333, 31 en 43 zijn. Nu wil hij nog weten welke vier getallen in Z 1333 kwadraat 1 hebben. Welke getallen zijn dit? (c) De bakker denkt dat hij samen met het konijn P = NP heeft bewezen, ze kunnen namelijk samen getallen factoriseren. Kunnen de bakker en het konijn de milleniumprijs gaan innen? Leg uit. Oplossing: (a) Als m priem is, is m zelf de enige factor en ben je klaar. Als m even is, deel door 2 tot het resultaat oneven is. Als m oneven en samengesteld is, zijn er bij elke b minstens vier getallen met b als kwadraat. Neem een random c en bereken b = c 2, en gebruik het konijn om een a te vinden met a 2 = c 2. Omdat c random gekozen is, is er een kans van minstens 1/2 dat c noch aan a, noch aan a gelijk is. Herhaal het kiezen van c tot dit optreedt. Je beschikt dan over twee niet-complementaire getallen met gelijk kwadraat, waarmee je een factor van m vindt als ggd(m, a + c). (b) Bij elke modulus geldt 1 2 = 1 en ( 1) 2 = 1, dus we hebben de eerste twee wortels 1 en 1332 al te pakken. Om de andere twee te vinden gebruiken we CRT en zoeken een getal dat 1 is modulu 43 en 1 modulo 31. Dit is W 43 W 31 = 1117. Het vierde getal is -1117 ofwel 216. (c) Nee want Factoriseren is wel in NP, maar voor zover we weten niet NP-compleet. Dus helaas nog geen millenniumprijs. Maar als konijntje inderdaad kan worteltrekken met een modulus van de bakker, kan hij willekeurige getallen factoriseren, dus ergens zal een prijsje er toch wel in zitten. Beoordeling/Toelichting: 1.5pt voor (a); 1pt voor (b); 1pt voor (c), totaal 3 pt. 16. ModuloFeest: Frank wil graag de twee factoren van n = 17741 vinden, hij heeft een idee om dit te doen. (a) Frank ziet dat geldt 1000 2 = 6504 en 8379 2 = 6504. Kan Frank de factoren van n vinden met deze informatie? (zo nee, waarom niet, zo ja, hoe?) (b) Om een onbekende reden wil Frank graag 78 e machten berekenen in Z157, dus bij een x weten wat de uitkomst is van x 156 2. Kun jij het antwoord zonder rekenmachine achterhalen voor een x die kwadraat is in Z157? (c) Kan zo n x een generator van Z157 zijn? Wanneer wel/niet? Oplossing: (a) 1000 en 8379 zijn niet aan elkaar gelijk en ook niet tegengesteld. Neem de som: 9379 en bepaal ggd(9379, 17741) met uitkomst 113; dit is een deler van n. De andere deler is 17741 113 157. (b) Het is erg toevallig dat Frank interesse heeft in 156 2 (en 157 is dat) dan zegt Euler dat x p 1, want 156 = 157 1. Als p priem is 2 = 1. De uitkomst is dus 1. (c) Omdat x p 1 2 = 1, kan x geen generator zijn. De orde van x is hoogstens p 1 2, een getal is generator als zijn orde p 1 is. Beoordeling/Toelichting: 1pt voor (a), 1pt voor (b), 1pt voor (c). Totaal 3pt.

17. Wortel 7: Welke getallen in Z 131 hebben kwadraat 7? Laat zien hoe je dit (polynomiaal) berekent. Oplossing: Gelukkig is 131 een priemgetal en een viervoud min 1. Voor zulke moduli kun je de wortel van b vinden als b (p+1)/4. Dat komt hier neer op de 33ste macht. De exponent is binair 100001, dus volgens de Indische methode moeten we vijf keer kwadrateren en nog vermenigvuldigen met 7, steeds met reductie modulo 131 natuurlijk: 7 2 = 49. 7 4 = 49 2 = 2401 = 43. 7 8 = 43 2 = 1849 = 15. 7 16 = 15 2 = 225 = 94. 7 32 = 94 2 = 8836 = 59. 7 33 = 7 59 = 413 = 20. Het zou dus 20 moeten zijn, even checken kan nooit kwaad, kwadraat is 400 en inderdaad is dit 7. De andere oplossing is dan natuurlijk 20 ofwel 111. Beoordeling/Toelichting: 2pt voor goede antwoorden met berekening. B = Bruteforcen is niet polynomiaal, 1pt. C = CRT is meestal nutteloos bij priem modulus. G = Geen rekenmethode beschreven, max 1/2pt. 18. Blum-integers: Bewijs: (a) Als p een priemgetal is dat een viervoud min 1 is, dan is 1 geen kwadraat in Z p. (b) Als n een Blum-integer is en a een kwadraat in Z n, dan is van de vier wortels van a er precies één zelf een kwadraat. Oplossing: (a) Dat betekent dus dat het priemgetal p voortkomt uit een zekere a: p = 4a 1. Volgens Eulers criterium (St. 5.20) is een getal x in Z p een kwadraat desda x p 1 2 = 1. In dit geval testen we het getal x = 1, dus ( 1) 4a 1 1 2 moet 1 zijn. Vereenvoudigen van 4a 2 2 = 2a 1 leert ons dat de exponent oneven is, dus ( 1) oneven geeft ons 1 en niet 1 (-1 en 1 zijn verschillend als p een oneven priemgetal is) dus is 1 geen kwadraat. (b) Een Blum-integer n is het product van twee priemgetallen p en q, die elk een viervoud min 1 zijn. Neem een getal b Z n dat het kwadraat is van a. Vanuit de Chinese rest Stelling mogen we a en b representeren met hun resten modulo p en q, dus schrijf (b p, b q ) = (a p, a q ) 2. Getal (b p, b q ) heeft vier wortels, te weten (a p, a q ), ( a p, a q ), (a p, a q ), ( a p, a q ). Ten eerste kun je inzien, dat van deze vier wortels, geen twee (of meer) een kwadraat kunnen zijn. Want het quotient van twee kwadraten is zelf ook een kwadraat (x 2 /y 2 = (x/y) 2 ). En het quotient van twee van de wortels is 1 modulo p of modulo q, en daarmee zeker geen kwadraat (weten we uit a). Waarom is dan minstens eentje ervan wel een kwadraat? Verdeel de Z n in gedachten in groepjes van vier, steeds vier getallen met hetzelfde kwadraat. De φ(n) getallen in Z n hebben samen φ(n)/4 kwadraten (omdat er steeds vier hetzelfde kwadraat hebben), dus evenveel kwadraten als groepjes. Omdat er in een groepje niet meer dan 1 kwadraat zit (eerste deel!) moet er in elk groepje wel eentje zitten. Beoordeling/Toelichting: 1 punt per deelopgave.