Tijdrekken Het Geheim van Cryptografie

advertisement
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?)
Download