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

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

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

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

Opgaven Signatures Security, 17 okt 2018, Werkgroep.

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

Opgaven RSA Security, 15 okt 2018, Werkgroep.

Opgaven Rekenen met Getallen Security, 2018, Werkgroep.

Opgaven Eigenschappen van Getallen Security, 2018, Werkgroep.

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

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

De cryptografie achter Bitcoin

RSA. F.A. Grootjen. 8 maart 2002

Zwakke sleutels voor RSA

Het programma ELGAMAL

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

slides10.pdf December 5,

Security. Eerste tentamen

Cryptografische beveiliging op het Internet

7 Deelbaarheid. 7.1 Deelbaarheid WIS7 1

Cryptografie: de wetenschap van geheimen

Code signing. Door: Tom Tervoort

OPLOSSINGEN VAN DE OEFENINGEN

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

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.

Public Key Cryptography. Wieb Bosma

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.

4Passief: n Afluisteren. n Geen gegevens gewijzigd of vernietigd. n Via de routers van WAN. n Via draadloze verbindingen. 4Fysieke afsluiting

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

Netwerken. Beveiliging Cryptografie

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

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

Rekenen aan wortels Werkblad =

Het RSA Algoritme. Erik Aarts - 1 -

FACTORISATIE EN CRYPTOGRAFIE

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

7.1 Het aantal inverteerbare restklassen

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

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

De wiskunde achter de Bitcoin

Getallenleer Inleiding op codeertheorie. Cursus voor de vrije ruimte

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

Elliptische krommen en digitale handtekeningen in Bitcoin

Digitale geldtransacties. Stefanie Romme Wiskunde, Bachelor Begeleider: Wieb Bosma

niet: achterop een ansichtkaart schrijven postbode (en wie al niet meer) leest mee

Cryptografie met krommen. Reinier Bröker. Universiteit Leiden

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

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

Toepassingen van de Wiskunde in de Digitale Wereld

Geldwisselprobleem van Frobenius

Digitale Handtekening Praktische problemen bij toepassingen TestNet: Testen van Security ING Group, April 2006 Ruud Goudriaan

Zoek- en sorteeralgoritmen en hashing

Getaltheorie groep 3: Primitieve wortels

Future-proof Tester: Blockchain

MCRE - Modulaire en Cryptografische Rekenmachine met Elliptische Krommen - Handleiding

1 Kettingbreuken van rationale getallen

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

1.5.1 Natuurlijke, gehele en rationale getallen

1 Rekenen met gehele getallen

Priemfactoren. Grote getallen. Geavanceerde methoden. Hoe ontbind je een getal N in priemfactoren?

Geheimschrift op de TI-83+ Gerard Tel

WEP, chopchop en WPA

Informatie coderen en kraken

6 Ringen, lichamen, velden

DomJudge-Practicum. Open Dag UU

Willem van Ravenstein

De wiskunde en toepassing. van de cryptologie

Agenda SSN Week 3. Gastcollege Stemcomputers Gastcollege PKI Secret key Public Key Hashes DES AES Praktikum: Cryptool en RSAFAQ

De digitale handtekening

Opgeloste en onopgeloste mysteries in de getaltheorie

We beginnen met de eigenschappen van de gehele getallen.

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

Eerste Deeltoets Security 22 mei 2015, , Beatrix 7e.

Code signing. Het mechanisme. Tom Tervoort

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

Machten, exponenten en logaritmen

Concept. Inleiding. Advies. Agendapunt: 04 Bijlagen: - College Standaardisatie

Cryptografie: ontwikkelingen en valkuilen bij gebruik. Eric Verheul Bart Jacobs 5 oktober 2011

Transport Layer Security. Presentatie Security Tom Rijnbeek

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

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

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

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

Programmeermethoden NA. Week 5: Functies (vervolg)

Geheimschrift op de TI-83+

1.1 Tweedegraadsvergelijkingen [1]

Crypto, Certificaten, SSL, PKI What can possibly go wrong? ISC2 cryptonight 10 juni 2014

Elfde college complexiteit. 23 april NP-volledigheid III

Examen Datastructuren en Algoritmen II

Numerieke benadering van vierkantwortels

Complex multiplication constructions in genus 1 and 2

Profielwerkstuk Informatica en Wiskunde Is RSA-cryptografie nu veilig genoeg en wat betekent dit voor de toekomst van digitale beveiliging?

1. REGELS VAN DEELBAARHEID.

Examen Datastructuren en Algoritmen II

4. Exponentiële vergelijkingen

Groepen, ringen en velden

Lessenserie Cryptografie

Oplossing van opgave 6 en van de kerstbonusopgave.

Bijzondere kettingbreuken

Opgeloste en onopgeloste mysteries in de getaltheorie

Pijlenklokken Wiskunde B-dag

Transcriptie:

Toetsbundel 2 Security 13 juli 2017, Gerard Tel, WerkCollege. Deze bundel bevat een collectie van toetsvragen voor het vak Security. Op deze bundel geldt auteursrecht! Verwijs naar de website http://www.cs.uu.nl/docs/vakken/b3sec/, maar geef deze bundel nooit door. De te behalen punten per vraag zeggen in deze werkcollegebundel niet zoveel, omdat het totaal aantal punten per toets verschilt. Probeer wel te kijken naar de diverse foute antwoorden die per vraag besproken worden, zodat je die misverstanden alvast vermijdt. 1 Integers 1. Rekenen met gehele getallen: Los in gehele getallen x en y (en z) op: (a) 38x + 43y = 1; (b) 24x + 33y = 3; (c) 15x + 35y = 25; (d) 14x + 8y = 37; (e) 12x + 20y + 4z = 23; (f) 45x + 60y + 21z = 24. 2. 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. 3. Multiplicatieve inversen: (a) Wat is, voor een integer n, de definitie van Z n en φ(n)? (b) Bewijs dat Z n gesloten is onder vermenigvuldiging. (c) Wat is de waarde van φ(n) als n het product is van drie priemgetallen p, q en r? 4. Lineaire Vergelijkingen: Bepaal met behulp van het algoritme van Euclides de verzameling van alle oplossingen van de volgende vergelijkingen: (a) 38x + 43y = 1 (b) 43x + 5y = 3 (c) 34x + 46y = 4 (d) 112x + 60y + 32z = 33 (e) 45x + 60y + 21z = 24 5. Foute Euclides: Koen moet een Excelformule maken om Grootste Gemene Deler uit te rekenen voor getallen tot 10 cijfers en zijn oplossing staat hier: http://www.cs.uu.nl/docs/vakken/b3sec/hoor/euclides.xlsx. Als je in de gele vakjes twee getallen typt, verschijnt ernaast in groen de GGD. Maar dit blad is niet goed (en de antwoorden dus niet betrouwbaar!)! Er is helaas een paar (A,B) van tien cijfers elk, waarvoor het blad niet werkt. Welk paar is dat? Leg uit hoe je eraan komt. 6. Euclides: Bereken met het algoritme van Euclides de waarde van d = ggd(1230, 504). Laat alle tussenresultaten zien. Bereken x en y waarvoor geldt dat d = 1230x + 504y. 7. Extended Euclides: Schrijf 3 als som van een 93-voud en een 129-voud. Laat de stappen van Euclides Algoritme zien. 8. Extended Euclides: Schrijf 3 als 129-voud plus 51-voud. Gebruik Extended Euclides en laat de stappen zien.

9. Z 21 : Hoeveel is φ(21) en welke getallen zitten in Z 21? 10. Eulers φ: Wat is de waarde van φ(3 k )? 11. Eulers φ: Wat is de waarde van φ(4 k )? 12. Eulers φ: Wat is de waarde van φ(5 k )? 13. Gegeven fractie als φ: Noem vijf getallen m waarvoor geldt φ(m) = 1 2 m. Noem vijf getallen m waarvoor geldt φ(m) = 1 3 m. 14. φ(p 3 ): In deze vraag is p een oneven priemgetal. Hoeveel is φ(p 3 )? 15. Eulers phi: Bewijs dat voor een priemgetal p geldt: φ(p 2 ) = p(p 1). 16. Eindejaarsvraag: Vooruit, nu het nog net kan: hoeveel is φ(2015)? 17. φ: (a) Geef de definitie van φ(m). (b) Hoeveel is φ(2017)? 18. Multiplicatieve inverse en machten: Zij m een geheel getal groter dan 2. (a) Wat is de definitie van Z m? (b) Bewijs dat Z m gesloten is onder het nemen van machten; dwz., als a Z m en k is een positief geheel getal, dan a k Z m. 19. 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? 20. 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? 21. 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? 22. 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 23. 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?

24. 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. 25. 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? 26. 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. 27. 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? 28. 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. 29. 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? 30. 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. 31. 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? 2 Public Key: RSA 32. Rabin: Deze vraag gaat over Rabin s cryptosysteem. (a) Rabins algoritme rekent met Z n. Wat is de handigste manier om n te kiezen en waarom? (b) Wat zijn de wortels van 147 modulo 299? Licht je berekening toe. (Hint: zoek eerst een manier om 1 als som van een 13-voud en een 23-voud te schrijven.) (c) Men zegt dat Rabin s algoritme bewijsbaar veilig is. Waarom zegt men dit, en betekent dit ook dat we echt een bewijs van de veiligheid hebben? Waarom wordt Rabin s algoritme toch niet gebruikt? 33. RSA vs. DSA/Elgamal: Ga op zoek naar redenen om RSA of DSA te verkiezen boven de ander. Geef ten minste twee redenen. 34. RSA: We bekijken het cryptosysteem RSA met modulus n = p q, public key e en private key d. (a) Hoeveel rekentijd kost het versleutelen of ontsleutelen van een bericht (als functie van de lengte van n)? Reken voor de vermenigvuldiging van 2 k-bits getallen O(k 2 ). (b) Bob heeft een nieuw cryptosysteem uitgevonden: 3-RSA, waarbij gerekend wordt modulo een getal dat is samengesteld uit 3 priemgetallen (n = p q r). Hoe kunnen in dit nieuwe systeem d en e gevonden worden? Werkt het nog steeds? Hoe veilig is 3-RSA vergeleken met normale RSA? (c) Pietje claimt dat hij P = NP heeft bewezen. Hij heeft namelijk het volgende polynomiale algoritme gevonden om n te factoriseren: probeer n te delen door alle getallen 1, 2,... totdat een factor is gevonden. Omdat de deling in O(n 2 ) kan en een factor altijd < n is, heeft hij dus een algoritme met complexiteit O(n 3 ). Welke twee denkfouten maakt Pietje? 35. NIST over RSA: Het National Institute of Standards and Technology heeft per januari 2012 de aanbevolen sleutellengte van RSA verhoogd. Wat is de nieuwe sleutellengte? Wat is je oordeel over de veiligheid van de oude sleutellengte? 36. RSA met gedeelde modulus: Een organisatie wil RSA gebruiken met gedeelde modulus, met doel: dat wernemers niet de berichten voor anderen kunnen lezen, maar de directie wel toegang heeft tot al het (bedrijfs) verkeer. Er wordt een enkele modulus n gekozen, waarvan de factoren (als Masterkey) bij de directie bekend zijn. Voor werknemer i worden exponenten e i (priemgetal, publiek) en d i (privaat) bepaald. (a) Beschrijf de sleutelgeneratie voor RSA. (b) Beschrijf de encryptie en decryptie (je hoeft er niets over te bewijzen). (c) Laat zien hoe Oscar de waarde van bericht M kan lezen, als dit bericht is verstuurd naar twee werknemers en Oscar de twee ciphertexts heeft ontvangen. (d) Laat zien hoe een werknemer de Masterkey kan berekenen. 37. RSA Encryptie en Decryptietijd: Het aanroepen van de private functie (decryptie) in RSA is veel duurder dan de public functie (encryptie). (a) Waarom is dit zo?

(b) Geef een nauwkeurige schatting van de verhouding van decryptie- versus encryptietijd, zowel voor 1024-bits als voor 2048-bits keys. 38. RSA Signature: Behalve voor versleuteling, kun je RSA ook gebruiken om een handtekening te zetten. (a) Waaruit bestaat een RSA key pair, en hoe luidt de sleutelgeneratie procedure? (b) Hoe wordt de RSA handtekening berekend (functie Sig) en geverifieerd (functie Ver)? 39. RSA Plaintext verdubbeling: Alice heeft een public RSA key (m, e) gepubliceerd en Bob heeft haar een bericht x gestuurd, versleuteld als ciphertext y. Oscar kent x niet, maar wil Alice sowieso een bericht sturen met daarin het dubbele van wat Bob stuurt. (a) Hoe wordt de waarde y berekend uit x en hoe kan Alice de waarde van x berekenen uit y? (b) Beschrijf hoe Oscar, zonder de waarde van x te kennen, een bericht aan Alice kan sturen dat zal ontsleutelen naar de waarde 2x. 40. RSA Message Attack: Student Bob ontvangt van Universiteit Alice een bericht X = Je cijfer voor VAKCODE is CIJFER, versleuteld met RSA dus y = Enc m (X); er zijn 12 vakken gegeven in het blok. (a) Oscar beschikt over y en de publieke sleutel m van Bob; kan hij bepalen welk vak Bob heeft gedaan en met welk resultaat? (b) Beschrijf (elk in één zin) twee manieren om RSA te beveiligen tegen deze message attacks. 41. RSA sleutellengte: Je collega wil RSA gebruiken met een p van 850 bits lang, een q van 750 bits, een e van 600 bits, en zijn berekening voor d geeft een getal van 1600 bits. Voldoet zijn sleutel aan de recentste NIST aanbevelingen? Leg uit. 42. RSA Rekentijd: Leo gebruikt RSA software op zijn PC, heeft een public key van 2048 bits en gebruikt de standaardwaarde e = 65537. (a) Leo doet wat metingen aan de encryptie en ziet dat een RSA encryptie hem ongeveer 4,3ms (dus 0,0043 seconde) kost. Geef een schatting van de tijd voor een RSA decryptie. (b) Leo is bang dat, bij een heel kleine input x, de encryptie berekend wordt zonder dat daadwerkelijk reducties plaatsvinden. Dan zou x heel makkelijk uit y terug te rekenen zijn. Kun je Leo geruststellen? (c) Tot hoeveel milliseconde kun je encryptie en decryptie versnellen door gebruik van de CRT? 43. RSA is multiplicatief: Bewijs dat: als je x 1 en x 2 versleutelt tot y 1 en y 2 met een RSA public key, en het product y = y 1.y 2 ontsleutelt met de bijbehorende private key, is het resultaat x 1.x 2. 44. RSA Handtekening met Certificaat: Alice ontvangt een bestand F, met een SHA1/RSAhandtekening S en een PKI-certificaat, van Bob. Beschrijf kort de stappen die Alice doet om de geldigheid van F te controleren. 45. RSA met kleine d: Decryptie bij RSA is gebaseerd op de regel x φ(m) = 1 (mod m). Iemand beweert dat je een kleinere decryptie-exponent kunt vinden als je gebruikt dat x λ(m) = 1 (mod m), waar λ(m) = kgv(p 1, q 1), het kleinste gemeenschappelijke veelvoud van p 1 en q 1. (a) Bewijs dat x λ(m) = 1 (mod m). (b) Is λ(m) inderdaad kleiner dan φ(m)?

46. RSA Exponenten: Het RSA algoritme gebruikt, behalve een modulus m, een encryptieexponent e en een decryptie-exponent d. (a) Welke relatie geldt tussen e en d? (b) Hoe wordt de e bepaald? (c) Is bij RSA de encryptie of de decryptie sneller? Hoeveel keer zo snel? 47. RSA Encryptie versus Decryptie: Kees gaat RSA gebruiken met een sleutellengte van 3072 bits. Om de encryptietijd laag te houden, besluit hij de waarde e = 17 te nemen. Geef een schatting van de verhouding tussen encryptie- en decryptietijd. 48. Manipuleren van RSA berichten: Alice heeft een publieke RSA sleutel (n, e), en Bob stuurt haar daarmee een getal x. Oscar onderschept het cipherbericht y, en kan het niet lezen, maar wil de communicatie tussen Alice en Bob verzieken door Alice een groter getal x = 2x te laten lezen. Hoe berekent Oscar een bericht y dat bij decryptie door Alice de waarde x = 2x oplevert? Schat de rekentijd dit dit Oscar kost. 49. 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 (mag iteratief of recursief). (c) Waarom is 65537 een geschikte exponent voor RSA? 50. RSA: We bekijken het cryptosysteem RSA met modulus n = p.q van k bits, public key e en private key d. (a) Waarom is het aanroepen van de decryptie veel duurder dan de encryptie bij RSA? (b) Hoeveel rekentijd kost het versleutelen of ontsleutelen van een bericht (als functie van k)? Reken voor de vermenigvuldiging van 2 k-bits getallen O(k 2 ). 51. Wortel 7: Welke getallen in Z 131 hebben kwadraat 7? Laat zien hoe je dit (polynomiaal) berekent. 3 Public Key: Elgamal 52. Elgamal samenwerking: Bert en Ernie gebruiken beide Elgamal voor het ontvangen van berichten. Ze gebruiken algemeen bekende, gedeelde parameters g en p, hebben private sleutels a 1 resp. a 2, en publieke sleutels b 1 resp. b 2. (a) Om een bericht x aan Bert te sturen, kiest Aart een random k en stuurt (g k, x.b k 1 ). Hoe ontsleutelt Bert de boodschap? (b) Aart vermenigvuldigt de twee publieke sleutels: b = b 1.b 2 en versleutelt een bericht m met sleutel b. Welke waarde moet als bijpassende geheime sleutel worden gebruikt? (c) Aart versleutelt een bericht met de nieuwe sleutel b. Laat zien hoe Ernie en Bert kunnen samenwerken om het bericht te ontsleutelen, zonder hun geheime sleutel aan iemand te geven. 53. Elgamal kosten: Hoe luiden de encryptie en decryptieformules van Elgamal? Is de Elgamal private functie duurder of goedkoper dan de publieke, en wat is de kostenverhouding? 54. Elgamal encryptie: Het Elgamal encryptiesysteem gebruikt een modulus p, generator g, en een orde q. De ElGamal-encryptie van x is het paar (u, v) = (g k, b k.x). (a) Welke relatie geldt tussen p, g, en q? (b) Welke relatie geldt tussen de secret key a en de bijbehorende public key b?

(c) Bob stuurt Alice een bericht x, versleuteld met Elgamal. Schurk Oscar vervangt het bericht (u, v) door (u 2, v 2 ). Bewijs dat na ontsleuteling, Alice het bericht x = x 2 leest. 55. Elgamal is Multiplicatief: Het Elgamal encryptiesysteem gebruikt een modulus p, generator g, en een orde q. De ElGamal-encryptie van x is het paar (u, v) = (g k, b k.x). (a) Welke relatie geldt tussen p, g, en q en welke tussen de secret key a en de public b? (b) Bob stuurt Alice een bericht x, versleuteld met Elgamal. Met welke formule ontsleutelt Alice dit? (c) Schurk Oscar kan aan het bericht niet de x aflezen, maar wenst dat Alice bij ontsleuteling een f maal zo grote waarde leest als Bob heeft verstuurd. Hij vervangt het bericht (u, v) door (u u f, v v f ), waar (u f, v f ) een encryptie van f is. Slaagt Oscar in zijn opzet? 56. Elgamal: Bob en Alice gebruiken Elgamal-versleuteling met p = 56591 en g = 5738. Bob s public key is 9612. (a) Wat is de relatie tussen g en p? Welke andere waarden voor g had men kunnen kiezen? (b) Alice wil aan Bob de intensiteit van haar liefde voor hem laten weten: 9001. Hoe versleutelt zij dit bericht? (c) Eve heeft een bericht (24672, 54607) naar Bob onderschept. Wat is de geheime mededeling? 57. Elgamal: Elgamal encryptie werkt met een generator g van Z p. (a) Waarom zou je willen dat g een generator is? (b) Bewijs dat de decryptie van een encryptie in het Elgamal-algoritme de originele tekst teruggeeft. (c) Wat is de looptijd van encryptie en decryptie in het Elgamal-algoritme (grote O-notatie)? Welk van beide is sneller? 58. Blinde Logaritme: De NSA heeft een kolossale machine gebouwd waarmee ze, voor een bepaalde publieke modulus p en generator g, de discrete logaritme kunnen berekenen. Om hun ontwikkelkosten terug te verdienen, bieden ze de service commercieel aan: als je ze een y Z p stuurt en een Bitcoin, krijg je een x < p 1 waarvoor geldt g x = y. Simon heeft wel een Bc over voor de log van zeker getal y, maar hij wil niet dat de NSA weet in welk getal hij geïnteresseerd is. (a) Simon kiest een random b Z p en stuurt y = y.b naar de NSA. Welke informatie geeft dit de NSA over y? (b) Simon vreest dat de NSA hem bedriegt en een fout antwoord stuurt. Wat kan Simon doen om zekerheid te krijgen over de juistheid van het gekochte getal? (c) Hoe kan Simon uit het gekochte antwoord de log van y berekenen? 59. Elgamal rekentijd: Voor Elgamal encryptie worden gedeelde parameters, een modulus en een generator g gebruikt. De private key is een getal a en de public key is b = g a. Je hoort geruchten dat bij Elgamal, de encryptie tweemaal zo duur is als de decryptie, maar dat je de berekening kunt versnellen door een Chinese stelling te gebruiken. (a) Klopt het dat encryptie zoveel duurder is, en waarom? (b) Hoeveel kun je de berekening versnellen met die Chinese stelling? 60. Elgamal Kopie maken: Alice gebruikt voor het ontvangen van berichten een Elgamal keypair waarvan het publieke getal b (en modulus p en generator g) op haar website staat. (a) Bob wil Alice getal x sturen; beschrijf de encryptie en het codebericht. (b) Oscar ziet het bericht Y dat Bob aan Alice stuurt en wil, zonder dat hij x kent, Alice ook bericht x sturen. Maar Alice filtert haar berichten op herhalingen van de ciphertekst, dus zelf

Y ook sturen kan Oscar niet. Beschrijf hoe Oscar een bericht Y kan berekenen dat verschilt van Y, maar dezelfde waarde oplevert bij decryptie. (c) Zijn de Elgamal-berekeningen duurder of goedkoper dan de berekeningen van het RSAsysteem? 4 Handtekeningen 61. Certificaten: Wat zijn de belangrijkste componenten van een sleutelcertificaat? Wat zijn de belangrijkste problemen van de certificaat-gebaseerde PKI? 62. Een Kraak bij SecuCert: Chinese hackers hebben ingebroken bij Certificate Authority SecuCert en de geheime signing key gestolen, waardoor zij valse SecuCert-websitecertificaten kunnen uitgeven. Lia weet dat gmail.com niet beveiligd is met een SecuCert-certificaat, maar met een GeoTrust-certificaat. Kan Lia veilig naar gmail.com gaan, en welke maatregelen moet zij eventueel nemen? 63. Digitale Handtekening: In deze vraag wil Alice een bericht naar Bob sturen, maar Bob wil graag dat Alice ter verificatie haar digitale RSA-handtekening onder het bericht zet. (a) Alice maakt gebruik van een hash-functie om haar bericht te ondertekenen. Noem twee redenen waarom dit slimmer is dan het hele bericht in één keer te ondertekenen. (b) Hoe werkt ondertekening en verificatie met RSA? Welke functies (met welke parameters) worden hierbij gebruikt? (c) Alice stuurt haar bericht B met hash H(B) naar Bob. Na een poosje blijkt Oscar een (ander) bericht B gemaakt te hebben met H(B ) = H(B); Oscar doet alsof Alice dit bericht ook heeft ondertekend. Is de hashfunctie van Alice zwak bostingsvrij? Is hij sterk botsingsvrij? 64. Hashfuncties: Hashfuncties (ook wel fingerprints genaamd) worden gebruikt bij het maken van een digitale handtekening. (a) Wanneer is een hashfunctie one-way, wanneer zwak botsingsvrij en wanneer sterk botsingsvrij? (b) Hoe werkt de verjaardagsaanval en welke eigenschap van de hashfunctie beschermt ertegen? 65. Hash bij Handtekening: Noem twee redenen om hashing te gebruiken bij RSA Signatures. Geef de Sign methode voor RSA signatures met hash. 66. Blinde Handtekening: Alice heeft een bericht M dat ze door Bob wil laten ondertekenen (met RSA) maar zonder dat Bob de inhoud ziet. Bob stemt erin toe, voor Alice één ongezien bericht te tekenen. (a) Bewijs dat voor een correcte RSA handtekening geldt S e = M (mod n). (b) Om welke veiligheidsreden zal Bob liever zijn handtekening onder de hash van M zetten? Waar moet deze hash aan voldoen? (c) Kan bij een geblindeerde RSA handtekening nog gebruik gemaakt worden van de hash? (Zo nee, waarom niet; zo ja, bewijs dat dit kan). (d) Op welke drie manieren kan Bob zorgen dat een blinde handtekening onder het juiste soort token gezet wordt? 67. Digitale Handtekening: Bob wil informatie van Alice ontvangen, maar die moet ondertekend zijn met RSA; gelukkig kent Bob de public key (n, e) van Alice. (a) Alice maakt gebruik van een hash-functie om haar bericht te ondertekenen. Noem (twee)

redenen waarom dit slimmer is dan het hele bericht in één keer te ondertekenen. (b) Hoe werkt ondertekening en verificatie met RSA? Welke functies (met welke parameters) worden hierbij gebruikt? (c) Alice ondertekent een bericht M dat is opgesteld door haar assistent Oscar. Oscar heeft ook een (ander) bericht M gemaakt met H(M ) = H(M); Oscar verstuurt dit bericht, samen met de handtekening voor M. Is de hashfunctie van Alice zwak bostingsvrij? Is hij sterk botsingsvrij? 68. RSA met Hashing: Om een boodschap te ondertekenen met RSA, wordt meestal eerst een hash van die boodschap berekend, en wordt de hash ondertekend. (a) Noem twee redenen waarom het ondertekenen via een hash gaat. (b) Waarom moet de hashfunctie sterk botsingsvrij zijn? (c) Van Android apps wordt een hash van het APK (installatie) bestand berekend en gesigned. Waarom is de gebruikte procedure kwetsbaar voor malware? 69. RSA met Hashing: Voor de ondertekening van berichten wordt meestal SHA2RSA gebruikt, dwz., RSA signing in combinatie met (SHA2) hashes. (a) Beschrijf de controle van een ontvangen bericht M met signature S. (b) Noem (minstens twee) voordelen van het hashen (ten opzichte van pure RSA signatures). (c) Boris Boef wil een bestaande app in Google Play vervangen door zijn spyware, maar zo, dat de signature op de app geldig blijft. Welke eigenschap van de hashfunctie moet dit voorkomen? 70. RSA Handtekening met Certificaat: Alice ontvangt een bestand F, met een SHA1/RSAhandtekening S en een PKI-certificaat, van Bob. Beschrijf kort de stappen die Alice doet om de geldigheid van F te controleren. 71. Code Signing: Martin wil een malafide, creditcardstelende app MM in de ipad Appstore plaatsen. Helaas voor Martin worden alle apps eerst door Apple bekeken, en alleen apps die geen creditcards stelen worden ondertekend (met een Hash plus RSA mechanisme). De controle op de inhoud van de apps is vrij goed, en de RSA handtekening van Apple kan Martin niet namaken. Martin probeert een goedgekeurde, bonafide app BB te vervangen door MM, maar zo dat de signature onder BB nu geldig is voor MM. (a) Eerst probeert Martin, zelf een goeie app BB te maken naast zijn eigen MM. Welke eigenschap van de gebruikte hashfunctie zal moeten voorkomen dat Martin slaagt? Leg uit. (b) Martin probeert, een reeds bestaande veelgebruikte app BB te vervangen door MM. Welke eigenschap van de gebruikte hashfunctie zal moeten voorkomen dat Martin slaagt? Leg uit. (c) Schat hoeveel werk de aanvallen in (a) en (b) zijn, als Apple een hashwaarde van 192 bits gebruikt. 72. Signature en Hash: Een veelgebruikte manier om berichten te ondertekenen is SHA2RSA, wat wil zeggen dat van het bericht eerst een SHA2 hash wordt berekend, en dat die hash wordt gesigned met RSA. Oscar wil Alice s handtekening vervalsen onder bericht M, door eerst een existentiële vervalsing (F, S) te produceren, en dan M zo te veranderen dat SHA2(M) = F. (a) Is het mogelijk een existentiële vervalsing te maken? Zoja hoe, zonee waarom niet? (b) Is het mogelijk om M zo te veranderen dat de hash F is? Zoja hoe, zonee waarom niet? (c) Is voor SHA2RSA het Signen of het Verifiëren het duurst? Maakt het hierbij verschil of het bericht lang of kort is? Leg uit.

5 Zero Knowledge 73. Zero Knowledge Logaritme: Voor het identificatieprotocol van Schnorr heeft Alice een geheim getal a en een publiek getal b = g a. De Commit van Alice is een getal s = g r, Bobs Challenge is een random c, en Alice Respons is y = r + a.c. (a) Welke Check doet Bob op het antwoord van Alice? (b) Waarom is het van belang dat Bob de Commit ziet voordat hij een Challenge geeft? (c) Bob vraagt extra zekerheid, en verlangt van Alice dat zij antwoord geeft op twee challenges c 1 en c 2. Is het protocol dan nog veilig? 74. Zero Knowledge met Quisquater: Voor het identificatieprotocol van Quisquater gebruiken Alice en Bob alleen een publieke RSA-sleutel (n, e). De publieke informatie bij Alice is een getal b Z n, en haar geheim is een getal a waarvoor a e = b. De Commit van Alice is een getal s = r e, Bobs Challenge is een random c < e, en Alice Respons is y = r.a c. (a) Welke Check doet Bob op het antwoord van Alice? (b) Waarom is het van belang dat Bob de Commit ziet voordat hij een Challenge geeft? (c) Bob vraagt extra zekerheid, en verlangt van Alice dat zij antwoord geeft op twee challenges c 1 en c 2. Is het protocol dan veilig? 75. Zero Knowledge Wortel: Alice wil tegenover Bob bewijzen dat zij een wortel a bezit van een publiek getal b in Z m. Als eerste stuurt Alice het kwadraat s van een random getal r. Dan stuurt Bob een random bit c, en als c is 0, moet Alice een wortel van s sturen. (a) Hoe heten de drie eisen waar een Zero Knowledge Protocol aan moet voldoen? Welk getal moet Alice sturen als c is 1? (b) Waarom moeten Alice en Bob dit meerdere keren doen, en hoeveel keer is nodig om de bedrieg-kans van Alice kleiner dan 1 op 10000 te maken? (c) Alice weet dat Bob een slechte Random Number Generator gebruikt en zij kan vooraf berekenen, wat de i de random bit van Bob zal zijn. Hoe kan zij dit gebruiken om Bob te bedriegen? 76. Zero Knowledge Wortel: Alice wil tegenover Bob bewijzen dat zij een wortel a kent van een publiek getal b in Z m. Als eerste stuurt Alice een getal s. Dan stuurt Bob een random bit c, en als c is 0, moet Alice een wortel van s sturen. (a) Hoe kent Alice de wortel van s? Welk getal moet Alice sturen als c is 1? (b) Door een virus in Alice computer kan Bob de Random Number Generator beïnvloeden. Kan Bob hierdoor het geheime getal a achterhalen? Leg uit. 77. Zero Knowledge: Voor het identicatieprotocol van Feige, Fiat en Shamir heeft Alice een geheim getal a en een publiek getal b = a 2. De Commit van Alice is een getal s = r 2, Bobs Challenge is een random c {0, 1}, en Alice Respons is y = r a c. (a) Welke Check doet Bob op het antwoord van Alice? (b) Hoe zien de stappen eruit bij de niet-interactieve versie van het Feige, Fiat en Shamir zero knowledge proof? (c) Welke eigenschap van het zero knowledge proof verliezen we door het niet-interactief te maken? 6 Studentpresentaties 78. Delayed Ban: Waarom worden cheaters in games soms pas na enkele weken gestraft? Wat is het probleem van deze delayed ban ten opzichte van de direct ban?

79. Cribs: Wat is in de klassieke cryptanalyse een crib? Hoe verkreeg men een crib? Zijn cribs relevant voor aanvallen op 3DES of AES? 80. Plausible Deniability: Wat wordt bedoeld met de Plausible Deniability feature van True- Crypt? Voor wie is deze feature handig, en voor wie is deze een probleem? 81. Hacker s Hat: Waarin onderscheidt zich een black hat hacker van een white hat hacker? Waarin onderscheiden hackers zich van script kiddies? 82. Heartbleed Bug: Is de Heartbleed Bug een fout in het SSL Protocol of in de implementatie? Welke test had deze bug kunnen voorkomen? 83. Secure Randomness: Formuleer de belangrijkste veiligheidseis voor cryptografische Random Number Generators. Ken je een generator die aan deze eis voldoet? 84. Secure Randomness: Formuleer de belangrijkste veiligheidseis voor cryptografische Random Number Generators. In hoeverre voldoet SHA1PRNG aan deze voorwaarde? 85. Pentest fasen: Bij penetration tests worden drie fasen onderscheiden. Wat is het doel van Reconnaissance, wat is de rol van payload in de Exploit fase, en hoe heet de tweede fase?