Encryptie RSA Carl Reinehr

Maat: px
Weergave met pagina beginnen:

Download "Encryptie RSA Carl Reinehr"

Transcriptie

1 Encryptie RSA Kontich, januari 2003

2 Encryptie RSA Auteur : School : CVO Antwerpen-Zuid Studentnummer : 176 Studierichting : HTL Informatica Netwerkbeheer Module : Datacommunicatie Docent : Marc Rosseau Datum :

3 Inhoudsopgave 1 Inleiding 1.1 Wat is cryptografie? Het nu van cryptografie 5 2 Terminologie 2.1 Plaintext Encryption Ciphertext Decryption Key Cryptanalysis Cryptology Algoritmes Public Key Cryptosystems Secret Key Cryptosystems 7 3 Geschiedenis van de crytografie 3.1 Het begin Monoalfabetisch substitutie system Polyalfabetische encryptie Vigenère-cijfer Mechanisatie van encryptie Navajo Publieke sleutels DES RSA Andere algoritmen AES Rijndael Quantummechanica Quantummechanica voor decryptie Quantummechanica voor encryptie 16 4 Encryptie nu 4.1 National Security Agency Cryptografie en de wet Legaliteit van cryptografie Legaliteit van export Verplichting tot ontsleutelen Cryptografische berichten en briefgeheim 19 5 RSA 5.1 Inleiding Getaltheorie die gebruikt wordt in RSA Klokrekenen Deler, veelvoud en gemeenschappelijke factor Priemgetallen Stelling van Fermat Eulerfuntie Stelling van Euler Voorbereiding Keuze van de priemgetallen Keuze van de vercijferingsexponent Algoritme van Euclides Berekening van de ontcijferingsexponent Bekendmaking van n en e Boodschappen versturen: vercijfering Afluisteren Boodschappen lezen: ontcijfering 29 3

4 5.7 Kraken van RSA Hoe veilig is een RSA sleutel? RSA kraken Private key berekenen Brute-force hacking 31 6 Toepassingen 6.1 Digicash PGP Geschiedenis van PGP Werking PGP Gebruik Algoritmen Versleutelen Signeren Andere mogelijkheden Veiligheid Computer Implementatie Software algemeen Private signature key Algoritmen Asymmetrische algoritmen Symmetrische algoritmen Random number generators Uitwisselen public keys Achtergrond Certificaten Keys splitsen Conclusie 41 7 Bronnen 42 8 Bijlage 8.1 Lijst met priemgetallen 43 4

5 1.1 Wat is cryptografie? Cryptografie is letterlijk de kunst van het verborgen schrijven. Vroeger gebeurde dat door de tekst zelf te verbergen of te vervangen door geheime symbolen, maar tegenwoordig zijn vooral wiskundige technieken populair. Door middel van een cryptografisch algoritme en een sleutel kan een tekst (de "brontekst") worden getransformeerd tot een onleesbare brij tekens (de "codetekst"). De ontvanger moet opnieuw het algoritme en een sleutel gebruiken om de brontekst weer terug te krijgen. Er zijn twee soorten cryptografie: Geheime-sleutel cryptografie, waarbij zender en ontvanger dezelfde sleutel gebruiken. Publieke-sleutel cryptografie, waarbij twee verschillende sleutels nodig zijn. De ene sleutel (de publieke) mag aan iedereen bekend worden gemaakt, de andere (de geheime) moet de ontvanger strikt geheim houden. Met de publieke sleutel kan de zender de brontekst omzetten in de codetekst, en met de geheime sleutel kan de ontvanger de brontekst weer terugkrijgen. Normaal gebruiken zender en ontvanger van een bericht dezelfde sleutel, die ze vooraf samen afspreken. Zij kunnen dan met behulp van geheime-sleutel cryptografie het bericht versleutelen en ontsleutelen. Dat is echter niet altijd praktisch, bijvoorbeeld wanneer zij elkaar alleen via Internet kennen. In zo'n geval is publieke-sleutelcryptografie handig. De ontvanger creëert twee sleutels, een publieke en een geheime. De eerste kan hij overal publiceren (bijvoorbeeld op zijn homepage of in een openbare key-server), zodat iedereen die hem een bericht wil sturen, deze op kan vragen. De tweede moet hij strikt geheim houden. Berichten die anderen met zijn publieke sleutel versleutelen, kan alleen hij met zijn geheime sleutel weer terugvertalen in de brontekst. 1.2 Het nut van cryptografie Het Internet is nog onveiliger dan de telegraaf van vroeger. Wereldwijde communicatielijnen zijn met een kleine moeite af te tappen, en een e- mailtje kan maar al te gemakkelijk bij de verkeerde persoon in het adresboek terechtkomen. Vervelend in het geval van een heftige liefdesbrief, kostbaar in het geval van een offerte of een bedrijfsgeheim document dat bij een concurrent terechtkomt, en levensgevaarlijk als het gaat om communicatie met een politie-informant. Maar cryptografie is niet alleen nuttig voor grote bedrijven en overheden. Ook voor de gewone burger is het van belang. Wie bestelt er nooit eens iets bij een online boekhandel of veilinghuis? Het is dan wel prettig dat een hacker er niet met je credit-card gegevens vandoor kan gaan. 5

6 2 Terminologie Bij een ingewikkeld onderwerp als cryptografie horen vanzelfsprekend ook een hoop ingewikkelde termen. Ik zal de belangrijkste hier even kort bespreken. Hierbij zal ik de Engelse termen aanhouden, omdat die toch praktisch altijd gebruikt worden. 2.1 Plaintext Het ongecodeerde bericht. Dit is de belangrijke boodschap die niet in verkeerde handen mag komen. 2.2 Encryption Met encryption wordt de codering van de plaintext bedoeld. Via deze stap wordt ervoor gezorgd dat de 2.3 Ciphertext Dit is de uiteindelijke tekst, in versleutelde vorm. Bij een goed gecodeerde tekst is de ciphertext een onbegrijpelijke boodschap, waaruit onbevoegden praktisch onmogelijk de plaintext kunnen halen. 2.4 Decryption De decryption (het decoderen) is de stap die de ontvanger uitvoert om het originele bericht weer uit de ciphertext te halen. Dit gebeurt via een key. 2.5 Key De key is zoals het woord al zegt de sleutel die je nodig hebt om een ciphertext te decoderen. Weet je de key, dan is het ontcijferen van de boodschap een fluitje van een cent. Zonder sleutel is dit bij een goed gecodeerde tekst bijna niet mogelijk. 2.6 Cryptanalysis Dit begrip houdt het kraken van een gecodeerde tekst in. De echte cryptanalysten bedenkten hier ingenieuze manieren voor, zodat snel een code gekraakt kan worden. 2.7 Cryptology Cryptologie is een net iets minder ruim begrip dan Cryptografie. Bij cryptologie wordt namelijk alleen de wiskundige kant van de cryptografie bestudeerd. 2.8 Algoritmes Om iets te versleutelen heb je altijd een algoritme nodig. Hiermee wordt de manier bedoeld, waarop informatie veranderd (gecodeerd) wordt. Algoritmes zijn er van enorm eenvoudig, tot zeer complex; zo kent iedereen waarschijnlijk wel het algoritme dat kleine kinderen soms gebruiken om 'geheimschrift' te maken. Hierbij tel je bij elke letter er eentje op, zodat een onleesbaar woord ontstaat. In 'computertaal' komt dit op het volgende neer: 6

7 c = chr$(asc(m) + 1) m = chr$(asc(c) - 1) De ciphertext (c) is dus de plainplain (m) waarbij 1 letter is opgeteld. Zo wordt een a een b (a + 1 = b), en krijg je de originele boodschap weer terug door het algoritme om te keren: b - 1 = a. Aangezien je natuurlijk reëel gezien niet een getal bij een letter kan optellen, wordt er met ASCII-codes gewerkt. Zet de letter om in een code, tel daar 1 bij op en verander dan die code weer terug in een letter. Uiteraard worden er bij professionele cryptografie wel wat ingewikkeldere algoritmes gebruikt. De belangrijkste algoritmes zijn onder te verdelen in twee categorieën: 2.9 Public Key Cryptosystems (Asymmetrische Cryptosystemen) Deze vorm van cryptografie is al in de jaren 70 uitgevonden. Hierbij wordt gebruik gemaakt van een publieke sleutel voor het coderen en een geheime sleutel voor het decoderen. Een voorbeeld van Public Key Cryptosystems is de RSA-beveiliging. Er wordt gebruik gemaakt van wiskundige zaken zoals priemgetallen, logaritmes en vermenigvuldigingen. De precieze werking verschilt uiteraard per beveiliging Symmetrische Cryptosystemen Bij deze vorm van cryptografie is er maar één sleutel: de geheime key. Deze sleutel wordt gebruikt voor het coderen en ook voor het decoderen (of in ieder geval is de decodeer-sleutel eenvoudig af te leiden van de codeersleutel). Het grote nadeel hiervan is dus dat de sleutel van de zender aan de ontvanger moet worden doorgegeven. Hierbij kan onderschepping van de communicatie voorkomen, waardoor de beveiliging steeds minder gebruikt wordt. De 'kindercryptografie' waar ik het eerder over had behoort tot deze categorie. 7

8 3 Geschiedenis van de cryptografie 3.1 Het begin De kindercryptografie werd door Julius Caesar eigenlijk ook al gebruikt. Alleen in een wat andere vorm. Een nog simpelere vorm zelfs. Hij schoof het alfabet als het ware een eindje op, als hij het bijvoorbeeld 1 letter opschoof dan werd de a een b, de b een c enzovoorts. Een bericht als HALLO CAESAR HOE GAAT HET MET JOU werd dan IBMMP DBFTBS IPF HBBU IFU NFU KPV En dat was eigenlijk voor een buitenstaander een rare reeks letters, vooral omdat Caesar het gewoon achter elkaar plakte: HALLOCAESARHOEGAATHETMETJOU werd dan IBMMPDBFTBSIPFHBBUIFUNFUKPV En dat zag er helemaal onbegrijpelijk uit. Voor die tijd was deze truc veilig genoeg, er waren nog niet veel slimmeriken die dit relatief simpele puzzeltje op kunnen lossen. Eenmaal terugschuiven in het alfabet was immers voldoende om de oorspronkelijke reeks weer terug te krijgen. Een beroemd voorbeeld van deze techniek tegenwoordig is uitgevoerd door Arthur Clarke in A space Odyssey. De hoofdspeler in dat boek is de computer HAL, die menselijk gedrag vertoont. Zoals je in de ongecodeerde tekst en codeerde tekst kunt zien, wordt HAL, IBM (een van de grootste computer fabriekanten) als je het decodeerde op Caesars manier. Maar goed, op den duur werd deze truc ontdekt. En werd het tijd om iets beters te verzinnen. Bijvoorbeeld dat de verzender en ontvanger afspraken hoeveel letters er werd opgeschoven, dus niet altijd 1 of altijd 7, steeds wisselend, het was dan al wat lastiger om de berichten te ontcijferen. Hoewel deze berichten heel simpel te coderen, en decoderen zijn werken ze wel om een bericht snel onleesbaar te maken. Een andere techniek voor encryptie is het volgende: De verzender en ontvanger hebben en stok of balk, de balk is van dezelfde dikte. De ontvanger windt een stuk papier om de balk en schrijft het bericht op het papier, dan windt hij het papier er af en verstuurt het naar de ander, deze windt het papier er weer om en kan zo het bericht weer lezen. Als iemand het bericht onderschept en om een andere balk wind, die een andere dikte heeft worden de letters niet op de goede manier naast elkaar gezet, en is er nog niks van te begrijpen. 3.2 Monoalfabetisch-substitutie systeem Als je elke letter door een andere letter gaat vervangen, bijvoorbeeld een a wordt een n een b wordt een z etc. Dan spreken we over een monalfabetisch-substitutie systeem. Stel we onderscheppen de volgende cijfertekst: 8

9 LCOP KGXJXWXXV, VYO DOVMJOPVO VOWO VMYWOPV OP OOP PXABLOPXXPECPYPD KGXJYXJ VJYO WCPOP BXV DOKABCPEOP DOJOOV QXK SOL BXXJ RXXLKLO DOKABYVOPYK, QYOJF WYG WYAB XXP WYGP NCOLOP OP KFJXE: C, DJCLO BOOIJ OP ECPYPD, VMYWOPV OP OOP PXABLOP BOZ YE M VO IXZORK OP RODOPVOP NXP NJCODOJO ECPYPDOP NOJBXXRV. PM KSOOE YE M SYG LCO LO KLXXP OOP DMPKL LO NJXDOP! OFYRCCD, NOJBXROP MYL VO VMYWOPV OP OOP PXABL Op het eerste gezicht is hier natuurlijk absoluut niks van te maken. Maar, welke letters komen er het meest voor in het alfabet? De e, n en a. Na analyse van een lange Nederlandse tekst kun je deze tabel maken: Letter % Letter % Letter % Letter % A 7,5 h 2,7 o 5,7 v 2,6 B 1,4 i 6,8 p 1,4 w 1,5 C 1,4 j 1,6 q 0,0 x 0,0 D 6,0 k 2,2 r 6,4 y 0,1 E 18,6 l 3,6 s 4,1 z 1,4 F 0,8 m 2,2 t 6,5 G 3,3 n 10,1 u 1,9 Als je de tabel vergelijkt met de tekst, kan je de volgende conclusie maken: O = E, X = A en P = N (vermits veel woorden in de Nederlandse taal eindigen op N) Als je dan verder voort puzzelt en elimineert, kun je de tekst decoderen. 3.2 Polyalfabetische encryptie In 1466 werd door de Italiaan Leon Battista Alberti het eerste polyalfabetische cryptosysteem ontwikkeld. Een polyalfabetisch systeem lijkt heel veel op het in hierboven besproken alfabetische systeem, het verschil is dat de tabel verandert tijdens het versleutelen. Verzender en ontvanger spreken af om na een vast afgesproken aantal (bijvoorbeeld 8) tekens de letters van de onderste rij eentje naar rechts op te schuiven. Alberti maakte twee koperen platen met daarop de letters van het alfabet. De middelste van de twee kan vrij bewegen. Er wordt door de verzender en ontvanger een beginstand afgesproken, en ook na hoeveel letters de middelste plaat verdraaid moet worden. Het systeem van Alberti is pas in de 18 e eeuw gekraakt. Gewone statistische analyse was niet mogelijk, maar toch bleken er analyses te zijn die deze manier van encryptie relatief snel kunnen kraken. 9

10 codewiel Alberti Blaise de Vigenère 3.4 Het Vigenère-cijfer Vigenère was de bedenker van het Vigenère vierkant, een nieuwe en betere manier om een tekst te coderen. Dit is het vierkant: a b c d e f g h i j k l m n o p q r s t u v w x y z 1 B C D E F G H I J K L M N O P Q R S T U V W X Y Z A 2 C D E F G H I J K L M N O P Q R S T U V W X Y Z A B 3 D E F G H I J K L M N O P Q R S T U V W X Y Z A B C 4 E F G H I J K L M N O P Q R S T U V W X Y Z A B C D 5 F G H I J K L M N O P Q R S T U V W X Y Z A B C D E 6 G H I J K L M N O P Q R S T U V W X Y Z A B C D E F 7 H I J K L M N O P Q R S T U V W X Y Z A B C D E F G 8 I J K L M N O P Q R S T U V W X Y Z A B C D E F G H 9 J K L M N O P Q R S T U V W X Y Z A B C D E F G H I 10 K L M N O P Q R S T U V W X Y Z A B C D E F G H I J 11 L M N O P Q R S T U V W X Y Z A B C D E F G H I J K 12 M N O P Q R S T U V W X Y Z A B C D E F G H I J K L 13 N O P Q R S T U V W X Y Z A B C D E F G H I J K L M 14 O P Q R S T U V W X Y Z A B C D E F G H I J K L M N 15 P Q R S T U V W X Y Z A B C D E F G H I J K L M N O 16 Q R S T U V W X Y Z A B C D E F G H I J K L M N O P 17 R S T U V W X Y Z A B C D E F G H I J K L M N O P Q 18 S T U V W X Y Z A B C D E F G H I J K L M N O P Q R 19 T U V W X Y Z A B C D E F G H I J K L M N O P Q R S 20 U V W X Y Z A B C D E F G H I J K L M N O P Q R S T 21 V W X Y Z A B C D E F G H I J K L M N O P Q R S T U 22 W X Y Z A B C D E F G H I J K L M N O P Q R S T U V 23 X Y Z A B C D E F G H I J K L M N O P Q R S T U V W 24 Y Z A B C D E F G H I J K L M N O P Q R S T U V W X 25 Z A B C D E F G H I J K L M N O P Q R S T U V W X Y 26 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z En werkt als volgt. Je bedenkt een sleutelwoord, bijvoorbeeld crypt. En je wil de volgende zin coderen: Jan en Mien liepen door het bos Dan kijk je voor de eerste letter in de verticale rij, bij de j en in de horizontale rijen bij de c (eerste letter van crypt): 10

11 a b c d e f g h i j k l m n o p q r s t u v w x y z 1 B C D E F G H I J L M N O P Q R S T U V W X Y Z A K 2 C D E F G H I J K L M N O P Q R S T U V W X Y Z A B 3 D E F G H I J K L M N O P Q R S T U V W X Y Z A B C 4 E F G H I J K L M N O P Q R S T U V W X Y Z A B C D 5 F G H I J K L M N O P Q R S T U V W X Y Z A B C D E 6 G H I J K L M N O P Q R S T U V W X Y Z A B C D E F 7 H I J K L M N O P Q R S T U V W X Y Z A B C D E F G 8 I J K L M N O P Q R S T U V W X Y Z A B C D E F G H 9 J K L M N O P Q R S T U V W X Y Z A B C D E F G H I 10 K L M N O P Q R S T U V W X Y Z A B C D E F G H I J 11 L M N O P Q R S T U V W X Y Z A B C D E F G H I J K 12 M N O P Q R S T U V W X Y Z A B C D E F G H I J K L 13 N O P Q R S T U V W X Y Z A B C D E F G H I J K L M 14 O P Q R S T U V W X Y Z A B C D E F G H I J K L M N 15 P Q R S T U V W X Y Z A B C D E F G H I J K L M N O 16 Q R S T U V W X Y Z A B C D E F G H I J K L M N O P 17 R S T U V W X Y Z A B C D E F G H I J K L M N O P Q 18 S T U V W X Y Z A B C D E F G H I J K L M N O P Q R 19 T U V W X Y Z A B C D E F G H I J K L M N O P Q R S 20 U V W X Y Z A B C D E F G H I J K L M N O P Q R S T 21 V W X Y Z A B C D E F G H I J K L M N O P Q R S T U 22 W X Y Z A B C D E F G H I J K L M N O P Q R S T U V 23 X Y Z A B C D E F G H I J K L M N O P Q R S T U V W 24 Y Z A B C D E F G H I J K L M N O P Q R S T U V W X 25 Z A B C D E F G H I J K L M N O P Q R S T U V W X Y 26 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Zoals je ziet wordt de eerste letter een L. Als je zo door gaat krijg je dit: Tekst: janenmienliependoorhetbos Sleutel: CRYPTCRYPTCRYPTCRYPTCRYPT Gecodeerd: LRLTGOZCEEKVNTGFFMGAGKZDL 3.5 Het mechaniseren van encryptie Aan het eind van de 19 e eeuw werd de radio uitgevonden. Naar verloop van tijd gingen ook militairen de radio gebruiken om te communiceren. Maar tijdens oorlogen werd al snel duidelijk dat ook dit niet veilig was, immers de vijand kon gewoon meeluisteren. Er moest dus een goede encryptie methode gevonden worden, maar helaas die bleef uit. Er kwamen wel een paar encryptie systemen, maar die bleken niet veilig genoeg. In 1918 kwam Arthur Scherbius met zijn Enigma machine. Het coderingsprincipe is niet erg ingewikkeld. Hieronder zie je een heel simpele versie van de enigma machine. Links is het toetsenbord, hier druk je op een van de letters. Een stroompje gaat lopen door de (draaibare scrambler), en komt uit op een andere letter. 11

12 Zo wordt in deze stand van de scrambler de a een B, de b een A, de c een D etc. Afhankelijk van hoe je de scrambler draait, krijg je een andere vercijferde letter. Maar nu zetten we een stuk of vier scramblers achter elkaar. In een echt enigma zitten op zo n toetsenbord natuurlijk 26 letters. En er zaten 3 scramblers achter elkaar: Daardoor werd het aantal verschillende mogelijkheden om te coderen al 26*26*26 = Het was ook nog mogelijk, om de (niet identieke scramblers) van plaats te wisselen. De mogelijkheden zijn 123, 132, 213, 231, 312, 321 en dat zijn dus 6 mogelijkheden. Als extra mogelijkheid zat er ook nog een schakelbord tussen. Hiermee konden maximaal 6 letters verwisseld worden. Het aantal mogelijkheden om dit te doen is heel groot: Het totaal aantal mogelijkheden komt daarmee op: * 6 * = mogelijkheden. Redelijk veilig dus. Om het bericht te coderen zou men een boek moeten maken, met daarin per dag de instellingen van het schakelbord en de 3 scramblers. Om het te ontcijferen is er echter nog een probleem. Want dan zou je een omgekeerde machine moeten maken. Da s lastig, dus werd er aan het eind van de scramblers een reflector geplaatst, die ervoor zorgde dat het geheel weer terugkwam. Om nu te decoderen, zette je de scramblers en schakelbord in de goede stand, en toetste je één voor één de codeletters in, en de gedecodeerde letter kwam er uit. 12

13 3.6 Het Navajo Een heel mooi voorbeeld van encryptie is wel taal. Als je als een rus kan praten, kun je wel iets geheim houden. Helaas is er veel Russisch geschreven, en zijn er genoeg plaatsen waar je het kunt leren. Voor absolute geheimhouding is het niet geschikt. In Amerika was er echter een stam die Navajo heette. En had als unieke kenmerk dat ze vrijwel niet schreven, en als enige niet belaagd waren door toeristen en onderzoekers die wat van de taal wilden oppikken. Kortom, de Navajo taal was de enige taal die alleen gesproken werd door die stam. Hier wilden de Amerikanen gebruik van maken. Eerst werden de Navajo stamleden onderworpen aan een stel cryptoanalisten en taalkundigen. Volgens hen was er niks van te volgen, omdat de woorden steeds in een andere volgorde andere dingen betekende, en dat sommige woorden zo erg op elkaar aansloten dat je niet wist of ze bij elkaar hoorden of niet. Na deze bevindingen werden groepen van Navajo-stamleden opgeleid. Ze leerden engels (wat natuurlijk nogal lastig was). De eersten slaagden voor hun diploma in Zij werden ingezet in de tweede wereld oorlog. Mensen die Navajo berichten onderschepte beschreven het als een zwerm oerwoudgeluiden zonder enige regelmaat. Navajo is nooit door iemand gebroken. 3.7 Publieke sleutels Whitfield Diffie en Martin Hellman zaten met een probleem. Ze wilden een manier verzinnen waarop het mogelijk was een bericht naar de ander te versturen, zonder dat ze van tevoren een sleutel hadden afgesproken. Want het probleem was natuurlijk, hoe spreek je een dergelijke sleutel af, via de telefoon kan het afgeluisterd worden, en via de post kan het onderschept worden. De enige veilige manier was het persoonlijk te vertellen, maar dan was de zin van het bericht opsturen ook weg. Toen bedachten ze dit: Als je nou het bericht in een metalen koffertje doet met een slot erop (waarvan jij de sleutel hebt). Dat stuur je op naar de ontvanger. De ontvanger kan het koffertje niet openen, want heeft de sleutel niet. Wat hij doet is zijn eigen slot er op zetten (waar hij het sleuteltje van heeft). Dit pakketje met die twee sloten stuurt hij weer terug naar jou. Jij haalt je eigen slot er af, en stuurt het terug naar hem. Hij haalt zijn slot er af, en hij kan er bij! Wat een vondst, zul je op het eerste gezicht denken. Maar helaas valt dat een beetje tegen. Want in de wiskunde is het zo, wat er als laatst op gaat, moet er als eerst af. Kijk maar: Sleutel van persoon 1: abcdefghijklmnopqrstuvwxyz HFSUGTAKVDEOYJBPNXWCQRIMZL Sleutel persoon 2: abcdefghijklmnopqrstuvwxyz CPMGATNOJEFWIQBURYHXSDZKLV Bericht Vercijferd met sleutel 1: Vercijferd met sleutel 2: Ontcijferd met sleutel 1: Ontcijferd met sleutel 2: uur moeten staan) morgen twaalf uur YBXAGJ CIHHOT QQX LPKCNE MJOOBX RRK zphtqk xnllor vvh wbsfnx tgyyhq zzs (hier had dus morgen twaalf Zoals je ziet, werkt dit niet. We hebben hier namelijk niet te maken met een standaard rekensommetje. Het blijkt dus dat we hier niet te maken hebben met een tweewegsfunctie. Bij een tweewegsfunctie maakt het namelijk 13

14 niet uit in welke volgorde je de vercijfering ongedaan maakt. Een voorbeeld is het vermenigvuldigen: 3 (sleutel 1) * 8 (te vercijferen bericht ) = 24 (vercijfering 1) 2 (sleutel 2) * 24 (vercijfering 1) = 48 (vercijfering 2) 48 / 3 (sleutel 1) = 16 (ontcijfering stap 1) 16 / 2 (sleutel 2) = 8 (= te vercijferen bericht) de laatste twee stappen kun je ook andersom doen, het maakt niet uit: 48 / 2 (sleutel 2) = 24 (ontcijfering stap 1) 24 / 3 (sleutel 1) = 8 (= te vercijferen bericht) Conclusie, een vermenigvuldiging kun je wel omkeren. En de volgorde waarop maakt niet uit. Maar wat kun je dan niet omkeren? Een modulaire functie kun je niet omkeren. Modulair rekenen leerde je eigenlijk al op de basisschool. Je moest delen, en soms hield je wat over. Dat noemde je dan rest. Die rest is eigenlijk de uitkomst van zulke modulaire berekening. Modulair rekenen doen we met de % operator (soms wordt ook MOD gebruikt) 7 / 3 = 2 rest 1 7 % 3 = 1 Stel nu weet je die 3 en die 1. Het is nu onmogelijk te achterhalen wat dat andere cijfer is. Namelijk 7 % 3 = 1 maar ook 16 % 3 = 1 en zo zijn er nog veel meer mogelijkheden. Na twee jaar lang proberen vond Hellman een oplossing voor dit probleem. Persoon 1 en persoon 2 spreken twee getallen af: Y en P. P is een priemgetal (alleen zonder rest deelbaar door zichzelf en 1, voorbeeld 3 en 11) en Y moest kleiner zijn dan P. Beide waarden zijn niet geheim. Dus persoon 1 belt persoon 2 op en ze spreken af Y = 7 en P = 11). 1. Nu kiest persoon 1 een willekeurig getal, bijvoorbeeld 3 en houdt dat geheim. We noemen dat getal A. Persoon 2 kiest ook een willekeurig getal, bijvoorbeeld 6 en houdt dat geheim, we noemen het getal B. 2. Persoon 1 rekent het volgende uit: Y^A % P = hier 7^3 % 11 = 2 we noemen dit a. En persoon 1 verstuurt dit getal naar persoon 2. Persoon 2 doet precies hetzelfde: Y^B % P = 7^6 % 11 = 4 noemen we b. Persoon 2 stuurt deze uitkomst naar persoon Persoon 1 berekent b(getal persoon 2)^A % 11 = 4^3 % 11 = 9 Persoon 2 berekent a(getal persoon 1)^B % 11 = 2^6 % 11 = 9 Beide personen hebben nu hetzelfde getal in handen: de sleutel. Een een of andere afluisteraar kan deze waarde niet achterhalen. Stel hij/zij vangt alle waarden op die afgesproken en verteld zijn via de telefoon, dan nog weet die persoon niet welke waarde hij/zij in stap 2 moet nemen voor A of B. Later gingen Ronal Rivest, Adi Shamir en Leonard Adleman hierop door. En ontwikkelde het RSA Algoritme. Waar het op neer komt is dit: Persoon 1 kiest p en q allebei priemgetallen. Bijvoorbeeld p = en q = : als je deze twee met elkaar vermenigvuldigt dan krijg je de publieke sleutel van deze persoon N. N= Bedenk hierbij dat niemand kan achterhalen uit welke twee getallen deze publieke sleutel is ontstaan. Dit bericht werd gecodeerd met behulp van de eenwegfunctie die Rivest ontworpen heeft. Rivest ontwierp een eenwegfunctie zodat het mogelijk was om, als je de waarden van p en q weet, het bericht te decoderen. Het RSA algoritme was geboren. 14

15 Ook deze code is te breken. Je zou namelijk alle mogelijkheden van p en q kunnen nagaan en kijken of je uit de cijfertekst weer zinnige tekst kunt maken. Om een beeld te geven van hoe lang dit duurt. Er is ooit een wedstrijd uitgeschreven in de Scientific American, waar een publieke sleutel en een cijfertekst werd afgedrukt. De publieke sleutel: Het duurde 17 jaar voor dit getal in factoren werd ontbonden, door een groep van 600 vrijwilligers, die als de computers op hun werk en thuis niks te doen hadden, hieraan aan het rekenen waren. Het is technisch uitvoerbaar om een bericht te vercijferen met een voldoende grote waarde van N (publieke sleutel), zodat alle computers op de planeet het cijferschrift niet zouden kunnen breken binnen de leeftijd van het universum. 3.8 DES Het als DES bekende algoritme is gebaseerd op een systeem van IBM dat in 1970 ontwikkeld werd: LUCIFER. Toen er door de Amerikaanse NBS (National Bureau of Standards) een oproep gedaan werd voor encryptie-algoritmen werd LUCIFER door IBM ingestuurd. Na evaluatie door de NSA (National Security Agency) werd het tot nationale standaard verheven: Digital Encryption Standard. DES is een zogenaamd symmetrisch algoritme: voor het encrypten en decrypten wordt dezelfde sleutel gebruikt. Daarom moeten de verzender en ontvanger beide dezelfde sleutel gebruiken. Het DES algoritme is gebaseerd op operaties die gemakkelijk door hardware uit te voeren zijn, zoals het verschuiven van bits. Samen met het feit dat het een standaard was, werd DES binnen minimum van tijd vrijwel overal gebruikt waar symmetrische encryptie nodig was. Aan het eind van de jaren 90 werd duidelijk dat DES toch niet zo veilig was als men altijd gedacht had. Allereerst werd duidelijk dat de NSA een grote vinger in de pap had gehad bij het ontwikkelen van het algoritme, maar belangrijker was het feit dat computers dermate snel werden dat de 56- bits sleutels relatief snel gekraakt konden worden. In 1998 werd er door de Electric Frontier Foundation een werkende DES kraker gedemonstreerd. Tegenwoordig wordt DES vrijwel niet meer gebruikt, hoewel de variant 3DES (DES drievoudig toegepast) nog wel in veel cryptografische software gebruikt wordt. 3.9 RSA RSA wordt later in dit werkje gedetailleerd uitgewerkt Andere algoritmen Andere bekende algoritmen die gebruik maken van public en private keys zijn: Elgamal, Rabin,Diffie-Hellman, DSS/DSA, LUC en XTR. Aangezien er voor encrypten en decrypten verschillende sleutels gebruikt worden, worden deze algoritmen ook wel asymmetrisch genoemd. Een groot nadeel van bovenstaande asymmetrische algoritmen is dat ze gebaseerd zijn op het rekenen met grote getallen. Dit is de reden dat algoritmen als RSA over het algemeen veel trager zijn (over het algemeen wordt een factor 1000 als vuistregel genomen) dan symmetrische algoritmen als DES en IDEA. 15

16 3.11 AES Rijndael Toen in de jaren 90 duidelijk werd dat DES geen veilige standaard meer was werd er door het NIST (National Institute of Standards and Technology, de opvolger van het NBS) een nieuwe vraag uitgeschreven voor symmetrische cryptografische algoritmen, waarvan er een de nieuwe standaard zou worden: AES ofwel Advanced Encrption Standard. In totaal werden 15 algoritmen ingestuurd, waaronder het door de Belgen Joan Daemen en Vincent Rijmen ontwikkelde symmetrische algoritme Rijndael. In de laatste selectieronde bleven er 5 algoritmen over (waar bijvoorbeeld ook RC6 bij zat, een algoritme dat ontworpen was door Rivest, een van de bedenkers van RSA) en uiteindelijk is Rijndael als winnaar uit de bus gekomen. Het bleek dat Rijndael namelijk gemakkelijk in kleine hardware te implementeren was (bijvoorbeeld smartcards) omdat het algoritme weinig geheugenruimte gebruikt en dit gaf voor het NIST de doorslag. Andere eigenschappen van Rijndael zorgen er voor dat het praktisch gezien moeilijk is om een kraker te bouwen. Er zijn twee bekende soorten aanvallen op hardwareimplementaties van cryptografische algortime: timing en power aanvallen. Bij dit soort aanvallen wordt de tijd gemeten die het kost om iets te versleutelen, of de opgenomen hoeveelheid stroom. Rijndael blijkt bijzonder goed bestand tegen allebei deze aanvallen Quantummechanica Veel cryptografie experts zijn er van overtuigd dat de toekomst van de cryptografie in de quantummechanica ligt. Hiervoor zijn twee toepassingsgebieden 3.13 Quantummechanica voor decryptie Er zijn aanwijzingen dat bestaande asymmetrische algoritmen met behulp van quantummechanica-technieken te kraken zouden zijn. Met de huidige stand van technologie is het nog niet mogelijk om daadwerkelijk machines te bouwen die dit kunnen, maar het is niet onmogelijk dat dit in de nabije toekomst wordt gerealiseerd. In augustus 2000 is er door een team van IBM een belangrijke stap gezet voor het kraken van encryptie met behulp van quantum technieken. Een quote: This result gives us a great deal of confidence in understanding how quantum computing can evolve into a future technology," Chuang said. "It reinforces the growing realization that quantum computers may someday be able to live up to their potential of solving, in remarkably short times, problems that are so complex that the most powerful supercomputers couldn't calculate the answers even if they worked on them for millions of years Quantummechanica voor encryptie Quantummechanica kan er dus voor zorgen dat alle huidige encryptie waardeloos wordt, maar gelukkig komt de oplossing ook uit deze hoek. Een van de basisstellingen van de quantummechanica is de onzekerheidsrelatie van Heisenberg. Deze houdt in dat van een klein deeltje (bijvoorbeeld een foton) de locatie en snelheid onbekend (en zelfs onbepaald) zijn totdat het deeltje bekeken wordt. Op het moment dat een foton bekeken wordt veranderen zijn snelheid en richting. Als Alice een tekst naar Bob wil sturen maakt ze een reeks fotonen en ze geeft deze een polarisatie. Bob kan op basis van deze polarisatie het bericht terughalen. Als Oscar nu de communicatie afluistert zal hij de fotonen op moeten vangen, maar zodra 16

17 hij ze bekijkt verandert hij ze. De basis van quantum-encryptie is dat Oscar deze fotonen niet 100% kan reconstrueren om door te sturen naar Bob. Bob ontvangt dan een verandert bericht en kan met behulp van een checksum controleren of het bericht intact is. Als dit niet zo is weet Bob dat de communicatie afgeluisterd wordt. 4 Encryptie nu 4.1 National Security Agency Hoewel je het misschien niet zou vermoeden, is encryptie nog steeds ontzettend belangrijk. Het speelt vooral erg in Amerika, en al helemaal omdat het internet zo aan het opkomen is. In de Amerikaanse wet staat namelijk dat er geen gecodeerde berichten naar buiten de Verenigde Staten gestuurd mogen worden, als dezen niet gedecodeerd kunnen worden door het NSA (National Security Agency). Het NSA is het bedrijf dat 80% van de computerkracht ter wereld in handen heeft. Het enige wat ze er de hele dag doen is codes kraken. Misschien heb je ooit gehoord van Carnivore. Carnivore is een programma van de FBI, die scant die hij binnenkrijgt. De ISPs (Internet Service Providers, bv internet aanbieders) scannen eerst zelf de post, en post die niet vertrouwd wordt sturen ze door naar de FBI. Een kopie van die gaat dan door een filter die scant op woorden op woorden als kill, president, bomb en andere dergelijke termen. Als iets verdachts gevonden wordt, wordt de gelezen en gekeken of het gevaarlijke informatie bevat. Als het bericht gecodeerd is, gaat hij door naar het NSA waar altijd wel een computertje de tijd heeft om de code te breken waarmee het bericht gecodeerd is. Op deze manier probeert de Amerikaanse regering criminelen via internet op te pakken. Er is nog zo n spionagenetwerk ook wel Echelon genoemd, er is nog niet veel 17

18 over bekend, want de betrokken landen (de Verenigde Staten, Groot- Brittannië, Canada, Australië en Nieuw-Zeeland) ontkennen nog steeds alles. Echelon is een bedreiging voor zowel de individuele vrijheid als voor de privacy van commerciële bedrijven, zo luidt een van de conclusies van de Fransen. Meer dan Amerikaanse en Britse rechercheurs zouden toegang hebben tot de gegevens van de 120 spionagesatellieten van Echelon. Het systeem is in staat om elke minuut zo'n 3 miljoen elektronische berichten te verwerken, aldus de onderzoekers. "Het doel van Echelon is elke elektronische boodschap in de wereld te monitoren", aldus onderzoeksleider Arhur Paecht tegenover de Guardian. "Het is niet onaannemelijk dat de verzamelde informatie wordt gebruikt voor politieke en economische doeleinden, zelfs tegen bepaalde NAVO-leden", zo vervolgt Paecht. Paecht wil dat de EU snel met richtlijnen komt om netwerken als Echelon onder strikte regelgeving te plaatsen. Het Europarlement onderzoekt Echelon momenteel. Het Nederlandse parlement ziet tot nu toe geen enkele reden om Echelon nader te bekijken. Dit heeft tot scherpe kritiek van privacyvoorvechters geleid. 4.2 Cryptografie en de wet Cryptografie is van oudsher een militair hulpmiddel. In de Tweede Wereldoorlog bleek cryptografie van groot belang, en ook in de Koude Oorlog daarna gebruikten geheime diensten cryptografie om met hun agenten aan "de andere kant" te kunnen communiceren. Het is dan ook geen verrassing dat er in een aantal landen nogal wat beperkingen zijn aan het bezit en gebruik van cryptografische hard- en software. 4.3 De legaliteit van cryptografie In de Benelux zijn er geen wettelijke beperkingen aan het gebruik van cryptografische hard- of software. In een aantal landen, zoals Rusland, China en tot een aantal jaren geleden Frankrijk, is het verplicht om eerst een vergunning aan te vragen. Deze vergunning wordt meestal alleen verstrekt als de desbetreffende geheime dienst de berichten kan lezen. Af en toe worden er voorstellen gedaan om het gebruik van cryptografie aan banden te leggen, bijvoorbeeld door de sleutellengte te beperken of door afgifte van de geheime sleutel bij een overheidsinstelling te eisen. Dergelijke eisen lijken nauwelijks haalbaar; criminelen en spionnen (tegen wie deze voorstellen gericht zijn) zullen dit nooit doen, en de kans op misbruik is erg groot. Wel zijn er de nodige beperkingen aan de im- en export van cryptografische software. 4.4 De legaliteit van export De Verenigde Staten, waar de meeste cryptografische software vandaan komt, beschouwt cryptografische software als strategische militaire goederen (net als tanks, munitie en atoombommen) en heeft de export hiervan aan 18

19 beperkingen onderworpen. Een Amerikaans bedrijf krijgt alleen een exportvergunning als de cryptografische software kraakbaar is door de NSA of er een achterdeur in zit. Om deze reden bestaat veel software in twee versies: een met sterke encryptie, alleen voor gebruik in de VS, en een met zwakke encryptie, voor de rest van de wereld. In de Benelux is de export van cryptografische software alleen aan beperkingen onderworpen als de software uit de VS komt, of als de export naar een "vijandig" land als Libië of Irak zou gaan. De Amerikaanse wetgeving heeft nog een leuk addertje: de export van software (op een CD-ROM of floppy) is aan regels gebonden, maar broncode in boekvorm niet (vanwege de vrijheid van meningsuiting). De nieuwste versies van PGP worden daarom in boekvorm gepubliceerd. Buitenlandse vrijwilligers kopen het boek, scannen het in (de tekst is gedrukt in een gemakkelijk te scannen lettertype) en produceren zo een volstrekt legaal geëxporteerde versie met dezelfde sterkte als de "binnenlandse" editie. 4.5 Verplichting tot ontsleutelen van cryptografische bestanden Het kan gebeuren dat er bij een strafrechtelijk onderzoek versleutelde bestanden worden aangetroffen. Als het vermoeden bestaat dat hierin bewijsmateriaal zit, kan de politie eisen dat deze worden ontsleuteld. Wie de sleutel weet, of weet hoe de gegevens anders kunnen worden achterhaald, is verplicht zijn medewerking te geven. Een uitzondering wordt gemaakt voor de verdachte. Uitgaande van het principe dat niemand mee hoeft te werken aan zijn eigen veroordeling, hoeft de verdachte dus ook zijn sleutel niet af te geven of te vertellen. Dit betekent dus dat politie-experts zelf moeten proberen de bestanden te ontsleutelen. Gelukkig voor hen kiezen de meeste mensen eenvoudig te raden wachtwoorden, of gebruiken ze onveilige cryptografische software. Zelfs een met PGP versleuteld bestand is te "kraken" als de gebruiker de passphrase ergens opgeschreven heeft. 4.6 Cryptografische berichten en het briefgeheim Momenteel heeft niet dezelfde juridische status als een papieren brief. Er is dus geen wettelijk "mailgeheim". Het lezen van andermans e- mail kan onder computervredebreuk vallen, als daarbij een wachtwoord geraden of gekraakt wordt. Een systeembeheerder die de mail van zijn gebruikers leest, is echter niet zonder meer strafbaar bezig. In 1998 werd voorgesteld onder artikel 13 Grondwet (briefgeheim) te laten vallen. Dit voorstel heeft het echter niet gehaald. Momenteel wordt gewerkt aan een nieuw voorstel, waarin persoonlijke ook zonder gebruik van cryptografie bescherming geniet. In de nieuwe Wet Computercriminaliteit worden diverse nieuwe wetsartikelen voorgesteld om het lezen en onderscheppen van strafbaar te stellen. Wanneer dit wetsvoorstel behandeld wordt, is nog onduidelijk. 19

20 5 RSA 5.1 Inleiding In een openbaar-sleutelsysteem (public key system) is er steeds sprake van twee sleutels, een sleutel voor het vercijferen van van de informatie en een tweede sleutel voor het ontcijferen. De vercijfersleutel is in principe openbaar; dat wil zeggen, dat een ieder ervan kan kennisnemen en de sleutel kan gebruiken voor vercijfering van boodschappen. Het basisidee van openbare-sleutelsytemen bestaat nu hierin, dat weliswaar iedereen een boodschap kan vercijferen, maar dat niet iedereen de aldus verkregen cijfertekst kan ontcijferen. Er wordt namelijk voor gezorgd, dat het ondoenlijk is (of althans bijna ondoenlijk) de ontcijfersleutel af te leiden uit de vercijfersleutel. Een van de bekendste en meest gebruikte openbare-sleutelsystemen is het RSA-systeem. Het ontleent zijn naam aan de eerste letters van de achternamen van degenen die het systeem ontworpen hebben: Ron L. Rivest, Adi Shamir en Len Adleman van het Massachusetts Institute of Technologie (MIT). van links naar rechts: Shamir, Rivest en Adleman Dat RSA inderdaad goed werkt, is gelegen in het feit, dat het eenvoudig is een product van twee priemgetallen te berekenen, maar dat het een stuk moeilijker is (en bijzonder tijdrovend, en daardoor soms zelfs onmogelijk) om uit dat product de oorspronkelijke priemgetallen weer te bepalen (ontbinden in factoren). Als we een groot geheel getal bekend maken dat slechts twee grote priemfactoren heeft, dan is de kans groot, dat een willekeurig iemand niet in staat zal zijn dat getal in factoren te ontbinden. In de volgende voorbeelden zijn de priemgetallen bewust kleiner gehouden dan in werkelijkheid gebruikelijk zou zijn (daar worden producten van 20

21 priemgetallen gebruikt die liggen in de orde van ; ze bestaan dus uit ongeveer 100 cijfers). Een PC met een 100 Mhz Pentium processor zou, met de laatst bekende methode op het terrein van ontbinden van grote getallen, zo'n 18 jaar nodig hebben voor het ontbinden van een dergelijk getal. 5.2 Getaltheorie die gebruikt wordt in RSA Het RSA-cryptosysteem is een geheimschrift waarin een aantal rekenmethoden en oude stellingen uit de wiskunde gebruikt worden. Als je RSA wilt doorgronden dan moet je eerst iets weten over de begrippen deler en veelvoud, klokrekenen, priemgetallen en de stellingen van Fermat en Euler Klokrekenen Bij veel geheimschriften wordt gebruik gemaakt van een soort "klokberekening". Stel je een klok voor met de getallen 0, 1, 2, Je ziet dan de letter a als 0, de letter b als 1, enzovoort, dus de letter z als 25. Met deze klok kun je nu rekenen: c + 7 bijvoorbeeld levert dan = 9, en dat stelt de letter j voor. Evenzo levert x + 7 de letter e, want = 30 en dat is gelijk aan 4 op deze klok. In de wiskunde heet klokrekenen modulo rekenen. Rekenen modulo 26 houdt in dat we alleen werken met de getallen 0, 1, 2, Als je bij je berekeningen antwoorden krijgt die buiten de verzameling {0, 1, 2,... 25} liggen, moet je bij het antwoord net zolang 26 erbij tellen of eraf trekken tot het antwoord weer in {0, 1, 2,... 25} zit. We schrijven? in plaats van = om in de gaten te houden dat we aan het klokrekenen zijn. Op het einde van de regel schrijven we "(mod 26)" om de modulus (in dit geval 26) te onthouden. Voorbeelden: ? 4 (mod 26) want 30 en 4 zijn hetzelfde modulo 26, 6*6? 10 (mod 26) want 36 en 10 zijn hetzelfde modulo 26, 2 6? 12 (mod 26) want 64 en 12 zijn hetzelfde modulo

22 Je kunt ook zeggen dat 2 6? 12 (mod 26) omdat 2 6 = 64 en 12 een veelvoud van 26 verschillen. Op de cirkel zijn ze hetzelfde. Nog een andere manier om hetzelfde te zeggen, is dat je van elke berekening het antwoord deelt door 26 en dat je de rest neemt. We noemen dit ook wel reduceren modulo 26. Je kunt natuurlijk ook een ander klokgetal kiezen. De koppeling met de letters a, b,... z gaat dan verloren. Voorbeelden: = 1290? 291 (mod 999) 5*18 = 90? 12 (mod 13) 2 7 = 128? 58 (mod 70) Met geschikte software kun je ook voor zeer grote grote getallen moduloberekeningen maken, bijvoorbeeld (mod ). Voorbeelden: Mathematica: Mod[2^123, ] resultaat Maple: 2&^123 mod resultaat Deler, veelvoud en (grootste) gemeenschappelijke factor Een natuurlijk getal b is een deler (engels divisor) van een positief natuurlijk getal a als er een natuurlijk getal k bestaat zodanig dat a = k.b. Het getal a noem je een veelvoud van b. Als b geen deler is van a dan zeg je dat a niet deelbaar is door b Voorbeelden: 3 is een deler van 12 want 12 = is een deler van 260 want 260 = is geen deler van 14 want er bestaat geen geheel getal k waarvoor geldt 14 = k.3 1 en 11 zijn delers van 11 want 11 = 11.1 Als twee natuurlijke getallen een gemeenschappelijke deler hebben dan zijn zeg je ook wel dat ze een factor gemeen hebben. Voorbeelden: 21 en 70 hebben 7 als gemeenschappelijke deler 13 en 32 hebben geen gemeenschappelijke factor 8 en 100 hebben 2 als gemeenschappelijke factor In het laatste voorbeeld is ook 4 een gemeenschappelijke deler van 8 en 100. Omdat er geen grotere gemeenschappelijke factor bestaat noem je 4 de grootste gemene deler van 8 en 100. Dat noteer je met ggd(8, 100) = 4. Voorbeelden: ggd(100, 75) = 25 ggd(13, 101) = 1 ggd(p, p 2 ) = p In het Engels wordt de grootste gemene deler afgekort met gcd (greatest common dealer). 22

23 5.2.3 Priemgetallen In moderne geheimschriften wordt vaak modulo een priemgetal gerekend. De reden daarvoor zal verderop duidelijk worden. Priemgetallen zijn positieve, gehele getallen die niet te schrijven zijn als het product van twee kleinere positieve, gehele getallen. Bijvoorbeeld 15 is niet priem, want 15 = 3*5 maar 11 is wel priem. Je kunt ook zeggen dat een priemgetal precies twee positieve delers heeft, namelijk 1 en zichzelf. Er bestaan oneindig veel priemgetallen en met computers kost het weinig moeite om grote priemgetallen te bepalen. Een lijst met de eerste priemgetallen vindt je achteraan dit werkje. Voorbeelden: het eerste priemgetal groter dan resultaat: Een random priemgetal met 100 cijfers resultaat: De (kleine) stelling van Fermat De Franse wiskundige Fermat ( ) ontdekte een mooie wetmatigheid als je modulo een priemgetal werkt. De Franse wiskundige Pierre de Fermat werd geboren op 17 augustus 1601 in Beaumon-de-Lomagne als Pierre Fermat. Zijn vader was een vermogend handelaar in leder en tweede consul van Beaumont-de-Lomagne. In zijn jeugd studeerde hij aan de universiteit van Toulouse. In de tweede helft van de jaren 1620 verhuisde hij naar Bordeaux, waar hij zijn eerste grote stappen zette in onderzoek in de wiskunde. Fermat ging vervolgens naar Orléans waar hij rechten studeerde. Hij verkreeg een graad in het burgerlijk recht en werd staatsambtenaar in Toulouse. Vanwege zijn positie veranderde hij zijn naam in Pierre de Fermat. Hij was dus in eerste plaats jurist. Wiskunde was voor hem slechts een hobby. Fermat is het meest gekend voor zijn theorema in de getallenleer dat stelt dat de volgende formule geen oplossing heeft verschillend van 0 voor waarden van n groter dan 2: x n + y n = z n Fermat beweerde een bewijs te hebben voor dit theorema, maar men is nooit zeker geweest over de juistheid, laat staan het bestaan ervan. In een tijdspanne van 300 jaar probeerde men het theorema te bewijzen, echter zonder succes. Dit leidde tot meerdere ontdekkingen in de wiskunde. Het theorema werd uiteindelijk bewezen door de Britse wiskundige Andrew Wiles in november Fermat correspondeerde veel met de bekende filosoof en wiskundige Descartes. Ook met andere bekende wiskundigen onderhield hij contacten. 23

24 Zijn grote interesse in getallenleer en de moeilijke problemen die hij daarin aanhaalde, maakte hem echter niet steeds geliefd. Ook met Christiaan Huygens had hij contact vanaf 1656, dat gegroeid was uit de interesse van Huyghens voor de waarschijnlijkheidsleer. Fermat trachtte echter de communicatie tussen hen beiden in de richting van de getallenleer te sturen. Dit onderwerp interesseerde Huyghens echter niet. Om deze laatste te winnen voor dit onderwerp onthulde Fermat meer van zijn theorieën dan hij ooit aan anderen had bekendgemaakt. Fermat stierf op 12 januari 1665 in Castres, Frankrijk. Als p een priemgetal is en a een getal dat niet door p deelbaar is, dan geldt a p-1? 1 mod (p) Met niet deelbaar wordt bedoeld dat p geen deler is van a. Voorbeeld: 2 6 = 64 = 9*7 + 1? 1 (mod 7) 19 2 = 361 = 20*18 + 1? 1 (mod 18) Het bewijs van de stelling is niet heel moeilijk. Je kunt het vinden via bewijs Fermat De Eulerfunctie De volgende stelling gaat nog een stapje verder dan de stelling van Fermat, ook al is zij van oudere datum. We hebben eerst een notatie nodig. De Zwitser Leonhard Euler ( )was een wiskundige van de eerste grootte. Overal treft men zijn vondsten aan, in alle gebieden van de meetkunde, de algebra, de mechanica, de natuurkunde. Nog is, twee eeuwen na zijn leven en werken in Petersburg, zijn oeuvre niet geheel uitgegeven, waarmede de Russische Academie van Wetenschappen reeds vroeg een begin gemaakt heeft. Door keizerin Catharina I uit Basel naar de Russische hoofdstad geroepen en spoedig aan het hoofd gesteld van een laboratorium als professor in de theoretische en experimentele natuurkunde, heeft hij zich bezig gehouden met de studie van het geluid en daaraan een muzikale theorie vastgeknoopt, die in 1739 verscheen onder de titel Tentamen novae theoriae musicae. Definitie De functie?(n) (spreek phi uit) van Euler telt voor elk natuurlijk getal n hoeveel kleinere positieve getallen er zijn die geen factor met n gemeen hebben. Voorbeelden:?(7) = 6 want 1, 2, 3, 4, 5 en 6 hebben geen factor gemeenschappelijk met 7?(8) = 4 want 1, 3, 5 en 7 hebben geen factor gemeenschappelijk met 8 (2, 4 24

25 en 6 wel)?(10) = 4 want 1, 3, 7 en 9 hebben geen factor gemeenschappelijk met 10 (2, 4, 5, 6 en 8 wel) Als n een priemgetal is dan hoef je niet veel getallen te tellen. Bekijk bijvoorbeeld n = 29. De natuurlijke getallen 1, 2, 3, zijn allen kleiner dan 29 en hebben geen gemeenschappelijke factor met 29 want dat is een priemgetal. In het algemeen geldt: Stelling Als p een priemgetal is dan geldt?(p) = p-1 Voorbeeld:?(101) = 100 want 101 is een priemgetal. Voor het product van twee priemgetallen ligt de zaak iets gecompliceerder. Toch kun je aan een eenvoudig getallenvoorbeeld een regel halen. Bekijk nogmaals m = 10 = 2*5 en schrap systematisch de getallen die een factor gemeenschappelijk hebben met 10. mogelijk vouden weg vouden weg dubbel 10 over Het aantal is dus gelijk aan = 4. Er geldt dus? (10) = 4 Dit is eenvoudig te veralgemeniseren. Als m het product van twee priemgetallen is, n = p*q dan is?(n) gelijk aan n - p - q +1. Er zijn immers q p-vouden en p q-vouden die je weg moet strepen. Omdat m zowel door p als door q deelbaar is schrap je dat getal twee keer door. Je moet er dus weer 1 bij optellen. Conclusie: Stelling Als p en q priemgetallen zijn dan geldt?(p*q) = p*q - p - q + 1 = (p- 1)*(q-1) Voorbeeld:?(77) =?(7*11) = 6*10 = 60 want 7 en 11 zijn priemgetallen. Deze functie speelt een belangrijke rol in het RSA-systeem en hij komt ook tevoorschijn in de stelling van Euler. Deze stelling lijkt veel op de stelling van Fermat Stelling van Euler Als a geen factor gemeen heeft met n dan geldt dat a?(n)? 1 mod (n) Voorbeeld: 10 60? 1 (mod 77) ? (3 4 ) 1000? (mod 10)? 1 25

26 Het bewijs van de Stelling van Euler verloopt precies hetzelfde als het bewijs van de Stelling van Fermat. Dit keer vermenigvuldig je de getallen die geen factor met m gemeen hebben. De bovenstaande begrippen en stellingen zijn vrij oud. Fermat ( ) en Euler ( ) zijn al meer dan 200 jaar dood. De werking van het systeem wordt het duidelijkst aan de hand van een concreet voorbeeld 5.3 Voorbereiding Stap 1: Keuze van de priemgetallen Marc kiest twee verschillende priemgetallen, zeg p en q. voorbeeld: p = q = Marc rekent ook (met een computer) het product n = p*q uit voorbeeld n = p*q = 99989*99991 = Stap 2: Keuze van de vercijferingsexponent Marc kiest een willekeurige vercijferingsexponent e uit. Deze mag echter geen factor gemeen hebben met j(n). Dus de ggd (grootste gemene deler)van j(n) en e moet 1 zijn. voorbeeld: j(n) = j(p*q) = (p -1)* (q -1) = 99988*99990 = e = Opmerking. Er bestaat een " zeer oud" algoritme waarmee je "snel" de ggd van twee getallen kunt bepalen. Met dat algoritme moet je controleren of de ggd (Engels gcd) van j(n) en e gelijk is aan 1. In de onderstaande tabel zie je de berekeningen in dit algoritme. Daar heeft een computer weinig moeite mee = * = * = * = * = * = * = * = 41029* = 7268* = 4689* = 2579* = 2110*

27 2110 = 469* = 234* = 1* Het bovenstaande algoritme heet het algoritme van Euclides Het algoritme van Euclides De ggd-berekening van 34 en 8 in het voorbeeld hierboven kan nog sneller. Je kunt namelijk meteen zoveel mogelijk keer 8 van 34 aftrekken: ggd(34, 8) = ggd(34-4*8, 8) = ggd(2, 8) = 2. Deze methode wordt het algoritme van Euclides genoemd. Het algoritme wordt meestal als volgt opgeschreven 34 = 4* = 4*2 + 0 klaar de ggd = 2 Een voorbeeld met grotere getallen. Wat is de ggd van 210 en 57? Voorbeeld: 210 = 3* = 1* = 2* = 6*3 + 0 klaar de ggd = 2 Euclides Euclides werd ongeveer 365 voor Christus geboren in Alexandrië in Egypte, waar hij gedurende zijn leven ook les gaf. Hij is beroemd geworden door zijn boeken de 'Elementen' waarin hij alle meetkunde die toen bekend was heeft samengevat. Deze 'Elementen' bestaan uit 13 delen; in de eerste zes delen wordt vlakke meetkunde behandeld, delen 7 tot 9 behandelen getaltheorie, deel 10 bevat een verhandeling over irrationale getallen en de laatste drie boeken gaan over ruimtemeetkunde. In het laatste deel gaat hij in op de vijf regelmatige veelvlakken (Archimedische lichamen): het regelmatig viervlak (tetraëder), de kubus (hexaëder), het regelmatig achtvlak (octaëder),het regelmatig twaalfvlak (dodecaëder) en het regelmatig twintigvlak(icosaëder). Hij bewijst ook dat er niet meer regelmatige veelvlakken bestaan dan deze vijf. Naast meetkunde behandelt de Elementen ook elementaire getaltheorie, zoals de theorie van deelbaarheid, de grootste gemene deler en het algoritme van Euclides om het vast te stellen, en een bewijs van de oneindigheid van de priemgetallen. De boeken hebben een opbouw die ook in de moderne tijd gebruikelijk is. Euclides begint met axioma's en definities en bouwt die op formele wijze uit met stellingen. De formulering van zijn redeneringen is erg helder en goed te begrijpen. Het is dan ook niet verwonderlijk dat meer dan 1000 edities van zijn Elementen zijn gepubliceerd sinds Euclides heeft ook nog andere werken geschreven, maar die zijn voor het grootste deel verloren gegaan. Hij stierf rond het jaar 300 voor Christus. 27

28 5.3.4 Stap 3: Berekening van de ontcijferingsexponent In de bovenstaande tabel kun je ook van beneden naar boven werken. Uit de voorlaatste regel volgt: 1 = 469-2*234. Je hebt 1 dan geschreven als een combinatie van 469 en 334. Uit de regel daarboven volgt 234 = *469. Dat resultaat kun je invullen in 1 = 469-2*234. Je krijgt dan 1 = 469-2*234 = 469-2*( *469) = - 2* *469 Nu heb je 1 geschreven als een lineaire combinatie van 469 en Op deze manier kun je verder gaan tot je 1 geschreven hebt als een combinatie van e = en j(n) = Een karweitje dat je beter kunt uitbesteden aan een computer. Het resultaat is: 1 = * * Als je nu modulo j(n) gaat rekenen dan verschijnt er * (mod ) Het getal is een belangrijk getal. Het is de ontcijferingsexponent d Omdat het produkt van dit getal met e gelijk is aan 1 (mod j(n) ) heet dit getal ook wel de inverse van e (modulo j(n) ). Dat getal heb je nodig voor het ontcijferen van geheimschriften Stap 4: Bekendmaking van n en e Marc maakt nu: n = en e = algemeen bekend, maar houdt d = geheim. Ook de priemgetallen p = en q = mogen niet bekend worden!!. 5.4 Boodschappen versturen: vercijfering Stel nu dat een andere persoon, bv Ilse, een boodschap naar Marc wil sturen. Voor het gemak is de boodschap het getal Als je afspreekt dat de 10 met de a correspondeert, de 11 met de b etc dan stelt het "woord" abc voor Overigens moet het getal wel kleiner zijn dan n want er wordt modulo n gerekend. Ilse zoekt de openbare waarden van Marc op: e = en n = Vervolgens berekent ze met een computer: boodschap e (mod n) = (mod ) Ilse verheft dus de boodschap tot de openbare vercijferingsexponent van Marc, modulo de n van Marc en stuurt het antwoord naar Marc. Het vercijferde getal is gelijk aan m = (de m van message) Ook dat is een berekening die je aan een computerprogramma moet uitbesteden. Een machtsverheffing modulo n is daarmee "snel" uit te voeren. 28

29 5.5 Afluisteren De afluisteraar (eavesdropper in het Engels), die Pamela Anderson heet, onderschept deze waarde m = Zij kent ook de openbare waarden van Marc e = en n = = boodschap (mod ) Er zit nu voor haar niet veel meer op dan voor de boodschap 1, 2, 3, 4, uit te proberen want er bestaat geen enkel computeralgoritme waarmee dat snel kan. Dit is niet leuk voor haar, maar zeker ondoenlijk als n en de boodschap getallen van zeg 200 cijfers lang zijn. 5.6 Boodschappen lezen: Ontcijfering Marc kent als enige zijn geheime ontcijferingsexponent d = , en kan dus het volgende uitrekenen: (mod ) En dat is nu gelijk aan = abc. De originele boodschap!!!!!. Dat dit werkt is eenvoudig het gevolg van de stelling van Euler. Immers m d (mod n) (boodschap) e ) d (mod n) boodschap e * d (mod n) boodschap 1 + k* j (n) (mod n) boodschap 1. (boodschap j (n) ) k (mod n) boodschap.1 k (mod n) boodschap zo heeft Ilse de boodschap m gemaakt regel machtsverheffen e en d zijn elkaars inverse mod j(n) regels machtsverheffen de stelling van Euler Als Pamela Anderson d zou kennen dan kan ze die berekening ook kunnen uitvoeren. Maar d kan ze alleen berekenen als ze j(n) of p en q kent. Dus als ze n kan factoriseren kan ze het bericht ook kraken. Maar er bestaat geen snel algoritme voor het factoriseren van grote getallen. Als p en q uit 100 cijfers bestaan dan moet Pamela Anderson een getal met ongeveer 200 cijfers factoriseren. Onbegonnen werk!! Er bestaan namelijk ongeveer priemgetallen met 100 cijfers. De veiligheid van het RSA-systeem wordt bepaald door de stand van zaken op het gebied van factoriseren. De uitvinders van RSA suggereerden indertijd om n ongeveer 200 cijfers lang te nemen om het factoriseren van onmogelijk te maken. In september 1999 heeft een grote groep rekenaars, die via internet met elkaar verbonden waren, een getal van 512 bits ontbonden. Omgerekend is dit getal ongeveer 154 cijfers lang, want is ongeveer Het RSA systeem met een modulus van 512 bits lang wordt momenteel op een aantal plaatsen in de wereld gebruikt, onder andere voor elektronische betalingen over internet. Dat is dus niet meer aan te raden. 29

30 5.7 Kraken van RSA Hoe veilig is een RSA sleutel? RSA is zeer veilig, zolang maar gepaste sleutellengtes worden gebruikt. De tijd die nodig is om een modulus N te factoriseren is namelijk afhankelijk van de bitlengte van de priemgetallen waaruit N is opgebouwd. Traditioneel worden die steeds de helft zo lang genomen als de beoogde moduluslengte. Daar het aantal sleutels exponentieel (2 n ) groter wordt naargelang de lengte van de priemgetallen P en Q, stijgt de uitvoeringstijd van een typische RSA-kraak al gauw tot boven het redelijk haalbare. Overigens is de snelheid ook afhankelijk van uw browser. De schatting voor een 64-bits sleutel blijkt in IE het dubbele te zijn tov. Opera, en dus wellicht ook netscape, die beiden een snellere Java Virtual Machine bezitten. Op deze url kan men modulus n ontbinden Je zal zien dat het ontbinden van een 56-bits modulus al enkele minuten duurt, en uit de schattingen voor 64- en 128-bits sleutels kunt u afleiden dat een extra bit de veiligheid van de RSA-sleutel gevoelig verhoogt. Je kan wellicht gemakkelijk aannemen dat een 1024-bits sleutel momenteel 100 % veilig is. De computertijd die nodig is om dergelijke modulus te ontbinden loopt in de triljoenen eeuwen RSA kraken Toch is het mogelijk bij RSA om een gecodeerde boodschap op meerdere manieren te kraken. De twee belangrijkste zijn: 30

31 De private key berekenen Aangezien je via de d- en n-waardes een bericht kan decoderen en n al bekend is, zou je alleen nog maar d hoeven te berekenen om de plaintext terug te krijgen. Je zal dus de modulus n moeten ontbinden in de factoren p en q; de priemgetallen. Daarna kan eenvoudig via de andere publieke sleutel e de d-waarde berekend worden. Is dit eenmaal gelukt, kan de hacker voortaan alle berichten lezen die met dezelfde e- en n-waarde zijn gecodeerd en zelfs valse digitale handtekeningen maken. Dit is echter praktisch onmogelijk, aangezien het ontbinden van een enorm getal zoals bij RSA (in de orde van grootte van 264) in priemgetallen zeer lang duurt. Deze methode is dan ook niet bruikbaar bij RSA Brute-force hacking De manier die beter van toepassing is, is brute-force hacking. Hierbij worden geen lastige berekeningen uitgevoerd, maar probeert men eenvoudigweg zoals het woord het al zegt, met brute kracht alle mogelijkheden uit. Dit werkt zo: je neemt een random waarde voor m (de boodschap die dus ontcijferd moet worden) en codeert deze aan de hand van de publieke sleutels (c = me mod n). Controleer daarna of de gevonden ciphertext overeen komt met de werkelijke ciphertext. Is dit het geval, dan was de gegokte plaintext juist. Gezien het feit dat er ontelbaar veel mogelijkheid zijn, duurt ook de tweede kraak-manier zeer lang. Maar, de code zal eens gevonden worden, ook al kan het zeer lang duren. 31

32 6 Toepassingen 6.1 Digicash David Chaum heeft met zijn bedrijf Digicash een methode ontwikkeld waarmee de digitale handtekening verbeterd kan worden en deze geïmplementeerd kan worden in het bankieren. Tot nu toe kleefden er aan de RSA versleuteling een aantal nadelen met betrekking tot bankieren.? Transacties tussen winkels en gebruikers kunnen worden achterhaald omdat deze met de private key van de winkel worden versleuteld. Dit is nodig omdat op deze manier de winkel niet kan ontkennen geld te hebben ontvangen van de gebruiker. Een nadeel hiervan is dat iedereen met behulp van de private key van een winkel de transacties kan nagaan.? Banken sturen geld op naar gebruikers. Dit coderen de banken ook met hun private key omdat ze dan niet kunnen ontkennen dat ze het geld hebben verstuurd aan gebruikers. Ook deze transacties kunnen worden afgeluisterd en vervolgens worden gecodeerd met de public key van de bank. David Chaum heeft een methode bedacht: Blind Signatures. Dit garandeert zowel de veiligheid als de privacy van gebruikers. Deze methode komt op het volgende neer: Als een bank geld opstuurt naar een cliënt zet de bank onderaan de transactie een digitale handtekening met behulp van haar private key. Vervolgens wordt het complete bericht (transactie van geld en digitale handtekening) versleuteld met de public key van de klant. De klant is nu de enige die met behulp van zijn private key het complete bericht van de bank kan lezen. In dit bericht zit echter een stukje wat gecodeerd is met de private key van de bank (de digitale handtekening van de bank) en dat kan alleen met de public key van de bank worden ontcijferd. Als de transactie gelukt is kan de bank niet ontkennen het geld te hebben gestuurd aan de cliënt (digitale handtekening) en is ook de privacy van de cliënt gewaarborgd. 6.2 PGP Geschiedenis van PGP Tussen 1991 en nu zijn er verschillende versies van PGP geweest. In dit hoofdstuk volgt een beschrijving van de verschillende versies, samen met de juridische problemen die vrijwel bij elke versie optraden. In 1991 werd door Philip R. Zimmerman de eerste versie van PGP geschreven. Hij gebruikte daarin het algoritme RSA om berichten te versleutelen. Helaas was dit algoritme gepatenteerd, dus hij vroeg bij het bedrijf RSA Data Security een gratis licentie aan. Deze kreeg hij niet, met als gevolg dat hij nu twee mogelijkheden had. Hij kon natuurlijk gewoon een licentie kopen, maar dan kon hij het programma niet meer als open-source software verspreiden. Een andere optie was om geen licentie te kopen, maar dan zou het RSA algoritme illegaal gebruikt worden. Hij koos voor de tweede optie, en schreef in de gebruiksaanwijzing van het programma dat mensen die het gebruiken zelf een licentie moesten kopen voor het RSA algoritme. Philip Zimmerman heeft het programma nooit echt verspreid, hij had alleen kopies aan wat vrienden gegeven. Via het internet was het programma binnen 32

33 een mum van tijd over de hele wereld verspreid. RSA Data Security dreigde met een rechtszaak tegen Zimmerman voor het gebruiken van het RSA algoritme zonder licentie, maar Zimmerman hield vol dat hij het programma niet verspreid had. Er werd uiteindelijk een overeenkomst gesloten: Zimmerman zou niet vervolgd worden als hij geen versies meer zou verspreiden. Aan PGP kleefde nog een ander juridisch probleem: in Amerika is het verboden om cryptografische software in digitale vorm naar het buitenland te exporteren. Zodra dingen op het internet worden gepubliceerd is dit natuurlijk moeilijk te reguleren, maar de eerste versies van PGP die buiten Amerika gebruikt werden waren illegaal. Redelijk snel na het uitbrengen van versie 1.0 bleek dat een van de algoritmes die door PGP gebruikt werd, Bass-O-Matic (ontworpen door Philip Zimmerman), niet veilig was. Dit algoritme werd dan ook vervangen door IDEA. Ook op dit algoritme rustte een patent, maar het was zonder licentie te gebruiken voor niet-commerciële software (PGP was nog steeds freeware). Aan PGP 2.0 werd door een internationaal team van gewerkt. Aangezien het niet illegaal was om cryptografische software naar Amerika te importeren kon er op deze manier toch in internationaal verband ontwikkeld worden. Na een serie bugfix-releases ontstond uiteindelijk de stabiele versie 2.3a. Deze werd in 1992 uitgebracht. Ook in PGP 2.3a werd nog steeds gebruik gemaakt van RSA zonder een licentie. Voor versie 2.4 sloot Zimmerman een overeenkomst met het bedrijf ViaCrypt. Deze hadden namelijk een licentie voor RSA, zodat in 1993 de eerste commerciële versie van PGP werd uitgebracht. In 1993 werd door RSA Data Security een toolkit uitgebracht die RSAREF heette. De licentie voor deze toolkit was vrij voor niet-commercieel gebruik. Een aantal mensen van het MIT (Massachusetts Institute of Technoloog) gebruikte deze toolkit om een versie van PGP te bouwen die geen illegaal gebruik meer maakte van het RSA algoritme. Toen versie 2 van RSAREF uitgebracht werd in 1994 besloten Zimmerman en de ontwikkelaars van het MIT om een versie van PGP uit te brengen die van RSAREF gebruik maakte. Deze versie, 2.5, werd onder een striktere licentie uitgebracht: het mocht alleen gebruikt worden voor niet-commerciële toepassingen. Een nadeel was wel dat RSAREF beduidend trager was dan de originele routines, maar voor het eerst was er een legale versie van PGP. Versie 2.5, die gebruik maakte van RSAREF, was backward compatible met alle vorige versies van PGP. RSA Data Security was daar niet blij mee, aangezien al die versies als illegale software gezien werden. Ze claimden dat met versie 2.5 het gebruik van illegale software gestimuleerd werd. Om een juridische strijd te voorkomen werd twee weken na versie 2.5 een aangepaste versie (2.6) uitgebracht die incompatibel met alle voorgaande versies is. Na een aantal bugfixes werd uiteindelijk versie gecreëerd, deze versie is lange tijd de final versie van PGP geweest. ViaCrypt heeft versies 4.0 tot en met 4.5 ontwikkeld. Dit was commerciële software die in twee varianten verspreid werd: een Personal versie en een meer uitgebreide Business versie. Versie 3.0 is nooit ontwikkeld. Het kan zijn dat versie 3.0 later 5.0 is geworden, maar echt duidelijke informatie over 3.0 is niet te vinden Na release heeft Philip Zimmerman een bedrijf opgericht dat de nieuwe releases van PGP zou uitbrengen: PGP Incorporated. De eerste versie die op deze manier gedistribueerd is, is versie 5.0. Hiervan waren een aantal versies beschikbaar, waaronder een Business versie en een Personal versie. De sourcecode was nog steeds beschikbaar. 33

34 Een grote verandering ten opzichte van de voorgaande versies is dat PGP vanaf versie 5.0 ook gebruik kan maken van andere cryptografische algoritmen dan RSA, namelijk Diffie-Hellman en Elgamal. In sommige versies van PGP 5.0 was RSA helemaal verwijdert, met als gevolg dat er eindelijk een einde was gemaakt aan alle juridische gevechten rondom de RSA licenties. Een andere nieuwe feature was de meegeleverde -plugins (voor de programma s Eudora en Outlook). Versie 5.0 is de eerste versie die legaal naar het buitenland geëxporteerd is. De exportwetgeving van Amerika was nog steeds van kracht, maar die gelde alleen voor software in elektronische vorm. Sourcecode in boekvorm mag wél gewoon verscheept worden. Van deze maas in de wet werd dankbaar gebruik gemaakt: een team van 70 vrijwilligers heeft de sourcecode in boekvorm gegoten(10 boeken, 5000 pagina s) en deze boeken werden naar Noorwegen verscheept. Daar heeft een team van vrijwilligers met behulp van OCR software de boeken ingescand. Vanaf dat moment was PGP ook legaal buiten Amerika te gebruiken. Samenvattend was versie 5.0 een doorbraak omdat dit de eerste versie is die compleet vrij was van juridische problemen. Alle versies na zijn door Network Associates uitgebracht, dat in 1998 PGP Incorporated overnam. Deze versies introduceren vooral nieuwe mogelijkheden, zoals PGPNet (het versleutelen van netwerkverbindingen), PGPPhone (versleutelde internettelefonie) en PGPDisk (het versleutelen van delen van een hardeschijf). Van vrijwel alle releases zijn ook zogenaamde guerilla versies verschenen: versies die niet door Philip Zimmerman of PGP Incorporated zijn verspreid. Aangezien de sourcecode van (vrijwel) alle versies van PGP vrij te verkrijgen was, werden er door verschillende groepen programmeurs onofficiële uitbreidingen gemaakt. De belangrijkste groep is de PGPi ( PGP international ) groep, die de (in boekvorm) opgestuurde sourcecode inscande om zo PGP ook buiten Amerika legaal te kunnen verspreiden. Op hun website kunnen deze versies (vanaf 5.0, de eerste versie die op deze manier is verspreid) gedownload worden. Een andere belangrijke groep is de CKT, Cyber Knights of Templar. Deze groep maakteuitbreidingen op PGP die grotere keys (en zo sterkere encryptie) mogelijk maakte. Deze versies waren gebaseerd op de internationale versies van de PGPi groep Werking PGP Gebruik PGP, afkorting voor Pretty Good Privacy, is software waarmee versleuteld en ondertekend kan worden. Het versleutelen van is gebaseerd op een asymmetrisch algoritme, wat inhoud dat het versleutelen van tekst anders gaat dan het decoderen. Het idee bij PGP is dat iedereen kan versleutelen (daarvoor moet de verzender de public key kennen van degene waar hij naar wil sturen) en dat maar één persoon de versleutelde kan decoderen (met behulp van de private key). Een ander onderdeel van PGP is de mogelijkheid om te signeren. Dit werkt als een handtekening: de ontvanger van de kan zien dat de e- mail echt door de verzender verstuurd is en niet door iemand anders. Signeren heeft nog een toepassing: als iemand een gesigneerde krijgt kan de verzender nooit meer claimen dat hij die niet verstuurd had, zijn digitale handtekening verraad dat hij de echt zelf verzonden heeft (niemand anders had die signatuur namelijk kunnen zetten). 34

35 Algoritmen Er bestaan, zoals eerder vermeld twee soorten cryptografische algoritmen: symmetrische en asymmetrische. Symmetrische algoritmen gebruiken dezelfde sleutel voor het encrypten en decrypten van een tekst. Bij een asymmetrisch algoritme wordt voor het encrypten een public key gebruikt en voor het decrypten een private key. Zoals de naam al doet vermoeden kan een public key door iedereen gebruikt worden (iedereen mag een bericht versleutelen) en is het private key geheim (maar één persoon mag het bericht decrypten). In PGP worden zowel asymmetrische als symmetrische algoritmen gebruikt. Als asymmetrisch algoritme kan gekozen worden tussen RSA, Diffie-Hellman, DSS/DSA en Elgamal. Het symmetrische algoritme kan een zijn van IDEA, BLOWFISH en 3DES. De reden waarom ook een symmetrisch algoritme gebruikt wordt is omdat symmetrische algoritmen veel sneller zijn dan asymmetrische. Door een slimme combinatie van de twee kan de snelheid van de symmetrische algoritmen gebruikt worden, samen met de public/private key voordelen van de asymmetrische algoritmen Versleutelen Bij het versleutelen van een tekst is de public key nodig van degene waar de naar toe gestuurd moet worden. Voor het versleutelen van de tekst wordt een willekeurige Session key gegenereerd, dit is een sleutel voor een symmetrisch algoritme. Met behulp van deze session key wordt de tekst versleuteld (dit gaat met het symmetrische algoritme, dus dat gaat behoorlijk snel). De session key wordt met behulp van een asymmetrisch algoritme versleuteld, maar omdat symmetrische keys over het algemeen vrij klein zijn neemt dit amper tijd in beslag. De versleutelde session key wordt samen met de versleutelde tekst in een e- mail gestopt en deze wordt naar de ontvanger gestuurd. Dit proces is te zien in Figuur 4. Figuur 4 35

36 Voor het decrypten wordt de eerst in twee delen gesplitst: de versleutelde session key en de versleutelde tekst. Met behulp van het private key wordt de session key teruggehaald (dit kan alleen gedaan worden door degene die de private key bezit), met behulp van die session key kan dan het versleutelde bericht teruggehaald worden. Dit proces is in Figuur 5 te zien. Figuur Signeren Voor het signeren van is de private key nodig. Met behulp van deze private key kan een signatuur berekend worden van een bericht, deze wordt dan samen met het bericht verzonden. Helaas levert de wiskundige functie die een signatuur van een tekst berekent een signatuur op die (minstens) even groot is als het originele bericht. Voor kleine is dat niet erg, maar als je een van 10Mb verstuurt is het lastig als daar een ondertekening van ook 10Mb bij komt. Om dit probleem op te lossen wordt er eerst een hash-functie op de tekst losgelaten. Deze functie rekent een korte tekenreeks uit op basis van de karakters uit de tekst. Meer informatie over de eigenschappen waar zo n hash-functie aan moet voldoen is te lezen in sectie [sectie]. Om een te signeren wordt nu eerst de hashwaarde van de uitgerekend. Dan wordt deze hashwaarde gesigneerd (met behulp van de private key) en meegestuurd met het bericht. De ontvanger splitst de in twee delen: de gesigneerde hashwaarde en de tekst. Eerst gebruikt hij de public key van de verzender om de hashwaarde die de verzender uitrekende terug te halen. Dan rekent hij zelf de hashwaarde van de tekst uit en vergelijkt hij de twee. Als ze gelijk zijn weet hij allereerst dat het bericht niet veranderd is tijdens het transport (anders was de hashwaarde van de tekst anders geweest) en dat de verzender ook daadwerkelijk de e- mail heeft verzonden (hij is namelijk de enige die de private key heeft die nodig is voor het signeren). 36

37 Het signeren van een is te zien in Figuur 6, het valideren van een signatuur in Figuur 7. Figuur 6 figuur 7 37

38 Andere mogelijkheden Naast het versleutelen en signeren van berichten is het met PGP ook mogelijk om public keys te beheren en uit te wisselen. Hoe dit werkt wordt in één van de volgende paragrafen besproken Veiligheid Het belangrijkste deel van deze scriptie is een analyse van de veiligheid van PGP Computer Voordat we naar de veiligheid van PGP kijken is het verstandig om eens bij de veiligheid van de computer stil te staan. We gaan er over het algemeen van uit dat dingen die we achter onze computer intikken alleen bij het programma terecht komen waar we mee werken. Helaas kan je daar niet altijd van uit gaan. Als je een computer van iemand anders gebruikt kan het zijn dat er een apparaat aan het toetsenbord hangt dat alle toetsaanslagen afvangt en opslaat. Verder is het niet onmogelijk dat je computer gehackt is en dat er op de achtergrond een programma draait die alles naar de hacker toe stuurt Implementatie Software algemeen Van een groot aantal versies van PGP is de sourcecode vrij te downloaden. Iedereen kan dan zelf de code inspecteren om te kijken of er geen backdoors (verborgen functionaliteiten, zoals spy-ware) in aanwezig zijn. De sourcecode beslaat jammer genoeg wel meer dan regels code. De commerciële varianten van PGP zijn alleen in gecompileerde vorm te krijgen, hier is het dus onmogelijk om te controleren of de software precies doet wat je verwacht Private signature key In maart 2001, werd er door een Tsjechisch team van beveiligingsexperts een fout ontdekt in de OpenPGP standaard. Deze standaard was in 1998 ontwikkeld om er voor te zorgen dat verschillende programma s die op PGP gebaseerd waren met elkaar konden samenwerken. Via de OpenPGP standaard wordt de private signature key (de private key die gebruikt wordt om berichten te ondertekenen) versleuteld op schijf opgeslagen met behulp van de passphrase. Als een aanvaller schrijftoegang heeft tot die schijf (bijvoorbeeld in het geval van een netwerkschijf), dan kan deze versleutelde private key veranderen. Als het een willekeurige mutatie zou zijn, zou PGP dit opmerken en aan de gebruiker mededelen. Helaas blijkt in deze controle van de integriteit van de private key een fout te zitten. Door een heel specifieke mutatie, in combinatie met een ondertekening die gemaakt was met de gemuteerde private key, is het mogelijk om de waarde van de private signature key te berekenen. Deze is dus achterhaald zonder dat de passphrase bekend is. Nu kan de aanvaller ondertekenen met de handtekening van het slachtoffer Algoritmen Asymmetrische algoritmen Bij de commerciële versie van PGP is er keus tussen 2 asymmetrische algoritmen: RSA en Diffie-Hellman (de laatste gecombineerd met DSS). In de opensource variant GnuPG is ook het Elgamal algoritme te gebruiken. Bovenstaande algoritmen stammen allemaal uit de jaren 70 en zijn sindsdien door honderden experts onderzocht. De algoritmen zijn gebaseerd op 38

39 wiskundige stellingen dat bepaalde berekeningen NP-lastig (classificatie van problemen) zijn. Asymmetrische keys zijn over het algemeen 2048 bits lang, deze worden nu als veilig beschouwd. Aangezien de snelheid van computers elke 18 maanden verdubbeld kan er echter wel vanuit gegaan worden dat deze sleutellengte over een aantal jaar gemakkelijk te kraken is Symmetrische algoritmen In de commerciële versies van PGP kan gekozen worden tussen 4 symmetrische encryptie algoritmen: CAST, IDEA, 3DES en Twofish. In GnuPG kunnen ook Blowfish en Rijndael gebruikt worden. Ook deze algoritmen zijn allemaal redelijk oud (op Rijndael na), ze worden door de meeste cryptografische experts als veilig gezien. De sleutellengte van symmetrische algoritmen zijn beduidend korter dan die van asymmetrische: 128 tot 192 bits. Het lijkt alsof 128 bits bijzonder kort is vergeleken met de 2048 bits van asymmetrische keys, maar omdat de algoritmes verschillend van aard zijn is dit gewoon het vergelijken van appels met peren Random number generators Een onderdeel van het versleutelen van berichten was het aanmaken van een willekeurige session key. Dit gebeurt met een zogenaamde random number generator, een routine die een willekeurig getal genereert. Het is erg belangrijk dat de willekeurig gegenereerde key ook daadwerkelijk willekeurig is. De in PGP gebruikte random number generator wordt cryptografisch sterk genoemd, wat inhoud dat het niet mogelijk is om de volgende waarde te voorspellen. Als dat wel mogelijk zou zijn, dan hoeft de aanvaller helemaal niet de moeite te doen om de versleutelde session key te decoderen, hij kan gewoon zelf de session key genereren. Op dit moment zijn er nog geen implementatiefouten in de random number generator van PGP gevonden, maar het is wel een van de meest kwetsbare punten van het programma. De random number generator is namelijk nog niet zo uitgebreid getest als de genoemde symmetrische en asymmetrische algoritmen Uitwisselen public keys Achtergrond In het voorbeeld van sectie gingen we er van uit dat degene die een versleutelde tekst wil versturen de public key van de ontvanger al heeft. Dit is jammer genoeg nooit het geval (behalve als je naar jezelf toe stuurt): public keys moeten altijd uitgewisseld worden. Als Bob een versleutelde naar Alice wil sturen is de meest voor de hand liggende optie dat Alice haar public key naar Bob t. Helaas zit Oscar (die de communicatie van Alice en Bob wil lezen) er tussen. Oscar vangt de van Alice op en stuurt zijn eigen public key naar Bob toe. Bob denkt gewoon de public key van Alice te hebben gekregen, dus versleutelt een en stuurt deze op. Ook deze wordt door Oscar opgevangen en omdat hij versleuteld is met zijn public key, kan Oscar de mail decoderen met behulp van zijn eigen private key. Nadat hij de tekst heeft gelezen, versleutelt hij deze met de public key van Alice en verstuurt de . Alice ontvangt de en zowel Alice als Bob hebben helemaal niet door gehad dat Oscar alles gelezen heeft. 39

40 Figuur 8 Dit probleem, grafisch geïllustreerd in Figuur 8, heet ook wel Man in the middle attack : een aanval van iemand die midden tussen de communicatie van twee personen zit. Een oplossing van dit probleem zou overduidelijk zijn als Alice de public key van Bob zou bezitten. In dat geval kan ze haar public key versleuteld naar bob toe sturen. Helaas werkt dit niet, want voor het versturen van de public key van Bob naar Alice hebben we hetzelfde probleem. De door PGP gebruikte oplossing is het introduceren van een vierde persoon: John. John is een kennis van Alice en van Bob en zowel Alice als Bob hebben zijn public key. Nu kan Alice haar public key versleuteld naar John opsturen. John pakt de public key uit en signeert deze. De gesigneerde public key verstuurt hij nu naar Bob. Oscar kan de public key van Alice nu niet meer veranderen, want dan zou de signatuur niet meer kloppen. Hij moet dus de gesigneerde public key gewoon doorlaten, en Bob kan met de public key van John de ondertekening valideren. Als deze klopt weet hij zeker dat hij de echte public key van Alice heeft. Figuur 9 geeft dit proces weer. Figuur Certificaten Het in sectie genoemde systeem van mensen die elkaars public key signeren wordt in PGP geïmplementeerd met behulp van certificaten. Een certificaat bevat een public key, een userid (bijvoorbeeld het adres van de certificaathouder) en een lijst met ondertekeningen. Als Bob van Alice een certificaat krijgt met daarin de ondertekening van John, dan moet Bob nog beslissen of hij de public key van Alice zomaar accepteert vanwege die ondertekening. In PGP worden 3 niveaus van vertrouwen onderscheiden: 40

41 Geen vertrouwen Als we een ondertekening tegenkomen van iemand waar we geen public key van hebben kunnen we deze niet valideren, dus ook niet vertrouwen Volledig vertrouwen In het geval dat we 100% zeker zijn dat John alleen valide public keys ondertekent Marginaal vertrouwen Tussenvorm, als we niet 100% zeker zijn van de integriteit van John. Als Bob een volledig vertrouwen heeft in John, dan zal hij de public key van Alice gelijk accepteren. In de andere twee gevallen zal hij in het certificaat kijken of er nog meer ondertekeningen staan. Als er een aantal marginaal te vertrouwen ondertekeningen in staan kan Bob alsnog beslissen om de public key van Alice te accepteren. De manier van vertrouwen wordt technisch gezien een web of trust genoemd: mensen vertrouwen elkaar en op die manier wordt er een groot spinnenweb gemaakt van mensen die elkaars certificaten vertrouwen. Een certificaat heeft altijd een beperkte levensduur (in het certificaat wordt opgenomen tot wanneer het geldig is). Het kan echter zo zijn dat de eigenaar van het certificaat wil dat het eerder ongeldig wordt verklaard. Dat kan bijvoorbeeld zijn omdat zijn password bekend is geworden. Om dit te stroomlijnen worden er voor de opslag van certificaten over het algemeen speciale servers gebruikt: certificate servers. Zodra iemand wil dat zijn certificaat ongeldig wordt geeft hij dat aan bij de server, deze zet het certificaat dan in de certificate revocation list : CRL. Zodra iemand dan het certificaat bij de server opvraagt of verifieert zal hij merken dat het certificaat niet meer geldig is Keys splitsen Een mogelijkheid die niet in de gratis versies van PGP beschikbaar is (dus die niet door mij getest kon worden) is het splitsen van private keys. Soms kan het zo zijn dat binnen een bedrijf een aantal mensen moeten beslissen of een bepaalde verstuurd mag worden. In dat geval kan een private key gesplitst worden. Alle houders van een deel van de private key moeten dan hun deel samenvoegen met de rest om een te ondertekenen of om een versleutelde te lezen. Er zijn ook varianten waar de helft van het aantal delen nodig is om een werkende private key terug te krijgen Conclusie Er is binnen PGP een oplossing om er voor te zorgen dat public keys tussen mensen uitgewisseld kunnen worden, maar deze oplossing is niet perfect. Er is namelijk nog steeds een kip/ei probleem. Als ik als nieuwe gebruiker van PGP een public key genereer wil ik deze het liefst laten signeren door een aantal mensen. Helaas moet ik die public key wel ongesigneerd naar hen opsturen (want hij is net nieuw gegenereerd). De beste oplossing hiervoor zou zijn om het certificaat over een veilige infrastructuur te versturen, maar voor iemand die helemaal paranoïde is bestaat dat niet ( kan veranderd worden, telefoonverkeer kan gemanipuleerd worden, een opgestuurde floppydisk kan onderschept worden). Vaak is ook de makkelijkste manier om certificaten te versturen. Om het leven iets makkelijker te maken heeft elk certificaat een vingerafdruk ( fingerprint ). Dit is een hashwaarde van het certificaat en wordt in het certificaat opgenomen. Als een certificaat veranderd wordt tijdens het transport, verandert ook de fingerprint. Als twee mensen zeker willen zijn dat het certificaat goed overgekomen is kunnen ze beslissen om de fingerprints via een ander transportkanaal(bijvoorbeeld via de telefoon of een SMS bericht) te vergelijken. Dit is de meest haalbare (voor particulier gebruik) manier om certificaten te verifiëren. 41

42 Van de door PGP gebruikte algoritmen kan uitgegaan worden dat ze de komende jaren nog veilig zijn. Over een jaar of 10 tot 20 is het echter best goed mogelijk dat er machines zijn die de huidige sleutels snel kunnen kraken. Voor informatie die langer veilig versleuteld moet blijven moet nu al een betere sleutel gebruikt worden. Als je echt paranoïde bent dan moet je de computer afschermen (zodat elektromagnetische straling niet door anderen opgevangen kan worden), public keys op cd uitwisselen (voorzien van een handmatige handtekening), sleutels van meer dan 20,000 bits nemen voor asymmetrische encryptie en sleutels van meer dan 1000 bits voor symmetrische encryptie. Verder moet je de regels sourcecode van PGP allemaal gelezen hebben en geverifieerd dat het precies doet wat je verwacht. Voor alle andere mensen biedt PGP precies wat het belooft: Pretty Good Privacy. 7 Bronnen Microsoft Encarta 2000 Ct-magazines 42

43 8 Bijlage 8.1 Lijst met priemgetallen

44

45

46

47

48

49

50

51

52

53

54

55

56

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

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

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

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

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

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 [email protected] http://www.win.tue.nl/~bdeweger versturen van geheimen hoe moet je een geheim opsturen als onderweg iemand kan afluisteren?

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

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

Cryptografie: de wetenschap van geheimen

Cryptografie: de wetenschap van geheimen Cryptografie: de wetenschap van geheimen Benne de Weger [email protected] augustus 2018 Cryptografie als Informatiebeveiliging 1 beveiliging: doe iets tegen risico s informatie-risico s en eisen: informatie

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

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

Taak 2.1.3 Versleutelen en dan weer terug... 1

Taak 2.1.3 Versleutelen en dan weer terug... 1 Taak 2.1.3 Versleutelen en dan weer terug Inhoud Taak 2.1.3 Versleutelen en dan weer terug... 1 Inhoud... 1 Inleiding... 2 Encryptie en Decryptie... 3 Symmetrisch... 3 Asymmetrisch... 3 Waarom Encryptie

Nadere informatie

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

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

Nadere informatie

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

Informatie coderen en kraken

Informatie coderen en kraken 1 Introductie Informatie coderen en kraken een cryptografie workshop door Ben van Werkhoven en Peter Peerdeman In dit practicum cryptografie raak je bekend met een aantal simpele vormen van cryptografie

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

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

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

1. Maar het duurt wel twee miljard jaar. Inhoudsopgave. 2. 'Belgische' beveiligingsstandaard AES iets minder oersterk

1. Maar het duurt wel twee miljard jaar. Inhoudsopgave. 2. 'Belgische' beveiligingsstandaard AES iets minder oersterk 1. Maar het duurt wel twee miljard jaar Inhoudsopgave 2. 'Belgische' beveiligingsstandaard AES iets minder oersterk Maar het duurt wel twee miljard jaar,, Aan Gent gebonden, Antwerpen, Brugge-Oostkust,

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

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

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

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

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

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

Is RSA-cryptografie nu veilig genoeg en wat betekent dit voor de toekomst van digitale beveiliging? Is RSA-cryptografie nu veilig genoeg en wat betekent dit voor de toekomst van digitale beveiliging? Profielwerkstuk Examenkandidaten: Nahom Tsehaie (N&T en N&G) Jun Feng (N&T) Begeleiders: David Lans Albert

Nadere informatie

Cryptografie. 6 juni Voorstellen, programma-overzicht 2. 2 Inleiding: wat is cryptografie? 2

Cryptografie. 6 juni Voorstellen, programma-overzicht 2. 2 Inleiding: wat is cryptografie? 2 Cryptografie 6 juni 2008 Inhoudsopgave 1 Voorstellen, programma-overzicht 2 2 Inleiding: wat is cryptografie? 2 3 Schuifsysteem: E k (x) = x + k 4 3.1 Decryptiefunctie: terugrekenen..........................

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

MINIMODULES VOOR 3 HAVO

MINIMODULES VOOR 3 HAVO MINIMODULES VOOR 3 HAVO Bioethanol Complex rekenen Cryptografie Digitaal! Evolutie van het oog Forensisch onderzoek Fractals Grafentheorie Navigatie Zonne-energie Ontwikkeld voor Door Jeroen Borsboom Hans

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

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

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

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

Cryptografie. Ralph Broenink

Cryptografie. Ralph Broenink Cryptografie Ralph Broenink 2 Inhoudsopgave Inhoudsopgave... 2 Voorwoord... 3 Soorten cryptografie... 4 Klassieke cryptografie... 5 Caesarrotatie... 5 Rot13... 5 Atbash... 5 Vigenèrecijfer... 5 Vernam-cijfer...

Nadere informatie

Profielwerkstuk Wiskunde 2005

Profielwerkstuk Wiskunde 2005 Profielwerkstuk Wiskunde 2005 Sander Wildeman 6VWO profiel NT Begeleider: Cor Steffens Inhoudsopgave Voorwoord... 2 Introductie... 3 1. Geschiedenis... 4 1.1 De Caesar code... 4 1.2 De Vigenère code...

Nadere informatie

11. Les 11 Vermenigvuldigen met 1. CC Naamsvermelding-GelijkDelen 3.0 Nederland licentie.

11. Les 11 Vermenigvuldigen met 1. CC Naamsvermelding-GelijkDelen 3.0 Nederland licentie. 11. Les 11 Vermenigvuldigen met 1 Auteur Its Academy Laatst gewijzigd Licentie Webadres 18 December 2014 CC Naamsvermelding-GelijkDelen 3.0 Nederland licentie http://maken.wikiwijs.nl/45945 Dit lesmateriaal

Nadere informatie

Activiteit 18. Kid Krypto Publieke sleutel encryptie. Samenvatting. Vaardigheden. Leeftijd. Materialen

Activiteit 18. Kid Krypto Publieke sleutel encryptie. Samenvatting. Vaardigheden. Leeftijd. Materialen Activiteit 18 Kid Krypto Publieke sleutel encryptie Samenvatting Encryptie is de sleutel tot informatie veiligheid. En de sleutel tot moderne encryptie is, dat een zender door alleen publieke informatie

Nadere informatie

Hoofdstuk 9. Cryptografie. 9.1 Geheimtaal

Hoofdstuk 9. Cryptografie. 9.1 Geheimtaal Hoofdstuk 9 Cryptografie 9.1 Geheimtaal Ter bescherming van privacy en van vertrouwelijke mededelingen wordt sinds de oudheid gebruik gemaakt van geheimschriften. Als kind wisselden mijn vriendjes en ik

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

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

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

Werkbladen. Module 3: Geheimtaal. Internet. De Baas Op. Module 3, Versie 1.0

Werkbladen. Module 3: Geheimtaal. Internet. De Baas Op. Module 3, Versie 1.0 : Werkbladen Ontwikkeld door: Gerealiseerd met bijdragen van: This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License, Versie 1.0 Werkblad DE CODE

Nadere informatie

Cryptografische beveiliging op het Internet

Cryptografische beveiliging op het Internet Cryptografische beveiliging op het Internet Benne de Weger [email protected] augustus 2018 hybride cryptografie 1 klare symmetrische versleuteling geheimschrift versturen geheimschrift symmetrische

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

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

Lessenserie Cryptografie

Lessenserie Cryptografie Een van de meest tot de verbeelding sprekende voorgestelde keuzeonderwerpen is cryptografie Onafhankelijk van elkaar gingen Monique Stienstra en Harm Bakker aan de slag om lesmateriaal te ontwikkelen en

Nadere informatie

Cryptografie & geheimschrift: hoe computers en chips met elkaar praten

Cryptografie & geheimschrift: hoe computers en chips met elkaar praten Cryptografie & geheimschrift: hoe computers en chips met elkaar praten Ingrid Verbauwhede Computer Security & Industrial Cryptography Departement Elektrotechniek K.U.Leuven Ingrid Verbauwhede 1 October

Nadere informatie

Les D-05 Cryptografie

Les D-05 Cryptografie Les D-05 Cryptografie In deze les staan we stil bij hel versleutelen (encryptie) en ontcijferen (decryptie) van boodschappen. Aan de orde komt de geschiedenis van het geheimschrift: hoe versleutelde men

Nadere informatie

1.5.1 Natuurlijke, gehele en rationale getallen

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

Nadere informatie

Vragen: auteursrecht

Vragen: auteursrecht Vragen: auteursrecht Vraag in je groepje eens rond: van welke muziekcd s hebben jullie illegale versies? Zoek informatie over de Free Software Foundation. Bedenk een slogan om het illegaal kopiëren te

Nadere informatie

Geldwisselprobleem van Frobenius

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

Nadere informatie

GETALTHEORIE 1. de Leuke En Uitdagende Wiskunde 1, 2, 3, 4, 5, 1, 3, 6, 10, 15, 1, 4, 9, 16, 25, 1, 5, 12, 22, 35, 1, 6, 15, 28, 65,

GETALTHEORIE 1. de Leuke En Uitdagende Wiskunde 1, 2, 3, 4, 5, 1, 3, 6, 10, 15, 1, 4, 9, 16, 25, 1, 5, 12, 22, 35, 1, 6, 15, 28, 65, GETALTHEORIE 1 1, 2, 3, 4, 5, 1, 3, 6, 10, 15, 1, 4, 9, 16, 25, 1, 5, 12, 22, 35, 1, 6, 15, 28, 65, SAMENSTELLING: H. de Leuw - 1 - 1. NATUURLIJKE GETALLEN. Als kind hebben we allemaal leren tellen: 1,

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

Spreekbeurt over typen:

Spreekbeurt over typen: Spreekbeurt over typen: Introductie: Hallo, mijn spreekbeurt gaat over typen. Op school leren we lezen en schrijven, maar de meeste teksten worden getypt. Ik ga hier iets meer over vertellen, want ik heb

Nadere informatie

Theorie & Opdrachten

Theorie & Opdrachten Theorie & Opdrachten Inhoudsopgave INHOUDSOPGAVE 3 1. GEHEIMSCHRIFTEN 4 2. CRYPTOSYSTEMEN 5 3. DOOR ELKAAR SCHUDDEN 6 4. KOLOMMEN 7 5. SUBSTITUTIE ALFABET 8 6. DELERS EN PRIEMGETALLEN 9 7. ALGORITME VAN

Nadere informatie

De cryptografie achter Bitcoin

De cryptografie achter Bitcoin De cryptografie achter Bitcoin Benne de Weger [email protected] augustus 2018 digitale handtekeningen 1 doel: authenticatie sterke verbinding aanleggen tussen een document en een identiteit wordt doorgaans

Nadere informatie

Bij de volgende vragen Bij een regelmatige veelhoek kun je het gemakkelijkst eerst de buitenhoeken berekenen en daarna pas de binnenhoeken.

Bij de volgende vragen Bij een regelmatige veelhoek kun je het gemakkelijkst eerst de buitenhoeken berekenen en daarna pas de binnenhoeken. Rood-wit-blauw werkblad 1 Bij het hele werkblad: Alle rode getallen zijn deelbaar door hetzelfde getal. Elk wit getal is gelijk aan een rood getal + 1, elk blauw getal aan een rood getal + 2 Russisch vermenigvuldigen

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

In Katern 2 hebben we de volgende rekenregel bewezen, als onderdeel van rekenregel 4:

In Katern 2 hebben we de volgende rekenregel bewezen, als onderdeel van rekenregel 4: Katern 4 Bewijsmethoden Inhoudsopgave 1 Bewijs uit het ongerijmde 1 2 Extremenprincipe 4 3 Ladenprincipe 8 1 Bewijs uit het ongerijmde In Katern 2 hebben we de volgende rekenregel bewezen, als onderdeel

Nadere informatie

PG blok 4 werkboek bijeenkomst 4 en 5

PG blok 4 werkboek bijeenkomst 4 en 5 2015-2015 PG blok 4 werkboek bijeenkomst 4 en 5 Inhoud Kenmerken van deelbaarheid (herhaling)...1 Ontbinden in factoren...1 Priemgetallen (herhaling)...2 Ontbinden in priemfactoren...2 KGV (Kleinste Gemene

Nadere informatie

Security. Eerste tentamen

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

Nadere informatie

BWI-werkstuk geschreven door: Aart Valkhof Maart 2003. PGP: Pretty Good Privacy. Een overzicht.

BWI-werkstuk geschreven door: Aart Valkhof Maart 2003. PGP: Pretty Good Privacy. Een overzicht. BWI-werkstuk geschreven door: Aart Valkhof Maart 2003 PGP: Pretty Good Privacy. Een overzicht. PGP: Pretty Good Privacy. Een overzicht. De vrije Universiteit Faculteit der Wiskunde en Informatica Studierichting

Nadere informatie

Polybiusvierkant. Van bericht naar code: 1 A B C D E 2 F G H I J 3 K L M N O 4 P Q R S T 5 U V W X YZ

Polybiusvierkant. Van bericht naar code: 1 A B C D E 2 F G H I J 3 K L M N O 4 P Q R S T 5 U V W X YZ Polybiusvierkant Rond 200 voor Christus leefde de Griekse historicus Polybius. Hij gebruikte een vorm van cryptografie waarbij elke letter door twee cijfers wordt vervangen. 1 2 3 4 5 1 A B C D E 2 F G

Nadere informatie

Diophantische vergelijkingen

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

Nadere informatie

Priemgetallen en het RSA cryptosysteem

Priemgetallen en het RSA cryptosysteem Priemgetallen en het RSA cryptosysteem Brecht Decuyper Industriële Wetenschappen TSO Tweede leerjaar derde graad De heer Danny Wouters Schooljaar 2013-2014 Priemgetallen en het RSA cryptosysteem Brecht

Nadere informatie

Nu een leuk stukje wiskunde ter vermaak (hoop ik dan maar). Optellen van oneindig veel getallen

Nu een leuk stukje wiskunde ter vermaak (hoop ik dan maar). Optellen van oneindig veel getallen Nu een leuk stukje wiskunde ter vermaak (hoop ik dan maar). Optellen van oneindig veel getallen Ter inleiding: tellen Turven, maar: onhandig bij grote aantallen. Romeinse cijfers: speciale symbolen voor

Nadere informatie

REKENVAARDIGHEID BRUGKLAS

REKENVAARDIGHEID BRUGKLAS REKENVAARDIGHEID BRUGKLAS Schooljaar 008/009 Inhoud Uitleg bij het boekje Weektaak voor e week: optellen en aftrekken Weektaak voor e week: vermenigvuldigen Weektaak voor e week: delen en de staartdeling

Nadere informatie

Rekenen: Getallen groep 5 en hoger. Rekenen en schattingen ontdekken. Algebra groep 5 en hoger. Patronen en relaties ontdekken.

Rekenen: Getallen groep 5 en hoger. Rekenen en schattingen ontdekken. Algebra groep 5 en hoger. Patronen en relaties ontdekken. Activiteit 4 Kaarten truc Fout opsporen & herstellen Samenvatting Wanneer data worden opgeslagen op een harde schijf of worden verzonden van de ene computer naar de andere, nemen we aan dat de data niet

Nadere informatie

Cloud Computing. Cloud Computing. Welkom allemaal hier op het science park.

Cloud Computing. Cloud Computing. Welkom allemaal hier op het science park. Cloud Computing Cloud Computing Het Telraam van de Toekomst of Hoe Hyves en Battlefield 2 het Rekenen veranderen... Floris Sluiter Adviseur bij SARA Het Telraam van de Toekomst of Hoe Hyves en Battlefield

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/20310 holds various files of this Leiden University dissertation. Author: Jansen, Bas Title: Mersenne primes and class field theory Date: 2012-12-18 Samenvatting

Nadere informatie

Montfortcollege Rotselaar LW6. Schooljaar 2006 2007. Cryptografie. Frederic Vleminckx. Begeleider: Mr. Olaerts. Eindwerk Wiskunde

Montfortcollege Rotselaar LW6. Schooljaar 2006 2007. Cryptografie. Frederic Vleminckx. Begeleider: Mr. Olaerts. Eindwerk Wiskunde Montfortcollege Rotselaar LW6 Schooljaar 2006 2007 Cryptografie Frederic Vleminckx Begeleider: Mr. Olaerts Eindwerk Wiskunde Woord vooraf Cryptografie is een domein dat mij al van kleins af interesseerde.

Nadere informatie

Ik ben Sim-kaart. Mobiel bellen groep 5-6. De Simkaart is een meisje, tikkeltje ondeugend en een echte kletsgraag. Aangeboden door

Ik ben Sim-kaart. Mobiel bellen groep 5-6. De Simkaart is een meisje, tikkeltje ondeugend en een echte kletsgraag. Aangeboden door De Simkaart is een meisje, tikkeltje ondeugend en een echte kletsgraag Hoi! Blijf even aan de lijn. Ik zit namelijk op de andere. Wacht even. Hoi, ik kom zo even terug, want ik moet even iets zeggen over

Nadere informatie

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

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

Nadere informatie

Opgeloste en onopgeloste mysteries in de getaltheorie

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

Nadere informatie

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

Ik ben Sim-kaart. Mobiel bellen groep 7-8. De Simkaart is een meisje, tikkeltje ondeugend en een echte kletsgraag. Aangeboden door

Ik ben Sim-kaart. Mobiel bellen groep 7-8. De Simkaart is een meisje, tikkeltje ondeugend en een echte kletsgraag. Aangeboden door De Simkaart is een meisje, tikkeltje ondeugend en een echte kletsgraag Hoi! Blijf even aan de lijn. Ik zit namelijk op de andere. Wacht even. Hoi, ik kom zo even terug want ik moet even iets zeggen over

Nadere informatie

Kraak de Code. Koen Stulens

Kraak de Code. Koen Stulens Kraak de Code Koen Stulens KRAAK DE CODE Koen Stulens [email protected] CRYPTOGRAGIE STAMT VAN HET GRIEKS: CRYPTOS = GEHEIM, GRAFEIN = SCHRIJVEN. Sinds mensen met elkaar communiceren is er steeds nood geweest

Nadere informatie

Dossier 3 PRIEMGETALLEN

Dossier 3 PRIEMGETALLEN Dossier 3 PRIEMGETALLEN atomen van de getallenleer Dr. Luc Gheysens Een priemgetal is een natuurlijk getal met twee verschillende delers, nl. 1 en het getal zelf. De priemgetallen zijn dus 2, 3, 5, 7,

Nadere informatie

Breuken met letters WISNET-HBO. update juli 2013

Breuken met letters WISNET-HBO. update juli 2013 Breuken met letters WISNET-HBO update juli 2013 De bedoeling van deze les is het repeteren met pen en papier van het werken met breuken. Steeds wordt bij gebruik van letters verondersteld dat de noemers

Nadere informatie

Modulewijzer InfPbs00DT

Modulewijzer InfPbs00DT Modulewijzer InfPbs00DT W. Oele 0 juli 008 Inhoudsopgave Inleiding 3 Waarom wiskunde? 3. Efficiëntie van computerprogramma s............... 3. 3D-engines en vectoranalyse................... 3.3 Bewijsvoering

Nadere informatie

6,4. Werkstuk door een scholier 1810 woorden 11 maart keer beoordeeld

6,4. Werkstuk door een scholier 1810 woorden 11 maart keer beoordeeld Werkstuk door een scholier 1810 woorden 11 maart 2002 6,4 349 keer beoordeeld Vak Techniek Computer De computer bestaat al 360 jaar. Dat is iets wat de meeste mensen niet verwachten, want ze denken dat

Nadere informatie

Wireshark. Open Source Vroeger Ethereal Wireless kan lastig zijn

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

Nadere informatie

1. REGELS VAN DEELBAARHEID.

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

Nadere informatie

De teller geeft hoeveel stukken er zijn en de noemer zegt wat de 5. naam is van die stukken: 6 taart geeft dus aan dat de taart in 6

De teller geeft hoeveel stukken er zijn en de noemer zegt wat de 5. naam is van die stukken: 6 taart geeft dus aan dat de taart in 6 Breuken Breuk betekent dat er iets gebroken is. Het is niet meer heel. Als je een meloen doormidden snijdt, is die niet meer heel, maar verdeeld in twee stukken. Eén zo n stuk is dan een halve meloen,

Nadere informatie

5.327 703 x 15.981 3.728.900 + 3.744.881. 2.160 3.007 x 15.120 6.480.000 + 6.495.120. 2.160 3.007 x 15.120 00.000 0 00.000 6.480.000 + 6.495.

5.327 703 x 15.981 3.728.900 + 3.744.881. 2.160 3.007 x 15.120 6.480.000 + 6.495.120. 2.160 3.007 x 15.120 00.000 0 00.000 6.480.000 + 6.495. Bij vermenigvuldigen van twee grote getallen onder elkaar staan de rijen onder de streep elk voor een tussenstap. De eerste rij staat voor het vermenigvuldigen met het cijfer dat de eenheden van het onderste

Nadere informatie

Spookgetallen. Jan van de Craats en Janina Müttel

Spookgetallen. Jan van de Craats en Janina Müttel Spookgetallen Jan van de Craats en Janina Müttel leadtekst In de serie Open Problemen deze keer drie beroemde onopgeloste raadsels. Je kunt er geen miljoen dollar mee winnen, maar wel onsterfelijke roem.

Nadere informatie

Inhoud. Kun je die code kraken?

Inhoud. Kun je die code kraken? Dit boekje is een bewerking van de masterclass Informatiebeveiliging: "Kun je die code kraken?", gegeven op 22 maart 2000 door Prof.dr. Henk C.A. van Tilborg. Inhoud 1 Beschermen van digitale gegevens

Nadere informatie

FACTORISATIE EN CRYPTOGRAFIE

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

Nadere informatie

Rekenen met vercijferde data

Rekenen met vercijferde data Auteur: Thijs Veugen, senior scientist information security, TNO; en senior researcher, TU Delft Verschenen in: Informatiebeveiliging (privacy special) Rekenen met vercijferde data Een nieuwe techniek

Nadere informatie

Memoriseren: Een getal is deelbaar door 10 als het laatste cijfer een 0 is. Of: Een getal is deelbaar door 10 als het eindigt op 0.

Memoriseren: Een getal is deelbaar door 10 als het laatste cijfer een 0 is. Of: Een getal is deelbaar door 10 als het eindigt op 0. REKENEN VIJFDE KLAS en/of ZESDE KLAS Luc Cielen 1. REGELS VAN DEELBAARHEID. Luc Cielen: Regels van deelbaarheid, grootste gemene deler en kleinste gemeen veelvoud 1 Deelbaarheid door 10, 100, 1000. Door

Nadere informatie

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

02. Les 2 Affiene versleuteling. CC Naamsvermelding-GelijkDelen 3.0 Nederland licentie.

02. Les 2 Affiene versleuteling. CC Naamsvermelding-GelijkDelen 3.0 Nederland licentie. Auteur Its Academy Laatst gewijzigd Licentie Webadres 18 December 2014 CC Naamsvermelding-GelijkDelen 3.0 Nederland licentie http://maken.wikiwijs.nl/45953 Dit lesmateriaal is gemaakt met Wikiwijs Maken

Nadere informatie

De waarde van een plaats in een getal.

De waarde van een plaats in een getal. Komma getallen. Toen je net op school leerde rekenen, wist je niet beter dan dat getallen heel waren. Dus een taart was een taart, een appel een appel en een peer een peer. Langzaam maar zeker werd dit

Nadere informatie

Opgaven Eigenschappen van Getallen Security, 2018, Werkgroep.

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

Nadere informatie

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

Thema: kom er maar eens achter. Moeilijkheid : **** Tijdsduur : *** Juf Yvonne. Natuurkunde en techniek Licht en geluid Geluid&communicatie

Thema: kom er maar eens achter. Moeilijkheid : **** Tijdsduur : *** Juf Yvonne. Natuurkunde en techniek Licht en geluid Geluid&communicatie Thema: kom er maar eens achter Natuurkunde en techniek Licht en geluid Geluid&communicatie Moeilijkheid : **** Tijdsduur : *** Juf Yvonne Doel: Na deze opdracht weet je hoe de ontwikkeling van tele-communicatie

Nadere informatie

De Chinese reststelling

De Chinese reststelling De Chinese reststelling 1 Inleiding 1. De Chinese reststelling is een stelling binnen de getaltheorie. De stelling werd voor het eerst beschreven in de vierde eeuw na Chr. door de Chinese wiskundige Sunzi

Nadere informatie