De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

HOGESCHOOL ROTTERDAM / CMI Cryptografie en ICT

Verwante presentaties


Presentatie over: "HOGESCHOOL ROTTERDAM / CMI Cryptografie en ICT"— Transcript van de presentatie:

1 HOGESCHOOL ROTTERDAM / CMI Cryptografie en ICT

2 HOGESCHOOL ROTTERDAM / CMI 5 Public-key cryptografie (Asymetrische cryptosystemen) deel 3 L.V. de ZeeuwCryptografie en ICT2

3 HOGESCHOOL ROTTERDAM / CMI RSA systeem Ron Rivest, Adi Shamir, Leonard Adleman ontwikkelden in 1978 RSA L.V. de ZeeuwCryptografie en ICT3 Adi Shamir Ron Rivest Leonard Adleman

4 HOGESCHOOL ROTTERDAM / CMI RSA systeem RSA wordt gebruikt voor: –Encryptie –Plaatsen van digitale handtekeningen Mathematisch principe: –het berekenen van het product van twee priemgetallen is eenvoudiger dan het ontbinden van een getal ik priemfactoren. Toepassingen: –In commerciële software van MS, Sun, Novell –Hardware: smartcards en netwerkcomponenten –Internet Protocollen L.V. de ZeeuwCryptografie en ICT4

5 HOGESCHOOL ROTTERDAM / CMI L.V. de ZeeuwCryptografie en ICT5

6 HOGESCHOOL ROTTERDAM / CMI Priemgetallen Wiskundig Intermezzo Een priemgetal is een natuurlijk getal groter dan 1 dat slechts deelbaar is door 1 en door zichzelf. Het getal 1 is dus geen priemgetal. Priemgetallen vormen een belangrijk onderwerp in de tak van de wiskunde die getaltheorie genoemd wordt. Een van de redenen hiervan is dat priemgetallen met zeer veel cijfers worden toegepast in de cryptografie. L.V. de ZeeuwCryptografie en ICT6

7 HOGESCHOOL ROTTERDAM / CMI Priemgetallen Wiskundig Intermezzo De eerste priemgetallen (< 100) zijn: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89 en 97 Hoofdstelling: Elk natuurlijk getal > 1 is op precies 1 manier als product van priemgetallen te schrijven. L.V. de ZeeuwCryptografie en ICT7

8 HOGESCHOOL ROTTERDAM / CMI Priemgetallen wiskundig intermezzo Opdracht: Welke twee priemgetallen leveren het product 15? Ontbinding in priemfactoren: 3 x 5 Welke twee priemgetallen leveren het product 187? Ontbinding in priemfactoren: 11 x 17 En welke twee priemgetallen leveren 1147 ? Ontbinding in priemfactoren: 31 x 37 En welke twee priemgetallen leveren ? Ontbinding in priemfactoren: 97 x 167 Ontbinden in priemfactoren L.V. de ZeeuwCryptografie en ICT8

9 HOGESCHOOL ROTTERDAM / CMI Priemgetallen Wiskundig Intermezzo Er zijn oneindig veel priemgetallen. Dit werd al bewezen door Euclides. Bewijs: Stel dat p 1 p 2, p 3 …p n de enige priemgetallen zijn. Het getal N= (p 1 x p 2,x p 3 x … x p n ) +1. Als N een priemgetal is, zijn we klaar, want dan hebben we bewezen dat p n niet het grootste priemgetal is. Als dit niet het geval is, dan is het getal N deelbaar door priemgetal Q. (Zie de hoofdstelling van de rekenkunde, waarin staat dat elk natuurlijk getal > 1 op precies één manier te schrijven is product van priemgetallen). Echter, voor n=1,2,..k geldt steeds dat N bij deling door p n rest 1 geeft, en N dus niet deelbaar is door p n. Dus moet N deelbaar zijn door een priemgetal groter dan p n, waarmee opnieuw de stelling bewezen is. L.V. de ZeeuwCryptografie en ICT9

10 HOGESCHOOL ROTTERDAM / CMI Priemgetallen Wiskundig Intermezzo Het g r o o t s t e priemgetalg r o t s t e priemgetal (op dit moment, link op eigen risico: 16,73 Megabytes text ): Ontdekt op 23-Aug Het getal bevat cijfers. Getallen van de soort 2 p - 1 met p priem; de priemgetallen van deze vorm heten Mersenne- priemgetallen Meer informatie over (grote) priemgetallen is te vinden op: Hier kun je dus ook terecht als je een groot priemgetal nodig hebt. L.V. de ZeeuwCryptografie en ICT10

11 HOGESCHOOL ROTTERDAM / CMI Priemgetallen Wiskundig Intermezzo De zeef van Eratosthenes is een algoritme waarmee alle priemgetallen kunt vinden tussen 1 en getal n. 1.Schrijf alle getallen 2 t/m n op. 2.Het eerste getal in deze reeks voeg je toe aan de gevonden priemgetallen. 3.Verwijder nu alle getallen die deelbaar zijn door dit priemgetal. 4.Herhaal 2 en 3 tot er geen getallen meer over zijn. L.V. de ZeeuwCryptografie en ICT11

12 HOGESCHOOL ROTTERDAM / CMI RSA systeem Mathematisch principe: het berekenen van het product van twee priemgetallen is eenvoudiger dan het omgekeerde. Vergelijk dit met het telefoonboek: je weet iemands naam en adres en kunt dan snel zijn telefoonnummer opzoeken, maar als je alleen iemands telefoonnummer weet, is het ondoenlijk zijn naam en adres te vinden alleen met dat telefoonboek. Opbellen gaat sneller! L.V. de ZeeuwCryptografie en ICT12

13 HOGESCHOOL ROTTERDAM / CMI RSA Sleutelgeneratie Stap 1 Kies twee grote priemgetallen p en q Voorbeeld: p = 73 en q = 103. Deze priemgetallen zijn geheim. L.V. de ZeeuwCryptografie en ICT13

14 HOGESCHOOL ROTTERDAM / CMI RSA Sleutelgeneratie Stap 2 Bepaal het product n=p.q Voorbeeld: n = p · q = 73 x 103 = 7519 Dit is één van de openbare sleutels! L.V. de ZeeuwCryptografie en ICT14

15 HOGESCHOOL ROTTERDAM / CMI RSA Sleutelgeneratie Stap 3 Bereken het getal K=(p-1)(q-1) Kies een getal e zodanig dat 1< e < K én GGD(e,K)=1 e is de tweede openbare sleutel. Voorbeeld: K= (73-1) (103-1)=7344. Kies bijvoorbeeld e=13. Controleer GGD(7344,13)=1. Nu is 13 de andere openbare sleutel. L.V. de ZeeuwCryptografie en ICT15

16 HOGESCHOOL ROTTERDAM / CMI RSA Sleutelgeneratie Stap 4 Bereken het getal d zodanig dat e·d=1 (mod K) Het getal d is de geheime sleutel Voorbeeld: Bepaal e · d = 13 · d = 1 (mod 7344) d = 565 de geheime sleutel L.V. de ZeeuwCryptografie en ICT16

17 HOGESCHOOL ROTTERDAM / CMI Berekening 13.d=1 (mod 7344) We gaan uit van de definitie: a = b ( mod n) dan en slechts dan als er een geheel getal k is waarvoor geldt: a = b + k·n 13·d = 1 (mod 7344) dan en slechts dan als er een geheel getal k is waarvoor geldt: 13·d=1+k·7344 L.V. de ZeeuwCryptografie en ICT17

18 HOGESCHOOL ROTTERDAM / CMI Berekening 13.d=1 (mod 7344) 13·d=1+k·7344 → 13·d - k·7344=1 Hoe groot zijn d en k? 13· 0 - 1·7344 =-7344 (1) 13· = 13 (2) 13· 0 - 1·7344 =-7344 (1) 13· ·7344 = 7332 (3) Vergelijking (2) x · ·7344 = -12 (4) 13· 1 – = 13 (2) ·565 – 1·7344 = 1 → 13·565= → 13·565=1 (mod 7344) L.V. de ZeeuwCryptografie en ICT18

19 HOGESCHOOL ROTTERDAM / CMI RSA Sleutelgeneratie De publieke sleutel: getallenpaar {e,n} De geheime sleutel: getallenpaar {d,n} Voorbeeld: Publieke sleutel: { 13, 7519} Geheime sleutel: {565,7519} L.V. de ZeeuwCryptografie en ICT19

20 HOGESCHOOL ROTTERDAM / CMI RSA Sleutelgeneratie In de praktijk werkt men echter niet met priemgetallen van twee of drie cijfers, maar van elk zo'n honderd cijfers. Hun product (een getal van zo'n 200 cijfers) wordt openbaar gemaakt. Het terugvinden van die grote priemgetallen is in een redelijke rekentijd niet te doen. Dus is het cryptosysteem niet te breken. L.V. de ZeeuwCryptografie en ICT20

21 HOGESCHOOL ROTTERDAM / CMI RSA encryptie / decryptie Eerst de boodschap omzetten in getallen bijvoorbeeld via ASCII. De getallen om zetten in blokken van vaste lengte M 1,M 2 M 3, … M i waarbij de lengte van M i iets kleiner dient te zijn dan de lengte van de modulus n Encryptie: C = M e (mod n) Decryptie: M = C d (mod n) L.V. de ZeeuwCryptografie en ICT21

22 HOGESCHOOL ROTTERDAM / CMI RSA encryptie voorbeeld Decryptie: C = M e (mod n) We hadden e= 13 en n= 7519 als publieke sleutel van bv Bob Als Anna de tekst: ‘Ik hou van je’ (wat natuurlijk niemand nog mag weten) wil sturen aan Bob, dan moet de tekst eerst in bv ASCII worden omgezet. L.V. de ZeeuwCryptografie en ICT22

23 HOGESCHOOL ROTTERDAM / CMI RSA encryptie voorbeeld TekstIk hou van je ASCII Anna berekent nu met de publieke sleutel van Bob: C = M e (mod n) = =73 13 (mod 7519) = (mod 7519) =7300 Etc voor elke letter … k: C = (mod 7519) = 1480 L.V. de ZeeuwCryptografie en ICT23

24 HOGESCHOOL ROTTERDAM / CMI RSA decryptie voorbeeld Decryptie: M = C d (mod n) We hadden d=565 en n= 7519 als geheime sleutel van Bob Bob ontvangt de eerste geëncrypte letter van Anna: 7300 en berekent: M= (mod 7519) =73 Op zoeken in ASCII tabel 73 = ‘I’ Etc voor andere ontvangen letters … L.V. de ZeeuwCryptografie en ICT24

25 HOGESCHOOL ROTTERDAM / CMI ElGamal ElGamal is een public-key crypto systeem gebaseerd op ‘discrete logaritmen’ genoemd naar Taher Elgamal ElGamal kan gebruikt worden voor vercijferen en het zetten van digitale handtekeningen. L.V. de ZeeuwCryptografie en ICT25

26 HOGESCHOOL ROTTERDAM / CMI ElGamal Sleutelgeneratie Formeel: Bepaal een priemgetal p. Kies random getallen g en x waarbij g


27 HOGESCHOOL ROTTERDAM / CMI ElGamal Encryptie Formeel: Bericht M te versturen Kies random getal k waarbij GGD(k,p-1)=1 Bereken c 1 =g k (mod p) en c 2 =y k M (mod p) {c 1,c 2 ) is de cijfertekst Voorbeeld (Anna): M=2 te sturen aan Bob k=5 controleer GGD(5,7- 1)=1 c 1 =3 5 (mod 7) = 5 en c 2 =4 5 · 2 (mod 7) = 4 {5,4} is de cijfertekst L.V. de ZeeuwCryptografie en ICT27

28 HOGESCHOOL ROTTERDAM / CMI ElGamal Decryptie Formeel: Bereken: M = c 2 / c 1 x (mod p) Voorbeeld (Bob): Bob berekent: M = 4 / 5 4 (mod 7)= = 4 / 2 = 2 L.V. de ZeeuwCryptografie en ICT28

29 HOGESCHOOL ROTTERDAM / CMI Digital Signature Algorithm DSA kan alleen gebruikt worden voor het zetten van digitale handtekeningen. DSA is gepubliceerd door het National Institute of Standards and Technology onder de naam Digital Signature Standard (DSS) DSA is een variant op ElGamal en ook gebaseerd op discrete logaritmen. L.V. de ZeeuwCryptografie en ICT29

30 HOGESCHOOL ROTTERDAM / CMI Kritiek op DSA Verificatie van de handtekening is te langzaam. Onderliggend cryptosysteem is onvoldoende geanalyseerd. Het ontwerp is geheim. L.V. de ZeeuwCryptografie en ICT30

31 HOGESCHOOL ROTTERDAM / CMI DSA sleutelgeneratie Genereer twee priemgetallen p en q waarvoor geldt: –2 i-1 < p < 2 i waarbij 512 ≤ i ≤ 1024 én i een veelvoud is van 64 –q moet deler zijn van p-1 én < q < Kies een getal t waarvoor geldt t 7 Kies een getal x waarvoor geldt x

32 HOGESCHOOL ROTTERDAM / CMI DSA signeren De afzender kiest een random getal k

33 HOGESCHOOL ROTTERDAM / CMI DSA verificatie De ontvanger ontvangt {r,s} en kent {p,q,g} Bereken: –w = s -1 (mod q) –u 1 =[ h(M) w ] (mod q) –u 2 =rw (mod q) –v =g u 1 y u 2 (mod p)) mod q Controleer of v=r L.V. de ZeeuwCryptografie en ICT33

34 HOGESCHOOL ROTTERDAM / CMI Elliptic-Curve Cryptografie (ECC) Elliptische krommen (Elliptic-Curve) zijn géén ellipsen. Ze heten zo omdat elliptische kromme vergelijkingen lijken op de vergelijkingen die gebruikt worden voor het berekenen van de omtrek van een ellips. L.V. de ZeeuwCryptografie en ICT34

35 HOGESCHOOL ROTTERDAM / CMI Voorbeeld elliptische kromme: y 2 =x 3 +x+1 (x,y є R) L.V. de ZeeuwCryptografie en ICT35

36 HOGESCHOOL ROTTERDAM / CMI Voorbeeld elliptische kromme: y 2 =x 3 -x (x,y є R) L.V. de ZeeuwCryptografie en ICT36

37 HOGESCHOOL ROTTERDAM / CMI Met Maple een (elliptische) kromme tekenen Start Maple 9.5 Kies: Tools/Assistents/Plot Builder… Klik op ‘Add’ Vul je vergelijking in bv: y^2=x^3-4*x+1 Klik op ‘Accept’ Klik op ‘Done’ Klik op ‘Plot’ L.V. de ZeeuwCryptografie en ICT37

38 HOGESCHOOL ROTTERDAM / CMI Elliptic-Curve Cryptografie ECC is vele malen sneller dan de eerder genoemde systemen voor asymmetrische cryptografie. De sleutels kunnen aanzienlijk korter zijn bij een vergelijkbaar beveiligingsniveau. Toepassing in mobiele telefoons, chipkaarten e.d. (beperkte opslag en verwerkingscapaciteit). L.V. de ZeeuwCryptografie en ICT38

39 HOGESCHOOL ROTTERDAM / CMI EC definitie zoals van belang voor ECC Z p is de verzameling gehele getallen tussen 0 en priemgetal p. Een elliptische kromme E over Z p wordt gedefinieerd als y 2 =x 3 +ax+b (mod p) waarbij: –a,b є Z p en 4a 3 +27b 2 ≠0 (mod p) –E(Z p ) bestaat uit getal paren(x,y) є Z p L.V. de ZeeuwCryptografie en ICT39

40 HOGESCHOOL ROTTERDAM / CMI Eigenschap elliptische krommen Als P en Q punten zijn op kromme dan is P+Q=R ook een punt op de kromme. Let op: de + is een bewerking die optelling wordt genoemd maar anders gedefinieerd is als onze gebruikelijke optelling. Herhaling van (deze) optelling is een vermenigvuldiging. ECC is gebaseerd op het discrete logaritme probleem maar nu binnen de oplossingsruimte van een elliptische krommen en met de bewerking herhaald optellen (vermenigvuldigen) zoals gedefinieerd binnen deze oplossingsruimte. L.V. de ZeeuwCryptografie en ICT40

41 HOGESCHOOL ROTTERDAM / CMI Discrete logaritme k is een geheel getal k.P = R = P+P+P+P+…+P k R is makkelijk te berekenen gegeven k,P k is moeilijk te berekenen gegeven R,P k heet de discrete logaritme van R over P L.V. de ZeeuwCryptografie en ICT41

42 HOGESCHOOL ROTTERDAM / CMI ECC tutorial Een zeer goede tutorial over de wiskunde achter ECC is te vinden via deze linklink Geen tentamen stof … –Finite Geometric Elliptic Curve ModelFinite Geometric Elliptic Curve Model –Animated SolutionAnimated Solution L.V. de ZeeuwCryptografie en ICT42


Download ppt "HOGESCHOOL ROTTERDAM / CMI Cryptografie en ICT"

Verwante presentaties


Ads door Google