Drempelbeveiling mogelijk maken voor RFID

Maat: px
Weergave met pagina beginnen:

Download "Drempelbeveiling mogelijk maken voor RFID"

Transcriptie

1 Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen: elektrotechniek, optie Geïntegreerde elektronica Promotoren: Prof. dr. ir. Bart Preneel Prof. dr. ir. Ingrid Verbauwhede Assessoren: Dr. ir. Stefaan Seys Prof. dr. ir. Patrick Reynaert Begeleiders: Ir. Roel Peeters Ir. Roel Maes Ir. Junfeng Fan Academiejaar

2 c Copyright K.U.Leuven Zonder voorafgaande schriftelijke toestemming van zowel de promotor(en) als de auteur(s) is overnemen, kopiëren, gebruiken of realiseren van deze uitgave of gedeelten ervan verboden. Voor aanvragen tot of informatie i.v.m. het overnemen en/of gebruik en/of realisatie van gedeelten uit deze publicatie, wend u tot ESAT, Kasteelpark Arenberg 10 postbus 2440, B-3001 Heverlee, of via info@esat.kuleuven.be. Voorafgaande schriftelijke toestemming van de promotor(en) is eveneens vereist voor het aanwenden van de in deze masterproef beschreven (originele) methoden, producten, schakelingen en programma s voor industrieel of commercieel nut en voor de inzending van deze publicatie ter deelname aan wetenschappelijke prijzen of wedstrijden.

3 Voorwoord Deze masterproef was een unieke ervaring en heeft me op vele vlakken nieuwe dingen bijgebracht. Via deze weg wil ik een aantal mensen bedanken die me bijgestaan hebben in heel deze ervaring. Zonder hen was het resultaat nooit hetzelfde geweest. Allereerst wil ik mijn dagelijkse begeleiders, Roel Maes, Roel Peeters en Junfeng Fan, bedanken voor de vele uren die zij hebben gestoken in mijn begeleiding. Zonder jullie hulp had ik dit resultaat nooit kunnen bereiken. Ook wil ik mijn promotors Prof. Dr. Ir. Bart Preneel en Prof. Dr. Ir. Ingrid Verbauwhede bedanken voor het mogelijk maken van deze thesis. Alsook mijn assessoren Dr. Ir. Stefaan Seys en Prof. Dr. Ir. Patrick Reynaert voor het lezen en beoordelen van deze thesis. Via deze weg zou ik ook graag mijn ouders en de rest van mijn familie willen bedanken voor hun grote steun tijdens mijn gehele opleiding. Zonder hen had ik dit nooit bereikt. Ten slotte wil ik ook mijn klasgenoten en vrienden bedanken voor hun steun en de broodnodige ontspanning tussen het werken door. Philippe Jeurissen i

4 Inhoudsopgave Voorwoord Samenvatting Lijst van figuren en tabellen Lijst van afkortingen en symbolen 1 Inleiding Een nieuwe aanpak Probleemstelling Bijdrage van deze thesis Aanpak van de thesis Cryptografie Symmetrische sleutel cryptografie Publieke sleutel cryptografie Versleuteling Authenticatie Sterkte van cryptografische systemen Het factorisatieprobleem Discrete logaritmeprobleem Het Diffie-Hellmanprobleem Wiskundige concepten Elliptische krommen Elliptische kromme discrete logaritmeprobleem Paringen Wiskundige problemen gebaseerd op paringen Drempelcryptografie Drempelschema s De verdelingsfase De verificatiefase De reconstructiefase Nulkennisbewijzen Langrangeveelterminterpolatie Gebruik in cryptografische systemen Elgamalversleutelingsschema ii i v vi viii

5 Inhoudsopgave Schnorr digitale handtekeningsschema Gedistribueerde sleutelgeneratie Het basisdrempelschema voor de implementatie Kenmerken van het schema Publiek verifieerbaar geheimverdelingsschema Gedistribueerde sleutelgeneratieschema s Versleuteling en ontsleuteling Ontwerp Praktische aspecten en ontwerpbeslissingen Soorten apparaten Het verificatieprobleem Het inverteringsprobleem Programmaverloop De initialisatiefase De gedistribueerde sleutelgeneratiefase De toepassingsfase Implementatie Implementatie op PC Programeertaal Softwarebibliotheken Programmaontwerp Apparaten Modulariteit Inkapseling Implementatie op FPGA Field-programmable Gate Array Opbouw FPGA Xilinx Microblaze Implementatie Compileren van de bibliotheken Communicatie met de computer Radio Frequency Identification Algemene kenmerken Huidige ontwikkelingen ECC coprocessor Integratie met het drempelschema Resultaten Testplatformen Tijdsmetingen Initialisatie van de elliptische kromme Paringen Integratietest Situatieschets iii

6 Inhoudsopgave Testopstellingen Test Test Test Besluit Vervolgwerk Bibliografie 55 iv

7 Samenvatting Tegenwoordig heeft men steeds meer intelligente apparaten op zak. Dit zorgt ervoor dat de mogelijkheden ervan uitgebreider worden. Een GSM is bijvoorbeeld geëvolueerd naar een zakcomputer met de mogelijkheid om draadloos op het internet te surfen, je berichten te lezen of berichten achter te laten op je favoriete sociale netwerksite. Deze evolutie zorgt echter voor nieuwe uitdagingen zoals bijvoorbeeld het beveiligen van de persoonlijke informatie opgeslagen op deze apparaten. Dremplecryptografie kan een alternatief vormen voor de beveiliging van deze mobiele apparaten. Hierbij gaan apparaten samenwerken om zo één beveiliging te creëren voor alle apparaten. Commerciële implementaties van zulke drempelcryptografische schema s voor het beveiligen van mobiele apparaten zijn echter nog niet opgedoken. Dit is onder andere te wijten aan het feit dat deze drempelschema s gebruik maken van rekenintensieve technieken die slechts op een beperkt aantal van de huidige ingebedde mobiele apparaten kunnen uitgevoerd worden. Ze vereisen ook de aanwezigheid van veilige opslagruimte op deze apparaten die niet door buitenstaanders uitgelezen kan worden. Zulke opslag is echter kostelijk. Deze twee factoren belemmeren de opkomst van drempelschema s. Deze thesis toont aan dat het echter toch mogelijk is om apparaten met een beperkte hoeveelheid rekenkracht en zonder beveiligde opslag te laten deelnemen aan drempelschema s. Om dit te bewijzen wordt een bestaand drempelschema geanalyseerd en wordt er op basis daarvan een praktische implementatie geschreven. Ook wordt er specifiek gekeken naar de mogelijkheid om RFID tags te laten deelnemen aan drempelschema s. RFID tags kunnen immers goedkoop gefabriceerd worden en makkelijk in kleding of schoenen verwerkt worden. De implementatie van het schema gebeurt op PC en de apparaten met beperkte rekenkracht worden gesimuleerd op FPGA met behulp van een soft core processor. Om te bewijzen dat de implementatie werkt, werd het drempelschema gebruikt om de gebruiker te identificeren aan een gesimuleerd toegangskaartsysteem. Ook werd de snelheid van de implementatie geanalyseerd in functie van het aantal apparaten dat deelneemt. Uit deze thesis kan dus besloten worden dat het praktisch mogelijk is apparaten met beperkte rekenkracht en zonder veilige opslag, zoals bijvoorbeeld RFID tags, deel te laten nemen aan drempelschema s. v

8 Lijst van figuren en tabellen Lijst van figuren 1.1 Identificatie aan een toegangsdeur met behulp van verschillende apparaten die je op zak hebt Een overzicht van een symmetrische sleutel cryptografie schema Een overzicht van een asymmetrische sleutel cryptografie schema Een overzicht van een asymmetrische sleutel authenticatie schema Elliptische kromme Elliptische kromme Geometrische optelling van twee punten op een elliptische kromme Geometrische verdubbeling van een punt op een elliptische kromme Veeltermen door 1 punt Visuele voorstelling van Shamir s geheimverdelingsschema De grot van Ali Baba Het publiek verifieerbaar geheimverdelingsschema van [24] Fase 1 van het gedistribueerde sleutelgeneratieschema van Simoens et al. [24] Fase 2 van het gedistribueerde sleutelgeneratieschema van Simoens et al. [24] De aangepaste versie van het ElGamalversleutelingsschema van [24] Opstelling van de verschillende apparaten Schakelmatrix met logische blokken van een FPGA Schema van een Configurable Logic Blok van een Xilinx Spartan 3E FPGA Schema van de Xilinx Microblaze architectuur Voorbeeld van een passsieve RFID tag Layout van de ECC coprocessor ontworpen door Lee et al. [13] De resultaten van de variatie van het aantal apparaten in testsituatie De resultaten van de variatie van de drempelwaarde in testsituatie De resultaten van de variatie van het aantal apparaten in testsituatie vi

9 Lijst van figuren en tabellen 8.4 De resultaten van de variatie van de drempelwaarde in testsituatie Lijst van tabellen 6.1 De waardes van de parameters van de gebruikte curve van type D81 [14] Specificaties van de Xilinx Spartan 3ES250 FPGA [29] Specificaties van de elliptische kromme cryptografische processor van [13] Testresulaten van de ECC initialisatie Resultaten van de snelheidstest van paringen vii

10 Lijst van afkortingen en symbolen Symbolen G 1 Cyclische groep van orde p G 2 Cyclische groep van orde p G T Cyclische groep van orde p Z p Cyclische groep van de gehele getallen van orde p P Generator van G1 P Generator van G1 P Generator van G1 Q Generator van G2 D i Apparaat i s i De geheime sleutel van apparaat i S i De publieke sleutel van apparaat i t De drempel van het drempelschema n Het totaal aantal apparaten g Paring e(p, Q) C i Sleuteldeel van apparaat i A i,k Verbintenis k van apparaat i B i,k Verbintenis k van het nulkennisbewijs van apparaat i Z i Nulbewijsfactor van apparaat i λ i Interpolatiefactor van apparaat i m Het te versleutelen of ontsleutelen bericht kp De willekeurigheid of randomness gebruikt bij het ElGamalschema e De versleutelde boodschap viii

11 Afkortingen RFID FPGA VSS PVSS DKG DLOG DH PBC ECC GMP Radio frequentie identificatie Field-programmable gate array Verifieerbare geheimverdeling Publiek verifieerbare geheimverdeling Gedistribueerde sleutelgeneratie Discreet logaritmeprobleem Diffie-Hellmanprobleem Paringgebaseerde cryptografie Elliptische kromme cryptografie GNU Multiple Precision Arithmetic Library ix

12

13 Hoofdstuk 1 Inleiding Technische vooruitgang heeft ervoor gezorgd dat mobiele apparaten steeds krachtiger worden. GSM s bijvoorbeeld hebben een hele weg afgelegd van de onhandige apparaten toen ze net op de markt kwamen tot de multifunctionele zakcomputers van tegenwoordig. Deze zakcomputers geven bijvoorbeeld de mogelijkheid om onderweg je berichten te lezen, berichten te plaatsen op je favoriete sociale netwerksite of je bankzaken te regelen. Zakcomputers bevatten dus een zeer grote hoeveelheid aan persoonlijke informatie. Ook laptops verschijnen met steeds meer opslagcapaciteit die gebruikt kan worden om persoonlijke gegevens in op te slaan. Deze ontwikkelingen brengen echter ook een nieuw probleem met zich mee, met name de beveiliging van al deze data. Immers door de mobiliteit van deze apparaten worden ze vaker blootgesteld aan beveiligingsrisico s dan bijvoorbeeld je PC op je bureau thuis of op het werk. Zo kan je je zakcomputer verliezen, kan hij gestolen worden of kan je hem onbewaakt achterlaten,... Dat dit regelmatig voorkomt, kan afgeleid worden uit de vele nieuwsberichten over de diefstal of het verlies van apparaten waar zeer gevoelige informatie zoals persoonsgegevens in opgeslagen zijn. De beveiliging van deze apparaten is dan ook essentieel. Een veelgebruikte techniek tegenwoordig is het individueel beveiligen van deze apparaten [30]. Zo heeft je zakcomputer bijvoorbeeld een PIN code en je laptop een gebruikersnaam en wachtwoord. Dit zorgt er echter voor dat je steeds verschillende wachtwoorden en pincodes moet onthouden. Immers hetzelfde wachtwoord kiezen voor al je apparaten zal al deze apparaten compromitteren als het wachtwoord geraden wordt. Als het wachtwoord verloren gaat verlies je ook toegang tot het apparaat. Deze aanpak heeft dus inherent een aantal nadelen. 1.1 Een nieuwe aanpak Recentelijk duiken er echter nieuwe technieken op om deze mobiele apparaten te beveiligen [30], [19]. Deze technieken maken gebruik van het feit dat men er vanuit kan gaan dat de gebruiker steeds meerdere apparaten op zak heeft en wordt drempelbeveiliging genoemd. Men gaat apparaten combineren om zo een totale beveiliging 1

14 1. Inleiding Figuur 1.1: Identificatie aan een toegangsdeur met behulp van verschillende apparaten die je op zak hebt. (Met dank aan Roel Peeters voor de afbeelding) van alle apparaten te creëren. Drempelbeveiliging werkt met een parameter t, de drempel genoemd. Deze parameter geeft weer hoeveel apparaten minstens moeten samenwerken om ze bijvoorbeeld te ontgrendelen. De waarde van de parameter t ligt lager dan het totaal aantal apparaten, die beveiligd moeten worden, zodat niet alle apparaten noodzakelijk zijn om de beveiliging te laten werken [30]. Dit laat toe dat de gebruiker een aantal apparaten thuislaat als bijvoorbeeld de batterij ervan moet opgeladen worden of in het slechtste geval hij er eentje verliest. Zolang hij over meer dan t apparaten beschikt is er geen probleem en kan hij de apparaten ontgrendelen en gebruiken. Dit heeft als gevolg dat een buitenstaander enkel toegang krijgt tot de apparaten als hij minstens t apparaten bezit. Door t te verhogen kan dus de graad van veiligheid verhoogd worden. [30]. Deze techniek kan niet alleen gebruikt worden voor de beveiliging van apparaten. Laat ons bijvoorbeeld een toegangskaartsysteem aan een deur bekijken. Huidige technieken vereisen dat de gebruiker zijn toegangskaart gebruikt om zich te identificeren en de deur te openen. Verliest hij echter deze toegangskaart, dan kan hij de deur niet meer openen. Een kwaadwillige gebruiker heeft ook genoeg aan de toegangskaart van iemand met toegang om de deur te openen, tenzij er extra (fysieke) veiligheidsmaatregels getroffen worden. Als we echter drempelbeveiliging gaan gebruiken om de gebruiker te identificeren dan moet de gebruiker minstens t apparaten bij zich hebben voor een juiste identificatie. Dit biedt een grotere flexibiliteit en veiligheid. Immers het verlies van de toegangskaart kan opgevangen worden indien de gebruiker minstens t andere apparaten bij zich heeft. Een aanvaller daarentegen moet minstens t apparaten stelen vooraleer hij de deur kan openen. Een andere toepassing van drempelbeveiliging kan het beveiligen van data op de harde schijf van een computer zijn. Normaal wordt de data op de harde schijf beveiligd met 2

15 1.2. Probleemstelling een wachtwoord. Dit vormt ook weer een risico voor de gebruiker. Immers indien dit wachtwoord verloren gaat, is de data niet meer toegankelijk. Gebruiken we echter drempelbeveiliging dan kan het wachtwoord vervangen worden door een identificatie met minstens t apparaten. Het is dus makkelijk in te zien dat drempelbeveiliging vele vormen kan aannemen en een belangrijk onderzoeksdomein vormt. Het biedt dus een hogere graad van veiligheid en een grotere flexibiliteit naar de gebruiker toe. Bovendien kan men ook stellen dat als er meer en verschillende apparaten gebruikt worden voor de identificatie, de flexibiliteit stijgt [30]. 1.2 Probleemstelling De huidige implementaties van drempelbeveiligingsschema s hebben echter een aantal nadelen. Er zijn voorwaarden waaraan de deelnemende apparaten moeten voldoen. We kunnen twee belangrijke voorwaarden onderscheiden [24]: De apparaten moeten beschikken over genoeg rekenkracht. Drempelschema s gebruiken zeer rekenintensieve bewerkingen die niet door alle mobiele apparaten kunnen uitgevoerd worden. De apparaten moeten beschikken over beveiligde opslag. Dit wil zeggen dat er opslagruimte moet zijn die afgeschermd is van de buitenwereld om belangrijke parameters van het drempelschema in op te slaan die niet publiek gemaakt mogen worden. Dit vormt een zeer beperkende factor voor zulke schema s want de graad van flexibiliteit en veiligheid wordt bepaald door het aantal en het soort apparaten dat eraan deelneemt [30]. Enkel de duurdere apparaten met genoeg rekenkracht en beveiligde opslag komen in aanmerking. Als er een manier kan gevonden worden om goedkope apparaten die niet over bovenstaande eigenschappen beschikken, toch te laten deelnemen in drempelbeveiligingsschema s, zou dit een enorme vooruitgang zijn. Dit zou de deur openen om zeer eenvoudige en goedkope apparaten zoals bijvoorbeeld Radio Frequentie Identificatie (RFID) tags te gebruiken in deze schema s. 1.3 Bijdrage van deze thesis Er is reeds een artikel verschenen met een theoretisch drempelbeveiligingsschema dat gebruikt kan worden om de integratie van apparaten met beperkte rekenkracht en zonder beveiligde opslag in deze schema s mogelijk te maken [24]. De bijdrage die deze thesis wil leveren bestaat uit drie delen: 1. Deze thesis zal analyseren als het praktisch haalbaar is om goedkope apparaten met beperkte rekenkracht en zonder beveiligde opslag in drempelschema s te integreren. 3

16 1. Inleiding 2. Er zal een praktische implementatie van zulk een drempelbeveiligingsschema geïmplementeerd worden. Praktische aspecten en problemen die tevoorschijn komen, zullen geadresseerd worden. 3. Als specifiek voorbeeld van een goedkoop apparaat met beperkte rekenkracht en zonder beveiligde opslag wordt een RFID tag gebruikt. Er wordt gekeken als dit soort apparaten kunnen deelnemen aan drempelschema s. De doelstelling van deze thesis kan dus als volgt samengevat worden: Het aantonen dat apparaten met beperkte rekenkracht en zonder veilige opslag, zoals bijvoorbeeld RFID tags, kunnen deelnemen aan drempelbeveiligingsschema s en dit door een effectieve implementatie van zo een drempelbeveiligingsschema te schrijven. 1.4 Aanpak van de thesis Allereerst zal een studie van het vakgebied van de cryptografie gebeuren in hoofdstuk 2. Hierin zal de evolutie van cryptografie besproken worden alsook een aantal basisconcepten die noodzakelijk zijn om het verdere verloop van de thesis te kunnen volgen. Deze studie wordt gevolgd door een kort overzicht van een aantal wiskundige concepten in hoofdstuk 3 die een wiskundige basis geven voor drempelschema s en cryptografie in het algemeen. Vervolgens zal drempelcryptografie uitgebreid besproken worden alsook het drempelschema waarop de implementatie gebaseerd is. Dit gebeurt in hoofdstuk 4. Hoofdstuk 5 geeft de ontwerpbeslissingen weer die genomen zijn bij het ontwerp van het drempelbeveiligingsprogramma. Het eerste deel van hoofdstuk 6 bespreekt de effectieve implementatie op de PC en de praktische aspecten die hierbij naar boven kwamen. In het tweede deel van dit hoofdstuk worden de praktische aspecten van de implementatie op FPGA bekeken. Hoofdstuk 7 bekijkt Radio frequentie identificatie (RFID) als een specifiek voorbeeld van een apparaat met beperkte rekenkracht en zonder veilige opslag, alsook de integratie van een specifieke RFID met de implementatie van het drempelschema. Hoofdstuk 8 bespreekt een opstelling van verschillende apparaten gemaakt met de implementatie van het drempelschema die alle aspecten van de implementatie test. De resultaten van deze test worden in dit hoofdstuk ook besproken alsook mogelijke verbeteringen die in de toekomst eraan zouden kunnen worden toegevoegd. Ten slotte wordt een kort overzicht gegeven van de bekomen resultaten. 4

17 Hoofdstuk 2 Cryptografie In dit inleidende hoofdstuk willen we een overzicht geven van een aantal belangrijke cryptografische begrippen om de lezer een achtergrond te geven bij het lezen van deze thesis. Allereerst wordt het begrip cryptografie zelf bekeken en geschetst in de geschiedenis. Vervolgens wordt symmetrische en publieke sleutel cryptografie besproken. Cryptografie is de wetenschap van de beveiliging van informatie. Het woord is afgeleid van het Griekse kryptos dat verborgen betekent. Onderzoek naar systemen om informatie te beveiligen, gebeurt al geruime tijd. Al reeds ten tijde van de heerschappij van Julius Caesar werd er informatie beveiligd. Het Caesarcijfer zal iedere letter van een bericht vervangen door de letter die drie plaatsen verder in het alfabet staat. Deze parameter(iedere letter vervangen door een andere letter) wordt de sleutel van het cijfer genoemd. Deze sleutel bevat dus de parameters die nodig zijn om het bericht te versleutelen of ontsleutelen. Een discipline nauw verwant aan de cryptografie is de cryptologie. Deze houdt zich bezig met het achterhalen van de werking van cryptografische systemen om zo de berichten die ermee versleuteld zijn te kunnen kraken. De opkomst van de computer rond de Tweede Wereldoorlog heeft gezorgd voor een grote vooruitgang van deze wetenschap. Een van de bekendste voorbeelden van cryptologie stamt ook uit deze periode. Het kraken van de Duitse Enigma machine, een elektromechanische rotormachine, die gebruikt werd om militaire communicatie te versleutelen leverde de Geallieerden belangrijke informatie over de Duitse militaire beslissingen. Dit was een belangrijke bijdrage tot de uiteindelijke overwinning van de Geallieerden. Nu volgt een overzicht van de moderne cryptografische systemen. Moderne cryptografische systemen hebben één of meerdere doelen voor ogen [12]: Vertrouwelijkheid. Informatie beveiligingen zodat enkel de partij voor wie ze bedoeld is deze kan lezen. Integriteit. Garanderen dat de beveiligde informatie niet door andere partijen aangepast is. 5

18 2. Cryptografie Figuur 2.1: Een overzicht van een symmetrische sleutel cryptografie schema. Onloochenbaarheid. Ervoor zorgen dat de maker van het bericht niet kan ontkennen dat hij het bericht verzonden heeft. Authenticatie. De oorsprong van de informatie valideren. Deze systemen kunnen worden ingedeeld naargelang het aantal verschillende sleutels dat gebruikt wordt: Symmetrische sleutel cryptografie. Er wordt slechts één sleutel gebruikt. Asymmetrische sleutel cryptografie. Er worden twee sleutels gebruikt. Eén publieke, die door iedereen gekend is, en een private. Hashfuncties. De versleuteling gebeurt via een éénwegs hashfunctie en is niet omkeerbaar. In de volgende paragrafen worden symmetrische en asymmetrische cryptografie verder besproken. 2.1 Symmetrische sleutel cryptografie Symmetrische sleutel algoritmes gebruiken dezelfde sleutel voor versleutelen als ontsleutelen van een boodschap. Er wordt dus één gedeelde sleutel gebruikt door beide partijen. Figuur 2.1 geeft een overzicht van de werking van dit soort algoritmes. Alice wil een bericht m verzenden aan Bob zonder dat Eve dit kan lezen. Ze kiest een 6

19 2.2. Publieke sleutel cryptografie geheime sleutel k en past deze toe op haar bericht en krijgt het versleutelde bericht c door E k (m) = c. Dan zorgt ze ervoor dat die sleutel via een veilig kanaal tot bij Bob geraakt. Het bericht zendt ze over het onveilige kanaal waarop Eve meeluistert. Bob kan met deze sleutel het versleutelde bericht ontsleutelen: D k (c) = m. Eve kan het versleutelde bericht c wel lezen maar zonder de geheime sleutel k kan ze het niet ontsleutelen [1]. Alhoewel symmetrische cryptografische algoritmes in het algemeen zeer efficiënt grote hoeveelheden informatie kunnen versleutelen hebben ze een groot nadeel nl. sleutelbeheer. Men moet immers in staat zijn een veilig kanaal te creëren om de gedeelde sleutel k uit te wisselen. Immers iedereen die in het bezit is van deze sleutel kan het bericht ontsleutelen. Zo zou Eve in het schema op figuur 2.1 het bericht ook kunnen ontsleutelen als ze tijdens de fase van het uitwisselen van de sleutel k deze kan bemachtigen. Symmetrische sleutel cryptografie voor het versturen van berichten wordt zelden meer gebruikt in zijn originele vorm wegens het sleuteluitwisselingsprobleem. Bij het versleutelen van data zonder dat deze verzonden wordt, wordt symmetrische sleutel cryptografie wel nog toegepast. Een voorbeeld hiervan is het versleutelen van data op de harde schijf van een computer. 2.2 Publieke sleutel cryptografie Tot midden jaren 70 waren er geen alternatieven voor symmetrische sleutel cryptografie. In 1976 echter kwamen Diffie en Hellman met een cryptografisch systeem dat het veilig uitwisselen van de geheime sleutel k sterk vereenvoudigde [3]. Dit nieuwe systeem was de asymmetrische of publieke sleutel cryptografie. Hierbij wordt er gebruik gemaakt van 2 verschillende soorten sleutels voor het versleutelen en ontsleutelen. De publieke sleutel kan over een onveilig kanaal verdeeld worden en kan een bericht versleutelen of een handtekening verifiëren. De private of geheime sleutel wordt geheim gehouden en kan een bericht ontsleutelen of handtekenen. Een asymmetrisch schema kan vergeleken worden met een brievenbus. Iedereen kan brieven in de brievenbus steken, maar enkel de persoon met de sleutel van de brievenbus, de geheime sleutel, kan de brieven lezen. Dit is een andere aanpak dan symmetrische sleutel cryptografische systemen die gezien kunnen worden als een kist met een slot op. Iedereen die iets in de kist wil achterlaten moet de sleutel van het slot hebben. En iedereen die de sleutel heeft kan alle brieven in de kist lezen. Bij asymmetrische sleutel cryptografische schema s is een veilig kanaal voor sleutelbeheer dus niet langer vereist. De sleutels worden gegenereerd met behulp van éénwegs valluik functies. Deze éénwegs valluik functies kunnen makkelijk worden toegepast in één richting. De omgekeerde richting is echter zeer rekenintensief. In paragraaf 2.3 worden zulke functies verder uitgediept. Men kan deze functies zien als de sleuf van de brievenbus. Deze kan maar in één richting openzwaaien. 7

20 2. Cryptografie Figuur 2.2: Een overzicht van een asymmetrische sleutel cryptografie schema Versleuteling Allereerst kunnen publieke sleutelschema s gebruikt worden om berichten te versleutelen en te ontsleutelen. Het versleutelingsschema van een publieke sleutelalgoritme bevat een aantal belangrijke wijzigingen ten opzichte van een symmetrische sleutelalgoritme. Figuur 2.2 geeft hier een voorbeeld van. Alice kiest met behulp van een trapdoor functie haar geheime en publieke sleutelpaar (d, e). Vervolgens zendt ze haar publieke sleutel e naar Bob. Dit mag over een onbeveiligd kanaal waarop Eve meeluistert. Het bericht m dat Bob aan Alice wil verzenden wordt versleuteld door de publieke sleutel e van Alice erop toe te passen: E e (m) = c en daarna over het onbeveiligde kanaal naar Alice gestuurd. Alice past haar geheime sleutel d toe op het versleutelde bericht c en bekomt zo terug het originele bericht: D d (c) = m [1]. Dit schema maakt het sleutelbeheer veel eenvoudiger aangezien enkel de publieke sleutel dient uitgedeeld te worden. Eve kan echter het bericht niet ontsleutelen als ze in het bezit is van de publieke sleutel. De geheime sleutel is nodig om het bericht te ontsleutelen en deze wordt niet uitgewisseld Authenticatie In het schema dat beschreven werd in paragraaf kan de ontvanger (Alice) niet verifiëren of het ontvangen bericht effectief van Bob afkomstig is. In vele gevallen is deze informatie even belangrijk dan de boodschap zelf. Publieke sleutel cryptografie voorziet een schema om een bericht te handtekenen en zo te bevestigen dat het bericht van de juiste afzender afkomstig is. Figuur 2.2 geeft een overzicht van het verificatieproces. Bob stuurt een bericht m aan Alice maar wil haar verzekeren dat het bericht van hem afkomstig is. Hij kiest daartoe een privaat, publiek sleutelpaar 8

21 2.3. Sterkte van cryptografische systemen Figuur 2.3: Een overzicht van een asymmetrische sleutel authenticatie schema. (d, e). Het bericht tekent hij door zijn geheime sleutel d erop toe te passen: S d (m) = c. Alice ontvangt het getekende bericht c en past de publieke sleutel e van Bob toe op het bericht om te verifiëren of het afkomstig is van Bob. Deze digitale handtekeningen worden zeer veel gebruikt bij communicatie waar de afkomst van het bericht zeer belangrijk is. Zo kunnen berichten voorzien worden van een digitale handtekening of transacties over het internet, Sterkte van cryptografische systemen Cryptografische systemen worden ingedeeld in twee categorieën: Informatietheoretisch veilige systemen; Getaltheoretisch veilige systemen (computationally secure systems). Informatietheoretisch veilige systemen berusten op een wiskundige onmogelijkheid om een sleutel te achterhalen of een bericht te ontsleutelen. Getaltheoretische veiligheid berust op het ontbreken van een efficiënt algoritme om het gebruikte wiskundige probleem op te lossen. Deze systemen zijn dus in theorie te kraken indien men over een oneindige hoeveelheid rekenkracht beschikt. In de praktijk is de hoeveelheid rekenkracht die men beschikbaar heeft echter beperkt en hier maken getaltheoretisch veilige systemen gebruik van om informatie te beveiligen. De volgende paragraaf beschrijft enkele van deze numeriek veilige systemen die gebruikt worden in cryptografische systemen. 9

22 2. Cryptografie Het factorisatieprobleem Het factorisatieprobleem stelt dat het zeer moeilijk is om een product van heel grote priemgetallen terug in zijn factoren te ontbinden: Definitie: Het geheel getal factorisatieprobleem: gegeven een positief geheel getal n, schrijf n als: n = p e 1 1 pe pe k k, waar p i paarsgewijze unieke priemfactoren zijn en elke e i 1. (2.1) Dit probleem wordt veelvuldig in de cryptografie gebruikt. Het bekendste systeem gebaseerd op het factorisatieprobleem is het RSA algoritme. Dit algoritme is genoemd naar de de bedenkers ervan: Rivest, Shamir en Adleman. Het is één van de eerste publieke sleutelschema s dat zowel versleuteling als authenticatie toelaat [21]. In het algemeen wordt dit probleem als voldoende getaltheoretisch veilig beschouwd als men een sleutellengte van minstens 1024 bit kiest [11] Discrete logaritmeprobleem Een ander wiskundig probleem dat vaak gebruikt wordt, is het discrete logaritmeprobleem. De discrete logaritme is de inverse operatie van een machtsverheffing in een eindige cyclische groep. Beschouwen we een cyclische groep G van orde p met generator α en een vermenigvuldigingsoperatie. Dan is de machtsverheffing gedefinieerd als: De discrete logaritme is vervolgens gedefinieerd als: Het discrete logaritmeprobleem is dan: α x = α} α {{... α} = b mod p. (2.2) x log α b = x mod p. (2.3) Definitie: Het discrete logaritmeprobleem: gegeven een priemgetal p, generator α van G van orde p en een element b Z p, vind het geheel getal x,0 x p 2, zodat Het Diffie-Hellmanprobleem α x = b mod p. (2.4) Een laatste wiskundig probleem dat besproken wordt is het Diffie-Hellmanprobleem. Dit is gerelateerd aan het discrete logaritmeprobleem. Definitie: Het Diffie-Hellmanprobleem: gegeven een priemgetal p, generator α van G en α a,α b mod p met a, b Z p, vind α ab mod p. (2.5) 10

23 Hoofdstuk 3 Wiskundige concepten In dit hoofdstuk wordt een kort overzicht gegeven van een aantal wiskundige begrippen die vaak gebruikt worden in de cryptografie en die veelvuldig in deze thesis aan bod komen. Dit hoofdstuk wil zeker geen volledig beeld geven van de achterliggende wiskunde van de cryptografische systemen. Voor een volledigere uiteenzetting verwijs ik naar [8], [2] en [16]. Allereerst worden elliptische krommen besproken en ook paringen. Daarna worden deze concepten gelinkt aan de wiskundige problemen die de veiligheid van cryptografische systemen garanderen. 3.1 Elliptische krommen Elliptische krommen worden reeds lange tijd bestudeerd. In 1985 echter kwamen ze op de voorgrond door de voorstelling van een publieke sleutel cryptografisch schema op basis van elliptische krommen [8]. Sindsdien is er veel vooruitgang geboekt en worden ze stilaan ook gebruikt in commerciële applicaties. Eén van de belangrijkste redenen waarom elliptische krommen zo populair aan het worden zijn in cryptografische systemen, is dat de sleutellengte nodig om eenzelfde graad van veiligheid te bieden met bijvoorbeeld RSA veel kleiner kan zijn. Als RSA een sleutellengte van 1024 bit vereist, dan volstaat een sleutellengte van 160 bit voor eenzelfde graad van veiligheid [11]. Definitie: Een elliptische kromme E over een veld K is gedefinieerd door de vergelijking: E : y 2 + a 1 xy + a 3 y = x 3 + a 2 x 2 + a 4 x + a 5 (3.1) waar a 1, a 2, a 3, a 4, a 5 K en Λ 0, met Λ de discriminant van E gedefinieerd als volgt: 11

24 3. Wiskundige concepten Figuur 3.1: E 1 = y 2 = x 3 x (Het auteursrecht op deze afbeelding behoort toe aan [8]). Λ = d 2 2 d 8 8d d d 2d 4 d 6 d 2 = a a 2 d 4 = 2a 4 + a 1 a 3 d 6 = a a 5 d 8 = a 2 1 a 5 + 4a 2 a 5 a 1 a 3 a 4 + a 2 a 2 3 a2 4. (3.2) Figuur 3.1 en 3.2 zijn voorbeelden van elliptische krommen die aan deze definitie voldoen. Op deze elliptische krommen kunnen een aantal bewerkingen gedefinieerd worden zoals een puntsoptelling, puntsverdubbeling en een scalar puntsvermenigvuldiging: Definitie: Puntsoptelling: Neem P = (x 1, y 1 ) E(K) en Q = (x 2, y 2 ) E(K), met P ±Q. Dan is P + Q = (x 3, y 3 ), met x 3 = ( y 2 y 1 x 2 x 1 ) 2 x 1 x 2 en y 3 = ( y 2 y 1 x 2 x 1 )(x 1 x 3 ) y 1. (3.3) Dit wordt visueel weergegeven op figuur 3.3. Definitie: Puntsverdubbeling: Neem P = (x 1, y 1 ) E(K), met P P. Dan is 2P = (x 3, y 3 ), met 12 x 3 = ( 3x2 1 + a ) 2 2x 1 en y 3 = ( 3x2 1 + a ) 2 (x 1 x 3 ) y 1. (3.4) 2y 1 2y 1

25 3.1. Elliptische krommen Figuur 3.2: E 2 = y 2 = x x (Het auteursrecht op deze afbeelding behoort toe aan [8]). Dit wordt visueel weergegeven op figuur 3.4. Definitie: Scalar puntsvermenigvuldiging: Neem P E(K), en k Z p. Dan is kp = } P + P + P {{ P }. (3.5) k De scalar puntsvermenigvuldiging kan dus herleid worden naar een aantal puntsverdubbelingen Elliptische kromme discrete logaritmeprobleem Cryptografische systemen gebaseerd op elliptische krommen (ECC) gebruiken rekenkundige bewerkingen op punten van deze krommen. Er kunnen dankzij deze elliptische krommen nieuwe wiskundige problemen gebruikt worden om getaltheoretisch veilige cryptografische systemen te ontwikkelen. Men kan nu een elliptische kromme discrete logaritmeprobleem definiëren waarvoor geen efficiënt algoritme bestaat om het op te lossen: Definitie: Het elliptische kromme discrete logaritmeprobleem: gegeven een elliptische kromme E gedefinieerd over een eindig veld F q, een punt P E(F q ) van orde n en een punt Q P, zoek het geheel getal l [0, n 1] zodat Q = lp. 13

26 3. Wiskundige concepten Figuur 3.3: Geometrische optelling van twee punten op een elliptische kromme: P + Q = R (Het auteursrecht op deze afbeelding behoort toe aan [8]). l wordt dan de discrete logaritme van Q over de basis P genoemd. Het voordeel van dit probleem is dat sleutels van een beperkte lengte toch een grote graad van veiligheid kunnen garanderen. Waar RSA, dat gebruikt maakt van het factorisatieprobleem, een sleutellengte van minstens 1024 bit nodig heeft om veilig te zijn, heeft elliptische kromme cryptografie gebaseerd op de aangepaste versie van het discrete logaritmeprobleem al genoeg aan sleutels met een lengte van 160 bit om dezelfde graad van veiligheid te geven [11]. 3.2 Paringen Een tweede concept is de paring of pairing. Paringen werden initieel gebruikt om het elliptische kromme discrete logaritmeprobleem efficiënt op te lossen (De MOV-aanval) [17]. Paringen kunnen echter ook constructief ingezet worden in cryptografische systemen aangezien ze toelaten dat er nieuwe wiskundige problemen mee kunnen gebouwd worden om getaltheoretische cryptografische systemen te beveiligen. Definitie: Laat G 1 en G 2 additieve cyclische groepen zijn van orde p en G t een multiplicatieve cyclische groep van orde p met P G 1, Q G 2 generators van hun respectievelijke groepen. Dan is een paring een niet degeneratieve bilineaire mapping 14

27 3.2. Paringen Figuur 3.4: Geometrische verdubbeling van een punt op een elliptische kromme: P + P = R (Het auteursrecht op deze afbeelding behoort toe aan [8]). van: e : G 1 G 2 G t. (3.6) Waarvoor volgende eigenschappen gelden: 1. Bilineair: P, P G 1 en Q, Q G 2 : e(p + P, Q) = e(p, Q)e(P, Q) en e(p, Q + Q ) = e(p, Q)e(P, Q ) 2. Niet degeneratief: e(p, Q) 1, 3. e moet efficient te berekenen zijn., (3.7) De bilineairiteitseigenschap kan ook anders geformuleerd worden(additieve notatie voor G 1 en G 2 ): a, b Z p : e(ap, bq) = e(p, Q) ab. (3.8) Deze formulering van de eigenschap zal later gebruikt worden bij het bespreken van wiskundig moeilijke problemen met paringen. Indien G 1 = G 2, dan spreken we van een symmetrische paring. 15

28 3. Wiskundige concepten Wiskundige problemen gebaseerd op paringen Paringen laten toe een grote groep van nieuwe wiskundige problemen te definiëren die gebruikt kunnen worden in cryptografische systemen. De meeste hiervan zijn gebaseerd op het Diffie-Hellmanprobleem dat reeds besproken werd in paragraaf 2.3. Eén van de varianten is het co-bilineaire Diffie-Hellmanprobleem: Definitie: Het co-bilineaire Diffie-Hellmanprobleem: gegeven P G 1,Q G 2,aP en bp met a, b Z p, bereken e(p, Q) ab. (3.9) 16

29 Hoofdstuk 4 Drempelcryptografie Na een inleiding van cryptografie in hoofdstuk 2 en een bespreking van elliptische krommen en paringen in hoofdstuk 3 wordt nu het concept drempelcryptografie besproken. Eerst wordt het algemene concept uitgelegd en worden de voordelen ervan besproken. Vervolgens wordt er verder ingegaan op iedere fase van drempelschema s. Als laatste wordt het drempelschema van Simoens et al. [24] bekeken aangezien dit de basis vormt van de implementatie in deze thesis. 4.1 Drempelschema s Drempelcryptografische schema s zijn een variant van publieke sleutel cryptografische systemen. Ze zorgen ervoor dat een aantal verschillende partijen kunnen samenwerken en als één entiteit kunnen deelnemen aan een publieke sleutel cryptografisch systeem. De geheime sleutel van de entiteit zal verdeeld worden over deze verschillende partijen. Echter niet alle partijen zijn tegelijk vereist om te kunnen deelnemen. Als n het totaal aantal partijen is dan wordt gesteld dat t het aantal partijen is dat minstens aanwezig moet zijn om de entiteit bijvoorbeeld een ontsleuteling uit te laten voeren. Deze parameter t wordt de drempel genoemd en men spreekt van een (t, n) drempelschema. De reden voor het ontwikkelen van deze drempelschema s zit in de veiligheidsvoordelen ervan. Door de geheime sleutel over verschillende apparaten te verdelen en een juiste parameter t te kiezen, verbetert de veiligheid van publieke cryptografische systemen en ook de flexibiliteit ervan. Immers: Het verlies van aantal delen van de sleutel kan opgevangen worden indien n > t. Zolang men beschikt over t delen van de sleutel kan men deze reconstrueren en berichten ontsleutelen. n t stukken van de sleutel kunnen dus verloren gaan. Dit zorgt voor een verhoogde betrouwbaarheid en flexibiliteit, want niet alle apparaten moeten ten alle tijde aanwezig zijn voor een cryptografische actie. Problemen met defecte of gestolen apparaten kunnen dus opgevangen worden, alsook bijvoorbeeld apparaten met een lege batterij. 17

30 4. Drempelcryptografie Figuur 4.1: Door 2 punten kunnen oneindig veel veeltermen van graad 2 getekend worden (Het auteursrecht op deze afbeelding behoort toe aan Vlsergey). Een aanvaller moet over minstens t stukken van de sleutel beschikken om de volledige sleutel te reconstrueren. Dit verhoogt de veiligheid van het cryptografische systeem. Bij drempelschema s is het de bedoeling dat een geheim (secret), bijvoorbeeld de geheime sleutel, verdeeld wordt over een aantal partijen of apparaten. De partij die het geheim verdeelt wordt deler (dealer) genoemd en de deelnemende partijen ontvangen elk een deel (share), ook sleuteldeel genoemd. Deze schema s zijn opgebouwd uit een aantal fases: De verdelingsfase. De deler kiest een geheim en berekent de sleuteldelen voor alle partijen. Deze sleuteldelen worden verstuurd naar deze partijen. De verificatiefase. Iedere partij verifieert het verkregen sleuteldeel. Indien deze verificatie mislukt, betekent dit dat er iets misgelopen is bij het verdelen van het geheim en zal het drempelschema afgebroken worden. De reconstructiefase. Het geheim wordt gereconstrueerd uitgaande van de verschillende sleuteldelen. De toepassingsfase. Met het gereconstrueerde geheim wordt een cryptografische actie uitgevoerd zoals een versleuteling of ontsleuteling van een bericht De verdelingsfase In de verdelingsfase wordt het geheim, bijvoorbeeld een private sleutel, verdeeld in sleuteldelen voor alle partijen. Shamir ontwierp een systeem om een geheim te verdelen over verschillende partijen dat voldoet aan bovenstaande voorwaarden [23]. Het is gebaseerd op het feit dat een functie f(x) van graad t 1 volledig bepaald is door t punten ervan. Figuur 4.1 toont dat door 2 punten oneindig veel veeltermen van graad 2 getekend kunnen worden. Om deze veelterm volledig te bepalen zijn dus minstens 3 punten vereist. Deze eigenschap werd door Shamir uitgebuit. 18

31 4.1. Drempelschema s Figuur 4.2: Visuele voorstelling van Shamir s geheimverdelingsschema (Het auteursrecht op deze afbeelding behoort toe aan Michael Frei). Voor een (t, n) drempelschema wordt een veelterm van graad t 1 gekozen: f(x) = a 0 +a 1 x+a 2 x a t x t 1. a 0 wordt gelijkgesteld aan het te verdelen geheim. Dit is het punt waar de veelterm de y-as snijdt. Vervolgens krijgt iedere partij die deelneemt een punt op de veelterm toegewezen: (x 1, f(x 1 )), (x 2, f(x 2 )),..., (x n, f(x n )). Iedere verzameling van t punten kan de veelterm en vervolgens het geheim reconstrueren. Bovendien is het onmogelijk iets over de veelterm of het geheim te zeggen indien men over minder dan t punten beschikt zoals reeds bleek uit figuur 4.1. Figuur 4.2 geeft het schema van Shamir visueel weer De verificatiefase De tweede fase van drempelschema s is de verificatiefase. Deze fase is vereist om sleuteldelen die fouten bevatten te kunnen ontdekken. Deze fouten kunnen ontstaan bij het versturen van de sleuteldelen of kunnen ook opzettelijk gemaakt worden door een partij die het drempelschema wil verstoren. Om ervoor te zorgen dat de sleuteldelen die de deler uitzendt naar de ander partijen geen fouten bevatten, werd door Feldman een systeem voorgesteld om deze sleuteldelen te verifiëren op hun correctheid [5]. Zulke schema s worden verifieerbare geheimverdelingschema s genoemd(vss schema s). De geheime sleutel wordt verdeeld met het schema van Shamir uit paragraaf De coëfficiënten a 0, a 1,..., a t van de gekozen veelterm worden echter gepubliceerd, verborgen in de exponent van een generator g van de groep Z p waarin een discreet logaritmeprobleem gedefinieerd kan worden. Deze verbintenissen of commitments A k = g a k mod p voor k = 0,..., t worden dan door de andere partijen gebruikt om te verifiëren of het sleuteldeel dat ze gekregen hebben geen fouten bevat door na te gaan dat g f(z i) = t (A k ) ik mod p. (4.1) k=0 19

32 4. Drempelcryptografie Een probleem van dit schema is dat het gekozen geheim a 0 ook indirect uitgezonden wordt in de vorm g a 0. Indien men dus over een oneindige hoeveelheid rekenkracht beschikt, kan men dus alle waardes van a 0 afgaan en kijken of één van deze overeenstemt met g a 0. Dit schema is dus enkel getaltheoretisch veilig. Pedersen publiceerde om deze reden een variant op dit schema dat informatietheoretisch veilig is indien de aanvaller log g h niet kan berekenen [18]. Het gebruikt twee willekeurig gekozen veeltermen f(x) = k a kz k en f (x) = k a k zk van graad t 1. f(0) bevat het geheim a 0. De coëfficiënten worden verborgen in de exponent van de generator g van de groep Z p en h Z p, een subgroep van Z p en vormen zo de verbintenissen: A k = g a k h a k mod p voor k = 0,..., t. (4.2) Alle partijen kunnen hun verkregen sleuteldeel verifiëren door volgende vergelijking te controleren: g f(z i) h f (z i ) = t (A k ) ik mod p. (4.3) k=0 De voorgaande verificatiesystemen vereisen een beveiligd kanaal tussen de deler en de andere partijen. Dat maakt dat een deelnemende partij enkel zijn eigen verkregen sleuteldeel kan verifiëren. Een partij kan dus niet weten of de deler aan alle partijen juiste sleuteldelen gegeven heeft. Heidarvand en Villar stelden een publiek verifieerbaar geheimverdelingschema (PVSS schema) op dat toelaat dat alle partijen alle sleuteldelen kunnen verifiëren [9]. Dit schema vereist ook geen beveiligd kanaal meer tussen de deler en de andere partijen. De sleuteldelen worden dus over publieke kanalen verstuurd en de deler kan door elke partij gecontroleerd worden alsook door een derde partij die buiten het drempelschema staat. Dit zorgt ervoor dat alle partijen eenzelfde onveilig kanaal kunnen gebruiken om te communiceren. Er wordt gebruik gemaakt van paringen om deze publieke verifieerbaarheid mogelijk te maken. De verdelingsfase van het schema is gebaseerd op het schema van Shamir uit paragraaf met de aanpassing dat het sleuteldeel verborgen wordt in de exponent van de publieke sleutel van het apparaat waarvoor het deel bedoeld is: C i = S f(x i) i. (4.4) Iedereen kan deze sleuteldelen verifiëren door de volgende gelijkheid te verifiëren: e(x i, S i ) = e(p, C i ) met X i = t 1 Indien deze verificatie mislukt, wordt het drempelschema gestopt De reconstructiefase k=0 A ik i. (4.5) Als een geheime sleutel verdeeld is over de verschillende partijen moet deze ook kunnen gereconstrueerd worden om gebruikt te kunnen worden voor het versleutelen of ontsleutelen van berichten. Hiertoe dient de reconstructiefase. In deze fase worden 20

33 4.1. Drempelschema s minstens t apparaten bij elkaar gebracht om de geheime sleutel te reconstrueren. Ze bestaat uit twee delen: De apparaten die hun sleuteldelen ter beschikking stellen moeten bewijzen dat deze overeenkomen met de sleuteldelen van de verdelingsfase. Dit kan gebeuren met dezelfde test als tijdens de verificatiefase [7] of met een nulkennisbewijs; t delen van het geheim worden terug gecombineerd tot het totale geheim. Hiervoor kan Lagrangeveelterminterpolatie gebruikt worden. Nulkennisbewijzen Nulkennisbewijzen (zero knowledge proofs) worden gebruikt om informatie te verifiëren zonder dat deze informatie bekend gemaakt dient te worden. Zulke bewijzen moeten aan drie kenmerken voldoen: 1. Volledigheid: Als het bewijs positief is, zal een eerlijke verifieerder overtuigd zijn van de juistheid. 2. Soliditeit: Als het bewijs negatief is, kan een eerlijke verifieerder niet overtuigd worden dat het bewijs toch positief is. 3. Nulkennis: Als het bewijs positief is, zal een eerlijke verifieerder niet meer weten dan dat het bewijs positief is. Dit kan geïllustreerd worden met het voorbeeld van de grot van Ali Baba. Deze grot is cirkelvormig. Er zijn dus twee paden die in de grot samenkomen en een magische deur voorkomt dat je van de ene gang naar de andere kan(figuur 4.3). Om de deur te openen, heb je een wachtwoord nodig. Peggy kent dit wachtwoord en Victor wil het wachtwoord van Peggy kopen, maar enkel als ze het juiste wachtwoord heeft. Peggy wil het wachtwoord pas geven als Victor betaald heeft. Een nulkennisbewijs kan Peggy en Victor uit hun impasse helpen: Victor wacht buiten de grot als Peggy naar binnen gaat en een willekeurige gang kiest. Victor gaat nu aan de ingang van de grot staan en roept welke gang Peggy moet uitkomen. Peggy heeft nu 50 procent kans dat ze al in de juiste gang is. Is ze echter in de verkeerde gang en kent ze het wachtwoord, dan kan ze toch nog naar de juiste gang indien ze het wachtwoord kent. Kent ze het wachtwoord niet en zit ze in de verkeerde gang, dan kan ze Victor er niet van overtuigen dat ze het wachtwoord heeft. Dit kan zoveel keer herhaald worden als Victor nodig acht om ervan overtuigd te zijn dat Peggy het wachtwoord kent. 21

34 4. Drempelcryptografie Figuur 4.3: De grot van Ali Baba. Dit is een voorbeeld van een nulkennisbewijs(het auteursrecht op deze afbeelding behoort toe aan Michael Frei). Langrangeveelterminterpolatie Lagrangeveelterminterpolatie laat toe om aan de hand van een aantal punten van een veelterm deze veelterm te reconstrueren. Er zijn zoveel punten nodig als de graad van de veelterm +1. De reconstructie van de veelterm is dan: met f(x) = l j (x) = t y j l j (x), (4.6) j=1 0 m k m j x x m x j x m. (4.7) Gebruik in cryptografische systemen Tot nu toe werd er enkel gesproken over het verdelen en reconstrueren van een geheim tussen verschillende partijen. Als echter een private sleutel verdeeld wordt, kan deze gebruikt worden in publieke sleutel cryptografische systemen zoals besproken in hoofdstuk 2. Deze cryptografische systemen hoeven zelfs niet te weten dat de sleutel die gebruikt wordt, verdeeld is opgeslagen. Voorbeelden van zulke publieke sleutel cryptografische systemen die met drempelschema s kunnen samenwerken zijn het ElGamalversleutelingsschema of het Schnorr digitale handtekeningsschema. Elgamalversleutelingsschema Het ElGamalversleutelingsschema [4] is een publieke sleutel versleutelingsschema zoals besproken in paragraaf

35 4.1. Drempelschema s De partij die een bericht m wil handtekenen kiest een private sleutel x : 0 x q 1 en de overeenkomstige publieke sleutel y is dan y = g x. Versleuteling: De verzender van het bericht m kiest een willekeurige k : 0 k q 1 en berekent de willekeurigheid R = g k. Vervolgens wordt s berekend: s = y k. Het versleutelde bericht is dan e = ms = my k. Ontsleuteling: Het versleutelde bericht e wordt ontsleuteld met s: m = es 1. Schnorr digitale handtekeningsschema Het Schnorr digitale handtekeningsschema [22] kan gedefinieerd worden in een cyclische multiplicatieve groep G van orde q met generator g waarin het discrete logaritmeprobleem moeilijk oplosbaar is. Er moet ook een hashfunctie H beschikbaar zijn. De partij die een bericht m wil handtekenen kiest een private sleutel x : 0 < x < q en de overeenkomstige publieke sleutel y is dan y = g x. Handtekening: Kies een willekeurige k : 0 < k < q, bereken r = g k en e = H(m r) (waar concateneren is). De handtekening s is dan s = (k xe) mod q. Verificatie: Bereken r ver = g s y e en e ver = H(m r ver ). Als e = e ver dan is de handtekening geverifieerd Gedistribueerde sleutelgeneratie De tot nu toe besproken drempelschema s hebben één partij die het volledige geheim bewaart, deler, en stukken ervan verdeelt naar de andere partijen. In sommige gevallen wil men voorkomen dat 1 partij het volledige geheim kent. Dit kan het geval zijn als we een geheime sleutel van een publieke sleutel cryptografisch systeem willen verdelen zonder dat iemand deze sleutel volledig in zijn bezit heeft. Gedistribueerde sleutelgeneratie (DKG) is een drempelschema waarbij dit niet het geval is. Voor deze schema s is dus geen vertrouwde partij nodig die het volledige geheim in bewaring houdt en het schema initieert. Gedistribueerde sleutelgeneratieschema s volgen een gelijkaardige werkwijze als voorgaande drempelschema s met het verschil dat iedere partij die deelneemt, een VSS of PVSS uitvoert ( [7]) zoals in de voorgaande paragraaf gedefinieerd. Iedereen wordt dus als deler beschouwd. Men spreekt dus over n delers in een DKG schema: De verdelingsfase. Iedere partij initieert een VSS-schema door een geheim te kiezen en dit te verdelen naar de andere partijen. Er worden dus n VSS-schema s opgestart die tegelijkertijd kunnen lopen. De verificatiefase. Iedere partij verifieert de verkregen sleuteldelen van de andere partijen. Per apparaat zijn er dus n sleuteldelen die geverifieerd moeten 23

36 4. Drempelcryptografie worden. Als alle sleuteldelen van een deler correct verifiëren, wordt de deler aan een lijst met gekwalificeerde delers (QUAL) toegevoegd. Nadien telt ieder apparaat de correct geverifieerde sleuteldelen C j,i uit QUAL bij elkaar op om zo één totaal sleuteldeel C i per apparaat i te krijgen: C i (x) = i QUAL C j,i, met C j,i het sleuteldeel van deler j voor apparaat i. (4.8) De reconstructie- en toepassingsfase. Het geheim wordt gereconstrueerd uitgaande van de verschillende totale sleuteldelen C i als dit het vereist is voor een versleuteling of ontsleuteling zoals reeds uitgelegd in paragraaf en Het basisdrempelschema voor de implementatie Tot nu toe werd een algemeen overzicht gegeven van drempelcryptografie en geheimverdelingsschema s. In deze paragraaf wordt een specifiek drempelschema, ontwikkeld door Simoens et al. [24] besproken. Dit schema heeft een aantal kenmerken dat het ideaal maakt om als basis te dienen voor de implementatie in deze thesis. Deze kenmerken hebben betrekking tot de deelname van apparaten met een beperkte hoeveelheid rekenkracht en zonder veilige opslag aan drempelschema s. Allereerst worden deze kenmerken besproken en ook hoe dit schema het mogelijk maakt voor zulke apparaten met beperkingen om aan drempelschema s deel te nemen. Vervolgens wordt het publiek verifieerbaar geheimverdelingsschema dat ze ontwikkelden besproken en daarna het volledige gedistribueerde sleutelgeneratieschema. Ten slotte wordt het versleutelen en ontsleutelen van berichten met dit schema besproken Kenmerken van het schema Er zijn reeds vele theoretische geheimverdelingsschema s gepubliceerd( [23], [18], [5] en [9]). Het schema van Simoens et al. [24] maakt gebruik van elliptische krommen om de benodigde sleutellengtes klein te houden. Om publieke verifieerbaarheid te creëren, wordt er gebruikgemaakt van paringen. Het schema biedt echter ook twee belangrijke kenmerken die voor de implementatie in deze thesis zeer relevant zijn: 24 Door een aanpassing van het Elgamalversleutelingsschema kunnen apparaten met beperkte rekenkracht deelnemen aan ontsleutelingsacties. Ze moeten hiervoor slechts één scalar puntsvermenigvuldiging uitvoeren en een eigen private publieke sleutelpaar kunnen aanbieden. Dit wordt verder besproken in paragraaf Het verhullen van de sleuteldelen in de exponent van de publieke sleutel van het apparaat in kwestie zorgt dat de sleuteldelen over publieke kanalen verstuurd kunnen worden, alsook opgeslagen op plaatsen die voor iedereen toegankelijk zijn. Een speciale reconstructiefase zorgt er ook voor dat het sleuteldeel nooit

37 4.2. Het basisdrempelschema voor de implementatie De deler verdeelt het geheim xq, met een willekeurig gekozen x R Z l : 1. De deler construeert twee veeltermen f(z) en f (z) van graad t door willekeurige coëfficiënten c k, c k R Z l te kiezen voor k = 0... t, behalve c 0, want c 0 = x : f(z) = c 0 + c 1 z + + c t z t, f (z) = c 0 + c 1z + + c tz t. De deler zendt de verbintenissen uit A k = c k P + c k P, k = 0... t. 2. Voor ieder apparaat D i, berekent en zendt de deler x i S i, x is i met x i = f(i), x i = f (i), i = 1... n. 3. Ieder apparaat verifieert de uitgezonden sleuteldelen voor alle D i door volgende vergelijking na te gaan: ê(p, x i S i ) ê(p, x is i ) = t ê(a k, S i ) ik. (4.9) k=0 Als deze test mislukt wordt het schema afgebroken. Figuur 4.4: Het publiek verifieerbaar geheimverdelingsschema van [24]. in onbeveiligde vorm, niet verhult in de exponent van de publieke sleutel, benodigd is. Deze aanpassingen worden besproken in paragraaf Publiek verifieerbaar geheimverdelingsschema Het publiek verifieerbaar geheimverdelingsschema dat in de paper gebruikt wordt in [24] is gebaseerd op het publiek verifieerbaar schema van Pedersen zoals uitgelegd in Figuur 4.4 geeft de verschillende stappen aan. Na afloop van het schema zal ieder apparaat een sleuteldeel hebben gekregen van de deler Gedistribueerde sleutelgeneratieschema s Vervolgens wordt het PVSS-schema gebruikt in een gedistribueerde sleutelgeneratieschema. In de eerste fase voert iedere partij die deelneemt een PVSS schema uit en stuurt naar elke partij een sleuteldeel. Dit wordt besproken in figuur 4.5. Deze sleuteldelen worden vervolgens gevalideerd. In de tweede fase wordt een nulkennisbewijs uitgevoerd om de sleuteldelen die aangeleverd worden te verifiëren. Een overzicht van deze tweede fase wordt gegeven in figuur

38 4. Drempelcryptografie Alle deelnemende apparaten D i voeren gelijktijdig een PVSS schema uit. De beveiligde subdelen worden enkel uitgestuurd als alle verbintenissen van alle apparaten ontvangen zijn. 1. Elke D i kiest twee veeltermen f i (z) en f i (z) van graad t door willekeurige coëfficiënten c i,k, c i,k R Z l voor k = 0... t: f i (z) = c i,0 + c i,1 z + + c i,t z t, f i(z) = c i,0 + c i,1z + + c i,tz t, en zendt de verbintenissen uit A i,k = c i,k P + c i,k P, k = 0... t. 2. Voor ieder apparaat D j, berekent en zendt D i x ij S j, x ijs j met x ij = f i (j), x ij = f i(j). 3. Ieder apparaat verifieert de uitgezonden delen voor alle D i door te testen dat ê(p, x ij S j ) ê(p, x ijs j ) = t ê(a i,k, S j ) jk. Elke D i die niet gediskwalificeerd is, wordt toegevoegd aan de lijst met gekwalificeerde apparaten, QUAL. De private sleutel van de groep is gedefinieerd als xq = i QUAL c i,0q. Voor elke D i wordt zijn beveiligde sleuteldeel als volgt berekend C i = x i S i = x ji S i. j QUAL Figuur 4.5: Fase 1 van het gedistribueerde sleutelgeneratieschema van Simoens et al. [24] k= Versleuteling en ontsleuteling Na een gedistribueerde sleutelgeneratiefase is er een publieke sleutel beschikbaar waarmee berichten versleuteld kunnen worden. Er wordt gebruik gemaakt van een gewijzigde versie van het ElGamalschema uitgelegd in paragraaf Een overzicht van het gewijzigde schema wordt gegeven in figuur De versleutelingsfase blijft ongewijzigd. Een bericht m wordt versleuteld met de publieke sleutel y en een willekeurig gekozen k Z p: e = my k. (4.10) De ontsleutelingsfase is herschreven om ervoor te zorgen dat totale geheime sleutel niet gereconstrueerd hoeft te worden. Er wordt rechtstreeks gebruik

39 4.2. Het basisdrempelschema voor de implementatie De gekwalificeerde apparaten stelleng x i y = g x te berekenen. ter beschikking om de publieke sleutel 1. Elke D i in QUAL zendt g x i en s i P. Men kan eenvoudig verifiëren dat ê(s i P, Q) = ê(p, S i ). Ook kiest elke D i een willekeurige r i R Z l en zendt de verbintenissen g r i en r i S i. 2. Generatie van de uniforme uitdaging, nodig in het nulkennisbewijs. Apparaten QUAL voeren een gedeelde PVSS uit en bekomen beveiligde delend i S i en d i S i, die worden verzonden en geverifieerd. De verbintenissen van van de gedeelde PVSS worden genoteerd als B i,k. Open reconstructie van dq. Apparaten in QUAL zenden d i Q en d i Q. Deze worden geverifieerd door te testen dat ê(p, d i Q) ê(p, d iq) = t ê(b k, Q) jk for B k = k=0 i QUAL Als d = ψ(dq), waar ψ een bijective mapping is van G 2 naar Z l. B i,k. 3. Elke D i zendt Z i = s 1 i (r i S i + dc i ) = (r i + dx i )Q. Ieder apparaat kan verifiëren dat ê(p, Z i ) = g r i (g x i ) d and ê(s i P, Z i ) = ê(p, r i S i ) ê(p, C i ) d. 4. De publieke sleutel y wordt berekend van t + 1 correct geverifieerde g x i als y = g x iλ i. Figuur 4.6: Fase 2 van het gedistribueerde sleutelgeneratieschema van Simoens et al. [24] gemaakt van de sleuteldelen van de verschillende partijen. De private sleutel van het deelnemende apparaat wordt gebruikt om samen met de willekeurigheid R een partiële ontsleuteling te berekenen: D i = s 1 i R. (4.11) Vervolgens zal één apparaat deze partiële ontsleutelingen ontvangen en verifiëren door de volgende vergelijking te testen: ê(d i, S i ) = ê(r, Q). (4.12) Dit apparaat zal ook de uiteindelijke ontsleuteling uitvoeren aan de hand van Langrangeinterpolatie met de sleuteldelen van t + 1 apparaten. 27

40 4. Drempelcryptografie Versleuteling: Om een bericht m G T met de publieke sleutel y te versleutelen, wordt een willekeurige k R Z l gekozen en dan is de versleutelde boodschap: (R, e) = (kp, my k ) G 1 G T. Ontsleuteling: Om de boodschap (R, e) te ontsleutelen, levert ieder apparaat D i een partiële ontsleuteling D i = s 1 i R = s 1 i kp G 1. Het combinerend apparaat ontvangt alle D i en verifieert ê(d i, S i ) = ê(r, Q). Daarna combineert hij t + 1 bijdrages om het bericht te ontsleutelen: m = e d met d = ê(d i, C i ) λ i. Figuur 4.7: De aangepaste versie van het ElGamalversleutelingsschema van [24]. 28

41 Hoofdstuk 5 Ontwerp Zoals reeds eerder aangegeven is het doel van deze thesis het analyseren van de praktische aspecten van een implementatie van een drempelschema voor apparaten met beperkte rekenkracht en zonder veilige opslag. De voorgaande hoofdstukken boden een theoretische inleiding in de drempelcryptografie. Ook werd één specifiek drempelschema besproken in paragraaf 4.2. Dit drempelschema van Simoens et al. [24] wordt geïmplementeerd in deze thesis. In dit hoofdstuk wordt deze praktische zijde van het schema belicht en zullen er oplossingen gezocht worden om deze praktische problemen op te lossen. Ook wordt er een overzicht gegeven van het gehele programmaverloop. 5.1 Praktische aspecten en ontwerpbeslissingen De keuze voor het schema van Simoens et al. [24] als basis voor het programma vloeit voort uit het feit dat hierdoor de twee belangrijkste problemen, die deze thesis probeert aan te pakken, omzeild kunnen worden: De beperking op de rekenkracht van de apparaten wordt omzeild door een aanpassing van de ontsleuteling uitgelegd in paragraaf Een apparaat moet slechts één scalar puntsvermenigvuldiging kunnen uitvoeren om aan het ElGamalschema te kunnen deelnemen. De noodzaak voor veilige opslag wordt omzeild door het sleuteldeel eerst te verhullen in de exponent van de publieke sleutel van het apparaat waarvoor het bestemd is. Ook is het schema zo geschreven dat het sleuteldeel nooit onverhuld nodig is. Deze kenmerken zorgen ervoor dat dit schema een goede basis vormt voor onze implementatie. Er blijven echter nog een aantal praktische problemen. Deze praktische problemen worden in deze paragraaf besproken alsook de oplossingen die ervoor ontworpen zijn. 29

42 5. Ontwerp Soorten apparaten Het drempelschema van Simoens et al. [24] is gebaseerd op bilineaire paringen voor de verificaties. Deze paringen zijn echter rekenintensief. Om het mogelijk te maken voor apparaten met beperkte rekenkracht om aan dit schema deel te nemen moet een gedeelte van de verificatie door een externe partij gedaan worden of moet ze weggelaten worden. Aangezien voor de veiligheid van het schema getracht moet worden om bij zo weinig mogelijk apparaten de verificatiefase weg te laten, is er gekozen om drie categorien van apparaten te creëren: Apparaten met een grote hoeveelheid aan rekenkracht. Zij kunnen vlot paringen uitvoeren en kunnen deelnemen aan het volledige schema en voeren zelf de verificatie van de delers uit. Deze categorie van apparaten is ook de enige die een reconstructie van de publieke sleutel of een ElGamalontsleuteling kan initialiseren, omdat voor beide operaties een veelvoud aan paringen moet uitgerekend worden. Apparaten met een gemiddelde hoeveelheid rekenkracht. Zij nemen deel aan het volledige schema maar laten de verificatieberekeningen over aan een vertrouwde derde partij omdat het uitvoeren van paringen traag is. Apparaten met een beperkte hoeveelheid rekenkracht. Deze apparaten kunnen geen paringen uitvoeren. Aangezien er bij het gedistribueerde sleutelgeneratieschema van paragraaf buiten de verificatiefase nog steeds één paring uitgevoerd moet worden, kunnen deze apparaten niet actief aan de reconstructiefase van het gedistribueerde sleutelgeneratieschema deelnemen. Ze zullen wel een totaal sleuteldeel ontvangen maar kunnen dat niet inzetten om de publieke sleutel te reconstrueren. Zij kunnen enkel deelnemen aan de ElGamalontsleuteling zoals uitgelegd in paragraaf voor de ontsleuteling van berichten en niet aan het gedistribueerde sleutelgeneratieschema. Apparaten uit deze drie categorieën kunnen dus samen deelnemen aan het drempelschema dat geïmplementeerd is mits in achtneming van de voorgaande voorwaarden. Er zijn echter nog 2 extra voorwaarden. Voor de reconstructie van de publieke sleutel moet minstens één apparaat uit eerste categorie aanwezig zijn om de sleuteldelen te combineren tot de publieke sleutel. Dezelfde voorwaarde geldt voor de ElGamalontsleuteling. Dit is nodig omdat beide fases paringen gebruiken voor het combineren van de sleuteldelen Het verificatieprobleem Er is dus gekozen om voor bepaalde apparaten de verificatie over te laten aan een onafhankelijke vertrouwelijke derde partij. Deze partij zal dan de verificatie uitvoeren met behulp van paringen en vervolgens een oordeel vellen over de deler in kwestie. Dit antwoord wordt dan verstuurd naar de apparaten die hierom gevraagd hadden. Deze werkwijze is mogelijk aangezien alle sleuteldelen publiek verifieerbaar zijn. De 30

43 5.1. Praktische aspecten en ontwerpbeslissingen Figuur 5.1: Opstelling van de verschillende apparaten invoering van deze onafhankelijke vertrouwelijke verificatiepartij brengt twee nieuwe problemen met zich mee: Er moet kunnen aangetoond worden dat het ontvangen antwoord effectief afkomstig is van de verificator en niet van een buitenstaander die probeert het drempelschema te verstoren. Om dit probleem op te lossen zijn er meerdere oplossingen mogelijk. De verificator zou via lampjes kunnen aangeven of een deler eerlijk is of niet. De gebruiker moet dan zelf de oneerlijke delers verwijderen uit het schema. Een andere oplossing kan gevonden worden in het handtekenen van de berichten die de verificator uitzendt. De berichten zouden bijvoorbeeld met een Schnorr handtekeningsschema zoals besproken in paragraaf gehandtekend kunnen worden. Dit zorgt wel voor een extra overhead in het schema omdat het apparaat deze handtekening moet verifiëren. De verificator wordt eerlijk verondersteld. Indien de verificator valsspeelt in het schema kan dit ernstige gevolgen hebben. We gaan er in deze thesis vanuit dat deze onafhankelijke partij eerlijk werkt. Figuur 5.1 geeft een overzicht van de opstelling en de communicatie tussen de verificator en de verschillende categorieën van apparaten. Voor de implementatie in deze thesis is gekozen om de oneerlijke delers met lampjes aan te geven op de verificator en ze door de gebruiker te laten verwijderen Het inverteringsprobleem Het gedistribueerde sleutelgeneratieschema van Simoens et al. [24] definieert de publieke sleutel van een apparaat i als s i Q met s i de private sleutel van het apparaat 31

44 5. Ontwerp en Q een generator van G 2. Deze notatie zorgt er echter voor dat bij de ontsleuteling van een bericht ieder apparaat dat hieraan deelneemt de inverse van zijn private sleutel moet berekenen, want de partiële ontsleuteling, zoals besproken in paragraaf 4.2.4, is D i = s 1 i R. (5.1) Inverteren is echter een operatie die veel rekenkracht vergt en we wensen de benodigde rekenkracht tot een minimum te herleiden. Om deze reden is ervoor gekozen om de publieke sleutel te definiëren als s 1 Q. Dit maakt dat de inverse van de private sleutel niet meer vereist is in de ontsleutelingsfase van het aangepaste ElGamalschema, want de partiële ontsleuteling is nu D i = s i R. (5.2) Deze aanpassing maakt dat er wel een inversie vereist is bij het berekenen van de publieke sleutel tijdens de gedistribueerde sleutelgeneratiefase. Deze stap gebeurt echter slechts eenmaal en dit vormt dus geen grote extra rekenkost. 5.2 Programmaverloop Het verloop van het programma, dat het drempelschema uitvoert, wordt nu geschetst: Allereerst kan het programma in drie belangrijke delen opgesplitst worden: 1. De initialisatiefase; 2. De gedistribueerde sleutelgeneratiefase; 3. De toepassingsfase De initialisatiefase De initialisatiefase voert twee belangrijke taken uit: De publieke paramaters zoals de generators van de verschillende groepen worden gekozen en verdeeld naar alle partijen. Er wordt een lijst gemaakt van alle apparaten die binnen bereik zijn en willen deelnemen aan het drempelschema De gedistribueerde sleutelgeneratiefase Deze fase verzorgt de gedistribueerde sleutelgeneratie De PVSS fase. Ieder apparaat dat deelneemt, kiest zijn veeltermen en berekent voor alle partijen een sleuteldeel. Deze sleutel wordt dan verhult in de exponent van de publieke sleutel van de bestemmeling. 2. De verificatiefase. Alle sleuteldelen worden geverifieerd door de partijen die daartoe in staat zijn of door een onafhankelijke derde partij.

45 5.2. Programmaverloop 3. De samenvoegfase. Iedereen telt de sleuteldelen van de geverifieerde delers op om zo één sleuteldeel te bekomen. 4. De nulkennisfase. De apparaten die willen deelnemen aan de publieke sleutel reconstructie voeren een nulkennisbewijs uit om aan te tonen dat hun sleuteldeel correct is. 5. De publieke sleutel reconstructie. De publieke sleutel wordt gereconstrueerd uit t sleuteldelen via Langrangeveelterminterpolatie zoals besproken in paragraaf Op het einde van deze fase is er een geheime en publieke sleutelpaar verdeeld over de apparaten. Er kan nu deel genomen worden aan cryptografische toepassingen met dit sleutelpaar De toepassingsfase Als laatste wordt het sleutelpaar gebruikt in een ElGamalversleuteling zoals besproken in paragraaf Een bericht wordt versleuteld met de gereconstrueerde publieke sleutel. Vervolgens stellen t apparaten hun sleuteldeel ter beschikking om het bericht te ontsleutelen. Indien het ontsleutelde bericht overeenstemt met verzonden bericht werkt het programma correct. 33

46

47 Hoofdstuk 6 Implementatie In dit hoofdstuk wordt de effectieve implementatie van het ontwerp uit hoofdstuk 5 besproken. Er wordt stilgestaan bij de opbouw van het programma en de gebruikte software bibliotheken die de implementatie vereenvoudigd hebben. In het eerste deel wordt de implementatie op PC bekeken en in het tweede deel wordt de implementatie op FPGA besproken. 6.1 Implementatie op PC Programeertaal De keuze van de programmeertaal kan de implementatie van een programma heel erg beïnvloeden. Voor dit programma werd de taal C 1 gebruikt. Deze taal is ontstaan als een taal om systeemsoftware en programma s voor ingebedde systemen te schrijven. Ze biedt laag niveau procedures aan om het geheugen en andere hardware rechtstreeks aan te spreken. Dit maakt dat er eenvoudig zeer krachtige en efficiënte code mee geschreven kan worden. Aangezien het uiteindelijke doel was om de code werkende te krijgen op zulke ingebedde systemen, zoals zakcomputers, leek C de meest voor de hand liggende keuze. Ook de beschikbaarheid van meerdere cryptografische software bibliotheken vormde een pluspunt Softwarebibliotheken Softwarebibliotheken vereenvoudigen het schrijven van programma s. Ze maken abstractie van de onderliggende functionaliteit door methodes aan te bieden die gebruikt kunnen worden door andere programma s om deze functionaliteit op te roepen. De programmeur heeft dus geen kennis van de onderliggende algoritmes nodig om deze te gebruiken. Er bestaan verschillende bibliotheken die methodes specifiek voor cryptografische 1 Meer informatie over C is te vinden op 35

48 6. Implementatie P arameter Waarde a b q r Tabel 6.1: De waardes van de parameters van de gebruikte curve van type D81 [14]. systemen implementeren. Voor de implementatie van dit drempelschema werd gekozen voor de Pairing-Based Cryptography bibliotheek (PBC) geschreven door Ben Lynn aan de universiteit van Stanford [14]. Deze bibliotheek is gebaseerd op de GMP bibliotheek(gnu Multi-Precision Library) [20]. Dit is de standaard bibliotheek in Linuxsystemen om bewerkingen op grote getallen uit te voeren. De PBC-bibliotheek implementeert volgende methodes: Rekenkundige bewerkingen over elliptische krommen. Paringen over elliptische krommen. Er zijn 5 verschillende categorieën van elliptische krommen geïmplementeerd in deze bibliotheek [15]. Type A krommen hebben de vergelijking y 2 = x 3 + x over het veld F q voor een priemgetal q, de ingebedde graad k = 2 en de paringen over deze kromme zijn symmetrisch. Type D krommen met de vergelijking y 2 = x 3 + ax + b met een ingebedde graad k = 6. Type E krommen met de vergelijking y 2 = x 3 + ax + b met ingebedde graad k = 1. Type F krommen met de vergelijking y 2 = x 3 + b met ingebedde graad k = 12. Type G krommen met de vergelijking y 2 = x 3 + ax + b met ingebedde graad k = 10. Tabel 6.1 toont de gekozen parameters voor de krommen van het type D die gekozen is in het programma. Deze parameters werden gekozen omwille van beperkingen op de grootte van de punten van de elliptische kromme op het FPGA platform. Voor elliptische krommen wordt een r van ±160 bit vooropgesteld om de veiligheid van een RSA systeem met een sleutellengte van 1024 bit te evenaren [11]. Deze kromme heeft echter een r van ±81 [15]. Ze is dus niet veilig genoeg. Echter indien een geoptimaliseerde ECC coprocessor gebruikt zou worden op FPGA in plaats van een Microblaze processor, kunnen krommen die veilig genoeg zijn wel in deze implementatie gebruikt worden [13]. 36

49 6.1. Implementatie op PC Programmaontwerp Apparaten Om het geheel overzichtelijk te houden wordt ieder apparaat intern voorgesteld door een datastructuur Device die alle parameters van het apparaat bevat zoals het geheime en publieke sleutelpaar en de sleuteldelen die eraan zijn toegewezen. Indien het schema gebruikt gaat worden met effectieve apparaten, kan de informatie van deze datastructuren gewoon naar hen worden doorgespeeld. Modulariteit Het programma is modulair geschreven. Functionaliteit is gegroepeerd zodat enkel het benodigde deel van het programma dient ingeladen te worden om een functie uit te voeren. Dit maakt de code overzichtelijk en voorkomt dat er fouten in het programma sluipen. De volgende modules kunnen onderscheiden worden: De ECC-module initialiseert de elliptische krommen en verzorgt alle rekenkundige operaties over deze krommen. De paringmodule biedt een methode aan om paringen uit te voeren over deze elliptische krommen. De interpolatiemodule zorgt voor het berekenen van de Lagrangeveelterminterpolatie. De versleutelings- en ontsleutelingsmodule implementeert de ElGamalversleuteling en ontsleuteling van berichten. De nulkennisbewijsmodule biedt methodes aan om nulkennisbewijzen uit te voeren. De DKG-module of gedistribueerde sleutelgeneratiemodule zorgt voor het uitvoeren van de PVSS schema s en de DKG schema s De IO-module of input- outputmodule biedt methodes aan om te communiceren met de gebruiker. Ook heeft deze module methodes om via een ethernet netwerk te communiceren met andere apparaten. De modules kunnen onafhankelijk van elkaar werken. Enkel de modules die de gebruiker nodig heeft dienen ingeladen te worden. Dit beperkt de programmagrootte. Inkapseling De softwarebibliotheek is volledig ingekapseld in het programma. Dit wil zeggen dat methodes van de bibliotheek niet rechtstreeks worden aangeroepen maar via zelfgeschreven inkapselingsmethodes. Dit zorgt ervoor dat er eenvoudig van bibliotheek gewisseld kan worden of zelfs speciale coprocessoren ingezet kunnen worden om de bibliotheek te vervangen. Ook is de functionaliteit om te communiceren tussen 37

50 6. Implementatie Figuur 6.1: Schakelmatrix met logische blokken van een FPGA (Het auteursrecht op deze afbeelding behoort toe aan Xilinx). apparaten ingekapseld zodat eenvoudig andere manieren van communiceren gebruikt kunnen worden. 6.2 Implementatie op FPGA Na de implementatie van het programma op computer is er een programma geschreven dat een apparaat met een beperking in rekenkracht en opslag simuleert. Deze simulatie gebeurde op FPGA. In deze paragraaf wordt een overzicht gegeven van de kenmerken van het programma alsook van het FPGA platform dat gebruikt werd om deze apparaten te simuleren Field-programmable Gate Array Een Field-programmable Gate Array(FPGA) is een geïntegreerd circuit dat na fabricatie geprogrammeerd en geherprogrammeerd kan worden. Zo kan de functionaliteit van het circuit eenvoudig aangepast worden. Ze bestaan uit verschillende logische blokken. De interactie tussen deze blokken wordt met behulp van een hardwarebeschrijvingstaal geprogrammeerd. Voorbeelden van zulke talen zijn VHDL en Verilog. FPGA s worden vaak in de industrie gebruikt omdat dit de ontwikkelingstijd van producten kan verkorten, want de ontwikkeling van specifieke hardware is overbodig. Ook kan de FPGA geherprogrammeerd worden als na verkoop van het product een probleem gevonden wordt. Opbouw FPGA Een FPGA is hoofdzakelijk opgebouwd uit een matrix met volgende blokken [26]: 38

51 6.2. Implementatie op FPGA Specif icatie Waarde ($) Klokf requentie 20 MHz RAM geheugen 64 Mbyte CLB s 612 Slices 2448 T echnologie 90 nm Tabel 6.2: Specificaties van de Xilinx Spartan 3ES250 FPGA [29]. IOB s of Input and Output Blokken. Deze blokken zorgen voor de verbinding tussen de interne logica en externe signalen die via de vele input- en outputpinnen toekomen. CLB s of Configurable Logic Blokken. CLB s worden gebruikt om logische functies op te bouwen. Ze bestaan uit zogenaamde slices. Een slice bevat programmeerbare lookuptables, multiplexers, flipflops, e.d. De FPGA die in deze thesis gebruikt werd, heeft CLB s met telkens vier slices zoals getoond in figuur 6.2. RAM of Random Access Memory. RAM wordt gebruikt om gegevens in op te slaan tijdens het uitvoeren van bewerkingen. Deze blokken zijn gegroepeerd in een schakelmatrix met in het midden CLB s en aan de rand ervan IOB s. De RAM modules zijn gegroepeerd in twee banken tussen de CLB s. Dit is zichtbaar in figuur 6.1. De connecties tussen de verschillende blokken kunnen geprogrammeerd worden om de functionaliteit te bepalen. Deze blokken worden gecombineerd door de programmacode om de gewenste functionaliteit te creëren. De taak van de programmeur is de beperkte hoeveelheid logische blokken zo efficiënt mogelijk te benutten. De FPGA die voor deze thesis gebruikt is, is een Xilinx Spartan 3ES250 [29]. Deze FGPA is ontworpen in een 90nm fabricatieproces. Enkele belangrijke specificaties zijn te vinden in tabel 6.2. Xilinx Microblaze Xilinx Microblaze [28] is een zogenaamde soft core processor. Dit wil zeggen dat de processor gesimuleerd wordt op de FPGA met de standaard logische blokken die er voor handen zijn. Figuur 6.3 geeft een schematische voorstelling van de verschillende delen van de processor. De prestaties van deze processor liggen echter ver onder die van een processor die rechtstreeks in aangepaste hardware ontwikkeld is, maar het voordeel is dat men met deze Microblaze zonder al te veel moeite rechtstreeks C-code kan uitvoeren op een FPGA. De implementatie van Microblaze wordt geleverd bij de Software Development Toolkit van Xilinx [28]. De processor kan volledig zelf samengesteld worden door modules die niet vereist zijn weg te laten. Dit zorgt ervoor dat de processor minder CLB s inneemt. Het is een 32bit processor gebaseerd op een 39

52 6. Implementatie Figuur 6.2: Schema van een Configurable Logic Blok van een Xilinx Spartan 3E FPGA (Het auteursrecht op deze afbeelding behoort toe aan Xilinx). Reduced Instruction Set (RISC) architectuur. Deze instructieset verschilt van de x86 instructieset die gebruikt wordt in bijna alle processoren voor PC s. Om deze reden moeten de softwarebibliotheken, die vereist zijn op FPGA, gecompileerd worden naar deze andere instructieset Implementatie Zoals in hoofdstuk 5 uitgelegd, moet een apparaat met een beperkte hoeveelheid rekenkracht enkel één scalar puntsvermenigvuldiging uitvoeren. Om zo een apparaat te simuleren op FPGA moet deze een scalar puntsvermenigvuldiging kunnen uitvoeren. Aangezien de implementaties op computer en op FPGA samen eenzelfde drempelschema bepalen, moet de elliptische kromme, waarover de scalar puntsvermenigvuldiging op FPGA gebeurt, dezelfde zijn als op de computer. Er werd dan ook gekozen om de PBC-bibliotheek uit hoofdstuk 6 om te bouwen zodat deze op FPGA kon uitgevoerd worden. Xilinx biedt immers een hardware-ontwerp voor een processor die geïmplementeerd kan worden op FPGA die de mogelijkheid biedt om C-code uit te voeren. Deze processor heeft de naam Microblaze. 40

53 6.2. Implementatie op FPGA Figuur 6.3: Schema van de Xilinx Microblaze architectuur (Het auteursrecht op deze afbeelding behoort toe aan Compileren van de bibliotheken Zoals reeds eerder besproken in paragraaf maakt de PBC-bibliotheek gebruik van GMP. Dus allereerst moet de GMP-bibliotheek gecompileerd worden voor de Microblaze processor. De Xilinx Software Development Toolkit gebruikt een compiler die code rechtstreeks kan vertalen naar instructies voor de Microblaze processor. Deze compiler is gebaseerd op GCC [25]. GCC is een compiler die geschreven is voor linux en die naar verschillende architecturen kan compileren. Met het volgende commando kan de broncode van GMP gecompileerd worden voor Microblaze:. / c o n f i g u r e d i s a b l e shared b u i l d=x868 gcc linux gnu host=none unknown gnu CC=mb gcc make make i n s t a l l Zulk een soort compilatie wordt een crosscompilatie genoemd. Er wordt immers op een x86 architectuur code gecompileerd die uitgevoerd kan worden op een andere architectuur nl. de Microblaze architectuur. 41

54 6. Implementatie Ook de PBC bibliotheek is vereist op FPGA om de puntsvermenigvuldiging uit te voeren. Van deze bibliotheek werden echter enkel de methodes die vereist waren om de elliptische kromme te initialiseren en om de scalar puntsvermenigvuldiging uit te voeren gecompileerd voor Microblaze. Communicatie met de computer Voor de communicatie met de computer is gekozen voor een ethernetverbinding 2. Op deze manier kunnen alle apparaten eenvoudig met elkaar spreken en informatie uitwisselen. Dit is mogelijk omdat, zoals uitgelegd in hoofdstuk 4, geen private kanalen vereist zijn tussen de apparaten. Voor de implementatie van de ethernet-interface op FPGA werd een door Xilinx aangeboden Intellectual Property blok gebruikt, lwip genoemd [27]. Het voordeel van het gebruik van een ethernet verbinding is dat vele mobiele apparaten deze verbinding reeds ondersteunen. Ook is het ethernetprotocol geschikt om meerdere apaparaten over één kanaal te laten communiceren. 2 Meer informatie over het ethernetprotocol kan gevonden worden op 42

55 Hoofdstuk 7 Radio Frequency Identification In dit hoofdstuk wordt een voorbeeld van een apparaat met beperkte rekenkracht besproken nl. de RFID of Radio frequentie identificatie tag. De kenmerken ervan worden besproken alsook de reden waardoor deze ingebedde apparaten gebruikt worden voor talloze doeleinden. De RFID tags die voor de thesis van belang zijn, bevatten een implementatie van een scalar puntsvermenigvuldiging over een elliptische kromme. Er wordt van deze soort een specifiek ontwerp [13] bekeken en er wordt getracht deze te integreren in de implementatie van hoofdstuk Algemene kenmerken RFID of Radio frequentie identificatie is een technologie die bestaat uit een lezer en tag die over korte afstanden via radiogolven met elkaar communiceren. Het communicatieprotocol begint telkens op dezelfde manier: de lezer zendt een signaal uit dat opgevangen wordt door de tag en deze zal een reactie versturen. Men kan twee soorten RFID tags onderscheiden [10]: Passieve RFID tags halen hun energie uit de radiogolf uitgezonden door de lezer via inductie. Ze zijn dus afhankelijk van de lezer voor hun energie en dit maakt dat de afstand waarop ze uitgelezen kunnen worden zeer beperkt is. Dit legt ook een zware beperking op aan het maximale vermogenverbruik van de tag en zorgt ervoor dat de beschikbare rekenkracht zeer beperkt is. Actieve RFID tags hebben zelf een energiebron. Dit maakt ze minder afhankelijk van de lezer en laat toe dat ze vanop een grotere afstand uitgelezen kunnen worden en krachtigere berekeningen kunnen uitvoeren. Actieve tags zijn echter duurder in productie dan passieve en ook hun energiebron is geen eeuwig leven beschoren. RFID tags kunnen zeer goedkoop gefabriceerd worden. Ze worden tegenwoordig veel gebruikt in de logistieke sector om bijvoorbeeld producten te traceren in magazijnen. Ze bieden meer functionaliteit dan het oudere barcodesysteem omdat ze meer productkenmerken kunnen opslaan. 43

56 7. Radio Frequency Identification Figuur 7.1: Een voorbeeld van een passieve RFID tag met de circulaire metaalbanen aan de zijkant voor inductieve energieopwekking (Deze afbeelding is eigendom van SecuringPharma.com) Huidige ontwikkelingen De vooruitgang in de ontwikkeling van geïntegreerde circuits heeft ervoor gezorgd dat de RFID tags steeds ingewikkeldere operaties kunnen uitvoeren. Dit opent de deur voor nieuwe toepassingen met RFID. Zo duiken er elliptische kromme cryptografische implementaties voor RFID op in de literatuur [13], [6]. Zulke systemen kunnen geïntegreerd worden in het geïmplementeerde drempelschema in deze thesis. RFID tags zullen onder de categorie van de apparaten met een beperkte hoeveelheid rekenkracht vallen die enkel kunnen deelnemen aan de ontsleutelingsfase. Het gebruik van RFID tags in het schema heeft als voordeel dat men goedkoop het aantal deelnemende apparaten kan verhogen. Deze tags kunnen in schoenen gestopt worden of in kleren bevestigd worden. De veiligheid en flexibiliteit van het schema kan dus goedkoop verhoogd worden met RFID tags. 7.2 ECC coprocessor Op de afdeling COSIC van het departement Elektrotechniek van de Katholieke Universiteit Leuven is een elliptische kromme cryptografische coprocessor ontworpen die zeer compact is en uitermate weinig energie verbruikt [13]. Om deze redenen kan deze coprocessor gebruikt worden in RFID tags. Tabel 7.1 geeft een overzicht van de belangrijkste specificaties van de ECC processor. Deze ECC processor maakt het mogelijk voor deze RFID tag om publieke sleutelcryptografie toe te passen. De processor implementeert de volgende elliptische curve: 44

57 7.3. Integratie met het drempelschema Figuur 7.2: Layout van de ECC coprocessor ontworpen door Lee et al. [13]. Specif icatie Waarde Klokf requentie 323 khz Bewerkingen ECC Puntsmul. en mod bewerk. V ermogenverbruik 10 µw RekentijdvoorSchnorrhandtekening ms T echnologie 130 nm Tabel 7.1: Specificaties van de elliptische kromme cryptografische processor van [13]. y 2 + xy = x 3 + ax 2 + b, met b = 1 en a GF (2 163 ). (7.1) De ECC processor is in staat een elliptische kromme scalar puntsvermenigvuldiging uit te voeren over deze curve alsook modulaire bewerkingen (additie en multiplicatie) in GF (2 163 ). 7.3 Integratie met het drempelschema Op het eerste zicht lijkt de ECC processor aan de eisen van het drempelschema te voldoen. Er is echter een probleem. De elliptische kromme die gebruikt wordt in de processor is echter niet paringvriendelijk. Dit betekent dat een paring over deze curve zeer moeilijk te implementeren is. En aangezien op verschillende plaatsen in het schema paringen ingezet worden, kan deze kromme dus niet gebruikt worden in onze implementatie. Een elliptische kromme wordt paringvriendelijk genoemd als 45

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

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

??? 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

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

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

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

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

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

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

Projectieve Vlakken en Codes

Projectieve Vlakken en Codes Projectieve Vlakken en Codes 1. De Fanocode Foutdetecterende en foutverbeterende codes. Anna en Bart doen mee aan een spelprogramma voor koppels. De ene helft van de deelnemers krijgt elk een kaart waarop

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

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

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

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

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

Non Diffuse Point Based Global Illumination

Non Diffuse Point Based Global Illumination Non Diffuse Point Based Global Illumination Karsten Daemen Thesis voorgedragen tot het behalen van de graad van Master of Science in de ingenieurswetenschappen: computerwetenschappen Promotor: Prof. dr.

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

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

niet: achterop een ansichtkaart schrijven postbode (en wie al niet meer) leest mee Het geheim van goede koffie Benne de Weger oktober 2013 b.m.m.d.weger@tue.nl http://www.win.tue.nl/~bdeweger versturen van geheimen hoe moet je een geheim opsturen als onderweg iemand kan afluisteren?

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

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

Complex multiplication constructions in genus 1 and 2

Complex multiplication constructions in genus 1 and 2 Complex multiplication constructions in genus 1 and 2 Peter Stevenhagen Universiteit Leiden AMS San Diego January 7, 2008 1 Cryptografie 2 Cryptografie cryptografie: kunst om geheimschrift te schrijven

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

Toepassingen van de Wiskunde in de Digitale Wereld

Toepassingen van de Wiskunde in de Digitale Wereld Toepassingen van de Wiskunde in de Digitale Wereld Eindhoven 17 juli 2010 Henk van Tilborg Technische Universiteit Eindhoven 1 Beschermen van digitale gegevens. Bijna alle informatie (muziek, video, foto's,

Nadere informatie

Kunnen we IoT-elektronica wel beveiligen?

Kunnen we IoT-elektronica wel beveiligen? Editie juni 2017 Data science and data security, Internet of Things Kunnen we IoT-elektronica wel beveiligen? Onderzoekers van imec COSIC KU Leuven maakte een innovatieve cryptografiechip om zuinige IoT-sensoren

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

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

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

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

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

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

Postkwantumcryptografie

Postkwantumcryptografie 1 Bron: https://www.aivd.nl/publicaties/publicaties/2014/11/20/informatiebladover-quantumcomputers Postkwantumcryptografie Bescherm uw data vandaag tegen de dreiging van morgen Factsheet FS-2017-02 versie

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

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

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

Spreekbeurt Nederlands Cryptologie

Spreekbeurt Nederlands Cryptologie Spreekbeurt Nederlands Cryptologie Spreekbeurt door een scholier 1371 woorden 5 maart 2006 6,2 25 keer beoordeeld Vak Nederlands Cryptologie Algemeen Cryptologie bestaat uit twee Griekse woorden: krypto

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

Zoek- en sorteeralgoritmen en hashing

Zoek- en sorteeralgoritmen en hashing Zoek- en sorteeralgoritmen en hashing Femke Berendsen (3689301) en Merel van Schieveen (3510190) 9 april 2013 1 Inhoudsopgave 1 Inleiding 3 2 Zoek- en sorteeralgoritmen 3 2.1 Grote O notatie..........................

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

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

Populaties beschrijven met kansmodellen

Populaties beschrijven met kansmodellen Populaties beschrijven met kansmodellen Prof. dr. Herman Callaert Deze tekst probeert, met voorbeelden, inzicht te geven in de manier waarop je in de statistiek populaties bestudeert. Dat doe je met kansmodellen.

Nadere informatie

Verzending van gestructureerde berichten via SFTP Veel gestelde vragen (FAQ)

Verzending van gestructureerde berichten via SFTP Veel gestelde vragen (FAQ) Verzending van gestructureerde berichten via SFTP Veel gestelde vragen (FAQ) 1 Algemeen Wat is SFTP? SFTP staat voor SSH File Transfer Protocol of Secure File Transfer Protocol en maakt deel uit van SSH

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

VERZAMELINGEN EN AFBEELDINGEN

VERZAMELINGEN EN AFBEELDINGEN I VERZAMELINGEN EN AFBEELDINGEN Het begrip verzameling kennen we uit het dagelijks leven: een bibliotheek bevat een verzameling van boeken, een museum een verzameling van kunstvoorwerpen. We kennen verzamelingen

Nadere informatie

Project 4 - Centrale Bank. Rick van Vonderen TI1C

Project 4 - Centrale Bank. Rick van Vonderen TI1C Project 4 - Centrale Bank Rick van Vonderen 0945444 TI1C 23 mei 2018 Inhoudsopgave 1 Inleiding 2 2 Beheren 3 2.1 Git...................................................... 3 2.2 Risicolog...................................................

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

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

II.3 Equivalentierelaties en quotiënten

II.3 Equivalentierelaties en quotiënten II.3 Equivalentierelaties en quotiënten Een belangrijk begrip in de wiskunde is het begrip relatie. Een relatie op een verzameling is een verband tussen twee elementen uit die verzameling waarbij de volgorde

Nadere informatie

Bijlages bij masterproef Studie naar toepasbaarheid van herstelmortels en scheurinjectiesystemen in de wegenbouw

Bijlages bij masterproef Studie naar toepasbaarheid van herstelmortels en scheurinjectiesystemen in de wegenbouw FACULTEIT INDUSTRIELE INGENIEURSWETENSCHAPPEN CAMPUS GENT Bijlages bij masterproef Studie naar toepasbaarheid van herstelmortels en scheurinjectiesystemen in de wegenbouw Jens Breynaert & Michaël Godaert

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

HANDLEIDING SMTP DIENST BEDRIJVENWEB NEDERLAND B.V.

HANDLEIDING SMTP DIENST BEDRIJVENWEB NEDERLAND B.V. HANDLEIDING SMTP DIENST BEDRIJVENWEB NEDERLAND B.V. Uitgave : 1.0 KORTE OMSCHRIJVING In dit document wordt beschreven hoe u gebruik kunt maken van de SMTP dienst van Bedrijvenweb Nederland B.V. om e-mail

Nadere informatie

III.2 De ordening op R en ongelijkheden

III.2 De ordening op R en ongelijkheden III.2 De ordening op R en ongelijkheden In de vorige paragraaf hebben we axioma s gegeven voor de optelling en vermenigvuldiging in R, maar om R vast te leggen moeten we ook ongelijkheden in R beschouwen.

Nadere informatie

1 Complexe getallen in de vorm a + bi

1 Complexe getallen in de vorm a + bi Paragraaf in de vorm a + bi XX Complex getal Instap Los de vergelijkingen op. a x + = 7 d x + 4 = 3 b 2x = 5 e x 2 = 6 c x 2 = 3 f x 2 = - Welke vergelijkingen hebben een natuurlijk getal als oplossing?...

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

DE ELEKTRONISCHE IDENTITEITSKAART (EID)

DE ELEKTRONISCHE IDENTITEITSKAART (EID) DE ELEKTRONISCHE IDENTITEITSKAART (EID) MS OFFICE OUTLOOK 2007 (WINDOWS) VERSIE 1.1.1 NL Disclaimer Fedict is niet verantwoordelijk voor om het even welke schade die een derde zou ondervinden ingevolge

Nadere informatie

Update Hoofdstuk 11 Beveiligde E mail. 11.4.1 Software installeren. gebaseerd op de volgende versie: Mozilla Thunderbird 3.1.10

Update Hoofdstuk 11 Beveiligde E mail. 11.4.1 Software installeren. gebaseerd op de volgende versie: Mozilla Thunderbird 3.1.10 Update Hoofdstuk 11 Beveiligde E mail gebaseerd op de volgende versie: Mozilla Thunderbird 3.1.10 11.4.1 Software installeren 5. Vervalt De Importeerassistent zit niet meer in de nieuwe versie 6. Vervalt

Nadere informatie

Inhoud. Dus u denkt dat internetbankieren veilig is? Informatiebeveiliging Cryptografie Internetbankieren. 26 september 2009 Harald Vranken

Inhoud. Dus u denkt dat internetbankieren veilig is? Informatiebeveiliging Cryptografie Internetbankieren. 26 september 2009 Harald Vranken Dus u denkt dat internetbankieren veilig is? 26 september 2009 Harald Vranken Inhoud Informatiebeveiliging 2 Informatiebeveiliging Introductie Informatie betekenisvolle gegevens waardevol (privacy, bedrijfsinformatie)

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

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

Primair- & Voortgezet. Onderwijs. Spelend & onderzoekend de schoonheid van getallen ontdekken

Primair- & Voortgezet. Onderwijs. Spelend & onderzoekend de schoonheid van getallen ontdekken Primair- & Voortgezet Onderwijs Spelend & onderzoekend de schoonheid van getallen ontdekken Copyright 09 Introductie Achtergrond & visie (reken- en wiskunde onderwijs) Het spel RESOLF is geboren vanuit

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

ling van die eigenschap binnen het model geldt. In het bijzonder bij het wiskundig modelleren van een programma kan een eigenschap met wiskundige zeke

ling van die eigenschap binnen het model geldt. In het bijzonder bij het wiskundig modelleren van een programma kan een eigenschap met wiskundige zeke De Nederlandse samenvatting van een proefschrift is bij uitstek het onderdeel van het proefschrift dat door familie en vrienden wordt gelezen. Voor hen wil ik deze samenvatting dan ook schrijven als een

Nadere informatie

VERSLEUTELEN VAN INFORMATIE IN DE COMMUNICATIE MET DE IBD

VERSLEUTELEN VAN INFORMATIE IN DE COMMUNICATIE MET DE IBD VERSLEUTELEN VAN INFORMATIE IN DE COMMUNICATIE MET DE IBD Auteur IBD Datum Mei 2014 2 Inhoud 1 Communicatie met de IBD 4 2 Welke methoden kunt u gebruiken? 5 2.1 PGP 5 2.2 7-zip 5 2.3 Winzip 5 3 Hoe maakt

Nadere informatie

Cover Page. The handle holds various files of this Leiden University dissertation.

Cover Page. The handle   holds various files of this Leiden University dissertation. Cover Page The handle http://hdl.handle.net/1887/62814 holds various files of this Leiden University dissertation. Author: Martindale, C.R. Title: Isogeny graphs, modular polynomials, and applications

Nadere informatie

We zullen in deze les kijken hoe we netwerken kunnen analyseren, om bijvoorbeeld de volgende vragen te kunnen beantwoorden:

We zullen in deze les kijken hoe we netwerken kunnen analyseren, om bijvoorbeeld de volgende vragen te kunnen beantwoorden: Wiskunde voor kunstmatige intelligentie, 24 Les 5 Proces analyse Veel processen laten zich door netwerken beschrijven, waarin een aantal knopen acties aangeeft en opdrachten langs verbindingen tussen de

Nadere informatie

Inleiding Digitale Techniek

Inleiding Digitale Techniek Inleiding Digitale Techniek Week 4 Binaire optellers, tellen, vermenigvuldigen, delen Jesse op den Brouw INLDIG/25-26 Optellen Optellen is één van meest gebruikte rekenkundige operatie in digitale systemen.

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

Security Solutions. End-to-end security. Voor de beveiliging van uw fysieke toegangscontrolesysteem.

Security Solutions. End-to-end security. Voor de beveiliging van uw fysieke toegangscontrolesysteem. Security Solutions End-to-end security Voor de beveiliging van uw fysieke toegangscontrolesysteem. www.nedapsecurity.com security common practice IT best practices toegepast op fysieke beveiliging Bedrijven

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

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

Lt. Bruno de Ras Academiejaar 2010-2011. Hardware Study

Lt. Bruno de Ras Academiejaar 2010-2011. Hardware Study Koninklijke Militaire School Leerling-Officier STEYLAERTS 150e Promotie SSMW 1 Bachelor Lt. Bruno de Ras Academiejaar 2010-2011 Hardware Study de kaartlezer Met Open Office 1 2 Contents 1 Inleiding p.

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

Hoofdstuk 1 - Drie manieren om een getal te schrijven

Hoofdstuk 1 - Drie manieren om een getal te schrijven Hoofdstuk - Drie manieren om een getal te schrijven. Beginnen met een breuk Je kunt een breuk schrijven als decimaal getal en ook als percentage, kijk maar: = 0,5 = 50% 4 = 0,75 = 75% 5 = 0,4 = 40% Hoe

Nadere informatie

1 Vlaamse Wiskunde Olympiade 1996 1997: Eerste Ronde.

1 Vlaamse Wiskunde Olympiade 1996 1997: Eerste Ronde. 1 Vlaamse Wiskunde Olympiade 1996 1997: Eerste Ronde De eerste ronde bestaat uit 0 meerkeuzevragen Het quoteringssysteem werkt als volgt : een deelnemer start met 0 punten Per goed antwoord krijgt hij

Nadere informatie

en-splitsingen: een aantal alternatieven worden parallel toegepast, of-splitsingen: van een aantal alternatieven wordt er één toegepast,

en-splitsingen: een aantal alternatieven worden parallel toegepast, of-splitsingen: van een aantal alternatieven wordt er één toegepast, Kansrekening voor Informatiekunde, 25 Les 8 Proces analyse Veel processen laten zich door netwerken beschrijven, waarin knopen acties aangeven en opdrachten langs verbindingen tussen de knopen verwerkt

Nadere informatie

Machten, exponenten en logaritmen

Machten, exponenten en logaritmen Machten, eponenten en logaritmen Machten, eponenten en logaritmen Macht, eponent en grondtal Eponenten en logaritmen hebben alles met machtsverheffen te maken. Een macht als 4 is niets anders dan de herhaalde

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

welke voorwaarden biometrische identificatiesystemen moeten voldoen. Hierna wordt heel beknopt ingegaan op drie aspecten van deze regelgeving.

welke voorwaarden biometrische identificatiesystemen moeten voldoen. Hierna wordt heel beknopt ingegaan op drie aspecten van deze regelgeving. Samenvatting Binnen de informatiebeveiliging is de exclusiviteit van gegevens een belangrijk kwaliteitsaspect. De belangen van een bedrijf of van een persoon kunnen ernstig geschaad worden als onbevoegden

Nadere informatie

DIGITALE HANDTEKENINGEN De hele organisatie profiteert

DIGITALE HANDTEKENINGEN De hele organisatie profiteert DIGITALE HANDTEKENINGEN De hele organisatie profiteert INLEIDING Online transacties en digitale interactie In een snel veranderende markt met veel concurrentie willen uw klanten het papierwerk steeds meer

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

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

2. Ga voor volgende relaties na of het al dan niet functies, afbeeldingen, bijecties, injecties, surjecties zijn : HOOFDSTUK. VERZAMELINGEN, RELATIES EN FUNCTIES Opgaven verzamelingen, relaties en functies. Toon aan : a) (A B) C = A (B C) b) A (B C) = (A B) (A C) c) (A B) c = A c B c d) A B B c A c. Ga voor volgende

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

Aanbevelingen betreffende de bescherming van de vertrouwelijkheid bij de transmissie van medische persoonsgegevens via internet

Aanbevelingen betreffende de bescherming van de vertrouwelijkheid bij de transmissie van medische persoonsgegevens via internet Aanbevelingen betreffende de bescherming van de vertrouwelijkheid bij de transmissie van medische persoonsgegevens via internet Doc: a092004 Tijdschrift: 92 p. 4 Datum: 17/02/2001 Origine: NR Thema's:

Nadere informatie

Numerieke aspecten van de vergelijking van Cantor. Opgedragen aan Th. J. Dekker. H. W. Lenstra, Jr.

Numerieke aspecten van de vergelijking van Cantor. Opgedragen aan Th. J. Dekker. H. W. Lenstra, Jr. Numerieke aspecten van de vergelijking van Cantor Opgedragen aan Th. J. Dekker H. W. Lenstra, Jr. Uit de lineaire algebra is bekend dat het aantal oplossingen van een systeem lineaire vergelijkingen gelijk

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

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

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

NLT Gecertificeerde Module. Cybersecurity. Petra van den Bos Marko van Eekelen Erik Poll Radboud Universiteit Nijmegen NLT Gecertificeerde Module Cybersecurity Petra van den Bos Marko van Eekelen Erik Poll Radboud Universiteit Nijmegen Waarom aandacht besteden aan cybersecurity? Hot topic! - Veel actuele ontwikkelingen,

Nadere informatie

10 Meer over functies

10 Meer over functies 10 Meer over functies In hoofdstuk 5 hebben we functies uitgebreid bestudeerd. In dit hoofdstuk bekijken we drie andere aspecten van functies: recursieve functies dat wil zeggen, functies die zichzelf

Nadere informatie

The Color of X-rays. Spectral Computed Tomography Using Energy Sensitive Pixel Detectors E.J. Schioppa

The Color of X-rays. Spectral Computed Tomography Using Energy Sensitive Pixel Detectors E.J. Schioppa The Color of X-rays. Spectral Computed Tomography Using Energy Sensitive Pixel Detectors E.J. Schioppa Samenvatting Het netvlies van het oog is niet gevoelig voor deze straling: het oog dat vlak voor het

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

Samenvatting Field programmabale gate arrays (FPGA s) Dynamische herconfiguratie.

Samenvatting Field programmabale gate arrays (FPGA s) Dynamische herconfiguratie. Samenvatting Field programmabale gate arrays (FPGA s) zijn heel aantrekkelijk als ontwerpplatform voor digitale systemen. FPGA s zijn geïntegreerde schakelingen die geprogrammeerd of geconfigureerd kunnen

Nadere informatie

Beschrijving pseudonimisatieplatform ZorgTTP

Beschrijving pseudonimisatieplatform ZorgTTP Beschrijving pseudonimisatieplatform ZorgTTP copyright ZorgTTP 2016 De rechten van intellectuele en industriële eigendom, waaronder het auteursrecht, op alle informatie in dit document berusten bij ZorgTTP

Nadere informatie

Rekenen aan wortels Werkblad =

Rekenen aan wortels Werkblad = Rekenen aan wortels Werkblad 546121 = Vooraf De vragen en opdrachten in dit werkblad die vooraf gegaan worden door, moeten schriftelijk worden beantwoord. Daarbij moet altijd duidelijk zijn hoe de antwoorden

Nadere informatie

Uitleg. Welkom bij de Beverwedstrijd 2006. Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden.

Uitleg. Welkom bij de Beverwedstrijd 2006. Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden. Uitleg Welkom bij de Beverwedstrijd 2006 Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden. Je krijgt 5 vragen van niveau A, 5 vragen van niveau B en 5 vragen van niveau C. Wij denken

Nadere informatie

Handleiding Procedure voor de herroeping van een ehealth-certificaat

Handleiding Procedure voor de herroeping van een ehealth-certificaat Handleiding Inhoud 1. Inleiding 3 2. Hoe een herroeping aanvragen? 3 2.1 Herroeping via de Certificate Manager 3 2.2 Herroeping via het elektronisch formulier 9 3. In welke gevallen moet u een certificaat

Nadere informatie

Workshop DisWis, De Start 13/06/2007 Bladzijde 1 van 7. Sudoku. Sudoku

Workshop DisWis, De Start 13/06/2007 Bladzijde 1 van 7. Sudoku. Sudoku DisWis DisWis is een lessenserie discrete wiskunde die De Praktijk vorig jaar in samenwerking met prof.dr. Alexander Schrijver heeft opgezet. Gedurende vier weken komt een wiskundestudent twee blokuren

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

Betrouwbaarheid en levensduur

Betrouwbaarheid en levensduur Kansrekening voor Informatiekunde, 26 Les 7 Betrouwbaarheid en levensduur 7.1 Betrouwbaarheid van systemen Als een systeem of netwerk uit verschillende componenten bestaat, kan men zich de vraag stellen

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 2008 Limieten en asymptoten van rationale functies (versie juli 2008) Rationale functies. Inleiding Functies als f : 5 5, f 2 : 2 3 + 2 f 3 : 32 + 7 4 en f 4 :

Nadere informatie

DE IDENTITEITSKAART EN MICROSOFT OUTLOOK E-MAIL

DE IDENTITEITSKAART EN MICROSOFT OUTLOOK E-MAIL DE IDENTITEITSKAART EN MICROSOFT OUTLOOK E-MAIL Deze handleiding is bedoeld voor iedereen die in Microsoft Outlook e-mails wil ondertekenen met een elektronische identiteitskaart. In deze handleiding leggen

Nadere informatie