De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

5 Public-key cryptografie (Asymetrische cryptosystemen)

Verwante presentaties


Presentatie over: "5 Public-key cryptografie (Asymetrische cryptosystemen)"— Transcript van de presentatie:

1 Cryptografie en ICT L.V.de.Zeeuw@HR.NL

2 5 Public-key cryptografie (Asymetrische cryptosystemen)
deel 2 L.V. de Zeeuw Cryptografie en ICT

3 Diffie-Hellman sleutel uitwisseling
Bij symmetrische cryptografie moeten beiden communicatie partners over dezelfde sleutel beschikken. Whitfield Diffie en Martin Hellman (gebaseerd op een concept bedacht door Ralph Merkle) bedachten in 1976 een oplossing voor uitwisselen van symmetrische sleutels over een onveilig kanaal. L.V. de Zeeuw Cryptografie en ICT

4 Martin Hellman Whitfield Diffie Ralph Merkle L.V. de Zeeuw
Cryptografie en ICT

5 Werking Diffie-Hellman systeem
Anna en Bob willen met elkaar communiceren. Ze dienen over dezelfde geheime sleutel te beschikken. L.V. de Zeeuw Cryptografie en ICT

6 Werking Diffie-Hellman systeem
Priemgetallen p=23 en g=5 Anna en Bob spreken twee grote priemgetallen af. Deze getallen zijn openbaar. L.V. de Zeeuw Cryptografie en ICT

7 Werking Diffie-Hellman systeem
Geheim getal x=6 Geheim getal y=15 Anna bedenkt een geheim getal x Bob bedenkt een geheim getal y. L.V. de Zeeuw Cryptografie en ICT

8 Werking Diffie-Hellman systeem
56 mod 23 = 8. De boodschap van Anna aan Bob is het getal gx (mod p) L.V. de Zeeuw Cryptografie en ICT

9 Werking Diffie-Hellman systeem
515 mod 23 = 19 De boodschap van Bob aan Anna is het getal gy (mod p) L.V. de Zeeuw Cryptografie en ICT

10 Werking Diffie-Hellman systeem
196 mod 23 = 2 Anna berekent (gy (mod p) )x De uitkomst is de gemeenschappelijke geheime sleutel L.V. de Zeeuw Cryptografie en ICT

11 Werking Diffie-Hellman systeem
815 mod 23 = 2 Bob berekent (gx (mod p) )y De uitkomst is de gemeenschappelijke geheime sleutel. Immers (gy (mod p) )x =(gx (mod p) )y L.V. de Zeeuw Cryptografie en ICT

12 Werking Diffie-Hellman systeem
De gemeenschappelijke geheime sleutel kan vervolgens gebruikt worden voor het symmetrische vercijferen van boodschappen met bijvoorbeeld DES, IDEA of AES. L.V. de Zeeuw Cryptografie en ICT

13 Discrete logaritme probleem
Het Diffie-Hellmansysteem is gebaseerd op het discrete logaritme probleem: Vindt x gegeven g, p en gx (mod p) Voorbeeld 1: Gegeven: g=2, p=3 en 2x (mod 3) = 1 Hoeveel is x ? Antwoord x=2. L.V. de Zeeuw Cryptografie en ICT

14 Discrete logaritme probleem
Voorbeeld 2: Gegeven: g=5, p=23 en 5x (mod 23) = 8 Hoeveel is x ? Antwoord x=6 Voorbeeld 3: Gegeven: g= , p= en x (mod ) = Hoeveel is x ? Antwoord x=123. L.V. de Zeeuw Cryptografie en ICT

15 Diffie-Hellman probleem
Gegeven g, p en gx (mod p) en gy (mod p) vind gxy (mod p) - de sleutel! L.V. de Zeeuw Cryptografie en ICT

16 Aanval op Diffie-Hellman systeem
Probleem: Hoe weet Bob dat de boodschap afkomstig is van Anna? Niet! Chris kan Anna en Bob voor de gek houden en achter de inhoud van de boodschap komen. L.V. de Zeeuw Cryptografie en ICT

17 Aanval Diffie-Hellman systeem
Anna kiest een geheim getal x Bob kiest een geheim getal y Chris kiest een geheim getal z P en G zijn openbaar L.V. de Zeeuw Cryptografie en ICT

18 Aanval Diffie-Hellman systeem
gx (mod p) gz (mod p) gz (mod p) gy (mod p) L.V. de Zeeuw Cryptografie en ICT

19 Aanval Diffie-Hellman systeem
Anna berekent (gz (mod p))x Chris berekent (gx (mod p))z en (gy (mod p))z Bob berekent (gz (mod p))y L.V. de Zeeuw Cryptografie en ICT

20 Aanval Diffie-Hellman systeem
Anna en Bob denken dat ze met elkaar communiceren. Elke boodschap wordt door Chris onderschept en eventueel gewijzigd aan Bob doorgegeven (of omgekeerd) ‘Man in the Middle attack’ of ‘Middle person attack’ L.V. de Zeeuw Cryptografie en ICT

21 YouTube: Public Key Cryptography - Diffie-Hellman Key Exchange
L.V. de Zeeuw Cryptografie en ICT

22 Knapzak systeem Het eerste public-key cryptosysteem dat gebruikt kon worden voor encryptie en decryptie is het knapzak (knapsack) cryptosysteem. In 1978 bedacht door Merkle en Hellman. L.V. de Zeeuw Cryptografie en ICT

23 Knapzak systeem Het knapzak-systeem is meerdere malen gekraakt is daarna wel verbeterd maar wordt niet als veilig beschouwd en tegenwoordig zelden gebruikt. L.V. de Zeeuw Cryptografie en ICT

24 Knapzak probleem Een knapzak is gevuld met een keuze uit een grote verzameling voorwerpen ieder met zijn eigen gewicht. Kun je uitgaande van het totale gewicht afleiden welke voorwerpen, gegeven hun gewicht, wel of niet in de knapzak zitten? L.V. de Zeeuw Cryptografie en ICT

25 Som wiskundig intermezzo
Met Σ (griekse letter sigma) wordt een optelling (som) bedoeld. Voorbeeld: 4 Σ k = = 10 k=1 L.V. de Zeeuw Cryptografie en ICT

26 Knapzak probleem Gegeven een knapzak vector (de publieke sleutel): a= (a1, a2,a3,... ,an ) Gegeven een binaire vector (de klare tekst): x= (x1, x2,x3,... ,xn ) waarbij xi = {0,1} n Dan S = Σ aixi i=1 (S is de cijfertekst) Wanneer a en x gegeven zijn kun je S makkelijk bepalen. Maar als a en S gegeven zijn is x veel moeilijker te berekenen. L.V. de Zeeuw Cryptografie en ICT

27 Voorbeeld 1 Gegeven knapzakvector a = (3,5,7,9) en
n = 4 (het aantal elementen in a) S =10 Wat is de binaire vector x? Antwoord x = (1,0,1,0) omdat 1x3 + 0x5 + 1x7 + 0x9 = 10 L.V. de Zeeuw Cryptografie en ICT

28 Voorbeeld 2 0x16+1x20+1x31+0x34+0x55+1x62+0x64+1x70=183
Gegeven knapzakvector a = (16,20,31,34,55,62,64,70) en n = 8 (het aantal elementen in a) S =183 Wat is de binaire vector x? Antwoord x = (0,1,1,0,0,1,0,1) omdat 0x16+1x20+1x31+0x34+0x55+1x62+0x64+1x70=183 L.V. de Zeeuw Cryptografie en ICT

29 Voorbeeld 3 Gegeven knapzakvector a = (4,7,1,12,10) en
n = 5 (het aantal elementen in a) S =17 Wat is de binaire vector x? Antwoord x = (0,1,0,0,1) en (1,0,1,1,0) omdat 0x4+1x7+0x1+0x12+1x10=17 en 1x4+0x7+1x1+1x12+0x10=17 L.V. de Zeeuw Cryptografie en ICT

30 Knapzak crypto Kies een knapzak vector a en een som S zodanig dat het vinden van de binaire vector x ondoenlijk is. Een klaretekst x (in bits omgezet) kan met openbare sleutel a leiden tot de cijfertekst S. L.V. de Zeeuw Cryptografie en ICT

31 Probleempje … Superstijgende rijen
Ook voor de ontvanger is het moeilijk de om de klare tekst terug te vinden. Er zijn gelukkig knapzakken waar de oplossing altijd eenvoudig is: Superstijgende rijen L.V. de Zeeuw Cryptografie en ICT

32 Superstijgende rij Een superstijgende rij is een rij waarbij elk element groter is dan de som van alle voorgaande elementen. Voorbeelden: a= (1,2,4,8,16,32,64) a = (141, 203, 427, 981, 2406) Formeel: i-1 ai > S = Σ aj, 1 < i ≤ n j=1 L.V. de Zeeuw Cryptografie en ICT

33 Superstijgende rij Opdracht: Als een superstijgende rij a’=(1,3,5,10,22) en S=14 wat is dan de binaire vector x? (1, 3, 5, 10, 22) {1, 1, 0, 1, 0} L.V. de Zeeuw Cryptografie en ICT

34 vercijferde superstijgende rij!
Probleempje… Nu is het ontcijferen eenvoudig geworden … voor iedereen! Oplossing: vercijferde superstijgende rij! L.V. de Zeeuw Cryptografie en ICT

35 GGD wiskundig intermezzo
De grootste gemene deler, afgekort met ggd (gcd in het Engels) van een aantal gegeven getallen is het grootste getal waar alle gegeven getallen door gedeeld kunnen worden. De delers van 30 zijn: 1, 2, 3, 5, 6, 10, 15 en 30. De delers van 48 zijn: 1, 2, 3, 4, 6, 8, 12, 16, 24 en 48. De grootst gemeenschappelijke deler is 6. We noteren dat als: ggd(30,48)=6 Voorbeelden: ggd(6,12)=6 ggd(6,9,12)=3 ggd(6,35)=1 (6 en 35 zijn relatief priem) L.V. de Zeeuw Cryptografie en ICT

36 Algoritme van Euclides wiskundig intermezzo
De GGD kun je bepalen met het algoritme van Euclides: function ggd(a, b) while a ≠ b If a > b a := a - b else b := b - a return a L.V. de Zeeuw Cryptografie en ICT

37 Algoritme van Euclides wiskundig intermezzo
Animatie van het algoritme van Euclides voor de getallen 252 en 105. De dwarsbalkjes vertegenwoordigen veelvouden van 21, de grootste gemene deler (ggd). In elke stap wordt het kleinere getal van het grotere getal afgetrokken, dit totdat een getal tot nul wordt teruggebracht. Het resterende getal noemt men de grootste gemene deler. Bron: L.V. de Zeeuw Cryptografie en ICT

38 Algoritme van Euclides wiskundig intermezzo
Rekenschema voor algoritme van Euclides: GGD(20,8)=4 20=2x8+4 8=2x4+0 GGD(385,120)=5 385=3x120+25 120=4x 25=1x 20=4x L.V. de Zeeuw Cryptografie en ICT

39 Uitgebreide Algoritme van Euclides wiskundig intermezzo
Er is ook een uitgebreid algoritme van Euclides. Dit algoritme wordt gebruikt om de multiplicatieve inverse van een getal te vinden Een multiplicatieve inverse van een getal a is het getal b waarvoor geldt ab = 1 (modulo m) L.V. de Zeeuw Cryptografie en ICT

40 Uitgebreide Algoritme van Euclides wiskundig intermezzo
Vermenigvuldiging modulo: 7 x 1 2 3 4 5 6 Opdracht: Met welke getal moet je 3 vermenigvuldigen (modulo 7) om 1 als antwoord te krijgen? 3x5=1 (mod 7) 3 en 5 heten elkaars multiplicatieve inversen L.V. de Zeeuw Cryptografie en ICT

41 Uitgebreide Algoritme van Euclides wiskundig intermezzo
Voor welke waarde van a geldt dat a · 7 = 1 (mod 32) ? We zoeken een a en een b zodat geldt: a · 7 + b · 32 = 1 Eerst: 0 · · 32 = 32 (1) 1 · · 32 = (2) Links en rechts van (2) x 4 geeft: 4 · · 32 = 28 (3) L.V. de Zeeuw Cryptografie en ICT

42 Uitgebreide Algoritme van Euclides wiskundig intermezzo
0 · · 32 = 32 (1) 4 · · 32 = 28 (3) Aftrekken -4 · · 32 = (4) 1 · · 32 = (2) -4 · · 32 = (4) Aftrekken 5 · · 32 = (5) L.V. de Zeeuw Cryptografie en ICT

43 Uitgebreide Algoritme van Euclides wiskundig intermezzo
1 · · 32 = (2) -4 · · 32 = (4) Aftrekken 5 · · 32 = (5) -9 · · 32 = 1 (6) L.V. de Zeeuw Cryptografie en ICT

44 Uitgebreide Algoritme van Euclides wiskundig intermezzo
-9 · · 32 = 1 (6) Hier staat de oplossing van ons probleem. Want regel (6) levert: -9 · 7 = · 32 Dat is vertaald naar het modulo-rekenen: - 9 · 7 = 1 (mod 32) Conclusie: a = 23 (-9+32). Dit noemen we de inverse van 7 (mod 32). Inderdaad geldt: 23 · 7 = 1 (mod 32) immers -9 = 23 (mod 32) Experimenteer met: Vermenigvuldigtabel modulo m NB a = b (mod m) als a = b + k · m L.V. de Zeeuw Cryptografie en ICT

45 Knapzak crypto stap 1 i-1 a’i > Σ aj, j=1
Genereer een superstijgende rij (geheime sleutel) a’: i-1 a’i > Σ aj, j=1 Voorbeeld: Bob genereert: a’ = (1,3,5,10,22): de geheime sleutel L.V. de Zeeuw Cryptografie en ICT

46 Knapzak crypto stap 2 m > Σ aj j=1
Kies een getal m groter dan de som van alle getallen in a’: n m > Σ aj j=1 Voorbeeld: = 41. Bob kiest m=50 L.V. de Zeeuw Cryptografie en ICT

47 Knapzak crypto stap 3 Kies een waarde w zodanig dat w en m relatief priem zijn: GGD(w,m)=1 Voorbeeld: Bob kiest w = 7 en controleren GGD(7,50)=1 L.V. de Zeeuw Cryptografie en ICT

48 Knapzak crypto stap 4 Bereken de inverse van w: w-1 zodanig dat ww-1=1 (mod m) Voorbeeld: Bob berekent: 7 w-1 = 1 (mod 50) → w-1 = 43 Controleer dat 7 x 43 = 1 (mod 50) L.V. de Zeeuw Cryptografie en ICT

49 Knapzak crypto stap 5 Bereken b (publieke sleutel) door elk element van a’ te vermenigvuldigen met w (mod m) b = w a’ (mod m) Voorbeeld: a’ = (1,3,5,10,22) dus b1 = 7 x 1 (mod 50) = 7 b2 = 7 x 3 (mod 50) = 21 b3 = 7 x 5 (mod 50) = 35 b4 = 7 x 10 (mod 50) = 20 b5 = 7 x 22 (mod 50) = 4 Dus b = (7,21,35,20,4): de publieke sleutel van Bob L.V. de Zeeuw Cryptografie en ICT

50 Knapzak crypto stap 6 Het openbaar gegeven is b
a’, m, w, w-1 worden geheim gehouden. Voorbeeld: Openbaar: b = (7,21,35,20,4) Geheim: a’ = (1,3,5,10,22), m=50,w=7, w-1=43 L.V. de Zeeuw Cryptografie en ICT

51 Knapzak crypto stap 7 Cijfertekst S kan de afzender berekenen door de
bewerking S=bx waar x de klare tekst is in bits (bitvector) die de afzender aan de ontvanger wil sturen. Voorbeeld: als de publieke sleutel van Bob is b = (7,21,35,20,4) en x=(1,1,0,1,0) dan is S=bx=1x7+1x21+0x35+1x20+0x4=48 Het vercijferde bericht van Anna aan Bob is 48 L.V. de Zeeuw Cryptografie en ICT

52 Knapzak crypto stap 8 De ontvanger moet voor het ontcijferen de cijfertekst S vermenigvuldigen met w-1 dus w-1 S (mod m). Met w-1 S (mod m) en de superstijgende rij a’ wordt de klare tekst verkregen. Voorbeeld: w-1x48=43x48=14 (mod 50) a’ = (1, 3, 5, 10, 22) x = (1, 1, 0, 1, 0) de klare tekst. L.V. de Zeeuw Cryptografie en ICT


Download ppt "5 Public-key cryptografie (Asymetrische cryptosystemen)"

Verwante presentaties


Ads door Google