5 Public-key cryptografie (Asymetrische cryptosystemen)

Slides:



Advertisements
Verwante presentaties
H3 Tweedegraads Verbanden
Advertisements

BRIDGE Vervolgcursus Vervolg op starterscursus Bridgeclub Schiedam ‘59 info: Maandagavond: 19: – of
Sudoku puzzels: hoe los je ze op en hoe maak je ze?
Voorrangsregels bij rekenen (2)
Een getal met een komma noemen we een decimaalgetal.
WACHT MENEER VAN DALEN NOG STEEDS OP ANTWOORD ?
Het algoritme van Euclides
Differentie vergelijkingen differentie vergelijkingen
H1 Basis Rekenvaardigheden
vergelijkingen oplossen
dia's bij lessenserie Pythagoras ± v Chr.
Tentamen Maandag, 1 juli H en H.2.403
Ronde (Sport & Spel) Quiz Night !
2 Geschiedenis van de Cryptografie
Kb.1 Ik leer op een goede manier optellen en aftrekken
Datastructuren Analyse van Algoritmen en O
F. Rubben NI Lookout 1 06/RIS/05 - NI Lookout VTI Brugge F. Rubben, ing.
6 Sleutelmanagement L.V. de Zeeuw Cryptografie en ICT.
Oppervlakten berekenen

Als de som en het verschil gegeven zijn.
Fibonacci & Friends Met dank aan Gerard Tel.
Advanced Encryption Standard
Workshop: Geheimschrift op de TI-83+
Cryptografie workshop Wiskunde D-dag 6 juni 2008
Machtsverheffen als geheimschrift
Oppervlakten berekenen een mogelijke ontstaansgeschiedenis voor integralen... 6de jaar – 3 & 4u wiskunde Pedro Tytgat: Aanpassing Ronny Vrijsen.
Regelmaat in getallen … … …
De grafiek van een lineair verband is ALTIJD een rechte lijn.
Regelmaat in getallen (1).
Bewegen Hoofdstuk 3 Beweging Ing. J. van de Worp.
Les 9 Gelijkstroomschakelingen
Workshop: Geheimschrift op de TI-83+
Talstelsels, rekenen en rekenschakelingen
ribwis1 Toegepaste wiskunde Lesweek 3
ribwis1 Toegepaste wiskunde Lesweek 01 – Deel B
ribwis1 Toegepaste wiskunde, ribPWI Lesweek 01
Cryptografische algoritmen en protocols (4) Cursus informatiebeveiliging Eric Laermans – Tom Dhaene.
Standaard-bewerkingen
Statistiekbegrippen en hoe je ze berekent!!
Hoe gaat dit spel te werk?! Klik op het antwoord dat juist is. Klik op de pijl om door te gaan!
Vergelijkingen oplossen.
0 Inleiding L.V. de Zeeuw Cryptografie en ICT. Cryptografie en ICT
7 Computernetwerken en smartcards
Security 2 Cryptografie en ICT
5 Public-key cryptografie (Asymetrische cryptosystemen)
5 Public-key cryptografie (Asymetrische cryptosystemen)
HOGESCHOOL ROTTERDAM / CMI Cryptografie en ICT
Voorrangsregels bij rekenen (1)
ECHT ONGELOOFLIJK. Lees alle getallen. langzaam en rij voor rij
Hoofdstuk 9 havo KWADRATEN EN LETTERS
Presentatie vergelijkingen oplossen.
GELIJKNAMIGE BREUKEN les 31.
Bewerkingen met breuken Les 37.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 5.
17/08/2014 | pag. 1 Fractale en Wavelet Beeldcompressie Les 3.
Fractale en Wavelet Beeldcompressie
ware bewering niet ware bewering open bewering
priemgetallen priemgetal:
Basisvaardigheden: Metingen en diagrammen
Centrummaten en Boxplot
Wiskunde kan helpen begrijpen hoe de wereld in elkaar zit.
1 Zie ook identiteit.pdf willen denkenvoelen 5 Zie ook identiteit.pdf.
Werk met je schoudermaatje. Leg 12 kleurpotloden op tafel.
welke hoef je niet te leren?
Gecijferdheid les 1.4 Grootst gemene deler Kleinst gemene veelvoud
Wiskunde Blok 5 les 17.
Portfolio opdracht RSA
GGD en KGV.
Transcript van de presentatie:

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

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

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

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

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

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

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

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

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

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

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

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

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

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=6972593 , p=13466917 en 6972593x (mod 13466917) = 5331085 Hoeveel is x ? Antwoord x=123. L.V. de Zeeuw Cryptografie en ICT

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

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

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

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

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

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

YouTube: Public Key Cryptography - Diffie-Hellman Key Exchange http://www.youtube.com/watch?v=3QnD2c4Xovk L.V. de Zeeuw Cryptografie en ICT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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: http://nl.wikipedia.org/wiki/Algoritme_van_Euclides L.V. de Zeeuw Cryptografie en ICT

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+20 25=1x 20+ 5 20=4x 5+ 0 L.V. de Zeeuw Cryptografie en ICT

Uitgebreide Algoritme van Euclides wiskundig intermezzo Er is ook een uitgebreid algoritme van Euclides. http://nl.wikipedia.org/wiki/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

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

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 · 7 + 1 · 32 = 32 (1) 1 · 7 + 0 · 32 = 7 (2) Links en rechts van (2) x 4 geeft: 4 · 7 + 0 · 32 = 28 (3) L.V. de Zeeuw Cryptografie en ICT

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

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

Uitgebreide Algoritme van Euclides wiskundig intermezzo -9 · 7 + 2 · 32 = 1 (6) Hier staat de oplossing van ons probleem. Want regel (6) levert: -9 · 7 = 1 - 2 · 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

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

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: 1+3+5+10+22 = 41. Bob kiest m=50 L.V. de Zeeuw Cryptografie en ICT

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

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

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

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

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

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) 1 4 14 a’ = (1, 3, 5, 10, 22) ----------------------- - 0 1 4 x = (1, 1, 0, 1, 0) de klare tekst. L.V. de Zeeuw Cryptografie en ICT