RING- EN GROEPSHANDTEKENINGEN

Maat: px
Weergave met pagina beginnen:

Download "RING- EN GROEPSHANDTEKENINGEN"

Transcriptie

1 RING- EN GROEPSHANDTEKENINGEN Kristof VERSLYPE Eindverhandeling aangeboden tot het behalen van de graad van licentiaat in de informatica Promotor : Prof. Dr. ir. B. DE DECKER

2 Faculteiten Wetenschappen K.U. Leuven en Toegepaste Wetenschappen Academiejaar Naam en voornaam student : Verslype Kristof Titel : Engelse vertaling : ACM Classificatie: E.3 AMS Classificatie: 94A60 Korte inhoud : Ring- en Groepshandtekeningen Group and Ring Signatures Deze thesis behandelt twee types groepsgeöriënteerde digitale handtekeningen: De ringhandtekening en de groepshandtekening. Een ringhandtekening wordt in naam van een groep entiteiten geplaatst. Een groep wordt op het moment van ondertekenen door de ondertekenaar zelf samengesteld, zonder coördinatie met of medeweten van de andere groepsleden. De identiteit van de echte ondertekenaar kan niet achterhaald worden. De ondertekenaar heeft naast zijn eigen sleutelpaar enkel de standaard publieke sleutels van de andere groepsleden nodig. In een Groepshandtekening zijn er een hele groep gebruikers waarbij elk lid handtekeningen kan plaatsen in naam van de gehele groep. De verifieerder kan niet nagaan welk groepslid precies getekend heeft, tenzij in geval van betwisting of misbruik, dan kan de handtekening geopend worden door een vertrouwde derde partij. Om een groep te construeren is de medewerking van elk groepslid vereist. Daarnaast is voor deze types handtekening een interface en implementatie voorzien in de JCA/JCE, de cryptografische bibliotheek van Java. Eindverhandeling aangeboden tot het behalen van de graad van licentiaat in de informatica Promotor : Prof. Dr. ir. B. De Decker Departement Computerwetenschappen Assessoren : Begeleiders : Dr. ir. J. Ramon ir. P. Rigole Dr. ir. G. Neven L. Demuynck

3 Dankwoord Om te beginnen zou ik mijn twee begeleiders willen bedanken. Gregory Neven, die vanaf de eerste bladzijden thesis nuttige suggesties gaf, de teksten doornam en op bijna alle vragen een antwoord wist, en Liesje Demuynck, die eveneens ruim de tijd nam om de teksten door te nemen en ook nuttige tips naar voren bracht. Daarnaast wil ik ook familie en vrienden bedanken. Vooral dan zij die soms geconfronteerd werden met de gevolgen van mijn vele werk. i

4 Inhoudsopgave 1 Inleiding Situering Doelstellingen Historische schets Structuur van de tekst Enkele notaties Verzamelingen en algoritmes Bits en bit-operaties Reguliere expressies Wiskundige achtergrond Het factorisatieprobleem Basis groepentheorie Het Discrete Logaritme Probleem Het vinden van een generator Restklassen en de indicator van Euler Eénwegsfuncties Cryptografische bouwblokken Pseudo-random generator Encryptie Symmetrische encryptie Asymmetrische encryptie ElGamal Cryptografische hash functie Message Authentication Code (MAC) Zero-knowledge bewijzen Schets Discrete logaritme Anonimizeerder Digitale handtekeningen Concept PKI s en certificaten RSA handtekeningen DSA handtekeningen Groepsgeöriënteerde digitale handtekeningen ii

5 INHOUDSOPGAVE iii 5 Ringhandtekeningen Enkele mogelijke toepassingen Een geheim lekken Designated verifier handtekeningen Literatuur Definities en eigenschappen Het algemene schema Ringhandtekening met enkel RSA sleutels ringhandtekeningen met enkel Schnorr sleutels Voorbeeld gemengd schema Gerandomizeerde handtekeningen Veiligheid Vinden van de publieke sleutels Reductie sleutellengte Vergelijking met andere schema s Drempel ringhandtekeningen Een ringhandtekening openen, inkrimpen of uitbreiden Evolutie Groepshandtekeningen Enkele mogelijke toepassingen Literatuur Variant op ElGamal Kennisbewijzen Gelijke discrete logaritmes Gelijke discrete logaritmes voor 1 uit n y i s Representatie t.o.v. dubbele basis Statische en dynamische groepen Een abstract schema voor statische groepen Veiligheidsvereisten Het Camenisch schema Inleiding Algoritmes Veiligheid en efficiëntie Het Petersen schema Inleiding De algoritmes Veiligheid en efficiëntie Vergelijking met het Camenisch schema Converteerbare groepshandtekeningen Drempel groepshandtekeningen Binding met fysieke entiteit Een abstract schema voor dynamische groepen Implementatie Cryptografische bibliotheken Software interfaces voor cryptografische primitieven Structuur van de cryptografische bibliotheek Java Cryptography Architecture and Extension Engineklassen en Service Provider Interface klassen

6 INHOUDSOPGAVE iv Algemene structuur van het raamwerk Voorbeeldcode Algemene aanpak Ringhandtekeningen Gebruik De verschillende algoritmes De implementatie in de provider Structuur ringhandtekening Groepshandtekeningen Uitbreidingen JCE Een generisch interactief protocol Gebruik De implementatie in de provider De algoritmes Structuur groepshandtekening en openbewijs Hulpklassen Hashen naar een variabel domein Berichtafhankelijke niet-interactieve zero-knowledge bewijzen Encryptie met de ElGamal variant Conclusie 85 A Veralgemeende AOS-ringhandtekeningschema 87 A.1 Veralgemeende handtekeningschema s A.1.1 Hash-En-Eénwegs Type (Type-H) A.1.2 Drie-Fasen Type (Type-D) A.1.3 Compatibiliteit van sleutels A.2 Veralgemeend ringhandtekeningschema B Hashen naar een gekozen domein 91

7 Hoofdstuk 1 Inleiding 1.1 Situering Sinds honderden jaren is er de klassieke handtekening. Vaak zijn het kleine kunstwerkjes. Sinds het einde van de vorige eeuw worden die kunstwerkjes meer en meer vervangen door een reeks van ééntjes en nulletjes: de digitale handtekening. Hoewel deze nieuwsoortige handtekeningen misschien iets minder sierlijk ogen, bieden ze een enorm spectrum aan nieuwe mogelijkheden. Eén deelaspect hiervan zijn de groepsgeöriënteerde digitale handtekeningen. Dit zijn handtekeningen waar bij het plaatsen meerdere personen actief of passief betrokken zijn. In deze thesis focussen we op twee types digitale handtekeningen, die door één persoon geplaats worden in naam van een hele groep waartoe hij zelf behoort. 1.2 Doelstellingen Het doel van deze thesis is vooral het bestuderen van een tweetal groepsgeöriënteerde digitale handtekeningschema s, namelijk ringhandtekeningen en groepshandtekeningen. Een ringhandtekening is een digitale handtekening geplaatst door één ondertekenaar in naam van een hele groep. Een verifeerder kan enkel weten dat het door iemand uit die groep geplaatst is, zonder te kunnen achterhalen wie precies. Buiten de ondertekenaar van de ringhandtekening hoeven de andere groepsleden niet te weten dat ze tot een groep behoren. De groepen worden bovendien op het moment van het ondertekenen zelf samengesteld. Een ringhandtekening is eigenlijk een speciaal geval van een groepshandtekening. Zo n handtekening wordt eveneens door één persoon in naam van een groep geplaatst en een verifeerder kan evenmin achterhalen door wie precies uit de groep de handtekening geplaatst is. Bij dit type is het in geval van betwisting wel mogelijk om de groepshandtekening te laten openen door een vertrouwde derde partij en zo de identiteit van de ondertekenaar vrij te geven. Bovendien is om de groep samen te stellen de medewerking van de verschillende groepsleden wel vereist. In de tweede fase wordt voor beide types een algemene interface geschreven die geïntegreerd is in de JCA/JCE, de cryptografische bibliotheek van Java. Op die manier wordt het mogelijk om schema s van zowel ring- als groepshandtekeningen te implementeren en in de JCA/JCE in te pluggen. Naast een interface 1

8 HOOFDSTUK 1. INLEIDING 2 wordt er voor zowel de ring- als de groepshandtekening een implementatie geschreven die gebruik maakt van die interface. 1.3 Historische schets Het concept groepshandtekening werd in 1991 voor het eerst geïntroduceerd. De studie naar deze types handtekeningen is zeker nog niet ten einde. Nu en dan verschijnen er nieuwe publicaties hierover. Het concept ringhandtekening is pas in 2001 geïntroduceerd en is dus nog zeer jong. Ondanks zijn jeugdige leeftijd is de studie van ringhandtekeningen toch al meer voltooid dan die van groepshandtekeningen. Dit komt enerzijds omdat de cryptografie in die tien jaar niet is blijven stilstaan en er intussen nieuwe bouwstenen, inzichten en methodes gebruikt en gehanteerd worden, die een snellere ontwikkeling mogelijk maken. Bovendien blijkt de extra functionaliteit in groepshandtekeningen, zoals het kunnen openen van de handtekening, een zware factor aan complexiteit toe te voegen. 1.4 Structuur van de tekst De tekst bestaat uit acht hoofdstukken. U bent al bijna klaar met het eerste, de inleiding dus. Hierna worden in het tweede hoofdstuk heel kort enkele vaak gebruikte notaties uitgelegd. Uiteraard is er geen cryptografie zonder wiskunde. In het derde hoofdstuk wordt een theoretische basis gelegd die noodzakelijk is om de algoritmes die in de verdere hoofdstukken aan bod komen te kunnen begrijpen. In het vierde hoofdstuk worden enkele cryptografische basisbegrippen uit de doeken gedaan. Dit zijn de in de cryptografie algemeen gekende bouwstenen die als bouwsteen gebruikt worden door de schema s die in de volgende hoofdstukken aan bod komen. In het vijfde hoofdstuk leggen we uit wat ringhandtekeningen zijn, en wordt uitgebreid een algemeen schema beschreven om daarna onder meer in dieper in te gaan op de veiligheid van het schema. Daarna wordt in hoofdstuk zes de groepshandtekening besproken. Na het concept en enkele meer specifieke bouwstenen uitgelegd te hebben, bespreken en vergelijken we twee zeer gelijkaardige schema s. Op het einde van het hoofdstuk wordt een abstract schema gegeven voor groepshandtekeningen die toelaten dat een groep op een willekeurig moment kan uitgebreid worden. Eens het theoretische deel erop zit, gaan we over naar de meer praktische kant: de implementatie. Eerst bespreken we de algemene structuur van moderne cryptografische bibliotheken, om daarna in te zoomen op de JCA/JCE, een cryptografische bibliotheek in Java. Daarna wordt de algemene aanpak geschets, gevolgd door een uitgebreide bespreking van de interface en een implementatie voor ringhandtekeningen. Ongeveer hetzelfde doen we in de volgende sectie voor groepshandtekeningen. In de laatste sectie wordt kort iets verteld over enkele hulpklassen die nodig waren voor de implementaties van de eerder besproken schema s. Tot slot is er nog het besluit van deze thesis.

9 Hoofdstuk 2 Enkele notaties In de tekst komen sommige notaties regelmatig terug. In plaats van ze telkens opnieuw te definiëren, sommen we ze hieronder kort even op. 2.1 Verzamelingen en algoritmes x r V Indien V en niet-ledige verzameling is, wordt uit V een willekeurige waarde x gekozen. Als er n elementen zijn in V, is de kans dat een welbepaald element gekozen wordt exact 1/n. Alg(invoer) resultaat Het deterministische algoritme Alg dat invoer als invoer meekrijgt, geeft de waarde resultaat als resultaat terug. Alg(invoer) r resultaat Het niet-deterministische algoritme Alg dat invoer als invoer meekrijgt, geeft de waarde resultaat als resultaat terug. Aangezien dit algoritme niet-deterministisch is, zal het bij verschillende uitvoeringen met dezelfde invoer toch hoogstwaarschijnlijk een ander resultaat teruggeven. 2.2 Bits en bit-operaties {0, 1} l Dit duidt op een bitstring die uit l N bits bestaat. {0, 1} Dit duidt op een bitstring die uit een willekeurig aantal bits bestaat. a b Deze notatie wordt vaak gebruikt om de exclusieve of of XOR-operatie mee aan te duiden. Toegepast op bits wordt de operatie gedefinieerd als: 0 0 = = = = 0 Toegepast op bitstrings a 0 a 1... a n 1 en b 0 b 1... b n 1 krijgen we een nieuwe bitstring c 0 c 1... c n 1 waarbij c i = a i b i voor elke i {0,..., n 1}. Bovendien heeft deze operatie de eigenschap dat b a a = b. 3

10 HOOFDSTUK 2. ENKELE NOTATIES 4 a b Met deze notatie duiden we aan dat de strings a en b geconcateneerd worden. Ze worden als het ware aan elkaar gekleefd. Indien a = a 0 a 1... a n 1 en b = b 0 b 1... b n 1 is a b = a 0 a 1... a n 1 b 0 b 1... b n Reguliere expressies Tenslotte vermelden we nog even dat en ook gebruikt kunnen worden als reguliere expressies. Met worden dan 0, 1 of meer elementen aangeduidt en met. exact één element. Er geldt bijvoorbeeld dat (., b, ) matcht met zowel (a, b, c, d) als (c, b), maar niet met (b, d) of (x, y, b, a). Wat die elementen precies zijn zal uit context blijken.

11 Hoofdstuk 3 Wiskundige achtergrond Om de verschillende algoritmes die in deze thesis behandeld worden te kunnen begrijpen, is wat wiskundige voorkennis nodig. Dit hoofdstuk heeft tot doel deze voorkennis beknopt uiteen te zetten. 3.1 Het factorisatieprobleem Definitie 1 (Priemgetal) Een priemgetal is een natuurlijk getal p N\{0, 1} zodat p enkel deelpaar is daar ±1 en ±p. Er zijn oneindig veel priemgetallen en ze hebben speciale eigenschappen, waardoor ze een bijzondere rol in de cryptografie spelen. Definitie 2 (Factorisatie in priemfactoren) Gegeven willekeurig strikt positief natuurlijk getal x N 0. De factorisatie of ontbinding van x in priemfactoren is het product p e1 1 pe pe k k = x waarbij de p i onderling verschillende priemgetallen zijn en de e i N. Deze factorisatie in priemfactoren is voor elke x N 0 uniek. Een belangrijke veronderstelling is dat er geen algoritmes kunnen bestaan die deze ontbinding in een polynomiale tijd kunnen vinden. Het is m.a.w. computationeel onhaalbaar om grote getallen te ontbinden. Dit is één veronderstelling waar een belangrijk deel van de cryptografie op steunt en wordt het factorisatieprobleem genoemd. Ter illustratie: zeer recent (27 April 2004) zijn onderzoekers er in geslaagd om RSA-576 te factoriseren. Dit is een bepaald getal dat 576 bits lang is, wat overeenkomt met 174 decimale cijfers, en is het product van twee ongeveer even lange priemgetallen die geheim gehouden werden. Hiervoor hebben 100 computers gedurende drie maanden al hun rekencapaciteit ingezet Basis groepentheorie Definitie 3 (Groep) Een groep G =< G, > is een niet-ledige verzameling G met een afbeelding ( bewerking of groepsoperatie genoemd) : G 2 G : (x, y) x y die aan de volgende eigenschapppen voldoet: 5

12 HOOFDSTUK 3. WISKUNDIGE ACHTERGROND 6 1. Associativiteit: a, b, c G : a (b c) = (a b) c. 2. Identiteit: e G : a G, e a = a e = a. 3. Inverse: a G, a 1 G : a 1 a = a a 1 = e. Definitie 4 (Abelse groep) Een groep G =< G, > is Abels of commutatief als voldaan is aan de volgende voorwaarde: a, b G : a b = b a Voorbeeld: < Z, + > is een Abelse groep. Wanneer een bewerking in een groep + (optelling) is, spreken we van een additieve groep. De identiteit wordt dan genoteerd als 0 en wordt soms ook het nulelement genoemd. De inverse van een element a in een aditieve groep G wordt meestal genoteerd als a. Wanneer de bewerking in een groep (vermenigvuldiging) is, spreken we van een multiplicatieve groep. De identiteit wordt dan genoteerd als 1 en wordt soms ook het eenheidselement genoemd. De inverse van een element a G wordt meestal genoteerd als 1 a of a 1. Het product a b wordt soms verkort genoteerd als ab. Indien de groepsoperatie uit de context duidelijk is duidt men de groep < G, > ook wel aan met G. De cardinaliteit van een groep is het aantal elementen in de vezameling G = G. a a... a wordt genoteerd als a k met k het aantal maal dat a voorkomt. Merk op dat k ook negatief kan zijn: a 2 = a 1 a 1. De cardinaliteit van een groep wordt ook wel de orde van een groep genoemd. Een groep is cyclisch als er een element g G bestaat zo dat elk element a G kan geschreven worden in de vorm g i, met i Z. In dit geval wordt g een generator van G genoemd en kan de groep als < g, > genoteerd worden. Elke cyclische groep is Abels. Een element a van een groep G heeft een eindige orde als er een positief geheel getal r bestaat zodat a r = e. Het kleinste van dergelijke getallen groter dan 0 wordt de orde van a genoemd. Als er zo geen element gevonden kan worden zegt men dat a een oneindige orde heeft. De orde van de identiteit is altijd 1. Een element van een groep en zijn inverse hebben dezelfde orde. In een eindige groep (dit is een groep met een eindig aantal elementen) heeft elk element een eindige orde die een deler is van G. 3.3 Het Discrete Logaritme Probleem Definitie 5 (Discrete logaritme) Gegeven twee elementen a en b G waarbij < G, > een groep is. De discrete logaritme van a ten opzichte van b is x Z zodat a x = b mod n. Voorbeeld: in < Z 7, > geldt dat In oneindige groep zoals < Z, + > is het heel eenvoudig om de discrete logaritme van een getal a t.o.v. b te vinden, als die al bestaat. Aangezien dit een additieve groep is, hoeven we enkel een x Z te vinden zodat ax = b. In een eindige groep zoals < Z p, > met p priem, is dit niet zo eenvoudig. Op dit

13 HOOFDSTUK 3. WISKUNDIGE ACHTERGROND 7 moment bestaan er geen algoritmes die dit in polynomiale tijd kunnen. Volgens veel wiskundigen is de kans dat zo n algoritme gevonden wordt zeer miniem. Voor grote a, b en p is het dus computationeel onhaalbaar om de discrete logaritme van a t.o.v. b te vinden. Dit wiskundig probleem noemen we het Discrete Logaritme Probleem, of kortweg DLP. Een groot deel van de cryptografie steunt op (de onoplosbaarheid van) dit probleem, dat ongeveer even moeilijk lijkt te zijn als het factorisatieprobleem. 3.4 Het vinden van een generator In sommige cryptografische primitieven is het van belang dat in een cyclische groep G van orde n op een efficiënte wijze een generator g gevonden kan worden. Indien de factorisatie van n gekend is zodat n = p e1 1 pe pe k k, kan dit aan de hand van een gerandomiseerd algoritme: 1. Kies een willekeurige g r G. 2. Doe voor i lopend van 1 tot k: (a) b g n/pi. (b) Indien b = 1, ga naar return g. Soms wensen we geen generator van G zelf, maar van een deelgroep van orde d met d n. Eens we een generator van de volledige groep hebben, kan dit eenvoudig door h = g n/d te berekenen. h is nu een generator van een deelgroep van G die orde d heeft. Indien we een deelgroep wensen van orde q, waarbij q een priemdeler is van p, kan het nog eenvoudiger: Kies een willekeurige g r G en bereken b = g n/q. Herhaal dit tot b 1. De generator is g. 3.5 Restklassen en de indicator van Euler Definitie 6 (Congruentie modulo n) Zij n N 0 en x, y Z. We zeggen dat x congruent is aan y modulo n, notatie x y mod n, als n een deler is van x y, dus als n x y. Een getal x Z is congruent met juist één getal y {0,..., n 1}, dit getal noteren we als x mod n. Er geldt dat x y mod n als en slechts als x mod n = y mod n. Wanneer x positief is, is x mod n gelijk aan de rest van x bij deling door n. Voorbeeld: 20 8 mod 12. Definitie 7 (Restklasse van x modulo n) Zij n N 0 en x Z. De restklasse van x modulo n, notatie Z n, is de verzameling [x] n def = {y Z y x mod n}.

14 HOOFDSTUK 3. WISKUNDIGE ACHTERGROND 8 Als het uit de contex duidelijk is dat de modulus n is, dan schrijven we ook x. Een andere naam voor een restklasse is een congruentieklasse. De vermenigvuldiging en optelling + worden in Z n op triviale wijze gedefinieerd: i, j {0,..., n 1} : i + j = i + j i, j {0,..., n 1} : i j = i j Voorbeeld: in Z 12 geldt dat 5 = {..., 19, 7, 5, 17, 29, 41,...}. Definitie 8 (De verzameling Z n ) Gegeven een natuurlijk getal n N 0. De verzameling Z n is de verzameling van alle elementen uit Z n die relatief priem zijn met n. Z n = {x x Z, ggd(x, n) = 1} Voorbeeld: ϕ(20) = {1, 3, 7, 9, 11, 13, 17, 19}. < Z n, > is een multiplicatieve groep. Een belangrijke eigenschap is dat elke x Z n een unieke inverse y Z n in Z n heeft, zodat dus xy = 1 mod n. Definitie 9 (Indicator van Euler) De indicator van Euler ϕ(n) van een n N 0 voor n 2 is een functie die n afbeeldt op het aantal elementen in Z n die relatief priem zijn met n. ϕ(n) = Z n Voorbeeld: ϕ(20) = 8. Stelling 1 (Formule voor ϕ(n)) Zij n N 0 met n 2 en zij n = p e1 1 pe2... p e k k die factorisatie in priemfactoren van n. Dan hebben we ϕ(n) = (p 1 1)p e1 1 1 (p 2 1)p e (p k 1)p e k 1 k Voorbeeld: ϕ(1680) = ϕ( ) = = 384. Stelling 2 (Congruentie van Euler) Zij n N 0, en a Z met ggd(n, a) = 1, dan hebben we a ϕ(n) 1 mod n. Gevolg 1 (Congruentie van Fermat) Zij p een priemgetal en a Z met p a., dan hebben we a p 1 1 mod p. 3.6 Eénwegsfuncties Een éénwegsfunctie f(x) is een functie die voor een willekeurige x uit het domein van f efficiënt te berekenen is, terwijl het vinden van de inverse f 1 (y) computationeel onhaalbaar is: Voor een willekeurige y is het quasi onmogelijk om een x te berekenen zodat f(x) = y. Een speciaal type éénwegsfunctie is de valdeur éénwegsfunctie. Indien we beschikken over de valdeur informatie t, is het wel mogelijk de inverse functie op een efficiënte manier te berekenen. Beide types functies zijn, zoals we verder meermaals zullen zien, bijzonder handig binnen de cryptografie. 2

15 HOOFDSTUK 3. WISKUNDIGE ACHTERGROND 9 het factorisatieprobleem en het Discrete Logaritme Probleem. Het factorisatieprobleem kunnen we gebruiken om valdeur éénwegsfuncties te construeren, het Discrete Logaritme Probleem om gewone éénwegsfuncties te bouwen. De dag dat één van deze problemen opgelost wordt, krijgt de hedendaagse cryptografie een ongeloofelijke mokerslag, die ook serieuze consequenties op de economie zal hebben. Maar de meeste wiskundigen zijn het er gelukkig over eens dat er geen echt efficiënt (polynomiaal) algoritme voor deze problemen gevonden kan worden. Een ander dreigend zwaard van Damocles boven de cryptografisch wereld zijn de DNA- en kwantumcomputers, waar recent onderzoek naar gedaan wordt. Deze computers hebben een andere tijdscomplexiteit dan klassieke computers. Voorlopig bevindt dit onderzoek zich nog in een (pre-)embryonaal stadium en is er nog bijzonder veel werk aan de winkel. De cryptografische Apocalyps zal dus nog niet voor morgen zijn.

16 Hoofdstuk 4 Cryptografische bouwblokken In dit inleidende hoofdstuk worden enkele basisconcepten, die verder in de thesis nodig zullen zijn, uit de doeken gedaan: In 4.1 bespreken we pseudo-random generators, in 4.2 zowel symmetrische als asymmetrische encryptie. Daarna wordt iets verteld over De cryptografische hashfunctie 4.3 en MAC s 4.4. In 4.5 wordt uitgelegd wat zero-knowledge bewijzen zijn. Heel kort vertellen we iets over de anonimizeerder in 4.6 om daarna uitgebreid in te gaan op digitale handtekeningen in 4.7. We beginnen met uit te leggen wat dit precies is, we geven enkel algoritmes die verder in de thesis van belang zullen zijn, en tenslotte wordt een opsomming gegeven van de belangrijkste groepsgeöriënteerde digitale handtekeningen. 4.1 Pseudo-random generator Op een deterministische machine zoals een computer is het bijzonder moeilijk om echt willekeurige getallen te genereren. Gebruikte technieken zijn o.a. het meten van de tijdstippen waarop de gebruiker of het systeem bepaalde acties (events) uitvoert, of het meten van variabelen zoals de belasting van het systeem. Deze technieken zijn traag Het is bovendien moeilijk te achterhalen hoe willekeurig de gegenereerde getallen wel eigenlijk zijn. Een pseudo-random generator is een cryptografisch primitief dat een groot aantal bits genereert uit een kleine hoeveelheid invoer (het zaadje). Deze invoer kan bijvoorbeeld gegenereerd worden d.m.v. de net beschreven technieken. De pseudo-random generator expandeert deze invoer vervolgens naar een willekeurig lange uitvoerstring. Een pseudo-random generator voldoet aan volgende eigenschappen: 1. De uitvoer doorstaat alle statistische testen om te bepalen of een string al dan niet willekeurig is. Er bestaat dus geen enkel algoritme dat met kans groter dan 50% de gegenereerde uitvoer kan onderscheiden van echte random bits. Dit is equivalent met volgende eigenschap: 10

17 HOOFDSTUK 4. CRYPTOGRAFISCHE BOUWBLOKKEN Indien het zaadje onbekend is, is het onmogelijk te voorspellen welke de volgende bits zijn die gegenereerd zullen worden, onafhankelijk van de reeds gegenereerde uitvoer. Pseudo-random generatie wordt onder meer gebruikt bij het genereren van cryptografische sleutels. Twee voorbeelden van veilige willekeurige generators zijn ANSI X9.17 en Blum-Blum-Shub. De laatste is bewijsbaar veilig, maar helaas hopelaas inefficiënt. 4.2 Encryptie Encyptie is het proces waarbij een leesbare tekst, ook wel klaartekst genoemd, met behulp van een unieke sleutel omgezet wordt naar alternatieve representatie die we de cijfertekst noemen. Deze cijfertekst bevat nog steeds dezelfde informatie als de klaartekst, maar kan er niet zomaar uitgehaald worden. Het omgekeerde proces, waarbij de cijfertekst met een unieke sleutel omgezet wordt in de oorspronkelijke klaartekst, noemen we decryptie. Zonder deze unieke sleutel mag het geëncrypteerde bericht niet ontcijferd kunnen worden. Indien de sleutel die bij de decryptie gebruikt wordt gelijk is aan die bij de encryptie, spreken we over symmetrische encryptie. Als het een andere sleutel betreft, hebben we het over asymmetrische encryptie. Eerst behandelen we symmetrische encryptie, en daarna hebben we het over asymmetrische encryptie Symmetrische encryptie In een symmetrisch encryptieschema gebeurt de decryptie met dezelfde sleutel als bij de encryptie en wordt gedefinieerd aan de hand van drie algoritmes: genereersleutel(κ) r K genereert een willekeurige sleutel met veiligheidsparameter κ (typisch de sleutellengte). Encrypteer(m, K) Enc encrypteert het bericht m met de sleutel K naar de cijfertekst Enc. Decrypteer(Enc, K) m decrypteert Enc met behulp van de sleutel K en noem het resultaat m. Indien dit gebeurt met de sleutel waarmee de encryptie gebeurde, krijgen we het oorspronkelijke bericht, zoniet is het resultaat schijnbaar willekeurige data. Een symmetrisch encryptiesysteem probeert de confidentialiteit of vertrouwelijkheid van het geëncrypteerde bericht, de cijfertekst dus, te waarborgen, zodat enkel diegene met de sleutel de cijfertekst kan ontcijferen. Op die manier wordt het probleem van de confidentialiteit gereduceerd tot een probleem van sleutelbeheer waarbij enkel bepaalde partijen over de sleutel mogen beschikken. De confidentialiteit van moderne symmetrische encryptiesystemen wordt gewaarborgd door het resistent te maken tegen een aantal types aanvallen: Enkel-cijfertekst aanval: Bereken uit een willekeurig aantal met eenzelfde sleutel gegenereede cijferteksten, opnieuw één of meerdere bijhorende

18 HOOFDSTUK 4. CRYPTOGRAFISCHE BOUWBLOKKEN 12 klaarteksten, of, beter nog, reconstrueer de geheime sleutel uit de cijferteksten. Gekende-klaartekst aanval Gegeven een willekeurig aantal klaartekstcijfertekst combinaties gegenerereerd met eenzelfde sleutel, vind de originele sleutel of een algoritme om nieuwe cijferteksten gegenereerd met die sleutel te ontcijferen. Gekozen-klaartekst aanval De aanvaller heeft toegang tot een orakel waaraan hij een onbeperkt aantal keer kan vragen om een zelf gekozen klaartekst te encrypteren tot de bijhorende cijfertekst. De aanvaller kan de klaarteksten dus kiezen in functie van wat hij al weet of wil weten, en probeert op die manier de sleutel te weten te komen of een algoritme dat berichten decrypteert alsof het de sleutel zou hebben. Gekozen-cijfertekst aanval De aanvaller heeft toegang tot een orakel waaraan hij een onbeperkt aantal keer kan vragen om een zelf gekozen cijfertekst te decrypteren tot de bijhorende klaartekst. De aanvaller kan de cijferteksten dus kiezen in functie van wat hij al weet of wil weten, en probeert op die manier de geheime sleutel te weten te komen of een algoritme dat berichten decrypteert alsof het de sleutel zou hebben. Het is belangrijk op te merken dat, hoewel de confidentialiteit afhangt van het geheim houden van de sleutels, de algoritmes publiek gekend mogen zijn. Er bestaan twee basistypes van symmetrische encryptiealgoritmes; blokcijfers en stroomcijfers genoemd. Stroomcijfers manipuleren een datastroom bit per bit of byte per byte, terwijl blokcijfers blok per blok encrypteren. Aangezien voor de thesis enkel blok cijfers van belang zijn, gaan we niet dieper in op de stroom cijfers. Cipher Block Chaining mode (CBC) Een blokcijfer is een symmetrisch encryptiesysteem dat blokken van vaste lengte encrypteert. Om een bericht te encrypteren, wordt het eerst in zulke blokken ven gelijke grootte verdeeld, die daarna sequentieel behandeld worden. Dit kan gebeuren op verschillende manieren die we modi noemen. We bespreken de twee voornaamste: De Elektronisch Codeboek (ECB) modus encrypteert elk blok afzonderlijk. Dit is de meest eenvoudige werkwijze en heeft als voordeel dat ze nog steeds random access toelaat: een willekeurig blok kan gedecrypteerd worden, zonder andere blokken te moeten manipuleren. Een nadeel is dat twee identieke blokken met dezelfde sleutel naar dezelfde cijfertekst geëncrypteerd zullen worden. Een tegenstander die over veel klaartekst-cijfertekst combinaties beschikt kan een codeboek met frequente blokken aanleggen en op die manier toch informatie te weten komen. De tweede is de Cipher block Chaining (CBC) modus. Hier wordt het te encrypteren blok gecombineerd met het resultaat van de encryptie van het vorige blok door middel van de -operatie (exclusieve of). Dit heeft als voordeel dat twee identieke blokken toch anders geëncrypteerd zullen worden. De structuren in de tekst en tussen teksten worden zo goed als helemaal onzichtbaar in de cijfertekst. Bij decryptie wordt de -operatie na de decryptie van het blok toegepast, en wordt het resultaat gebruikt om het volgende blok te decrypteren.

19 HOOFDSTUK 4. CRYPTOGRAFISCHE BOUWBLOKKEN 13 Het eerste blok bij zowel encryptie als decryptie kan niet gecombineerd worden met een vorig blok. Dit blok combineren we dan met een zogenaamde initialisatievector (IV). Dit is een willekeurige bitstring die even lang is als de bloklengte. Daardoor zullen verschillende encrypties van eenzelfde klaartekst met eenzelfde sleutel hoogstwaarschijnlijk resulteren in verschillende cijferteksten. De werking van CBC is samengevat in figuur 4.1. Samengevat is C i = E k (P i C i 1 ) bij encryptie en P i = C i 1 D k (C i ) bij decryptie. Figuur 4.1: CBC mode: encryptie en decryptie Uiteraard zijn niet alle berichten veelvouden van de bloklengte. in dat geval wordt het laatste blok volgens één of ander schema opgevuld. Dit heet padding, maar daar gaan we niet dieper op in. De meest bekende praktische voorbeelden van schema s voor symmetrische encryptie zijn: Data Encryption Standard (DES) Een blokcijfer algoritme met 64-bit blokken en 56-bit sleutels, in de jaren 70 ontwikkeld door IBM en de NSA. In de jaren 80 en 90 werd het vaak gebruikt, maar is vandaag de dag onvoldoende vanwege zijn beperkte sleutel- en bloklengte. Triple DES In feite gewoon drie keer DES na elkaar met twee verschillende sleutels (Encryptie met een k 1 - Decryptie met een k 2 - Encryptie met de k 1 ) The Advanced Encryption Standard (AES) Het winnende algoritme van een internationale wedstrijd uitgeschreven door U.S. National Institute of Standards and Technology. AES werd ontwikkeld aan de KULeuven (ESAT) door Vincent Rijmen and Joan Daemen, die AES oorspronkelijk Rijndael doopten. Het is de opvolger van DES en heeft standaard een sleutel- en bloklengte van 128 bits, maar laat ook enkele andere waarden toe Asymmetrische encryptie Bij asymmetrische encryptie wordt een publieke sleutel gebruikt om een bericht te encrypteren, en een geheime sleutel voor de decryptie. Een asymmetrisch encryptieschema wordt gedefinieerd aan de hand van drie algoritmes:

20 HOOFDSTUK 4. CRYPTOGRAFISCHE BOUWBLOKKEN 14 genereersleutelp aar(κ) r (pk, sk) dat willekeurige een private en bijhorende publieke sleutel genereert die voldoen aan de veiligheidsparameter κ. Dit is typisch de sleutellengte. Een publieke en een private sleutel noemen we samen het sleutelpaar. Wanneer het algoritme tweemaal uitgevoerd wordt met eenzelfde κ, worden zo goed als zeker andere sleutels gegenereerd. encrypteer(m, pk) Enc dat met behulp van de publieke sleutel pk een bericht M encrypteert in de cijfertekst Enc. decrypteer(enc, sk) m dat met behulp van de private sleutel sk de cijfertekst Enc terug decrypteert naar m. Indien de decryptie gebeurt met de geheime sleutel die overeenkomt met de publieke sleutel waarmee het bericht geëncrypteerd is, is m = m. Indien een andere geheime sleutel gebruikt wordt, is het resultaat schijnbaar willekeurige data. Asymmetrische encryptie wil, net zoals symmetrische encryptie, de confidentialiteit of geheimhouding van berichten waarborgen. Ook hier hangt de geheimhouding enkel af van de geheime sleutel, en mogen de algoritmes publiek gekend zijn. Indien Alice vertrouwelijke informatie wil ontvangen, kan ze een sleutelpaar genereren, en de publieke sleutel verspreiden. Bob die een geheim bericht m wil zenden, encrypteert dit bericht met de publieke sleutel, en enkel Alice kan het bericht decrypteren, aangezien ze als enige de geheime sleutel bezit, Een goed asymmetrisch encyptiesysteem is zowieso veilig tegen veilig tegen zowel enkel-cijfertekst, gekende-klaartekst, gekozen-klaartekst en gekozen cijfertekst aanval. Aangezien iedereen berichten kan encrypteren is resistentie tegen de gekozen-klaartekst aanval zeer belangrijk. Asymmetrische encryptie zet het probleem van geheimhouding eigenlijk om in een probleem van sleutelbeheer en -distributie. De publieke sleutel hoeft, in tegenstelling tot symmetrische sleutels, niet meer via een veilig kanaal doorgezonden te worden. Wel is het zo dat de integriteit van de sleutel gegarandeerd moet blijven. De publieke sleutel mag dus niet gewijzigd zijn tijdens de transit. In de praktijk is asymmetrische encryptie een pak trager dan symmetrische encryptie, waardoor het eigenlijk bijna uitsluitend gebruikt wordt om een symmetrische sleutel te encrypteren en naar de ander kant te zenden. Deze symmetrische sleutel wordt dan gebruikt om het bericht zelf mee te encrypteren. Daarom wordt er niet echt met blok-modes gewerkt. De te encrypteren symmetrishe sleutel wordt gewoon in één groot blok gestopt (eventueel met padding). Enkele voorbeelden van schema s voor asymmetrische encryptie zijn: RSA Dit is het meest gebruikte, meest gekende, en waarschijnlijk ook het meest eenvoudige algoritme. Rabin Bewijsbaar veilig, maar wordt zelden gebruikt. ElGamal Dit algoritme is gerelateerd met de moeilijkheid om discrete logaritmen in een eindige groep te vinden. Dit schema wordt dadelijk besproken.

21 HOOFDSTUK 4. CRYPTOGRAFISCHE BOUWBLOKKEN ElGamal Het ElGamal schema is oorspronkelijk ontwikkeld als handtekeningschema door Taher Elgamal (met kleine g ), maar mits aanpassing kan het ook gebruikt worden voor asymmetrische encryptie. Hier bespreken we enkel het encryptieschema. De veiligheid ervan is gerelateerd aan het discrete logaritme probleem 3.3. Het schema ziet er als volgt uit: genereersleutelp aar(κ) (pk, sk) Genereer een priemgetal p van lengte κ 1, en een q van lengte κ 2 die een priemfactor is van p 1. Bepaal een g van orde q (zie 3.4). Selecteer een willekeurige x r Z q en bereken y = g x mod p. De publieke sleutel pk is (y, g, p, q), de private sleutel sk is (x, g, p, q). encrypteer(m, pk) Enc Kies een willekeurige α r Z q en bereken A = g α mod p en B = (y α m) mod p. Het koppel (A, B) vormt de cijfertekst. decrypteer(enc, sk) m Het decrypteren zelf is eenvoudigweg het delen van B door A: m = B/A x mod p. In plaats van een q met lengte κ 2 te kiezen, kan men q = ϕ(p) = p 1 nemen. Dit maakt het schema wat eenvoudiger waardoor de q uit de sleutels weggelaten kan worden. Dit schema is gerandomizeerd: Eenzelfde bericht twee keer encrypteren resulteert in twee verschillende cijfers. Een nadeel is wel dat cijfers ongeveer dubbel zo groot zijn als de oorspronkelijke klaartekst. Dit schema wordt dan ook zelden of nooit voor grote berichten gebruikt. 4.3 Cryptografische hash functie Een hash functie beeldt een invoer van willekeurige lengte af op uitvoer van vaste lengte. De invoer en uitvoer kunnen tot verschillende domeinen behoren. Het resultaat wordt de hashwaarde genoemd. Een cryptografische hash van x noteren we in deze tekst als H(x) en is een hashfunctie die aan de volgende extra voorwaarden voldoet: Eenwegs Het is eenvoudig de hashwaarde uit een bitstring te berekenen, maar het is bijzonder moeilijk (m.a.w. praktisch onhaalbaar) om uit een hashwaarde een bitstring te vinden die daarnaar hasht. Of symbolisch: x : x H(x) is eenvoudig, y x zodat H(x) = y is zeer moeilijk. Botsbestendig Het is computationeel onhaalbaar om voor een gegeven bitstring x 1 een andere bitstring x 2 te vinden zodat de hashwaarden van beide gelijk zijn, dus zodat H(x 1 ) = H(x 2 ). Twee vaak gebruikte hash algoritmes zijn SHA, dat voorgesteld is door U.S. National Institute of Standards and Technology en 160 bit uitvoer genereert, en MD5 dat ontwikkeld is door Ron Rivest en 128 bit resultaten terugeeft.

22 HOOFDSTUK 4. CRYPTOGRAFISCHE BOUWBLOKKEN 16 Dit cryptografisch primitief wordt ook wel een vingerafdruk of message digest genoemd en wordt frequent gebruikt in cryptografische protocols, zelden of nooit stand alone. Dit cryptografisch primitief zal ettelijke malen in de thesis terugkeren. 4.4 Message Authentication Code (MAC) Een Message Authentication Code (MAC) is een algoritme dat uit een bericht van willekeurige lengte en een sleutel van vaste lengte een hash waarde berekent van vaste lengte. Net zoals cryptografische hash functies zijn MAC s éénwegs en botsbestendig. Als bijkomende veiligheidseigenschap kan enkel iemand die over de sleutel beschikt de hashwaarde berekenen. MAC s worden typisch gebruikt voor integriteitsbescherming. Vooraleer iemand een bericht naar een andere partij wil zenden, kan eerst een gemeenschappelijke geheime sleutel afgesproken worden. Daarna wordt het bericht samen met de MAC verzonden. De ontvanger herberekent de MAC en vergelijkt deze met de verzonden MAC. Indien de twee MAC s overeenkomen mag de ontvanger er zeker van zijn dat de het verzonden bericht niet gewijzigd is: Indien een aanvaller het bericht wijzigt tijdens de verzending, kan hij de MAC niet herberekenen, want hij beschikt niet over de geheime sleutel. Enkele voorbeelden zijn: 1. Encrypteren van een cryptografische hash met een symmetrische sleutel. 2. H-MAC is een constructie dat elke cryptografische hash functie verandert in een MAC. 3. DES-CBC-MAC encrypteert het bericht met DES in CBC modus waarbij het laatse blok als MAC genomen wordt. 4.5 Zero-knowledge bewijzen Schets Veronderstel dat Peggy weet hoe de originele Coca Cola r geproduceerd wordt. Peggy wil Victor daarvan overtuigen. De communicatie tussen Victor en Peggy zou er als volgt kunnen uitzien:

23 HOOFDSTUK 4. CRYPTOGRAFISCHE BOUWBLOKKEN 17 Peggy: Victor: Peggy: Victor: Peggy: Victor: Peggy: Victor: Peggy: Victor: Victor: Peggy: Ik weet hoe Coca Cola geproduceerd wordt. Maar nee, Alice. Dat weet jij niet. Ik weet het echt! Maar nee! Jawel! echt! Awel, zeg het dan. Jamaar, dan ken jij het geheim ook. Ik beloof je dat ik het aan niemand zal vertellen en dat ik er niets mee zal doen. Ok, ik zal het in je oor fluisteren. <fluister fluister fluister> Aha! Schitterend, nu weet ik het ook! <Bob gaat weg, en komt even later terug...> Voila, ik heb de bereidingswijze laten patenteren en ik doe de Coca Cola Company een proces aan. Oeps... Het is duidelijk wat er foutgelopen is. De gebruikelijke manier voor Peggy om Victor te overtuigen is door het geheim aan hem te vertellen. Peggy kan niet verhinderen dat Victor dit geheim aan anderen doorvertelt of het geheim zelf gaat misbruiken. Door gebruik te maken van éénwegsfuncties kan Peggy Victor overtuigen dat ze een stuk informatie heeft, zonder dat Victor ook maar iets van dit geheim te weten komt (buiten het feit dan dat Peggy er kennis over heeft). Zulke bewijzen noemen we zero-knowledge bewijzen. Het standaardschema voor zo n bewijs is interactief en bestaat uit een reeks van vragen die Victor aan Peggy stelt. Aan de hand van de antwoorden krijgt Victor er een zeker vertrouwen in dat Peggy effectief over het geheim beschikt. Toch is het niet zo dat de antwoorden ook maar iets aan informatie over het geheim zelf lekken. Veel van die interactieve bewijzen kunnen niet-interactief gemaakt worden door gebruikt te maken van cryptografische hash functies. In wat volgt tonen we hoe Peggy kan bewijzen dat ze een discrete logaritme van een y in een groep G kent Discrete logaritme Neem G een eindige cyclische groep van orde q met g als generator. Veronderstel dat Peggy aan Victor wil bewijzen dat ze van een bepaalde y G de discrete logaritme t.o.v. g in G kent. Ze wil m.a.w. bewijzen dat ze een x kent zodat g x = y. Een mogelijk schema gaat ziet er als volgt uit: 1. Peggy kiest een willekeurige α r Z q waarbij q de orde is van g in G. Ze zendt daarna g α naar Victor. 2. Victor genereert een c Z q en stuurt dit naar Peggy. 3. Peggy kent x en kan dus s = (α cx) mod q berekenen en naar Peggy zenden. 4. Victor controleert of g α = g s y c. De waarden g α, c en s worden vaak de verbintenis, de uitdaging en het antwoord genoemd. Gelijknamige termen vinden we ook terug bij andere types

24 HOOFDSTUK 4. CRYPTOGRAFISCHE BOUWBLOKKEN 18 zero-knowledge bewijzen. Victor is nu overtuigd dat Peggy de x kent, aangezien enkel met deze kennis s correct kan berekend worden. Indien q voldoende groot is de kans dat Peggy s toevallig juist geraden heeft verwaarloosbaar. Er wordt geen informatie over x gelekt. Wegens het Discrete Logaritme Probleem (zie 3.3) is het voor Victor immers onmogelijk om α uit g α te extraheren. De waarde α was door Peggy willekeurig gekozen en dus kan Victor uit s = (α cx) mod q geen informatie over x halen. Dit schema kan met behulp van een cryptografische hashfunctie H omgezet worden naar een niet-interactief zero-knowledge (NIZK) bewijs. Na de constructie van de verbintenis kan Peggy er de hashwaarde van berekenen, De uitkomst van die hashwaarde is volledig onvoorspelbaar. waardoor het beschouwd kan worden als een willekeurig gekozen getal waar Peggy zelf geen vat op heeft. De hashfunctie neemt dus de taak van Victor in stap 2 over. Het schema wordt dan: 1. Peggy kiest een willekeurige α r Z q waarbij q de orde is van g in G. Ze zendt daarna g α naar Victor. 2. Peggy berekent c = H(g y g α ) 3. Peggy kent x en kan dus s = (α cx) mod q berekenen en zendt (c, s) naar Victor. De waarde s kan dus enkel berekend worden indien x gekend is. Er geldt bovendien dat g α = g s y c. 4. Victor controleert of c = H(g y g s y c ). In de praktijk wordt als hashfunctie meestal H : {0, 1} {0, 1} h met h = 128 gebruikt, maar ook andere keuzes zijn mogelijk. Nu willen we dit NIZK-bewijs afhankelijk maken van een bericht m. Dit kan zeer eenvoudig door dit bericht mee te hashen, waardoor het schema lichtjes wijzigt tot: 1. Peggy kiest een willekeurige α r Z q waarbij q de orde is van g in G. Ze zendt daarna g α naar Victor. 2. Peggy berekent c = H(g y g α m) 3. Peggy berekent s = (α cx) mod q en zendt (c, s) naar Victor. De waarde s kan dus enkel berekend worden indien x gekend is. Er geldt bovendien dat g α = g s y c. 4. Victor controleert of c = H(g y g s y c m). Een bericht-afhankelijk NIZK-bewijs noemen we ook wel een kennishandtekening. Het net besproken type noemen we een kennishandtekening van een discrete logaritme en wordt als volgt gedefinieerd: Definitie 10 Een paar (c,s) dat voldoet aan c = H(g y g s y c m) is een kennishandtekening van de discrete logaritme van een groep element y met generator g voor het bericht m en wordt genoteerd als SKDL(g, y, m).

25 HOOFDSTUK 4. CRYPTOGRAFISCHE BOUWBLOKKEN 19 Dit is een bericht-afhankelijk NIZK-bewijs waarmee Peggy Victor overtuigt dat ze een x kent zodat g x = y. In essentie is dit een Schnorr-handtekening met een wat andere invoerparameter in de hashfunctie. Indien de context duidelijk is kan het hashen van de g en y weggelaten worden. In een interactief zero-knowledge bewijs wordt enkel Victor overtuigd dat Peggy over bepaalde kennis beschikt. Als Peggy ook een derde persoon Charlie wil laten zien dat ze over die kennis beschik, moet ze het interactieve ook met Charlie afzonderlijk uitvoeren. Zelfs indien Victor alle stappen in het protocol zou registreren, zal Charlie dit bewijs hooggstwaarschijnlijk niet als geldig aanvaarden. Zo n registratie kan immers makkelijk vervalst worden. Dit is anders voor niet-interactieve zero-knowledge protocols, die net door het wegvallen van die interactiviteit in prinicipe door om het even wie geverifieerd kunnen worden. 4.6 Anonimizeerder Met de privacy op netwerken in het algemeen, en het internet in het bijzonder is het soms droevig gesteld. Daarom werd en wordt onderzocht hoe de anonimiteit en privacy toch aan een groep gebruikers gewaarborgd kunnen worden. Dit leidde tot systemen die we anonimizeerders noemen en die de anonimiteit en privacy kunnen garanderen voor verschillende toepassingen zoals , electronische publicatie van documenten, webbrowsing, elektronische betalingen, elektronisch stemmen en elektronische veilingen. Een voorbeeld is het APES 1 project dat aan de KULeuven op Esat ontwikkeld wordt in samenwerking met Computerwetenschappen. Een anonimizeerder is een derde partij waarlangs alle netwerkverkeer van een groep entiteiten passeert. De anonimizeerder wijzigt of verwijdert bepaalde identificatie- en authenticatiegegevens in de data die via haar naar de buitenwereld verstuurd worden. 4.7 Digitale handtekeningen Concept Wat een geschreven handtekening honderden jarenlang was (en is) voor handgeschreven documenten, is de digitale handtekening voor elektronische documenten. Hierbij beschikt de ondertekenaar als enige over een stukje geheime informatie, die we de geheime sleutel noemen. Om een handtekening te verifiëren wordt publiek beschikbare informatie gebruikt die we de publieke sleutel noemen. Net zoals bij de klassieke handtekening, zijn bij een digitale handtekening een aantal eigenschappen vereist om geldig te zijn. We vermelden er hier enkele: Integriteit: Een bericht dat ondertekend werd kan tijdens de verzending niet onopgemerkt gewijzigd worden. De integriteit van een bericht zorgt dus voor de bescherming van de inhoud. 1

26 HOOFDSTUK 4. CRYPTOGRAFISCHE BOUWBLOKKEN 20 Onweerlegbaarheid: De ondertekenaar van het bericht kan achteraf niet ontkennen dat hij de handtekening geplaatst heeft. Dit volgt uit de integriteit. Authenticiteit: De digitale handtekening is onlosmakelijk verbonden met de publieke sleutel van de ondertekenaar en niemand buiten de eigenaar van de private sleutel kan de handtekening geplaatst hebben. De PKI waar we het later nog over zullen hebben, zorgt voor een binding van een fysieke identiteit met zijn publieke sleutel. De ontvanger is zo dus zeker van de identiteit van de ondertekenaar. Onvervalsbaarheid: Voor iemand die geen toegang heeft tot de private sleutel, moet het onmogelijk zijn om een bericht te ondertekenen, alsof ze met die geheime sleutel geplaatst zou zijn. Dit is logisch en houdt verband met de authenticiteit van de ondertekenaar. Enkel de rechtmatige ondertekenaar mag een geldige handtekening kunnen creëren. Onherbruikbaarheid: Een handtekening hoort bij exact één bericht, en mag niet herbruikt kunnen worden om een ander bericht te tekenen. Een digitale handtekening wordt gedefinieerd aan de hand van drie algoritmes: genereersleutelp aar(κ), onderteken(m, sk) en verif ieer(m, σ, pk): genereersleutelp aar(κ) (pk, sk) geneert een publiek-privaat sleutelpaar (pk, sk), gegeven een veiligheidsparameter κ, die typisch de lengte van de sleutel zal zijn. onderteken(m, sk) σ genereert een handtekening σ die hoort bij het bericht m, door gebruik te maken van de private sleutel sk. verifieer(m, σ, pk) T rue/f alse verifieert of een handtekening σ hoort bij het bericht m en de persoon waarmee de publieke sleutel pk gelinkt is. De meeste handtekeningschema s kunnen in twee klassen onderverdeeld worden: de valdeur schema s en de discrete-log schema s. Tot de eerste klasse behoren o.a. Rabin en RSA, tot de tweede o.a. Schnorr, DSA en ElGamal. De RSA-, Schnorr- en DSA-schema s worden verder in dit hoofdstuk besproken. De veiligheid van de meest gekende valdeurschema s is gerelateerd met het factorisatieprobleem (zie 3.1) Het tweede met het Discrete Logaritme probleem (zie 3.3). Sommige handtekeningschema s zijn gerandomizeerd. Daarmee wordt bedoeld dat een bericht dat tweemaal met dezelfde private sleutel ondertekend wordt, toch hoogstwaarschijnlijk twee verschillende handtekeningen zal genereren PKI s en certificaten Een private en een publieke sleutel alleen zijn niet voldoende om geldige handtekeningen te kunnen plaatsen. Veronderstel bijvoorbeeld dat Alice eerst een publiek-privaat sleutelpaar (pk Alice, sk Alice ) genereert, vervolgens de publieke sleutel pk Alice naar Bob zendt, gevolgd door een bericht m ondertekent met sk Alice. Helaas zat Max met sleutelpaar (pk Max, sk Max ) op het communicatiekanaal tussen Alice en Bob en heeft hij pk Alice tijdens de verzending vervangen door

De cryptografie achter Bitcoin

De cryptografie achter Bitcoin De cryptografie achter Bitcoin Benne de Weger b.m.m.d.weger@tue.nl augustus 2018 digitale handtekeningen 1 doel: authenticatie sterke verbinding aanleggen tussen een document en een identiteit wordt doorgaans

Nadere informatie

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

Tweede Huiswerk Security 26 of 28 oktober, 11.00, Nabespreken op Werkcollege. Tweede Huiswerk Security 26 of 28 oktober, 11.00, Nabespreken op Werkcollege. Kijk het huiswerk van je collega s na en schrijf de namen van de nakijkers linksboven en het totaalcijfer rechts onder de namen

Nadere informatie

RSA. F.A. Grootjen. 8 maart 2002

RSA. F.A. Grootjen. 8 maart 2002 RSA F.A. Grootjen 8 maart 2002 1 Delers Eerst wat terminologie over gehele getallen. We zeggen a deelt b (of a is een deler van b) als b = qa voor een of ander geheel getal q. In plaats van a deelt b schrijven

Nadere informatie

Elliptische krommen en digitale handtekeningen in Bitcoin

Elliptische krommen en digitale handtekeningen in Bitcoin Elliptische krommen en digitale handtekeningen in Bitcoin Bas Edixhoven Universiteit Leiden KNAW Bitcoin symposium Deze aantekeningen zal ik op mijn homepage plaatsen. Bas Edixhoven (Universiteit Leiden)

Nadere informatie

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

Hoe je het cryptosysteem RSA soms kunt kraken. Benne de Weger Hoe je het cryptosysteem RSA soms kunt kraken Benne de Weger 28 aug. / 4 sept. RSA 1/38 asymmetrisch cryptosysteem versleutelen met de publieke sleutel ontsleutelen met de bijbehorende privé-sleutel gebaseerd

Nadere informatie

slides10.pdf December 5,

slides10.pdf December 5, Onderwerpen Inleiding Algemeen 10 Cryptografie Wat is cryptography? Waar wordt cryptografie voor gebruikt? Cryptographische algoritmen Cryptographische protocols Piet van Oostrum 5 dec 2001 INL/Alg-10

Nadere informatie

Cryptografie: de wetenschap van geheimen

Cryptografie: de wetenschap van geheimen Cryptografie: de wetenschap van geheimen Benne de Weger b.m.m.d.weger@tue.nl augustus 2018 Cryptografie als Informatiebeveiliging 1 beveiliging: doe iets tegen risico s informatie-risico s en eisen: informatie

Nadere informatie

OPLOSSINGEN VAN DE OEFENINGEN

OPLOSSINGEN VAN DE OEFENINGEN OPLOSSINGEN VAN DE OEFENINGEN 1.3.1. Er zijn 42 mogelijke vercijferingen. 2.3.4. De uitkomsten zijn 0, 4 en 4 1 = 4. 2.3.6. Omdat 10 = 1 in Z 9 vinden we dat x = c 0 +... + c m = c 0 +... + c m. Het getal

Nadere informatie

De wiskunde achter de Bitcoin

De wiskunde achter de Bitcoin De wiskunde achter de Bitcoin Bas Edixhoven Universiteit Leiden NWD, Noordwijkerhout, 2015/01/31 Deze aantekeningen zal ik op mijn homepage plaatsen. Bas Edixhoven (Universiteit Leiden) De wiskunde achter

Nadere informatie

Hoofdstuk 1. Inleiding. Lichamen

Hoofdstuk 1. Inleiding. Lichamen Hoofdstuk 1 Lichamen Inleiding In Lineaire Algebra 1 en 2 heb je al kennis gemaakt met de twee belangrijkste begrippen uit de lineaire algebra: vectorruimte en lineaire afbeelding. In dit hoofdstuk gaan

Nadere informatie

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

Probabilistische aspecten bij public-key crypto (i.h.b. RSA) p. 1/21 Probabilistische aspecten bij public-key crypto (i.h.b. RSA) Herman te Riele, CWI Amsterdam Nationale Wiskunde Dagen Noordwijkerhout, 31 januari 2015 p. 2/21 verzicht Binair exponentiëren RSA Factorisatie-algoritmen

Nadere informatie

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

Algoritmes en Priemgetallen. Hoe maak je een sleutelpaar voor RSA? Algoritmes en Priemgetallen Hoe maak je een sleutelpaar voor RSA? Het recept van RSA Kies p q priemgetallen en bepaal N = pq Kies e Z N (publieke sleutel) Bepaal d e 1 mod φ N (privésleutel) x ed x kφ

Nadere informatie

Opgeloste en onopgeloste mysteries in de getaltheorie

Opgeloste en onopgeloste mysteries in de getaltheorie Opgeloste en onopgeloste mysteries in de getaltheorie Jan De Beule, Tom De Medts en Jeroen Demeyer Voorwoord 1 Voorwoord Beste leerling, Deze nota s zijn bedoeld als begeleiding bij 6 lesuren Opgeloste

Nadere informatie

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

Definitie 5.1. Cyclische groepen zijn groepen voortgebracht door 1 element. Hoofdstuk 5 Cyclische groepen 5.1 Definitie Definitie 5.1. Cyclische groepen zijn groepen voortgebracht door 1 element. Als G wordt voortgebracht door a en a n = e, dan noteren we de groep als C n = a.

Nadere informatie

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

Universiteit Gent. Academiejaar Discrete Wiskunde. 1ste kandidatuur Informatica. Collegenota s. Prof. Dr. Universiteit Gent Academiejaar 2001 2002 Discrete Wiskunde 1ste kandidatuur Informatica Collegenota s Prof. Dr. Frank De Clerck Herhalingsoefeningen 1. Bepaal het quotiënt en de rest van de deling van

Nadere informatie

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

Tweede Toets Security 9 november 2016, , Educ-α. Tweede Toets Security 9 november 2016, 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

Nadere informatie

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

Algoritmes in ons dagelijks leven. Leve de Wiskunde! 7 April 2017 Jacobien Carstens Algoritmes in ons dagelijks leven Leve de Wiskunde! 7 April 2017 Jacobien Carstens Wat is een algoritme? Een algoritme is een eindige reeks instructies die vanuit een gegeven begintoestand naar een beoogd

Nadere informatie

Public Key Cryptography. Wieb Bosma

Public Key Cryptography. Wieb Bosma Public Key Cryptography de wiskunde van het perfecte kopje koffie Wieb Bosma Radboud Universiteit Nijmegen Bachelordag 2 april 2011 Nijmegen, 6 november 2010 0 Nijmegen, 6 november 2010 1 cryptografie

Nadere informatie

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

Opgaven Getaltheorie en Cryptografie (deel 4) Inleverdatum: 13 mei 2002 Opgaven Getaltheorie en Cryptografie (deel 4) Inleverdatum: 13 mei 2002 19.a) Laat zien dat 5 een voortbrenger is van F 37. b) In het sleuteldistributiesysteem van Diffie en Hellman (met G = F 37, α =

Nadere informatie

We beginnen met de eigenschappen van de gehele getallen.

We beginnen met de eigenschappen van de gehele getallen. II.2 Gehele getallen We beginnen met de eigenschappen van de gehele getallen. Axioma s voor Z De gegevens zijn: (a) een verzameling Z; (b) elementen 0 en 1 in Z; (c) een afbeelding +: Z Z Z, de optelling;

Nadere informatie

Code signing. Door: Tom Tervoort

Code signing. Door: Tom Tervoort Code signing Door: Tom Tervoort Wat is code signing? Digitale handtekening onder stuk software Geeft garanties over bron Voorkomt modificatie door derden Bijvoorbeeld met doel malware toe te voegen Ontvanger

Nadere informatie

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

2 n 1. OPGAVEN 1 Hoeveel cijfers heeft het grootste bekende Mersenne-priemgetal? Met dit getal vult men 320 krantenpagina s. Hoofdstuk 1 Getallenleer 1.1 Priemgetallen 1.1.1 Definitie en eigenschappen Een priemgetal is een natuurlijk getal groter dan 1 dat slechts deelbaar is door 1 en door zichzelf. Om technische redenen wordt

Nadere informatie

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.

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. 4 Modulair rekenen Oefening 4.1. Merk op dat 2 5 9 2 2592. Bestaat er een ander getal van de vorm 25ab dat gelijk is aan 2 5 a b? (Met 25ab bedoelen we een getal waarvan a het cijfer voor de tientallen

Nadere informatie

Getallenleer Inleiding op codeertheorie. Cursus voor de vrije ruimte

Getallenleer Inleiding op codeertheorie. Cursus voor de vrije ruimte Getallenleer Inleiding op codeertheorie Liliane Van Maldeghem Hendrik Van Maldeghem Cursus voor de vrije ruimte 2 Hoofdstuk 1 Getallenleer 1.1 Priemgetallen 1.1.1 Definitie en eigenschappen Een priemgetal

Nadere informatie

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

Getaltheorie II. ax + by = c, a, b, c Z (1) Lesbrief 2 Getaltheorie II 1 Lineaire vergelijkingen Een vergelijking van de vorm ax + by = c, a, b, c Z (1) heet een lineaire vergelijking. In de getaltheorie gaat het er slechts om gehele oplossingen

Nadere informatie

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

Getaltheorie I. c = c 1 = 1 c (1) Lesbrief 1 Getaltheorie I De getaltheorie houdt zich bezig met het onderzoek van eigenschappen van gehele getallen, en meer in het bijzonder, van natuurlijke getallen. In de getaltheorie is het gebruikelijk

Nadere informatie

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.

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. 4 Modulair rekenen Oefening 4.1. Merk op dat 2 5 9 2 = 2592. Bestaat er een ander getal van de vorm 25ab dat gelijk is aan 2 5 a b? (Met 25ab bedoelen we een getal waarvan a het cijfer voor de tientallen

Nadere informatie

7.1 Het aantal inverteerbare restklassen

7.1 Het aantal inverteerbare restklassen Hoofdstuk 7 Congruenties in actie 7.1 Het aantal inverteerbare restklassen We pakken hier de vraag op waarmee we in het vorige hoofdstuk geëindigd zijn, namelijk hoeveel inverteerbare restklassen modulo

Nadere informatie

Zwakke sleutels voor RSA

Zwakke sleutels voor RSA Zwakke sleutels voor RSA Benne de Weger, Mike Boldy en Hans Sterk 23 juni 2008 Zwakke sleutels voor RSA Benne de Weger, Mike Boldy en Hans Sterk 23 juni 2008 RSA: beroemd cryptosysteem Genoemd naar Rivest,

Nadere informatie

FACTORISATIE EN CRYPTOGRAFIE

FACTORISATIE EN CRYPTOGRAFIE FACTORISATIE EN CRYPTOGRAFIE COMPUTERPRACTICUM UvA-MASTERCLASS WISKUNDE 1993 G.C.M. Ruitenburg Faculteit Wiskunde en Informatica Universiteit van Amsterdam 1993 INLEIDING In dit computer prakticum volgen

Nadere informatie

Definitie 1.1. Een groep is een verzameling G, uitgerust met een bewerking waarvoor geldt dat:

Definitie 1.1. Een groep is een verzameling G, uitgerust met een bewerking waarvoor geldt dat: Hoofdstuk 1 Eerste begrippen 1.1 Wat is een groep? Definitie 1.1. Een groep is een verzameling G, uitgerust met een bewerking waarvoor geldt dat: 1. a, b G : a b G 2. a, b, c G : a (b c) = (a b) c = a

Nadere informatie

Groepen, ringen en velden

Groepen, ringen en velden Groepen, ringen en velden Groep Een groep G is een verzameling van elementen en een binaire operator met volgende eigenschappen: 1. closure (gesloten): als a en b tot G behoren, doet a b dat ook. 2. associativiteit:

Nadere informatie

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

??? Peter Stevenhagen. 7 augustus 2008 Vierkant voor wiskunde 1 ??? Peter Stevenhagen 7 augustus 2008 Vierkant voor wiskunde 2 Wiskunde en cryptografie Peter Stevenhagen 7 augustus 2008 Vierkant voor wiskunde 3 Crypto is voor iedereen Peter Stevenhagen 7 augustus

Nadere informatie

7 Deelbaarheid. 7.1 Deelbaarheid WIS7 1

7 Deelbaarheid. 7.1 Deelbaarheid WIS7 1 WIS7 1 7 Deelbaarheid 7.1 Deelbaarheid Deelbaarheid Voor geheeltallige d en n met d > 0 zeggen we dat d een deler is van n, en ook dat n deelbaar is door d, als n d een geheel getal is. Notatie: d\n k

Nadere informatie

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

Tweede Toets Security 2 november 2015, , Educ-α. 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

Nadere informatie

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

Profielwerkstuk Informatica en Wiskunde Is RSA-cryptografie nu veilig genoeg en wat betekent dit voor de toekomst van digitale beveiliging? Profielwerkstuk Informatica en Wiskunde Is RSA-cryptografie nu veilig genoeg en wat betekent dit voor de toekomst van digitale beveiliging? Door Nahom Tsehaie en Jun Feng Begeleiders: David Lans en Albert

Nadere informatie

Cryptografie met behulp van elliptische krommen

Cryptografie met behulp van elliptische krommen Cryptografie met behulp van elliptische krommen Bachelorscriptie Wiskunde Erik van der Kouwe Studentnummer 1397273 E-mail: erik@erisma.nl Vrije Universiteit Amsterdam Faculteit Exacte Wetenschappen Afdeling

Nadere informatie

Cryptografische beveiliging op het Internet

Cryptografische beveiliging op het Internet Cryptografische beveiliging op het Internet Benne de Weger b.m.m.d.weger@tue.nl augustus 2018 hybride cryptografie 1 klare symmetrische versleuteling geheimschrift versturen geheimschrift symmetrische

Nadere informatie

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

4Passief: n Afluisteren. n Geen gegevens gewijzigd of vernietigd. n Via de routers van WAN. n Via draadloze verbindingen. 4Fysieke afsluiting Telematica Hoofdstuk 20 4Passief: n Afluisteren Bedreigingen n Alleen gegevens (inclusief passwords) opgenomen n Geen gegevens gewijzigd of vernietigd n Op LAN kan elk station alle boodschappen ontvangen

Nadere informatie

De digitale handtekening

De digitale handtekening De digitale handtekening De rol van de digitale handtekening bij de archivering van elektronische documenten Prof. dr. Jos Dumortier http://www.law.kuleuven.ac.be/icri Probleemstelling: «integriteit» Elektronisch

Nadere informatie

Opgaven Eigenschappen van Getallen Security, 2018, Werkgroep.

Opgaven Eigenschappen van Getallen Security, 2018, Werkgroep. Opgaven Eigenschappen van Getallen Security, 2018, Werkgroep. Gebruik deze opgaven, naast die uit het boek, om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal zes tot acht

Nadere informatie

5 Inleiding tot de groepentheorie

5 Inleiding tot de groepentheorie 5 Inleiding tot de groepentheorie Oefening 5.1. Stel de Cayleytabel op voor de groep van de symmetrieën van een vierkant. Bewijs dat deze groep de viergroep van Klein bezit als deelgroep van index 2. Oplossing

Nadere informatie

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

Agenda SSN Week 3. Gastcollege Stemcomputers Gastcollege PKI Secret key Public Key Hashes DES AES Praktikum: Cryptool en RSAFAQ Agenda SSN Week 3 Gastcollege Stemcomputers Gastcollege PKI Secret key Public Key Hashes DES AES Praktikum: Cryptool en RSAFAQ Projecten Consultancy vraag Werken in groepen van 4 Niet in de samenstelling

Nadere informatie

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

informatica. cryptografie. overzicht. hoe & wat methodes belang & toepassingen moderne cryptografie informatica cryptografie overzicht hoe & wat methodes belang & toepassingen moderne cryptografie 1 SE is op papier hoe & wat vragen komen uit methode en verwijzingen die in de methode staan in mappen RSA

Nadere informatie

Hoofdstuk 3. Equivalentierelaties. 3.1 Modulo Rekenen

Hoofdstuk 3. Equivalentierelaties. 3.1 Modulo Rekenen Hoofdstuk 3 Equivalentierelaties SCHAUM 2.8: Equivalence Relations Twee belangrijke voorbeelden van equivalentierelaties in de informatica: resten (modulo rekenen) en cardinaliteit (aftelbaarheid). 3.1

Nadere informatie

Zomercursus Wiskunde. Katholieke Universiteit Leuven Groep Wetenschap & Technologie. September 2008

Zomercursus Wiskunde. Katholieke Universiteit Leuven Groep Wetenschap & Technologie. September 2008 Katholieke Universiteit Leuven September 008 Algebraïsch rekenen (versie 7 juni 008) Inleiding In deze module worden een aantal basisrekentechnieken herhaald. De nadruk ligt vooral op het symbolisch rekenen.

Nadere informatie

STUDIEWIJZER CRYPTOGRAPHY BACHELOR IN DE TOEGEPASTE INFORM ATICA SEMESTER 5 ACADEMIEJAAR LECTOR JOHAN GALLE

STUDIEWIJZER CRYPTOGRAPHY BACHELOR IN DE TOEGEPASTE INFORM ATICA SEMESTER 5 ACADEMIEJAAR LECTOR JOHAN GALLE Cryptography BACHELOR IN DE TOEGEPASTE INFORM ATICA SEMESTER 5 ACADEMIEJAAR 2017-2018 LECTOR JOHAN GALLE STUDIEWIJZER CRYPTOGRAPHY Onderdeel van de opleiding Bachelor in de Toegepaste Informatica 1 VEREISTE

Nadere informatie

Het programma ELGAMAL

Het programma ELGAMAL Het programma ELGAMAL Gerard Tel Universiteit Utrecht, Departement Informatica 21 oktober 2005 Dit boekje is een inhoudelijke beschrijving van het programma ELGAMAL dat door Gerard Tel is geschreven voor

Nadere informatie

I.3 Functies. I.3.2 Voorbeeld. De afbeeldingen f: R R, x x 2 en g: R R, x x 2 zijn dus gelijk, ook al zijn ze gegeven door verschillende formules.

I.3 Functies. I.3.2 Voorbeeld. De afbeeldingen f: R R, x x 2 en g: R R, x x 2 zijn dus gelijk, ook al zijn ze gegeven door verschillende formules. I.3 Functies Iedereen is ongetwijfeld in veel situaties het begrip functie tegengekomen; vaak als een voorschrift dat aan elk getal een ander getal toevoegt, bijvoorbeeld de functie fx = x die aan elk

Nadere informatie

Hoofdstuk 6. Congruentierekening. 6.1 Congruenties

Hoofdstuk 6. Congruentierekening. 6.1 Congruenties Hoofdstuk 6 Congruentierekening 6.1 Congruenties We hebben waarschijnlijk allemaal wel eens opgemerkt dat bij vermenigvuldigen van twee getallen de laatste cijfers als het ware meevermenigvuldigen. Stel

Nadere informatie

Datacommunicatie Cryptografie en netwerkbeveiliging

Datacommunicatie Cryptografie en netwerkbeveiliging Datacommunicatie Cryptografie en netwerkbeveiliging ir. Patrick Colleman Inhoud Voorwoord 1 1. Inleiding Wat 2 2. Model 5 3. Systemen 5 3.1 Substitutiesystemen 6 3.1.1 Caesar 6 3.1.2 Monoalfabetische vercijfering

Nadere informatie

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

Digitale geldtransacties. Stefanie Romme Wiskunde, Bachelor Begeleider: Wieb Bosma Digitale geldtransacties Stefanie Romme 3013170 Wiskunde, Bachelor Begeleider: Wieb Bosma Radboud Universiteit Nijmegen 5 juli 2012 Samenvatting Sinds de opkomst van het internet zijn elektronische geldtransacties

Nadere informatie

Gehelen van Gauss. Hector Mommaerts

Gehelen van Gauss. Hector Mommaerts Gehelen van Gauss Hector Mommaerts 2 Hoofdstuk 1 Definities Gehelen van Gauss zijn complexe getallen van de vorm a + bi waarbij a, b Z. De verzameling van alle gehelen van Gauss noteren we met Z(i). Dus

Nadere informatie

Zomercursus Wiskunde. Module 1 Algebraïsch rekenen (versie 22 augustus 2011)

Zomercursus Wiskunde. Module 1 Algebraïsch rekenen (versie 22 augustus 2011) Katholieke Universiteit Leuven September 011 Module 1 Algebraïsch rekenen (versie augustus 011) Inhoudsopgave 1 Rekenen met haakjes 1.1 Uitwerken van haakjes en ontbinden in factoren............. 1. De

Nadere informatie

De partitieformule van Euler

De partitieformule van Euler De partitieformule van Euler Een kennismaking met zuivere wiskunde J.H. Aalberts-Bakker 29 augustus 2008 Doctoraalscriptie wiskunde, variant Communicatie en Educatie Afstudeerdocent: Dr. H. Finkelnberg

Nadere informatie

Wireshark. Open Source Vroeger Ethereal Wireless kan lastig zijn

Wireshark. Open Source Vroeger Ethereal Wireless kan lastig zijn Agenda SSN Week 3 Protocolanalyse Wireshark Doorlopen boek Voorbereiding SSN Project Secret key Public Key Hashes DES AES Praktikum: Cryptool en RSAFAQ Wireshark Open Source Vroeger Ethereal Wireless kan

Nadere informatie

Security. Eerste tentamen

Security. Eerste tentamen Security Eerste tentamen Het tentamen normale rekenmachine mag mee. Gastpresentaties Weetvragen Lees je eigen aantekeningen goed door. Malware Weetvragen Introductiecollege Weetvragen! Kijk naar de lijst

Nadere informatie

Algebra. Oefeningen op hoofdstuk Groepentheorie Cayleytabellen van groepen van orde Cyclische groepen

Algebra. Oefeningen op hoofdstuk Groepentheorie Cayleytabellen van groepen van orde Cyclische groepen Oefeningen op hoofdstuk 5 Algebra 5.2 Groepentheorie 5.2.1 Cayleytabellen van groepen van orde 8 Oefening 5.1. Stel de Cayleytabel op voor de groep van de symmetrieën van een vierkant. Bewijs dat deze

Nadere informatie

De rol van de digitale handtekening bij de archivering van elektronische documenten

De rol van de digitale handtekening bij de archivering van elektronische documenten De rol van de digitale handtekening bij de archivering van elektronische documenten De toenemende digitalisering heeft verregaande gevolgen voor de archiefwereld. Bijna alle documenten worden momenteel

Nadere informatie

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

1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12 Katern 2 Getaltheorie Inhoudsopgave 1 Delers 1 2 Deelbaarheid door 2, 3, 5, 9 en 11 6 3 Grootste gemene deler en kleinste gemene veelvoud 12 1 Delers In Katern 1 heb je geleerd wat een deler van een getal

Nadere informatie

Elfde college complexiteit. 23 april NP-volledigheid III

Elfde college complexiteit. 23 april NP-volledigheid III college 11 Elfde college complexiteit 23 april 2019 NP-volledigheid III 1 TSP Als voorbeeld bekijken we het Travelling Salesman/person Problem, ofwel het Handelsreizigersprobleem TSP. Hiervoor geldt: TSP

Nadere informatie

Getallen, 2e druk, extra opgaven

Getallen, 2e druk, extra opgaven Getallen, 2e druk, extra opgaven Frans Keune november 2010 De tweede druk bevat 74 nieuwe opgaven. De nummering van de opgaven van de eerste druk is in de tweede druk dezelfde: nieuwe opgaven staan in

Nadere informatie

Netwerken. Beveiliging Cryptografie

Netwerken. Beveiliging Cryptografie Netwerken 15 Beveiliging Cryptografie Lennart Herlaar 2 november 2016 Onderwerpen Beveiliging Cryptografie Cryptografische algoritmen en protocollen Toepassing van cryptografie in beveiliging Lennart Herlaar

Nadere informatie

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.

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. REKENEN VIJFDE KLAS en/of ZESDE KLAS Luc Cielen 1. REGELS VAN DEELBAARHEID. Luc Cielen: Regels van deelbaarheid, grootste gemene deler en kleinste gemeen veelvoud 1 Deelbaarheid door 10, 100, 1000. Door

Nadere informatie

Opgaven RSA Security, 15 okt 2018, Werkgroep.

Opgaven RSA Security, 15 okt 2018, Werkgroep. Opgaven RSA Security, 15 okt 2018, Werkgroep. Gebruik deze opgaven, naast die uit het boek, om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal zes tot acht opgaven. 1. Rabin:

Nadere informatie

Getaltheorie groep 3: Primitieve wortels

Getaltheorie groep 3: Primitieve wortels Getaltheorie groep 3: Primitieve wortels Trainingsweek juni 2008 Inleiding Voor a relatief priem met m hebben we de orde van a modulo m gedefinieerd als ord m (a) = min { n Z + a n 1 (mod m) }. De verzameling

Nadere informatie

Opgeloste en onopgeloste mysteries in de getaltheorie

Opgeloste en onopgeloste mysteries in de getaltheorie Opgeloste en onopgeloste mysteries in de getaltheorie Jan De Beule, Tom De Medts en Jeroen Demeyer Voorwoord 1 Voorwoord Beste leerling, Deze nota s zijn bedoeld als begeleiding bij 6 lesuren Opgeloste

Nadere informatie

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

Restsystemen 183 Oplossen van lineaire vergelijkingen 190 Structuren met één bewerking 192 Structuren met twee bewerkingen Inhoud Dankwoord 15 Hoofdstuk 1 Instapwiskunde 17 1.1 Letterrekenen 18 Reële getallen 18 Reële veeltermen 23 1.2 Vergelijkingen met één onbekende 25 Lineaire vergelijkingen 25 Kwadratische vergelijkingen

Nadere informatie

WEP, chopchop en WPA

WEP, chopchop en WPA WEP, chopchop en WPA Ian Zwaan 28 januari 2009 Ian Zwaan () WEP, chopchop en WPA 28 januari 2009 1 / 23 Inhoudsopgave 1 Inleiding 2 Wired Equivalent Privacy 3 Cyclic Redundancy Check 4 Chopchop 5 Beck-Tews

Nadere informatie

start -> id (k (f c s) (g s c)) -> k (f c s) (g s c) -> f c s -> s c

start -> id (k (f c s) (g s c)) -> k (f c s) (g s c) -> f c s -> s c Een Minimaal Formalisme om te Programmeren We hebben gezien dat Turing machines beschouwd kunnen worden als universele computers. D.w.z. dat iedere berekening met natuurlijke getallen die met een computer

Nadere informatie

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

Crypto, Certificaten, SSL, PKI What can possibly go wrong? ISC2 cryptonight 10 juni 2014 Crypto, Certificaten, SSL, PKI What can possibly go wrong? ISC2 cryptonight 10 juni 2014 Introductie Arthur Donkers & Ralph Moonen Partners bij ITSX arthur@itsx.com ralph@itsx.com IANAC 10 juni 2014 ISC2

Nadere informatie

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

Opgaven Discrete Logaritme en Cryptografie Security, 22 okt 2018, Werkgroep. Opgaven Discrete Logaritme en Cryptografie Security, 22 okt 2018, Werkgroep. Gebruik deze opgaven, naast die uit het boek, om de stof te oefenen op het werkcollege. Cijfer: Op een toets krijg je meestal

Nadere informatie

Geldwisselprobleem van Frobenius

Geldwisselprobleem van Frobenius Geldwisselprobleem van Frobenius Karin van de Meeberg en Dieuwertje Ewalts 12 december 2001 1 Inhoudsopgave 1 Inleiding 3 2 Afspraken 3 3 Is er wel zo n g? 3 4 Eén waarde 4 5 Twee waarden 4 6 Lampenalgoritme

Nadere informatie

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

Toetsbundel 2 Security 13 juli 2017, Gerard Tel, WerkCollege. 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/,

Nadere informatie

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

Concept. Inleiding. Advies. Agendapunt: 04 Bijlagen: - College Standaardisatie Forum Standaardisatie Wilhelmina v Pruisenweg 104 2595 AN Den Haag Postbus 84011 2508 AA Den Haag www.forumstandaardisatie.nl COLLEGE STANDAARDISATIE Concept CS07-05-04I Agendapunt: 04 Bijlagen: - Aan:

Nadere informatie

De geheimen van het Web. Motivatie

De geheimen van het Web. Motivatie De geheimen van het Web Cryptografie in ons dagelijks leven Vincent Rijmen Institute for Applied Information Processing and Communications (IAIK) - Krypto Group Faculty of Computer Science Graz University

Nadere informatie

Vermogen- en tijdsanalyse van cryptosystemen gebaseerd op elliptische krommen

Vermogen- en tijdsanalyse van cryptosystemen gebaseerd op elliptische krommen Vermogen- en tijdsanalyse van cryptosystemen gebaseerd op elliptische krommen Nele Mentens, Pieter Rommens en Marian Verhelst 3 de Ir. micro-elektronica 16 mei 23 ii Copyright by K.U.Leuven Zonder voorafgaande

Nadere informatie

FACTORISATIE EN CRYPTOGRAFIE

FACTORISATIE EN CRYPTOGRAFIE FACTORISATIE EN CRYPTOGRAFIE UvA-MASTERCLASS WISKUNDE 1993 P. Stevenhagen Faculteit Wiskunde en Informatica Universiteit van Amsterdam 1993 INLEIDING In deze masterclass zullen we ons voornamelijk bezighouden

Nadere informatie

aé=êçä=î~å=çé=åêóéíçäçöáé=éå=çé=çáöáí~äé=ü~åçíéâéåáåö= áåò~âé=çé=îéáäáöüéáç=î~å=éäéâíêçåáëåüé=áåñçêã~íáéj ìáíïáëëéäáåö

aé=êçä=î~å=çé=åêóéíçäçöáé=éå=çé=çáöáí~äé=ü~åçíéâéåáåö= áåò~âé=çé=îéáäáöüéáç=î~å=éäéâíêçåáëåüé=áåñçêã~íáéj ìáíïáëëéäáåö aé=êçä=î~å=çé=åêóéíçäçöáé=éå=çé=çáöáí~äé=ü~åçíéâéåáåö= áåò~âé=çé=îéáäáöüéáç=î~å=éäéâíêçåáëåüé=áåñçêã~íáéj ìáíïáëëéäáåö müáäáééé=p`eo^bmbk éêçãçíçê=w mêçñkçêkáê=cê~åë=ibjbfob = báåçîéêü~åçéäáåö=îççêöéçê~öéå=íçí=üéí=äéâçãéå=î~å=çé=öê~~ç=

Nadere informatie

1. REGELS VAN DEELBAARHEID.

1. REGELS VAN DEELBAARHEID. REKENEN VIJFDE KLAS Luc Cielen 1. REGELS VAN DEELBAARHEID. Deelbaarheid door 10, 100, 1000 10: het laatste cijfer (= cijfer van de eenheden) is 0 100: laatste twee cijfers zijn 0 (cijfers van de eenheden

Nadere informatie

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

Inleiding tot de Problem Solving - deel 1: Combinatoriek en getaltheorie Inleiding tot de Problem Solving - deel 1: Combinatoriek en getaltheorie Jan Vonk 1 oktober 2008 1 Combinatoriek Inleiding Een gebied dat vandaag de dag haast niet onderschat kan worden binnen de wiskunde

Nadere informatie

in alle mogelijke mediaformaten, - bestaande en in de toekomst te ontwikkelen -, aan de Universiteit Hasselt.

in alle mogelijke mediaformaten, - bestaande en in de toekomst te ontwikkelen -, aan de Universiteit Hasselt. Auteursrechterlijke overeenkomst Opdat de Universiteit Hasselt uw eindverhandeling wereldwijd kan reproduceren, vertalen en distribueren is uw akkoord voor deze overeenkomst noodzakelijk. Gelieve de tijd

Nadere informatie

Aanvullingen bij Hoofdstuk 6

Aanvullingen bij Hoofdstuk 6 Aanvullingen bij Hoofdstuk 6 We veralgemenen eerst Stelling 6.4 tot een willekeurige lineaire transformatie tussen twee vectorruimten en de overgang naar twee nieuwe basissen. Stelling 6.4. Zij A : V W

Nadere informatie

Bijzondere kettingbreuken

Bijzondere kettingbreuken Hoofdstuk 15 Bijzondere kettingbreuken 15.1 Kwadratische getallen In het vorige hoofdstuk hebben we gezien dat 2 = 1, 2, 2, 2, 2, 2, 2,.... Men kan zich afvragen waarom we vanaf zeker moment alleen maar

Nadere informatie

6 Ringen, lichamen, velden

6 Ringen, lichamen, velden 6 Ringen, lichamen, velden 6.1 Polynomen over F p : irreducibiliteit en factorisatie Oefening 6.1. Bewijs dat x 2 + 2x + 2 irreducibel is in Z 3 [x]. Oplossing 6.1 Aangezien de veelterm van graad 3 is,

Nadere informatie

Cryptografie met krommen. Reinier Bröker. Universiteit Leiden

Cryptografie met krommen. Reinier Bröker. Universiteit Leiden Cryptografie met krommen Reinier Bröker Universiteit Leiden Nationale Wiskundedagen Februari 2006 Cryptografie Cryptografie gaat over geheimschriften en het versleutelen van informatie. Voorbeelden. Klassieke

Nadere informatie

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

Tweede Deeltoets Security 3 juli 2015, 8.30 10.30, Educatorium-Γ. Tweede Deeltoets Security 3 juli 2015, 8.30 10.30, Educatorium-Γ. Motiveer je antwoorden kort! Zet je mobiel uit. Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op

Nadere informatie

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

Tweede Toets Security Woensdag 8 november 2017, , Educ-α. Tweede Toets Security Woensdag 8 november 2017, 8.30 10.30, Educ-α. Motiveer je antwoorden kort! Stel geen vragen over deze toets; als je een vraag niet duidelijk vindt, schrijf dan op hoe je de vraag

Nadere informatie

Verzamelingen deel 3. Derde college

Verzamelingen deel 3. Derde college 1 Verzamelingen deel 3 Derde college rekenregels Een bewerking op A heet commutatief als voor alle x en y in A geldt dat x y = y x. Een bewerking op A heet associatief als voor alle x, y en z in A geldt

Nadere informatie

Diophantische vergelijkingen

Diophantische vergelijkingen Diophantische vergelijkingen 1 Wat zijn Diophantische vergelijkingen? Een Diophantische vergelijking is een veeltermvergelijking waarbij zowel de coëfficiënten als de oplossingen gehele getallen moeten

Nadere informatie

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

Priemfactoren. Grote getallen. Geavanceerde methoden. Hoe ontbind je een getal N in priemfactoren? Docentenhandleiding Inhoudsopgave Docentenhandleiding... 1 Inhoudsopgave... 2 Priemfactoren... 3 Grote getallen... 3 Geavanceerde methoden... 3 Primaliteit en factorisatie... 4 Literatuur... 4 Software...

Nadere informatie

ICT en de digitale handtekening. Door Peter Stolk

ICT en de digitale handtekening. Door Peter Stolk ICT en de digitale handtekening Door Peter Stolk Onderwerpen Elektronisch aanleveren van akten Issues bij de start Aanbieders van akten Hoe krijgen we ze zover? Demonstratie Welke technieken hebben we

Nadere informatie

Het RSA Algoritme. Erik Aarts - 1 -

Het RSA Algoritme. Erik Aarts - 1 - Het RSA Algoritme Erik Aarts - 1 - 1 Wiskunde... 3 1.1 Het algoritme van Euclides... 3 1.1.1 Stelling 1... 4 1.2 Het uitgebreide algoritme van Euclides... 5 1.3 Modulo rekenen... 7 1.3.1 Optellen, aftrekken

Nadere informatie

1.5.1 Natuurlijke, gehele en rationale getallen

1.5.1 Natuurlijke, gehele en rationale getallen 46 Getallen 1.5 Getaltheorie 1.5.1 Natuurlijke, gehele en rationale getallen De getallen 0,1,2,3,4,... enz. worden de natuurlijke getallen genoemd (de heleverzamelingvanaldezegetallenbijelkaarnoterenwemethetteken:

Nadere informatie

Eigenschap (Principe van welordening) Elke niet-lege deelverzameling V N bevat een kleinste element.

Eigenschap (Principe van welordening) Elke niet-lege deelverzameling V N bevat een kleinste element. Hoofdstuk 2 De regels van het spel 2.1 De gehele getallen Grof gezegd kunnen we de (elementaire) getaltheorie omschrijven als de wiskunde van de getallen 1, 2, 3, 4,... die we ook de natuurlijke getallen

Nadere informatie

Technische beschrijving pseudonimisatie gegevensverzameling NIVEL Zorgregistraties eerste lijn

Technische beschrijving pseudonimisatie gegevensverzameling NIVEL Zorgregistraties eerste lijn Bijlage 2 bij Privacyreglement NIVEL Zorgregistraties eerste lijn Technische beschrijving pseudonimisatie gegevensverzameling NIVEL Zorgregistraties eerste lijn Pseudonimisatie Onder 'pseudonimisatie'

Nadere informatie

Veilig e-mailen. Waarom e-mailen via een beveiligde verbinding? U vertrouwt de verbinding met de e-mailserver van InterNLnet niet

Veilig e-mailen. Waarom e-mailen via een beveiligde verbinding? U vertrouwt de verbinding met de e-mailserver van InterNLnet niet Veilig e-mailen E-mail heeft zich inmiddels ruimschoots bewezen als communicatiemiddel. Het is een snelle en goedkope manier om met anderen waar ook ter wereld te communiceren. Als gevolg hiervan vindt

Nadere informatie

Vakgroep CW KAHO Sint-Lieven

Vakgroep CW KAHO Sint-Lieven Vakgroep CW KAHO Sint-Lieven Objecten Programmeren voor de Sport: Een inleiding tot JAVA objecten Wetenschapsweek 20 November 2012 Tony Wauters en Tim Vermeulen tony.wauters@kahosl.be en tim.vermeulen@kahosl.be

Nadere informatie

Uitwerking tentamen Analyse van Algoritmen, 29 januari

Uitwerking tentamen Analyse van Algoritmen, 29 januari Uitwerking tentamen Analyse van Algoritmen, 29 januari 2007. (a) De buitenste for-lus kent N = 5 iteraties. Na iedere iteratie ziet de rij getallen er als volgt uit: i rij na i e iteratie 2 5 4 6 2 2 4

Nadere informatie

1 Rekenen in eindige precisie

1 Rekenen in eindige precisie Rekenen in eindige precisie Een computer rekent per definitie met een eindige deelverzameling van getallen. In dit hoofdstuk bekijken we hoe dit binnen een computer is ingericht, en wat daarvan de gevolgen

Nadere informatie