Qfgaobhhbk... Rghbpciicl... Shicqdjjdm... Tijdrekken... Ujkesfllfo... Vklftgmmgp... Wlmguhnnhq... ...Khw Jhkhlp ydq Fubswrjudilh ...Jgv Igjgko xcp Etarvqitchkg ...Ifu Hfifjn wbo Dszquphsbgjf ...Het Geheim van Cryptografie ...Gds Fdgdhl uzm Bqxosnfqzehd ...Fcr Ecfcgk tyl Apwnrmepydgc ...Ebq Dbebfj sxk Zovmqldoxcfb Tentoonstelling Scryption Tilburg Cryptologie Cryptografie: Cryptanalyse: de kunst / wetenschap van het maken van geheimschriften de kunst / wetenschap van het kraken van geheimschriften en van andere toepassingen van geheime sleutels zoals digitale handtekeningen Cryptografie heeft cryptanalyse nodig: om een veilig systeem te maken moet je weten hoe het gekraakt zou kunnen worden nut van geheimschriften traditioneel: modern: traditioneel, plus: overheid diplomatieke en militaire geheimen overheid: elektronische stemmen elektronische belastingaangifte elektronische patientendossier bedrijfsleven bedrijfsgeheimen bedrijfsleven elektronische handel (via Internet) blackberry, GSM, betaaltelevisie particulieren privacy particulieren winkelen en bankieren via Internet PRIVACY vertrouwelijke communicatie geheim geheimschrift sleutel sleutel Internet versleutelen ontsleutelen geheim geheimschrift verzender afluisteraar ontvanger sleutels er is altijd een kleine kans dat de afluisteraar de sleutel raadt de sleutel moet wel naar de ontvanger toe, maar is veel kleiner dan het geheim cryptografie is: “een groot geheim vervangen door een klein geheim” Auguste Kerckhoffs Principe van Kerckhoffs de methode van versleutelen en ontsleutelen is volledig openbaar (“mag in handen van de vijand vallen”) de veiligheid berust volledig op het geheimhouden van de sleutel geen “security by obscurity” van een geheim systeem weet je niet: hoe goed het is, of er een “backdoor” in zit een openbaar systeem kan publiek getest worden belang van cryptanalyse tijdrekken sleutellengte bepaalt hoe lastig een systeem te kraken is wordt gemeten in bits 1 bit: 0, 1 2 bits: 00, 01, 10, 11 3 bits: 000, 001, 010, 011, 100, 101, 110, 111 4 bits: 0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111 5 bits: 00000, 00001, 00010, 00011, 00100, 00101, 00110, 00111, 01000, 01001, 01010, 01011, 01100, 01101, 01110, 01111, 10000, 10001, 10010, 10011, 10100, 10101, 10110, 10111, 11000, 11001, 11010, 11011, 11100, 11101, 11110, 11111 1 bit langer aantal mogelijke sleutels verdubbelt dit gaat erg hard de kracht van verdubbelen: 0 t/m 63 bits (64 bits rekenpartij is op de rand van wat mogelijk is) K = Kilo M = Mega G = Giga T = Tera P = Peta E = Exa 1 operatie per nanoseconde (Intel Core i7 chip doet er 147 per nanosec) 0 1 1 nanosec 1 2 2 4 3 8 4 16 5 321 6 63 7 125 8 250 9 500 10 1 Kilo 1 microsec 11 2 Kilo 12 4 Kilo 13 8 Kilo 14 16 Kilo 15 32 Kilo 16 63 Kilo 17 125 Kilo 18 250 Kilo 19 500 Kilo 20 1 Mega 1 millisec 21 2 Mega 22 4 Mega 23 8 Mega 24 16 Mega 25 32 Mega 26 63 Mega 27 125 Mega 28 250 Mega kwart sec 29 500 Mega halve sec 30 1 Giga 1 seconde 31 2 Giga 2 seconden 32 4 Giga 4 seconden 33 8 Giga 34 16 Giga kwart minuut 35 32 Giga halve minuut 36 63 Giga 1 minuut 37 125 Giga 2 minuten 38 250 Giga 4 minuten 39 500 Giga 40 1 Tera 1 kwartier 41 2 Tera half uur 42 4 Tera 1 uur 43 8 Tera 44 16 Tera 45 32 Tera 46 63 Tera 47 125 Tera 48 250 Tera 49 500 Tera 50 1 Peta 51 2 Peta 52 4 Peta 53 8 Peta 54 16 Peta 55 32 Peta 56 63 Peta 57 125 Peta 58 250 Peta 59 500 Peta 60 1 Exa 61 2 Exa 62 4 Exa 63 8 Exa 2 uur dagdeel werkdag 2 dagen ruim een week een maand twee maanden 4 maanden 1 jaar 4 maanden 2 jaar 8 maanden ruim 5 jaar ruim 10 jaar bijna een eeuw 2 eeuwen 4 eeuwen 8 eeuwen wet van Moore rekenkracht van een nieuwe computerchip verdubbelt elke 18 tot 24 maanden per 2 jaar dus 1 bit extra sleutellengte nodig om aanvaller te weerstaan versleutelen / ontsleutelen met grotere sleutels kost ook meer tijd, maar verdubbeling pas bij (ongeveer) verdubbeling van sleutellengte De wet van Moore werkt dus in het voordeel van de cryptografen op den duur is ieder systeem te kraken*) want sleutel heeft eindige lengte alle sleutels zijn af te lopen in de praktijk houdt dit al snel op 64 bits is nu ongeveer de grens er zal zeker een tijd komen dat bv. 128 bits te kraken is men zegt ook wel: “het enige wat je met cryptografie koopt is tijd” cryptografie is: tijdrekken *) behalve de one time pad, zie later risico-afweging te kiezen sleutellengte is afweging van risico wie is je tegenstander buurjongen, concurrerend bedrijf, geheime dienst, vijandig leger hoe lang moet het geheim geheim blijven soms maar een uur soms 100 jaar Voorbeeld: Patjitan versleutelde tekst op een grafsteen op Java, 1901 gekraakt in 1990 Vigenere-systeem sleutellengte 4 one time pad perfect, onkraakbaar cryptosysteem bestaat maar: sleutel is even lang als het geheim sleuteluitwisseling dus extra moeilijk symmetrisch / asymmetrisch zie presentatie “crypto.ppt” (kistje!) symmetrisch: alles tot en met 1975 (Caesar, Vigenere, one time pad, enz.) modern: DES (1976), AES (Rijndael, 2001) asymmetrisch: Diffie-Hellman (1976), RSA (1977) AES / Rijndael interactieve applicatie software: Rijndael Inspector / Animation (historisch: Enigma simulator Paul/Marc) RSA, Diffie-Hellman zie presentaties “RSA.ppt”, “DH.ppt” eigen software: MCB RSA voor knutselaars RSA voor luiaards hardware: CSA7000, EMV-chip in creditkaart andere toepassingen authenticatie kan zowel symmetrisch als asymmetrisch digitale handtekeningen kan eigenlijk alleen asymmetrisch internetbankieren GSM, betaaltelevisie, …… delen van een geheim geheim = middelpunt van een cirkel deelnemers krijgen punt op de cirkel ieder drietal deelnemers kan het geheim berekenen ieder tweetal deelnemers kan niets visualisatie / interactieve software moderne cryptanalyse asymmetrisch: ontbinden in factoren (9x17=153 is makkelijk, maar kun je 143 in factoren ontbinden?) symmetrisch: brute kracht (rainbow tables) soms slimmer hardware: GPU, FPGA, Cell Processor (PS3) puzzel uitdaging voor de bezoeker level 1: simpel (Caesar) level 2: uitdaging voor tijdens bezoek (Vigenere, sleutellengte max. 3) level 3: uitdaging voor thuis (Vigenere, sleutellengte 6, of misschien zelfs RSA?)