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

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

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

Opgaven Signatures Security, 17 okt 2018, Werkgroep.

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

Opgaven Eigenschappen van Getallen Security, 2018, Werkgroep.

Opgaven RSA Security, 15 okt 2018, Werkgroep.

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

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

RSA. F.A. Grootjen. 8 maart 2002

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

slides10.pdf December 5,

De cryptografie achter Bitcoin

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

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.

7 Deelbaarheid. 7.1 Deelbaarheid WIS7 1

Netwerken. Beveiliging Cryptografie

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

Opgaven Rekenen met Getallen Security, 2018, Werkgroep.

Getaltheorie groep 3: Primitieve wortels

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

Code signing. Door: Tom Tervoort

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

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

ICT en de digitale handtekening. Door Peter Stolk

Het RSA Algoritme. Erik Aarts - 1 -

Het programma ELGAMAL

Cryptografie: de wetenschap van geheimen

Cryptografische beveiliging op het Internet

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

Security. Eerste tentamen

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

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

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

FACTORISATIE EN CRYPTOGRAFIE

Zwakke sleutels voor RSA

Getallenleer Inleiding op codeertheorie. Cursus voor de vrije ruimte

7.1 Het aantal inverteerbare restklassen

Ringen en Galoistheorie, 1e deel, 19 april 2012

Elliptische krommen en digitale handtekeningen in Bitcoin

Examen Algoritmen en Datastructuren III

NLT Gecertificeerde Module. Cybersecurity. Petra van den Bos Marko van Eekelen Erik Poll Radboud Universiteit Nijmegen

Machten, exponenten en logaritmen

Toepassingen van de Wiskunde in de Digitale Wereld

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

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

Complex multiplication constructions in genus 1 and 2

1.0 Voorkennis. Voorbeeld 1: Los op: 6x + 28 = 30 10x.

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

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

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

De wiskunde en toepassing. van de cryptologie

4. Exponentiële vergelijkingen

Bijzondere kettingbreuken

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

Inhoudsopgave. Onderzoeksrapport: SSL; Dion Bosschieter; ITopia

Tweede Toets Datastructuren 29 juni 2016, , Educ-Γ.

OPLOSSINGEN VAN DE OEFENINGEN

1.0 Voorkennis. Voorbeeld 1: Los op: 6x + 28 = 30 10x.

6 Ringen, lichamen, velden

REKENVAARDIGHEID BRUGKLAS

Transport Layer Security. Presentatie Security Tom Rijnbeek

Opgaven Hash Tabellen Datastructuren, 15 juni 2018, Werkgroep.

Opgaven Registers Concurrency, 29 nov 2018, Werkgroep.

Uitwerkingen toets 12 juni 2010

Vergelijkingen oplossen met categorieën

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

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

Geldwisselprobleem van Frobenius

Opgeloste en onopgeloste mysteries in de getaltheorie

Future-proof Tester: Blockchain

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

1.1 Tweedegraadsvergelijkingen [1]

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

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

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

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.

Wanneer zijn veelvouden van proniks proniks?

RINGEN EN LICHAMEN. Aanvullende opgaven met uitwerkingen

Sterke authenticatie met mobiel. Kennissessie 4 april 2019 Lex Borger

PG blok 4 werkboek bijeenkomst 4 en 5

Cryptografie met behulp van elliptische krommen

Lineaire algebra 1 najaar Lineaire codes

6.0 Voorkennis AD BC. Kruislings vermenigvuldigen: Voorbeeld: 50 10x ( x 1) Willem-Jan van der Zanden

1 Rekenen met gehele getallen

Oefentoets uitwerkingen

Opgeloste en onopgeloste mysteries in de getaltheorie

Smart cards en EMV. Joeri de Ruiter. Digital Security, Radboud University Nijmegen

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

2 Modulus en argument

Gehelen van Gauss. Hector Mommaerts

Tweede Toets Datastructuren 26 juni 2019, , Educ-β.

Opgaven Sommaties Datastructuren, 8 mei 2019, Werkgroep.

Hoofdstuk 1 - Drie manieren om een getal te schrijven

Tentamen algebra 1 Woensdag 24 juni 2015, 10:00 13:00 Snelliusgebouw B1 (extra tijd), B2, B3, 312

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

Getallen, 2e druk, extra opgaven

6 Ringen, lichamen, velden

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

Transcriptie:

Tweede Toets Security 2 november 2015, 8.30 10.30, Educ-α. Motiveer je antwoorden kort! Zet je mobiel uit. Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op hoe je de vraag interpreteert en beantwoord de vraag zoals je hem begrijpt. Cijfer: Maak de vragen 1, 2 en 3 op de eerste bladzijde, vragen 4, 5 en 6 op de tweede bladzijde, vragen 7 en 8 op de derde bladzijde. Vragen 1, 2, 5 en 8 zijn 2pt, vraag 3 is 1pt, vragen 4, 6 en 7 zijn 3pt. Te halen 18pt, T2 is totaal plus 1 gedeeld door 1,8. 1. φ: Geef de definitie van φ(m). Hoeveel is φ(77)? Hoeveel is φ(2 t )? Oplossing: Het aantal elementen van Z m dat een multiplicatieve inverse heeft heet φ(m). Voor het product van verschillende priemgetallen geldt φ(p.q) = (p 1)(q 1) dus φ(77) = 60. Verzameling Z m heeft m elementen, waarvan die elementen inverteerbaar zijn die geen factor met m gemeen hebben. Voor een tweemacht zijn dat de oneven getallen, dat is de helft, dus φ(2 t ) = 2 t 1. Beoordeling: Tot 2pt, 1 voor de definitie en 60, 1 voor de tweemacht. E = 2 t 1 1 en 2 t 1 + 1 zijn niet hetzelfde als 2 t 1, 1/2pt. P = 1 is geen Priemgetal, dus veelvouden van 1 niet verwijderen! Z = 77 is geen priemgetal (en ook niet 7x5x2). 2. Inverse: Wat is de inverse van 203 modulo 1004? Oplossing: Gebruik extended Euclides (resten 192, 11, 5, 1), vind 1 = 37 1004+183 203, en concludeer de inverse is 183. Beoordeling: Voor goed antwoord 183, 2pt. C = Je kan het makkelijk Checken door 183x203, geeft 37149 is 37x1004 + 1. M = Min 203 heet het Tegengestelde, Engels Opposite, of Complement, maar niet de Inverse. V = Vond je tot 5 = 18 1004 + 89 203 goed dan 1pt.

3. Authenticatie tegen Meaconing: Een land dat werd bespioneerd door een Amerikaanse drone kon deze verkeerd laten vliegen door valse GPS-signalen te spoofen (Meaconing). Waarom is het niet mogelijk om GPS signalen betrouwbaar te authenticeren met een HMAC (Hashed Message Authentication Code)? Oplossing: HMAC is een vorm van symmetrische crypto; de key zou in elke ontvanger aanwezig moeten zijn. Na het slopen en analyseren van één ontvanger zou het spoofen weer kunnen plaatsvinden. Ook ligt het formaat van de berichten al helemaal vast, en is voor de HMAC bits geen ruimte meer. Beoordeling: Voor 1 of meer van deze antwoorden 1pt. A = Vijand kan Ander bericht maken met dezelfde hash; nee, dit wordt voorkomen door zwakke botsingsvrijheid. B = HMAC is niet Bindend; nee, is ook niet nodig omdat we de satelliet vertrouwen. C = Het GPS signaal bevat geen Coördinaten van de ontvanger. G = Oude apparaten niet meer te Gebruiken; met wat fantasie ligt dit net dicht genoeg bij het ruimte-argument voor 1/2pt. L = Het uitrekenen duurt te Lang; nee hoor, een HMAC is zo snel te berekenen dat toepassing nooit voor performance problemen zorgt. P = Legt uit waarom satellieten geen Public Key kunnen hebben; maar HMAC werkt altijd met een shared secret. R = Door Ruis krijg je nooit precies dezelfde hashwaarde; dit zou wijzen op onbetrouwbare communicatie, daar moet je zeker iets aan doen voordat je het systeem gebruikt. R = Hash is te kraken met een RainbowTable. Nee, als de IK te kort is kun je HMAC wel kraken. Maar zo stom zijn de Amerikanen nou ook weer niet. En daar is een BFA voor nodig ipv een RT. T = Een HMAC valideert alleen de inhoud maar niet de timing; de vijand kan daarom een ontvanger spoofen met het echte maar vertraagde signaal. Dit is juist, en voor puntentoekenning moet wel iets over timing worden gezegd. V = HMAC is te Vervalsen; nee zeker niet, bij onbekende Integrity Key.

4. Existential Forgery: Als een aanvaller een digitaal bericht met geldige handtekening produceert, spreken we van een vervalsing of forgery. We onderscheiden existential en universal forgery. (a) Waarom wordt een existential forgery doorgaans niet als groot probleem beschouwd? (b) Hoe kun je hashing gebruiken om existential forgery onmogelijk te maken? (c) Laat zien hoe een existential forgery wordt gedaan voor RSA handtekeningen. Oplossing: (a) Bij een existential forgery kan de aanvaller het bericht niet kiezen, maar krijgt het bericht als uitkomst van zijn berekening. De aanvaller heeft geen controle over de inhoud van het bericht, en daarom is de kans heel klein dat het bericht een gebruiker kan schaden. (b) Bij Hashed Signing wordt niet het bericht rechtstreeks ondertekend, maar de fingerprint (hash) ervan. Een existential forgery levert een (willekeurige) getekende hashwaarde op, maar vervolgens kan de aanvaller geen bericht verkrijgen dat die waarde als fingerprint heeft (wegens de one-way eigenschap van de hash). (c) Neem een willekeurig getal S en bereken M = S e. Je hebt een M verkregen waarvoor S een geldige handtekening is. Beoordeling: Tot 3pt, een per deelvraag. Beoordelingscodes: D = Bij de normale Sig-berekening is de Decryptie-exponent d nodig; dit is de private key en als je deze gebruikt, geldt het resultaat niet als een vervalsing. P = Een vast patroon opnemen is een mogelijk antwoord bij (a) maar niet bij (b). S = Beroep op (Sterke of zwakke) botsingsvrijheid is niet goed bij (b). E.V. gaat namelijk niet om het vervangen van een legitiem ondertekend bericht, maar om het produceren van een volkomen nieuw bericht. V = Omdat het te Voorkomen is met hashing; dit scoort heeeel laag bij (a) omdat hashing niet altijd wordt gebruikt, en dit ook al scoort bij (b). 5. Certificaten: Wat zijn de belangrijkste componenten van een sleutelcertificaat? Wat zijn de belangrijkste problemen van de certificaat-gebaseerde PKI? Oplossing: Een certificaat bindt een identiteit (naam) met een publieke sleutel door de handtekening van de certificaatverlener (CA). Naast deze belangrijkste drie componenten zijn er geldigheidstermijnen, gebruiksvoorwaarden, etc. Door gebrek aan scoping kan een probleem bij een certificaatverlener al het verkeer op internet onveilig maken. Beoordeling: Totaal 2pt, voor elk deelantwoord 1. Codes: F = Geen Fingerprint in het certificaat, dat rekent de client zelf na. K = Een certificaat beschermt je alleen als je op een site Komt, niet meer als je er eenmaal bent; onjuist, want bij het controleren van een certificaat wordt ook een sessiekey onderhandeld die je gebruikt tijdens je verdere bezoek. Een fake site kan dus niet zomaar een lopende sessie met een veilige site hijacken. S = Geen Scoping genoemd, max 1/2 voor 2e deelvraag.

6. Blinde RSA decryptie: Iemand heeft Bob een bericht y gestuurd, per ongeluk gecrypt met de public RSA key van Alice. Er geldt dus y = x e (mod m), berekend met de public key van Alice, en Bob wil x weten. Alice stemt erin toe, het bericht ongezien voor Bob te decrypten. Daarom bedenkt Bob een random getal b en geeft hij aan Alice een getal y = y.b ter decryptie. (a) Hoe berekent Alice de decryptie x van een RSA-bericht? (b) Bob kan uit x de juiste decryptie van y berekenen, mits hij over b d beschikt. Hoe? (c) Hoe komt Bob, zonder d te kennen, aan het getal b d? Oplossing: (a) De decryptieformule is x = y d (mod m), hier toegepast op y geeft x = y d. (b) Als Bob k = b d weet, kan hij daardoor delen en x /k = (y d )/b d = (y /b) d = y d = x. (c) In plaats van b wilekeurig te kiezen, neemt Bob een random k en berekent b = k e (mod m) met de public key van Alice. Beoordeling: Tot 3pt, een voor elke deelvraag. Codes: B = Als je Alice vraagt b te decrypten is het niet meer Blind. Bovendien weet je niet of Alice ook bereid is, twee decrypties voor Bob te doen. E = Bob gebruikt de d van zijn Eigen RSA-paar. Nee, het resultaat zal dan niet kloppen!

7. Zero Knowledge met Schnorr: Bij het protocol van Schnorr heeft Bob een publiek getal b. Alice toont door een Commit/Challenge/Respons aan, over getal a te beschikken waarvoor b = g a geldt. De Commit van Alice is een getal s = g r (random r), Bobs Challenge is een random c, en Alice Respons is y = r + a.c (wat voldoet aan g y = s.b c ). (a) Kan een aanvaller, of Bob zelf, bij b een getal a berekenen met g a = b? (b) Waarom is het van belang dat Bob de Commit ziet voordat hij een Challenge geeft? (c) Bob wil extra zekerheid, en verlangt van Alice dat zij, na het geven van s, antwoord geeft op twee challenges c 1 en c 2. Is het protocol dan veiliger of minder veilig? Oplossing: (a) Nee, want a is de logaritme van b, en discrete log is niet te berekenen. (b) Deze check zorgt dat Alice haar s geeft voordat zij c ziet. Stel dat Alice c ziet voordat zij zich heeft vastgelegd op s. Dan kan Alice (ook zonder dat zij a kent) haar commit berekenen als s = g r /b c. Haar random getal r is nu een geldig antwoord omdat g r = s.b c. Alice kan door het protocol komen zonder het geheim te kennen, er is dus schending van Weigering. (c) Antwoord geven op twee challenges bij dezelfde commit onthult het geheim. Als Bob y 1 en y 2 kent zodat g y 1 = s.b c 1 en g y 2 = s.b c 2, kan hij a berekenen als a = y 1 y 2 c 1 c 2 (sec 8.3.2). Bob verkrijgt informatie die hij zelf niet had kunnen berekenen, er is dus geen Zero-knowledge. Als Bob de Weiger-kans (1/q) te groot vindt, kan hij het protocol herhalen met een nieuwe s. Beoordeling: Voor (a) onberekenbaarheid, 1pt. Voor (b), fraude door Prover, 1pt mits formule voor Commit-berekening erbij. Voor (c), fraude door Verifier, 1pt mits formule voor a-extractie erbij. Beoordelingscodes: B = (Bij b) Volgorde maakt voor Bob Bewijsbaar dat hij met Alice heeft gesproken ; onjuist, is niet doel van dit protocol en Bassie kan logs manipuleren. F = (Bij b) Noemt goede reden, maar zonder Formule voor commit, 1/2pt hoogstens. G = Noemt bij b Geen weigering zonder verdere uitleg, 1/2 max. H = Veiliger als je hele protocol Herhaalt? Dit klopt in theorie, is gezien de cheatkans O(1/q) echter vrij zinloos; vraag (c) ging over zelfde commit, slechts 1/2pt en alleen als kwantitatief onderbouwd. N = Zegt Nee (of Ja) zonder motivatie, 0pt. Q = Het aantal mogelijke challenges is q, niet 2! T = Noemt bij (c) goede reden maar niet hoe je a haalt uit Twee responses, 1/2. W = Noemt bij (a) variabelen die Bob niet Weet, bv als in g y = g r.b c. Z = Geeft bij (a) ZK argument; vraag was bedoeld als: zonder protocol dus vooraf, maar dit is ook goed.

8. Versnelling met CRT: Meestal zijn de p en q, factoren van de modulus bij RSA, ongeveer even lang (half zo lang als de modulus). Je collega wil een p gebruiken die tweemaal zo lang is als de q. Welke speedup is dan te verwachten van de Chinese Reststelling bij decryptie? En welke speedup bij encryptie? Oplossing: De lengtes van p en q zijn dan 2 3 k en 1 3k voor een k-bits modulus. (Waarom? Als p en q lengtes k p en k q hebben, is hun product ongeveer k p + k q lang. Uit k p + k q = k en k p = 2k q volgt k p = 2 3 k en k q = 1 3k.) Een exponentiatie kost kubische tijd, dus bij decryptie vervang je eenmaal k 3 door ( 2 3 k)3 plus ( 1 3 k)3. Dat is precies 9 27 k3 dus 1 3 k3. Het uitdelen en terugrekenen is O(k 2 ) dus verwaarloosbaar. Met CRT gaat decryptie dus drie keer zo snel. Bij encryptie heb je aan de CRT meestal niets omdat je de factoren van de modulus niet kent. Beoordeling: Voor juiste uitleg 2pt, 1 voor decryptie en 1 voor encryptie. K = Mocht je de factoren toevallig toch Kennen (wat zeker niet normaal is, dus dit expliciet te noemen), dan kun je bij encryptie een speedup van 5 9 halen omdat encryptie O(k2 ) is; 1/2pt. R = Voor encryptie krijg je alleen het hele punt als je de reden voor geen speedup noemt. T = Toevallige opeenstapeling van onjuistheden met tot slot 3, geen punten. V = Bij standaard RSA is de versnelling inderdaad Vier, deze vraag test of je ook goed snapt waarom, en het resultaat kunt herhalen voor iets gewijzigde gegevens; 0pt.