De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Cryptografische algoritmen en protocols (3)

Verwante presentaties


Presentatie over: "Cryptografische algoritmen en protocols (3)"— Transcript van de presentatie:

1 Cryptografische algoritmen en protocols (3)
Cursus informatiebeveiliging Eric Laermans – Tom Dhaene

2 Hashfuncties Principe
creëert hashwaarde h (“hash code” / “message digest” / “hash value”) van bericht M notatie: h = H(M) vast aantal bits 128 voor MD5, 160 voor SHA-1 soort vingerafdruk voor bericht (“fingerprint”) vereist (meestal) gebruik van andere cryptografische techniek om beveiligingsfunctie (bv. authenticatie) te realiseren ook wel “modification detection code” genoemd wijziging van bericht wijzigt bijhorende hashwaarde cf. boek H. 11, p. 351vv. Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

3 Vereisten (o.a. voor berichtauthenticatie)
Hashfuncties Vereisten (o.a. voor berichtauthenticatie) moet werken voor berichten van willekeurige lengte hashwaarde eenvoudig te berekenen Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

4 Vereisten (o.a. voor berichtauthenticatie)
Hashfuncties Vereisten (o.a. voor berichtauthenticatie) éénrichtingsfunctie (“one-way function”) gegeven h, niet haalbaar bericht x te vinden waarvoor h=H(x) zwakke botsingsbestendigheid (“weak collision resistance”) gegeven bericht x, niet haalbaar bericht y (≠x) te vinden waarvoor H(y)=H(x) sterke botsingsbestendigheid (“strong collision resistance”) niet haalbaar verschillende berichten x en y te vinden waarvoor H(y)=H(x) De hoofdbedoeling van de “éénrichtingsfunctie”-eigenschap is dat het niet mogelijk zou zijn het oorspronkelijke bericht te achterhalen uit de hashwaarde alleen. Meestal is dit geen al te groot probleem, aangezien een hashfunctie de grote berichtruimte afbeeldt op de veel kleinere hashwaardenruimte. Het nut van de twee andere eigenschappen zwakke en sterke botsingsbestendigheid zullen we zien bij het genereren van digitale handtekeningen. Deze twee laatste eisen maken de al te eenvoudige ietwat naïeve implementaties van hashfuncties (bv. m.b.v. XOR-operaties) onbruikbaar. Er bestaan toepassingen waarbij de vereiste van sterke botsingsbestendigheid overbodig is. Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

5 Vereisten (o.a. voor berichtauthenticatie)
Hashfuncties Vereisten (o.a. voor berichtauthenticatie) alternatieve naamgeving preimage resistance one-way function second preimage resistance pseudo-preimage resistance weak collision resistance collision resistance strong collision resistance deze naamgeving is meer gebruikelijk in de wereld van de cryptografie Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

6 Typisch gebruik van hashfunctie
afzender Alice ontvanger Bob hash- fie leesbaar bericht leesbaar bericht leesbaar bericht Hash Hash vertrouwelijke sleutel Alice publieke sleutel Alice hash- fie vergelijk Hash In dit gebruik van een hashfunctie voor berichtauthenticatie wordt gebruik gemaakt van een asymmetrisch encryptiealgoritme (voor de versleuteling van de niet-geheime hashwaarde). De versleutelde hashwaarde is de “digitale handtekening” van het bijhorende leesbare bericht. Dit is ook 1 van de meest courante schema’s voor de digitale handtekening (zie ook verder), waarbij als encryptiealgoritme RSA of ElGamal kan gebruikt worden. encr. decr. Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

7 Typisch gebruik van hashfunctie
Principe authenticatie van communicerende entiteit A(lice) alleen A(lice) kan deze bepaalde sleutel gebruiken in communicatie met B(ob) authenticatie van verstuurd bericht gewijzigd bericht zou andere (versleutelde) hashwaarde opleveren toevoegen van telsequentie in bericht niet mogelijk om te knoeien met volgorde van berichten telsequentie beveiligd door (versleutelde) hashwaarde Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

8 Typisch gebruik van hashfunctie
Vereiste van zwakke botsingsbestendigheid indien afwezig, mogelijk leesbaar bericht te vervangen door ander bericht met zelfde hashwaarde zal immers zelfde versleutelde hashwaarde opleveren kennis van vertrouwelijke sleutel niet nodig geen garantie meer voor authenticiteit van oorsprong van bericht of voor data-integriteit voor goede hashfunctie met hashwaarde van n bits moet genereren van zo’n vervalst bericht moeilijk zijn inspanning van de orde 2n Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

9 Typisch gebruik van hashfunctie
Vereiste van sterke botsingsbestendigheid belangrijk bij contractuele verbinding anders mogelijk voor aanvaller twee varianten van zelfde bericht te genereren met verschillende inhoud maar zelfde hashwaarde laten tekenen van het ene bericht door tegenpartij, levert ook digitale handtekening van tegenpartij op voor ander bericht zal immers zelfde versleutelde hashwaarde opleveren kennis van vertrouwelijke sleutel niet nodig geen onweerlegbaarheid meer achteraf voor goede hashfunctie met hashwaarde van n bits moet genereren van zo’n vervalst bericht moeilijk zijn inspanning van de orde 2n/2 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

10 Sterke botsingsbestendigheid
Probleem sterke botsingsbestendigheid veel moeilijker te realiseren dan zwakke botsingsbestendigheid kwetsbaar voor “verjaardagsaanval” haalt naam uit paradoxaal hoge waarschijnlijkheid dat 2 personen binnen een groep hun verjaardag op dezelfde dag vieren hashwaarde van n bits: N = 2n mogelijke hashwaarden Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

11 Sterke botsingsbestendigheid
Probleem sterke botsingsbestendigheid kwetsbaar voor “verjaardagsaanval” waarschijnlijkheid dat minstens 2 berichten uit groep van k berichten zelfde hashwaarde hebben is: P(N,k)=1–N!/((N – k)! Nk) uit basiseigenschappen probabiliteit (reken na!) te benaderen (1 ≪ k ≪ N) als P(N,k)≈1–exp(-k2/(2N)) waaruit k ≈ -N1/2 ln(1–P(N,k)) voor P(N,k) = 0,99 is k ≈ 4,6 × N1/2 ≈ 4,6 × 2n/2 dit is best mogelijke resultaat met hashwaarde van n bits Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

12 Sterke botsingsbestendigheid
Probleem sterke botsingsbestendigheid gebruik variant op “verjaardagsaanval” genereer k ≈ 2n/2 varianten van oorspronkelijk bericht bijvoorbeeld door te spelen met aantal spaties (met 64 facultatief in te voegen spaties kan men 264 berichtvarianten genereren) bereken hashwaarde van alle varianten uit deze eerste groep genereer k ≈ 2n/2 varianten van vervalst bericht bereken hashwaarde van alle varianten uit deze tweede groep Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

13 Sterke botsingsbestendigheid
Probleem sterke botsingsbestendigheid gebruik variant op “verjaardagsaanval” aantoonbaar dat waarschijnlijkheid dat er varianten uit groep 1 en 2 met zelfde hashwaarden bestaan P(N,k)≈1–exp(-k2/N) is benadering voor P(N,k) ≈1– kC0 × N–kCk / NCk met NCk=N!/(k! (N–k)!): aantal combinaties van k elementen uit groep van N) laat geselecteerd bericht uit groep 1 tekenen levert ook digitale handtekening voor geselecteerd bericht uit groep 2 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

14 MD5 MD5 voor “Message Digest”
van Ron Rivest (zelfde als achter RC4, RSA,) hashwaarde van 128 bits niet echt voldoende meer voor sterke botsingsbestendigheid moet beschouwd worden als gekraakt door cryptanalyse, althans voor sterke botsingsbestendigheid nog steeds veel gebruikt zou niet meer gebruikt mogen worden tenminste niet waar sterke botsingsbestendigheid vereist is (in andere contexten wel nog bruikbaar) Voor meer informatie over botsingen die bekomen werden met de MD5 hashfunctie: En voor de nieuwe ontwikkeling (misbruiken van de kwetsbaarheid van MD5 om een valse certificatie-autoriteit op te stellen – sterk aangeraden als lectuur): “MD5 considered harmful today: Creating a rogue CA certificate,” van Alexander Sotirov, Marc Stevens, Jacob Appelbaum, Arjen Lenstra, David Molnar, Dag Arne Osvik, Benne de Weger: Intussen zijn ook de andere eigenschappen (eenrichtingsfunctie en zwakke botsingsbestendigheid) door cryptanalyse verzwakt, maar zonder echt praktische gevolgen (effectieve sterkte van resp. 123,4 en 116,9 bits i.p.v. 128 bits). Voor advies (IETF) rond veiligheidsaspecten van gebruik van MD5: Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

15 SHA-1 (“Secure Hash Algorithm”, NIST)
hashwaarde van 160 bits betere sterke botsingsbestendigheid dan MD5 hoewel cryptanalyse ook SHA-1 verzwakt heeft en dus aan vervanging toe werkt op tekstblokken van 512 bits nodige aanvulling (“padding”) voorzien zodat invoertekst een veelvoud van 512 bits is veel gebruikt, maar iets trager dan MD-5 Voor meer informatie over hoe SHA-1 verzwakt is door cryptanalyse (vereiste inspanning van de orde van 269 en intussen zelfs maar 261 in plaats van 280): Het algoritme is dus ook wel enigszins aan vervanging toe! Zie hiervoor ook het advies van NIST zelf: Er zijn op een bepaald ogenblik zelfs geruchten geweest dat een aanval met inspanning van de orde 252 mogelijk zouden zijn, maar het artikel dat dit beweerde, is later weer ingetrokken. Ook andere claims zijn nog niet helemaal geverifieerd. Voor advies (IETF) rond veiligheidsaspecten van gebruik van MD5: Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

16 SHA-1 Vulling (“padding”) invoer in blokken van 512 bits
bericht aangevuld tot de totale lengte gelijk is aan 448 mod 512 vulling bestaat uit 1-bit, gevolgd door nodig aantal 0-bits vulling bestaat uit 1 tot 512 bits toevoegen van lengte van het oorspronkelijke bericht als woord van 64 bits (meest significante byte eerst) maximaal 264 bits voor invoer totale lengte is dan veelvoud van 512 bits Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

17 SHA-1: verwerking van 1 tekstblok
5 × 32 bits voor tekstblok q telling vanaf 0 A B C D E CVq A SHA-1 compressiefunctie (80 stappen) B C D E tekst exp 512 bits A B C D E optelling mod 232 + + + + + A B C D E CVq+1 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

18 SHA-1: bufferinitialisatie
5 × 32 bits A B C D E CV0 = IV 1ste byte hexadecimale notatie A: B: EF CD AB 89 C: 98 BA DC FE D: E: C3 D2 E1 F0 laatste byte Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

19 SHA-1: verwerking van 1 tekstblok
5 × 32 bits A B C D E CVq A SHA-1 compressiefunctie (80 stappen) B C D E tekst exp 512 bits A B C D E optelling mod 232 + + + + + A B C D E CVq+1 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

20 SHA-1: generatie invoer compressiefunctie
W0 W1 W15 tekst (512 bits) woorden van 32 bits W0 W2 W8 W13 W16 LS(1) Wt –16 Wt –14 Wt–8 Wt–3 LS(1) Wt LS(1) staat voor een circulaire bitverschuiving naar links. W63 W65 W71 W76 LS(1) W79 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

21 SHA-1: verwerking van 1 tekstblok
5 × 32 bits A B C D E CVq A SHA-1 compressiefunctie (80 stappen) B C D E tekst exp 512 bits A B C D E optelling mod 232 + + + + + A B C D E CVq+1 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

22 SHA-1: stap t van de compressiefunctie
B C D E 20 ≤ t ≤ 39 40 ≤ t ≤ 59 60 ≤ t ≤ 79 0 ≤ t ≤ 19 ft + LS(5) + optellingen mod 232 + Wt LS(30) + Kt De opeenvolgende waarden voor ft en Kt zijn: 0 ≤ t ≤ 19: ft(B,C,D) = (BC)(BD) Kt = 5A827999 20 ≤ t ≤ 39: ft(B,C,D) = BCD Kt = 6ED9EBA1 40 ≤ t ≤ 59: ft(B,C,D) = (BC)(BD)(CD) Kt = 8F1BBCDC 60 ≤ t ≤ 79: ft(B,C,D) = BCD Kt = CA62C1D6 De opeenvolgende waarden van Kt komen overeen met het gehele deel van respectievelijk 230×21/2, 230×31/2, 230×51/2 en 230×101/2 A B C D E ft(B,C,D) = (BC)(BD) Kt = 5A827999 ft(B,C,D) = BCD Kt = 6ED9EBA1 ft(B,C,D) = B  C  D Kt = CA62C1D6 ft(B,C,D) = (BC)(BD)(CD) Kt = 8F1BBCDC Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

23 SHA-1: verwerking van 1 tekstblok
5 × 32 bits A B C D E CVq A SHA-1 compressiefunctie (80 stappen) B C D E tekst exp 512 bits A B C D E optelling mod 232 + + + + + A B C D E CVq+1 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

24 SHA-2 (“Secure Hash Algorithm”, NIST)
4 versies: SHA-224, SHA-256, SHA-384, SHA-512 langere hashwaarden (224, 256, 384 en 512 bits) dus betere sterke botsingsbestendigheid werkt op tekstblokken van 512 bits (SHA-224 en SHA-256) 1024 bits (SHA-384 en SHA-512) nodige aanvulling (“padding”) voorzien zodat invoertekst een veelvoud van 512, resp bits is nog niet veel gebruikt iets trager dan SHA-1 cf. boek H. 11.5, p. 366vv. Wie geïnteresseerd is kan meer uitleg vinden op de website van het NIST zelf: In SHA-384 en SHA-512 is de toegevoegde lengte van het bericht uitgedrukt als een woord van 128 bits (tegen 64 voor SHA-1 en SHA-256), wat de maximale lengte van het te hashen bericht “beperkt” tot 2128 bits (ongeveer 4  1037 bytes, wat overeen zou komen met een stapel DVD’s van de orde van 109 lichtjaar). Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

25 SHA-512 Vulling (“padding”) invoer in blokken van 1024 bits
bericht aangevuld tot de totale lengte gelijk is aan 896 mod 1024 vulling bestaat uit 1-bit, gevolgd door nodig aantal 0-bits vulling bestaat uit 1 tot 1024 bits toevoegen van lengte van het oorspronkelijke bericht als woord van 128 bits (meest significante byte eerst) maximaal 2128 bits voor invoer totale lengte is dan veelvoud van 1024 bits Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

26 SHA-512: verwerking van 1 tekstblok
8 × 64 bits voor tekstblok q telling vanaf 0 A B C D E F CVq G H A SHA-512 compressiefunctie (80 stappen) B C D E F G H tekst exp 1024 bits A B C D E F G H optelling mod 264 + + + + + + + + A B C D E F CVq+1 G H Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

27 SHA-512: bufferinitialisatie
8 × 64 bits A B C D E F CVq G H CV0 = IV 1ste byte hexadecimale notatie A: 6A 09 E F3 BC C9 08 B: BB 67 AE CA A7 3B C: 3C 6E F FE 94 F8 2B D: A5 4F F5 3A 5F 1D 36 F1 E: 51 0E F AD E D1 F: 9B C 2B 3E 6C 1F G: 1F 83 D9 AB FB 41 BD 6B H: 5B E0 CD E laatste byte Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

28 SHA-512: verwerking van 1 tekstblok
8 × 64 bits A B C D E F CVq G H A SHA-512 compressiefunctie (80 stappen) B C D E F G H tekst exp 1024 bits A B C D E F G H optelling mod 264 + + + + + + + + A B C D E F CVq+1 G H Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

29 SHA-512: generatie invoer compressiefunctie
W0 W1 W15 tekst (1024 bits) woorden van 64 bits s0(x) = ROTR1(x)  ROTR8(x)  SHR7(x) s1(x) = ROTR19(x)  ROTR61(x)  SHR6(x) W0 W1 W9 W14 W16 s0 s1 + Wt –16 Wt –15 Wt–7 Wt–2 s0 s1 + Wt  staat voor een bitgewijze “exclusieve of”. + staat voor de optelling modulo 264 ROTRn(x) staat voor een circulaire verschuiving over n bits naar rechts van het argument x (dat uit 64 bits bestaat) SHRn(x) staat voor een verschuiving over n bits naar rechts van het argument x (dat uit 64 bits bestaat); het resultaat wordt aangevuld met n nullen links W63 W64 W72 W77 s0 s1 + W79 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

30 SHA-512: verwerking van 1 tekstblok
8 × 64 bits A B C D E F CVq G H A SHA-512 compressiefunctie (80 stappen) B C D E F G H tekst exp 1024 bits A B C D E F G H optelling mod 264 + + + + + + + + A B C D E F CVq+1 G H Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

31 SHA-512: stap t van de compressiefunctie
B C D E F G H 0 ≤ t ≤ 79 S0 Maj Ch + + S1 + optellingen mod 264 T2 + + Wt T1 + + Kt De functie Maj(a,b,c) = (a AND b)  (a AND c)  (b AND c) is de meerderheidsfunctie. De functie Ch(e,f,g) = (e AND f)  (NOT e AND g) is de keuzefunctie. Beide functies moeten bitgewijze geïnterpreteerd worden. 0(x) = ROTR28(x)  ROTR34(x)  ROTR39(x) 1(x) = ROTR14(x)  ROTR18(x)  ROTR41(x) De opeenvolgende waarden van Kt komen overeen met de eerste 64 bits van het fractionele deel van de derdemachtswortel van de 80 eerste priemgetallen (voor een priemgetal p is dit 264(p1/3-p1/3). Voor een overzicht van de concrete waarden verwijs ik naar (p ). A B C D E F G H Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

32 SHA-512: verwerking van 1 tekstblok
8 × 64 bits A B C D E F CVq G H A SHA-512 compressiefunctie (80 stappen) B C D E F G H tekst exp 1024 bits A B C D E F G H optelling mod 264 + + + + + + + + A B C D E F CVq+1 G H Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

33 SHA-3 (“Secure Hash Algorithm”, NIST)
problemen met bestaande algoritmen MD5 “afgeschreven” SHA-1 significant verzwakt SHA-2 gebouwd op zelfde principes als SHA-1 nood aan iets nieuws !! Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

34 SHA-3 (“Secure Hash Algorithm”, NIST)
competitie uitgeschreven (eind 2007) door NIST voor nieuwe generatie hashfuncties: SHA-3 proces vergelijkbaar met AES-competitie 51 aanvaarde inzendingen op 14 inzendingen werden geselecteerd voor een tweede selectieronde op 5 inzendingen geselecteerd voor een derde en finale ronde op selectie nieuwe standaard op daarna nog finale standardisatie Zie voor meer details bij het NIST zelf: Van de 51 oorspronkelijke inzendingen werden er al 10 door hun auteurs teruggetrokken omdat ze als gekraakt erkend werden. Nog 16 andere inzendingen werden verworpen wegens de ontdekking van significante zwakheden bekend zijn. Daarna werden nog eens 11 inzendingen onvoldoende bevonden (wegens potentiële zwakheden in de componenten of wegens onvoldoende prestaties) om door te stoten naar de tweede selectieronde. Tenslotte werden 5 kandidaat-hashfuncties geselecteerd voor de derde ronde, waaruit dan het finale SHA-3-algoritme geselecteerd zal worden, wat niet betekent dat de 9 in ronde 2 niet weerhouden algoritmen echte zwakheden vertonen Bij de inzendingen vinden we enkele bekende namen terug: Niet weerhouden voor de tweede ronde: Bart Preneel (COSIC-KULeuven) met LANE ( Ron Rivest (MIT) met MD6 ( En in de finale ronde: Bruce Schneier met Skein ( Joan Daemen (een van de auteurs van Rijndael-AES) met Keccak ( De andere overblijvende algoritmen in de finale ronde: BLAKE ( Grøstl ( JH ( Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

35 SHA-3 And the winner is… Keccak product van
STMicroelectronics Zaventem NXP Semiconductors Haasrode auteurs: Guido Bertoni Joan Daemen (jawel, die van AES) Michaël Peeters Gilles Van Assche met steun van het IWT Een presentatie met een pak meer details dan hier in de les gegeven: Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

36 SHA-3 Eigenschappen Keccak totaal ander ontwerp dan MD-/SHA-familie
werkt met “sponge function” (sponsfunctie) i.p.v. met compressiefunctie lengte hashwaarde eenvoudig aanpasbaar voorlopig nog sterk parametriseerbaar dit evolueert vermoedelijk nog in finale norm prestaties grootteorde beter dan SHA-2 in hardware licht beter dan SHA-2 in software maar beter parallelliseerbaar Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

37 Sponge function: “absorbing”
SHA-3 Sponge function: “absorbing” p0 p1 f pn-1 Rn Cn f R0 f R1 C0 C1 S0 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

38 Sponge function: “squeezing”
SHA-3 Sponge function: “squeezing” h0 h1 Rn f Rn+1 f Cn Cn+1 Sn Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

39 SHA-3 Sponge function toestand S van b bits per blok
R-sectie: bitrate van r bits per blok C-sectie: capaciteit van c bits per blok met b = r + c en S = (R,C) data-invoer in n blokken van r bits: pi na nodige padding etc. transformatiefunctie f typisch met groot aantal transformatierondes “absorbing”: Si+1 = f(Ri pi,Ci) eerste n stappen “squeezing”: Sn+i+1 = f(Rn+i,Cn+i) hi = Rn+i Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

40 SHA-3 Sponge function laat toe hashwaarden van willekeurige lengte te genereren beveiliging hangt af van grootte van c en van kwaliteit van functie f en natuurlijk ook van lengte van hashwaarde eventueel ook voor andere doeleinden te gebruiken maskerfuncties (zoals voor RSA-PSS en RSA-OAEP) stroomversleuteling cryptografische pseudo-random-getallengenerator Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

41 Code voor berichtauthenticatie
MAC Code voor berichtauthenticatie Engels: Message Authentication Code (MAC) ook: cryptografisch controlegetal (“cryptographic checksum”) code toegevoegd aan een bericht afhankelijk van een geheime sleutel controle dat bericht niet gewijzigd is controle dat bericht van juiste afzender komt met inclusie van teller in bericht: controle dat bericht in juiste volgorde komt notatie: MAC = CK(M) met K: geheime sleutel; M: bericht cf. boek H. 12, p. 386vv. Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

42 Vergelijkbaar met symmetrische encryptie
MAC Vergelijkbaar met symmetrische encryptie zowel afzender als ontvanger beschikken over geheime sleutel gelijkaardig authenticatiemechanisme beperking dat ontvanger ook over geheime sleutel beschikt Verschil met symmetrische encryptie geen vertrouwelijkheidsfunctie “irreversibele encryptie”: geen decryptie mogelijk Verwantschap met hashfunctie maar MAC afhankelijk van geheime sleutel, terwijl hashwaarde alleen van bericht afhangt Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

43 MAC geheime sleutel client server Alice Bob MAC -fie MAC -fie
leesbaar bericht leesbaar bericht leesbaar bericht MAC -fie MAC MAC MAC -fie vergelijk Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

44 MAC Principe authenticatie van communicerende entiteit Alice
alleen Alice kan deze bepaalde sleutel gebruiken in communicatie met Bob verificatie door Bob: opnieuw genereren van MAC die bij bericht hoort op basis van gedeelde geheime informatie Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

45 MAC Principe authenticatie van verstuurd bericht
gewijzigd bericht zou andere MAC opleveren gedeeltelijke data-integriteit toevoegen van telsequentie in bericht niet mogelijk om te knoeien met volgorde van berichten telsequentie beveiligd door MAC beveiliging tegen replay Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

46 Nut t.o.v. symmetrische encryptie
MAC Nut t.o.v. symmetrische encryptie zelfde authenticatiefunctie als symmetrische encryptie maar geen vertrouwelijkheidsfunctie laat scheiding toe van beide beveiligingsfuncties bv. verificatie authenticiteit door afzonderlijke (vertrouwde) server (op basis van MAC) bv. vertrouwelijkheid tot aan werkstation (op basis van encryptie) laat authenticatie toe ook na ontvangst bericht afzonderlijk bijhouden van MAC en geheime sleutel laat latere verificatie toe bv. tegen wijzigen van programmabestanden Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

47 Vereisten (MAC van n bits)
geen vertrouwelijkheid, “known plaintext”-aanval mogelijk afleiden van geheime sleutel hieruit moet moeilijk zijn veronderstel: geheime sleutel niet gekend door aanvaller uit observatie van M, CK(M) moet het onhaalbaar zijn nieuw bericht M’ te construeren, waarvoor CK(M’) = CK(M) nodig voor (beperkte) data-integriteit Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

48 Vereisten (MAC van n bits)
veronderstel: geheime sleutel niet gekend door aanvaller waarden van CK(M) moeten uniform verdeeld zijn over ruimte van mogelijke MAC’s: voor twee willekeurige berichten M en M’ moet waarschijnlijk-heid dat CK(M’) = CK(M) gelijk zijn aan 2-n nodig tegen “chosen plaintext” aanval: heeft dan complexiteit 2n–1 ook als M’=f(M) moet waarschijnlijkheid dat CK(M’) = CK(M) gelijk zijn aan 2-n nodig tegen zwakke punten in MAC: geen mogelijkheid om selectieve wijzigingen aan bericht aan te brengen Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

49 MAC Ideale MAC alleen kwetsbaar voor een aanval met brute kracht
uitproberen van alle mogelijke geheime sleutels voor sleutellengte van k bits: orde 2k berekeningen zoeken naar berichten die gegeven MAC-waarde genereren vergelijkbaar met zwakke botsingsbestendigheid voor hashfunctie vereist “chosen text”-aanval (of kennis van geheime sleutel) aanvaller kan MAC’s niet zelf genereren zonder geheime sleutel moeten dus door slachtoffer gegenereerd worden voor blokgrootte van n bits: orde 2n berekeningen Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

50 Mogelijke implementatie: CBC-MAC
symmetrische encryptie van volledig bericht in CBC-mode laatste blok als MAC (blokgrootte van symmetrisch encryptiealgoritme) kan m.b.v. DES (Data Authentication Algorithm) kan ook met andere algoritmen voor blokversleuteling AES, Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

51 CBC-MAC geheime sleutel encryptie  encryptie  leesbare datablokken
IV=0 encryptie P1 C1 encryptie P2 C2 leesbare datablokken encryptie De intialisatievector (IV) wordt doorgaans op nul gesteld voor het berekenen van een CBC-MAC. Het volledige leesbare bericht wordt in CBC-mode versleuteld, maar alleen het laatste versleutelde blok (of soms slechts een deel ervan) wordt gebruikt als MAC. De lengte van de MAC kan dus afhangen van de blokgrootte van het gebruikte symmetrisch encryptiealgoritme. PN–1 CN–1 :MAC encryptie PN CN Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

52 HMAC HMAC maakt gebruik van hashfunctie veranderlijke sleutellengte
MD-5 of SHA-1 (uitbreidbaar naar andere hashfuncties) doorgaans sneller dan symmetrische encryptiefunctie veranderlijke sleutellengte lengte MAC gelijk aan lengte hashwaarde van gebruikte hashfunctie cf. boek H. 12.5, p. 399vv. Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

53 HMAC Werking: HMACK(M) = H[(K+opad) || H{(K+ipad) || M}]
H: gebruikte hashfunctie (MD5, SHA-1,…) met eigen initialisatievector IV b: blokgrootte voor hashfunctie (in bits) n: lengte hashwaarde voor hashfunctie (in bits) K: geheime sleutel (lengte ≥ n) indien langer dan b, wordt hashwaarde van sleutel berekend (herleid tot sleutel van n bits) K+: geheime sleutel aangevuld met 0-bits tot blokgrootte b M: leesbaar bericht opad / ipad: vulling (“padding”) van b/8 bytes herhaling van “36” / “5C” in hexadecimale notatie Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

54 HMAC Veiligheid gerelateerd aan veiligheid van gebruikte hashfunctie
genereren van een vervalste MAC (zonder over geheime sleutel te beschikken) aantoonbaar even moeilijk als berekenen van resultaat van compressiefunctie van onderliggende hashfunctie bij onbekende en willekeurige initialisatievector vereist uitputting sleutelruimte (orde 2n) of “verjaardagsaanval” Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

55 HMAC Veiligheid genereren van een vervalste MAC (zonder over geheime sleutel te beschikken) aantoonbaar even moeilijk als vinden van botsingen in hashfunctie met onbekende en willekeurige initialisatievector vereist “verjaardagsaanval”, maar slechts mogelijk in “known plaintext”-situatie (niet “chosen plaintext” zoals bij hashfunctie) niet mogelijk MAC’s off-line te genereren vereist observatie koppels (tekst, MAC) met zelfde geheime sleutel gegenereerd Doordat de aanvaller niet in staat is zelf koppels (tekst, MAC) te genereren (als hij de geheime sleutel niet kent), in tegenstelling tot de situatie voor de hashfunctie waar hij gemakkelijk zelf koppels (tekst, hashwaarde) kon produceren, moet hij een effectieve stroom afluisteren en voldoende koppels afluisteren om met grote waarschijnlijkheid twee koppels te vinden met zelfde MAC. Voor een hashfunctie met een hashwaarde van n bits, zal hij van de orde van 2n/2 dergelijke koppels nodig hebben om zulke botsingen te vinden. Bovendien zullen het geen koppels kunnen zijn die hij zelf gekozen heeft, zoals het geval was bij de “verjaardagsaanval” tegen een hashfunctie. MD5 kan in deze context dus nog altijd bruikbaar zijn, ook al is het niet meer bruikbaar voor op hashfuncties gebaseerde digitale handtekeningen. Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

56 CCM-mode voor encryptie
MAC: CCM-mode CCM-mode voor encryptie Counter with CBC-MAC zorgt voor vertrouwelijkheid en authenticatie geschikt voor blokencryptiealgoritmen met blokgrootten van 128 bits wel voor AES, niet voor DES of 3-DES eerst berekenen van CBC-MAC van tekst authenticatie daarna versleutelen van tekst in CTR-mode vertrouwelijkheid beperking op hergebruik geheime sleutel maximaal 261 blokken Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

57 MAC: CCM-mode Werking zelfde sleutel K voor CBC-MAC en voor CTR
authenticatie datablokken (B0, B1,…, Br) volgens zekere formattering gelegenheidswoord of “nonce” N volledig bepaald door eerste datablok (B0) geassocieerde data A geauthentiseerd, maar niet vertrouwelijk (kan leeg zijn) effectieve payload P geauthentiseerd en vertrouwelijk (kan leeg zijn) bereken Y0 = EK[B0] en Yi = EK[Bi  Yi-1] (1 ≤ i ≤ r) MAC = t meest significante bits van Yr t minstens 32 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

58 MAC: CCM-mode Werking vertrouwelijkheid C = (P  S) || (MAC  s0)
data: effectieve payload P (L bits) genereer m “counter”-blokken (m = L/128) Ctr0, Ctr1,…, Ctrm bereken Sj = EK[Ctrj] neem de L meest significante bits van S1 || S2 ||…|| Sm: S t meest significante bits van S0: s0 C = (P  S) || (MAC  s0) Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

59 Digitale handtekening
Digitale handtekening (“digital signature”) vereisten: verificatie van de auteur van een bericht authenticatie van oorsprong verificatie van het tijdstip waarop bericht aangemaakt is vermijden van “replay” (data-integriteit) authenticatie van de inhoud van het bericht op het tijdstip waarop het aangemaakt is data-integriteit verifieerbaar door derden Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

60 Digitale handtekening: implementatie
generatie door Alice leesbaar bericht leesbaar bericht leesbaar bericht kan bv. ook tijdstip bevatten dig. sign. vertrouwelijke sleutel Alice hash- fie Hash Dit is de typische implementatie voor RSA-gebaseerde digitale handtekeningen (waarbij het gebruikte asymmetrisch encryptiealgoritme in dit geval RSA is; ook andere algoritmen kunnen gebruikt worden). Het vereist een hashfunctie met sterke botsingsbestendigheid. Dit komt overeen met het voorbeeld dat gegeven was bij de illustratie van het mogelijke gebruik van hashfuncties. encr. Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

61 Digitale handtekening: implementatie
verificatie hash- fie leesbaar bericht verificatie kan uitegevoerd worden door iedereen die publieke sleutel van Alice kent onweerlegbaarheid dat bericht door Alice gegenereerd werd dig. sign. publieke sleutel Alice vergelijk decr. Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

62 Digitale handtekening
DSS/DSA Digital Signature Standard/Algorithm alternatief schema t.o.v. klassiek signatuurschema op basis van asymmetrische encryptie gebruikt unieke geheime waarde voor elk getekend bericht eenzelfde bericht krijgt niet tweemaal na elkaar dezelfde digitale handtekening (nuttig tegen “replay”-aanvallen). afgeleid uit veralgemeende ElGamal-signatuur Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

63 DSA: signatuur generatie door Alice vertrouwelijke sleutel Alice hash-
leesbaar bericht leesbaar bericht dig. sign. vertrouwelijke sleutel Alice hash- fie Hash In plaats van een traditioneel asymmetrisch encryptiealgoritme, wordt een signatuuralgoritme gebruikt, waarbij de digitale handtekening van het bericht uit 2 onderdelen bestaat. Alleen het eerste van beide onderdelen zorgt voor authenticatie, het tweede deel is alleen nodig om verificatie toe te laten. Deze digitale handtekening is afhankelijk van het bericht en van de vertrouwelijke sleutel, maar ook van globale publieke parameters die gebruikt worden voor de handtekening (onderdeel van de publieke sleutel). sign. Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

64 DSA: verificatie verificatie hash- fie publieke sleutel Alice verif.
leesbaar bericht dig. sign. publieke sleutel Alice Bij de verificatie is er een iets grondiger verschil tussen het DSA-schema en het traditionele schema m.b.v. asymmetrische encryptie. De hashwaarde en de digitale handtekening worden als invoer gebruikt voor het verificatiealgoritme. De uitvoer van het verificatiealgoritme wordt dan vergeleken met het tweede deel van de digitale handtekening. Naast de publieke sleutel van Alice zelf heeft men bij verificatie ook nog de globale publieke parameters nodig van het gebruikte signatuursschema. verif. vergelijk Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

65 Globale publieke parameters
DSA Globale publieke parameters priemgetal p (L bits; 2L–1 < p < 2L) L veelvoud van 64 (van 512 tot 1024) priemgetal q (160 bits; 2159 < q < 2160) q | (p – 1) g = h(p – 1)/q mod p (1 < h < (p – 1)) g ≠1, generator voor unieke deelgroep van orde q in Zp* Vertrouwelijke sleutel gebruiker willekeurige x (0 < x < q) Publieke sleutel gebruiker y = gx mod p Sleutelpaar KU = {p,q,g,y} KR = {x} Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

66 Digitale handtekening voor bericht M
DSA Digitale handtekening voor bericht M kies random k (0 < k < q) geheim, verschillend voor elk te tekenen bericht bereken signatuur (r, s) r = (gk mod p) mod q s = [k-1 (H(M) + x r)] mod q alleen te genereren door wie k en x kent r af te leiden uit s, M en publieke sleutel meest rekenintensieve taak berekening van gk eventueel vooraf te berekenen Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

67 Verificatie signatuur (r’, s’) voor bericht M’
DSA Verificatie signatuur (r’, s’) voor bericht M’ bereken w = (s’)-1 mod q u1 = [H(M’) w] mod q u2 = (r’ w) mod q v = [(gu1 yu2) mod p] mod q verifieer of v = r’ (reken na!) meest rekenintensieve opdracht: berekening van v vergt typisch beduidend meer rekentijd dan verificatie van RSA-signatuur (met kleine publieke exponent) maar minder dan digitale handtekening m.b.v. RSA (waarom?) Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

68 Digitale handtekening m.b.v. ECC
DSA met ECC Digitale handtekening m.b.v. ECC publieke parameters globaal gekozen EC met q elementen punt G op EC met orde n Ln is het aantal bits voor n eigen aan gebruiker publieke sleutel Pa = a G (publiek) vertrouwelijke parameters waarde a Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

69 Generatie van digitale handtekening
DSA met ECC Generatie van digitale handtekening bereken h = H(M) beperk h tot de Ln meest linkse bits: z kies random k (0 < k < n) geheim, verschillend voor elk te tekenen bericht bereken signatuur (r, s) (x1, y1) = k G meest rekenintensieve taak r = x1 mod n s = [k-1 (z + a r)] mod n er moet wel getest worden dat r en s niet nul zijn alleen te genereren door wie k en a kent Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

70 Verificatie van digitale handtekening (r, s)
DSA met ECC Verificatie van digitale handtekening (r, s) bereken h = H(M) beperk h tot de Ln meest linkse bits: z bereken: w = s-1 mod n u1 = (z w) mod n u2 = (r w) mod n v = (x1, y1) = u1 G + u2 Pa meest rekenintensieve taak verifieer of x1 = r Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

71 RSA-PSS Doelstelling Werking
signatuurschema dat aantoonbaar even moeilijk te vervalsen zou zijn als oplossen van RSA-probleem onder zekere (aanvaardbare) veronderstellingen Werking op basis van hashfunctie en maskerfunctie (“Mask Generation Function” of MGF) veronderstelling ideale hashfuncties gedrag vergelijkbaar met een random functie botsingsbestendig Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

72 RSA-PSS Werking enkele parameters H: gebruikte hashfunctie
hLen: lengte (in bytes) van uitvoer van hashfunctie sLen: lengte (in bytes) van gebruikte (random) “salt” emBits: maximale bitlengte van te gebruiken getal voor “encoded message” in RSA emLen: lengte (in bytes) van “encoded message” emLen = emBits / 8 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

73 RSA-PSS: schema H H  M M’ Pad1 H(M) salt DB Pad2 salt EM maskedDB
M: leesbaar bericht H: hashfunctie MGF: Mask Generation Function DB: Data Block EM: Encoded Message Pad1, Pad2: vulling / “padding” H M’ Pad1 H(M) salt H DB Pad2 salt bereken de hashwaarde van bericht M: H(M) bepaal M’ = Pad1 || H(M) || salt (Pad1 bestaat uit 8 0-bytes) bereken de hashwaarde van M’: H(M’) genereer het datablok DB = Pad2 || salt (Pad2 bestaat uit emLen–hLen–sLen–1 0-bytes, gevolgd door 1 byte met waarde 0x01) genereer het masker voor het datablok dbMask = MGF(H(M’), emLen–hLen–1) bepaal maskedDB = DB  dbMask stel de 8emLen–emBits eerste bits van maskedDB gelijk aan 0 (dit zorgt ervoor dat de uiteindelijke EM kleiner is dan de RSA-modulus) genereer het geëncodeerde bericht EM = maskedDB || H(M’) || 0xBC (als laatste byte van EM wordt een vaste vulling gebruikt met waarde 0xBC) Het zo geëncodeerde bericht EM kan dan versleuteld worden volgens het traditionele RSA-algoritme. dbMask MGF EM maskedDB H(M’) 0xBC Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

74 RSA-PSS Werking MGF invoer uitvoer
byte-string van veranderlijke lengte (mgfSeed) gewenste uitvoerlengte (maskLen) uitvoer pseudorandom, maar deterministisch masker (“mask”) van gevraagde uitvoerlengte Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

75 RSA-PSS Werking MGF voorbeeld van mogelijke MGF
maximale lengte masker: 232 × hLen vertrek van lege byte-string T zet teller (4 bytes) C ← 0 voer volgende bewerking uit tot voldoende lange string bekomen wordt: T ← T || H(mgfSeed || C); C ← C+1 selecteer maskLen meest significante bytes van T Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

76 RSA-PSS Conclusies door structuur en salt zijn multiplicatieve eigenschappen onbruikbaar voor het genereren van valse signaturen structuur in laatste bytes en eerste 0-bits structuur door salt zowel in datablok (DB) als in M’ te laten voorkomen met ideale hashfunctie onhaalbaar vervalste signatuur te realiseren zonder RSA-probleem zelf op te lossen aantoonbaar (voordeel t.o.v. PKCS#1-v1.5) opgenomen in PKCS#1-v2.1 Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

77 RSA-OAEP Doelstelling Werking
een encryptieschema dat aantoonbaar even moeilijk te kraken zou zijn als oplossen van RSA-probleem onder zekere (aanvaardbare) veronderstellingen Werking op basis van hashfunctie en maskerfunctie (“Mask Generation Function” of MGF) veronderstelling ideale hashfuncties gedrag vergelijkbaar met een random functie botsingsbestendig Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

78 RSA-OAEP Werking enkele parameters
k: lengte (in bytes) van RSA-modulus H: gebruikte hashfunctie L: optioneel label geassocieerd met bericht (default: lege string) lengte niet groter dan maximum voor invoer van hashfunctie anders foutbericht: “label too long” hLen: lengte (in bytes) van uitvoer van hashfunctie mLen: lengte (in bytes) van leesbaar bericht niet groter dan k – 2 hlen – 2 anders foutbericht: “message too long” Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

79 RSA-OAEP: schema H   L DB H(L) PS M seed EM maskedDB
L: label (optioneel) M: leesbaar bericht H: hashfunctie seed: random bytestring MGF: Mask Generation Function DB: Data Block EM: Encoded Message PS: vulling / “padding string” seed dbMask MGF bereken de hashwaarde van label L: H(L) bepaal DB = H(L) || PS || M (PS bestaat uit k – mlen – 2 hlen – 2 0-bytes) genereer een random bytestring met lengte hlen: seed genereer het masker voor DB: dbMask = MGF(seed, k–hLen–1) bepaal maskedDB = DB  dbMask genereer het masker voor seed: seedMask = MGF(maskedDB, hLen) bepaal maskedSeed = seed  seedMask bepaal EM = 0x00 || maskedSeed || maskedDB Het zo geëncodeerde bericht EM kan dan versleuteld worden volgens het traditionele RSA-algoritme. Voor de MGF kan dezelfde keuze gemaakt worden als voor RSA-PSS. seedMask MGF EM 00 maskedSeed maskedDB Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)

80 RSA-OAEP Conclusies door pseudo-random seed
geen probleem met kleine exponenten geen probleem met beperkte berichtruimte door structuur zijn multiplicatieve eigenschappen van RSA onbruikbaar structuur door eerste 0-byte in EM en door H(L) en PS (0-bytes) in DB geen “adaptive chosen ciphertext”-aanval mogelijk ook niet “million message attack”-variant aantoonbaar opgenomen in PKCS#1-v2.0 (en ook in v2.1) Informatiebeveiliging Department of Information Technology – Internet Based Communication Networks and Services (IBCN)


Download ppt "Cryptografische algoritmen en protocols (3)"

Verwante presentaties


Ads door Google