uitwerkingen van het eerste huiswerk
Download
Report
Transcript uitwerkingen van het eerste huiswerk
Eerste Huiswerk Security
7 mei 2014, Werkcollege, BBG.
Kijk het huiswerk van je collega’s na en schrijf de namen van de nakijkers linksboven en het
totaalcijfer rechts onder de namen van de makers. Bespreek het werk met de makers op het
werkcollege van 14 mei en geef het huiswerk dan aan de assistenten.
Cijfer: Te behalen 16pt, cijfer is (totaal plus 1) gedeeld door 1,6.
1. AES: Bekijk de AES comic op
http://www.moserware.com/2009/09/stick-figure-guide-to-advanced.html.
(a) Op welke plaat staan de namen van de uitvinders en hoe luiden die?
(b) Welke plaat behandelt Kerckhoffs’ Principe?
(c) Welke drie cryptografische principes worden toegepast in de vier subronden van AES?
Oplossing: (a) Zie Act 1 Scene 14 (1/14): Vincent Rijmen en Joan Daemen.
(b) Zie 2/04, Secrecy is only in the key.
(c) Confusion wordt toegepast in de Substitute Bytes stap. Diffusion zit in de Shift Rows
en in de Mix Columns. Key secrecy zit in de Add Round Key.
Beoordeling: Voor a en b en c elk 1pt, dus totaal 3.
2. Ontcijfer de codes: Hieronder staan drie zinnen die met drie verschillende encryptiemethoden zijn versleuteld. Ontcijfer deze zinnen, beschrijf wat voor encryptie er gebruikt
was en geef waar mogelijk de gebruikte encryptiekey. (Een is een spatie.)
(1) THEA VSK UECTRIIY BS EERTINEERASS.NT
(2) OLA DVYKA NLNLCLU KVVY NLYHYK ALS KPL LJOA LLU JVVSL RPRRLY PZ
(3) KP PSWGGXJVQF LVQP KX NSP PZD NVK RKDSIVEEK OWGNKPWSOOVOWKPWKP NVK SJWVQN
FJSSX OWSSP ZR QK WK IKJEKP RKW OZRRKP ZE NK UKXFHZJJKDKO ZE TXVQNSD
Oplossing: (a) Het vak security is bereinteressant, een transpositiecipher waarin
steeds groepjes van drie letters zijn herordend volgens E(abc) = cab.
(b) Het wordt gegeven door Gerard Tel die echt een coole kikker is, Caesarcipher met k = 7.
(c) En natuurlijk zijn er dan nog die megahippe studentassistenten die altijd
klaar staan om je te helpen met sommen op de werkcolleges op vrijdag, Substitutie, hier kun je achter komen door een frequentie-analyse.
Beoordeling: (Ik had de ciphers niet zelf verzonnen!) Voor elke goede plaintext een punt,
mits er wel bij staat hoe de versleuteling werkt.
U = Antwoorden zonder Uitleg, max 1pt voor het geheel.
3. 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 iets lager een 0 en daarboven staat de
GGD. Maar dit blad is niet goed! 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.
Oplossing: Koen heeft zijn formule net niet lang genoeg doorgetrokken. De laatste staat
in cel B49. Het is bekend dat je bij Euclides een langst mogelijke staart krijgt als je begint
met twee opeenvolgende Fibonacci getallen. (Iets preciezer gezegd: de kleinste getallen die
een staart van k delingen geven zijn Fk en Fk+1 .) De Fibonacci’s F49 en F48, 7778742049 en
4807526976, hebben nog net tien cijfers en worden pas goed uitgerekend als de deelformule
ook nog in cel B50 staat.
Beoordeling: Totaal 2pt voor een kloppend (dwz, dus eigenlijk niet-kloppend) paar en
uitleg over hoe het gevonden is.
4. Perfecte Verhulling en One-Time Pad: (a) Wanneer noemen we een cryptosysteem
perfect verhullend?
(b) Bewijs dat het One Time Pad perfect verhullend is.
(c) Waarom wordt het One Time Pad niet meer gebruikt (twee redenen)?
Oplossing: (a) Dictaat Def 1.2: Bij elke combinatie van Plaintext X en ciphertext Y is
er een key k die X op Y afbeeldt: Ek (X) = Y .
(b) De sleutel bij OTP is een bitrij ~k die evenlang is als de plaintext ~x; de ciphertekst ~y is
E~k (~x) = ~x ⊕ ~k. Het is perfect veilig omdat het aan definitie 1.2 voldoet: bij elke ~x en ~y is
er een ~k waarvoor E~k (~x) = ~y , namelijk ~k = ~x ⊕ ~y .
(c) Je kunt dit niet meer gebruiken omdat (1) de sleutel zo lang is als de boodschap dus
onpraktisch lang, (2) je de sleutel ook via een perfect veilig kanaal moet afspreken dus op
internet niet uitvoerbaar.
Beoordeling: Tot 4pt maximaal. Voor (a) en (b) elk 1pt. Voor (c) elke reden 1pt.
Beoordelingscodes:
L = “Veilig want sleutel zo Lang als plaintekst”; helaas dit is wel een noodzakelijke maar
geen voldoende voorwaarde.
5. Machtsverheffen: Exponentiatie in Zn (berekening van ab 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 a17 ? Hoe vaak voor a15 ? Waarom?
(b) Geef de procedure voor Indisch Machtsverheffen (mag iteratief of recursief).
(c) Waarom is 65537 een geschikte exponent voor RSA?
Oplossing: (a) Vijf want a17 = (((a2 )2 )2 )2 .a. Zes als je gebruikt a15 = ((a2 .a)2 .a)2 .a,
maar als je bedenkt dat a15 = (a3 )5 , kan het ook met vijf.
0
0
0
0
(b) In Haskell-stijl: a1 = a, a2b = (ab )2 , a2b +1 = (ab )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: 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).
6. Pseudonimisatie: Pseudonimiseren is een methode om identificerende gegeven te verwijderen uit een bestand met persoonsgegevens.
(a) Wat is het verschil tussen Pseudonimiseren en Anonimiseren van data?
(b) Een ziekenhuis voert pseudonimisering zelf uit door BurgerServiceNummers in onder-
zoeksbestanden te vervangen door de SHA1-hashwaarde ervan. Waarom geeft dit te weinig
bescherming tegen re-identificatie?
Oplossing: (a) Bij anonimiseren vervang je identificerende gegevens door unieke, eenmalige strings. In een registratie verschijnen wel alle transacties, maar die van eenzelfde
individu zijn niet meer te koppelen. Bij Pseudonimiseren wordt de string herhaalbaar afgeleid van persoonskenmerken. Verschillende records van eenzelfde individu krijgen dezelfde
waarde, zodat records koppelbaar zijn.
(b) Weliswaar is SHA1 erg veilig, maar het aantal BSNs is te klein (91 miljoen slechts).
Gegeven een pseudoniem is het met een PC in enkele minuten mogelijk, die allemaal te
SHA1en en het resultaat te vergelijken; je kunt dus terug van een pseudoniem naar een
BSN.
Beoordeling: Voor beide deelvragen een punt.
A = Identificatie aan de hand van Adresgegevens in de records is natuurlijk niet mogelijk,
omdat die gegevens worden verwijderd.
I = Het risico van Indirecte herleidbaarheid door de opbouw van uitgebreide Profielen
bestaat altijd, en is dus niet specifiek een nadeel van de methode uit (b).
K = Noemt Koppelbaarheid niet als kenmerk bij (a).
O = Omkeerbaarheid is niet het verschil tussen Ano en pseudo, beide bestaan in omkeerbare en onomkeerbare varianten.
P = Herleiding door Profielen, dit kan bij elke methode.
S = SHA1 is gebroken; dit antwoord is niet voldoende, want de aanval door enumeratie
van alle BSNs is sowieso mogelijk (en sneller), ook bij een perfecte hashfunctie.
T = Vergeet bij (b) te noemen dat je Terug kunt rekenen, -1/2pt.
V = Herleiding door Verdere gegevens, maar die worden niet opgeslagen.