Eerste Herdeeltoets Security

Eerste Herdeeltoets Security
20 augustus 2014, 13.30 – 15.30, BBG001.
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: Vraag 1, 3 en 5 elk 2pt, V2 1pt, V4 3pt.
1. Kerckhoffs: (a) Hoe luidt Kerckhoffs’ Principe?
(b) Noem (vijf) redenen om van dit principe uit te gaan.
Oplossing: (a) Zie dictaat p4: Een aanvaller kent het cryptosysteem, alleen de sleutel is hem
onbekend.
(b) 1. Sleutels zijn flexibel hernieuwbaar; 2. Je wilt standaard software gebruiken; 3. Algoritmen zijn niet geheim te houden; 4. Weinig informatie is beter geheim te houden; 5. Publieke
screening versterkt de methode.
Beoordeling: Voor (a) 1pt, voor (b) .5 als ze er twee weten en 1 vanaf drie.
S = Klopt niet: als het algoritme gekraakt wordt hoef je alleen de sleutel te vervangen.
2. AES Rondes: Uit welke vier stappen bestaat een ronde van AES? Hoeveel ronden worden
er gebruikt?
Oplossing: Een ronde bestaat uit Substitutie, Rijrotatie, Kolomvermenigvuldiging en Sleutelbijtelling (Subbytes, Shift Row, Mix Column, Add Key). Het aantal ronden is 10, 12 of 14.
Beoordeling: 1 punt voor goede beantwoording.
3. Diffie-Hellman key agreement: In het Diffie-Hellman protocol heeft elke partij een private
(x) en een publieke (y) sleutel.
(a) Welke relatie geldt tussen deze twee getallen?
(b) Beschrijf hoe Alice en Bob een symmetrische sleutel kunnen overeenkomen.
Oplossing: Zie dictaat sectie 4.4.1. Er is afgesproken in welke groep (modulus p) er wordt
gerekend en een getal g ∈ Zp is aan iedereen bekend.
(a) De relatie is y = g x ; vanwege de moeilijkheid van het logaritmeprobleem is het onmogelijk
om x uit y te bepalen.
(b) Beide partijen verheffen de public van de andere tot de eigen geheime macht; de resultaten
xA
xB
zijn gelijk, dus yB
= K = yA
. De gemeenschappelijke sleutel sleutel wordt afgeleid van K.
Beoordeling: Samen 2, voor elke deelvraag 1.
4. 3DES en AES: Hoewel 3DES niet direct onveilig was, is DES/3DES vervangen door AES.
(a) Wat zijn de sleutellengtes van DES, 3DES en AES?
(b) Hoewel 3DES een vrij langere sleutel heeft, bestaat er een KPA tegen 3DES met een
complexiteit van 2112 . Beschrijf (kort) deze aanval.
(c) Wat is het geheugengebruik van die aanval, en is deze in de praktijk een probleem voor
3DES?
Oplossing: (a) DES heeft sleutels van 56b, 3DES heeft drie keer zoveel ofwel 168b, bij AES
kun je kiezen tussen 128, 192 of 256b.
(b) Het is de meet-in-the-middle aanval waarbij je deellijsten aanlegt van alle combinaties van
(k1 , k2 ) (2112 lang) en k3 . Encryptie van X met een combinatie uit de eerste lijst moet je
matchen met decrypties van Y uit de tweede lijst.
(c) De tijdcomplexiteit is 2112 , het kan in 256 geheugen als je de eerste lijst niet expliciet
opslaat. Dit is minder dan 2128 (tijd BFA tegen 128b AES) maar nog altijd zoveel dat dit bij
lange na niet mogelijk is.
Beoordeling: Max 3pt, 1 voor elke deelvraag.
C = Zegt: Differenti¨ele Cryptanalyse tegen 3DES; kan niet, DES is hiertegen uiterst goed
beveiligd.
D = Zegt: lijsten bij middle-aanval Dunnen niet uit omdat je 64-bits waarden zoekt in een
lijst van 2112 lang. Leuk bedacht, maar je lange lijst dunt natuurlijk wel uit omdat je de
64-bits waarden daarin zoekt in een lijst van 256 lang.
L = Lineaire kosten, zegt: 2DES kraken kost twee keer DES, en 3DES drie keer; fout, moet
zijn kwadratisch resp. kubisch.
P = Teveel Paren nodig in MitM; nee, niet juist.
T = Tabelaanval; niet goed, dit is geen KPA maar CPA, en de precomputatie van 2168 is out
of reason.
U = Moet iets Uitgebreider.
V = Te Vaag.
5. Rainbow Table: De OV-chip gebruikt(e) een sleuteltje van 48 bits, waarmee het systeem
kwetsbaar bleek tegen een aanval met Rainbow Tables.
Geef een schatting van de hoeveelheid opslagruimte die nodig is voor een dergelijke aanval op
de OV-chip.
Oplossing: Gebruikelijk is de opslag van ongeveer N 2/3 eindpunten, dat zijn er bij ons 232
ofwel 4 miljard. Als elk eindpunt ook 48 bits is (6B), is dat ongeveer 25GB.
Verdere overwegingen die je kunt maken: (1) Hoeveel punten reken je door (trekking/dekking
verhaal)? Voor onafhankelijke trekkingen geldt de regel τ = − ln(1 − δ), dus met gewenste
δ = 0.9 vind je τ = 2.30. Je moet τ · N keys bereken dus 2.30 · 248 = 6.48E14. (2) De
tabelmethode staat een trade-off toe, je kunt kleinere of grotere zoektijden toestaan en dat
scheelt in geheugen.
Beoordeling: Te behalen 2pt. Minimaal wil ik in het antwoord iets zien van N 2/3 (1pt) en
de opslag per punt moet worden meeberekend (1pt). Beschouwing over de τ is extra, dit hoeft
niet in het antwoord. Er moet natuurlijk wel een motivatie bij, alleen een getal is niet goed.
A = Vergeet de factor A (aantal tabellen van Hellman).
C = Cubic root, gebruik N 1/3 ipv N 2/3 .
D = Dekking-verhaal zit er goed in, +1/2.
P = Mist de schatting van Punt-omvang.