Εισαγωγή στην Κρυπτογραφία

37
Εισαγωγή στην Κρυπτογραφία Αλγόριθμοι Δημοσίου Κλειδιού

description

Εισαγωγή στην Κρυπτογραφία. Αλγόριθμοι Δημοσίου Κλειδιού. Σχηματική αναπαράσταση. Κρυπτογραφημένο μήνυμα. Κρυπτογράφηση με το δημόσιο κλειδί του B. Αποκρυπτογράφηση με το ιδιωτικό κλειδί του B. Χρήστης A. Χρήστης B. Αποκρυπτογράφηση με το ιδιωτικό κλειδί του A. - PowerPoint PPT Presentation

Transcript of Εισαγωγή στην Κρυπτογραφία

Page 1: Εισαγωγή στην Κρυπτογραφία

Εισαγωγή στην Κρυπτογραφία

Αλγόριθμοι Δημοσίου Κλειδιού

Page 2: Εισαγωγή στην Κρυπτογραφία

2

Σχηματική αναπαράσταση

Χρήστης A Χρήστης B

Κρυπτογράφηση με το δημόσιο κλειδί του B

Αποκρυπτογράφηση με το ιδιωτικό κλειδί του B

Κρυπτογραφημένομήνυμα

Κρυπτογράφηση με το δημόσιο κλειδί του A

Αποκρυπτογράφηση με το ιδιωτικό κλειδί του A Κρυπτογραφημένο

μήνυμα

Page 3: Εισαγωγή στην Κρυπτογραφία

3

Μαθηματική Θεωρία

Συνάρτηση μίας κατεύθυνσης (one-way) ονομάζεται κάποια συνάρτηση η οποία είναι εύκολο να υπολογιστεί, αλλά πολύ δύσκολο να αντιστραφεί. ‘Καταπακτή’ (‘trapdoor’) σε μία τέτοια συνάρτηση αποκαλείται οποιαδήποτε γνώση μας επιτρέπει να την αντιστρέψουμε.

Η κρυπτογράφηση σε ένα σύστημα Δημοσίου Κλειδιού πρέπει να είναι μία ‘one-way’ συνάρτηση η οποία να έχει ένα ‘trapdoor’ (το ιδιωτικό κλειδί αποκρυπτογράφησης).

Το ‘trapdoor’ πρέπει να το γνωρίζει μόνο ο παραλήπτης.

Page 4: Εισαγωγή στην Κρυπτογραφία

4

Κάποια παραδείγματα συναρτήσεων μίας κατεύθυνσης

1. Πολλαπλασιασμός δύο πολύ μεγάλων πρώτων αριθμών.

2. x x2 (mod m), όπου m σύνθετος αριθμός 3. x ax στο πεπερασμένο σώμα GF(2n) ή GF(p).

4. k Ek(m) για σταθερό m, όπου το Ek είναι η συνάρτηση κρυπτογράφησης σε ένα σύστημα συμμετρικού κλειδιού, το οποίο είναι ασφαλές έναντι σε επιθέσεις known plaintext.

5. x a.x όπου x είναι ένα n-bit δυαδικό διάνυσμα και a είναι μία σταθερή n-άδα ακεραίων. Τότε το a.x είναι ένας ακέραιος.

Page 5: Εισαγωγή στην Κρυπτογραφία

5

Στοιχεία Θεωρίας Πολυπλοκότητας

Προβλήματα τα οποία μπορούν να επιλυθούν σε πολυωνυμικό χρόνο ανήκουν στην κλάση P

Προβλήματα των οποίων μία καταφατική απάντηση μπορεί να επιβεβαιωθεί σε πολυωνυμικό χρόνο, δοθείσας κάποιας επιπρόσθετης πληροφορίας, ανήκουν στην κλάση NP

Προβλήματα των οποίων μία αρνητική απάντηση μπορεί να επιβεβαιωθεί σε πολυωνυμικό χρόνο, δοθείσας κάποιας επιπρόσθετης πληροφορίας, ανήκουν στην κλάση co-NP

Τα πιο δύσκολα NP προβλήματα ονομάζονται NP-complete.

Page 6: Εισαγωγή στην Κρυπτογραφία

6

Στοιχεία Θεωρίας Πολυπλοκότητας

Ένα NP πρόβλημα χαρακτηρίζεται από το ότι δεν έχει βρεθεί πολυωνυμικός αλγόριθμος που να το επιλύει.

Ισχύει P NP

Παρόλο που πιστεύεται ότι NP ≠ P, εν τούτοις δεν έχει αποδειχτεί

Παράδειγμα: η ανάλυση ενός αριθμού στους πρώτους του παράγοντες είναι NP πρόβλημα

Συναρτήσεις μίας κατεύθυνσης στην πράξη θεωρούνται αυτές που εμφανίζονται στα NP προβλήματα

Page 7: Εισαγωγή στην Κρυπτογραφία

7

Υπολογιστικά δύσκολα προβλήματα που χρησιμοποιούνται στην κρυπτογραφία (I)

Factoring: για δοθέν ακέραιο n, εύρεση της παραγοντοποίησής του σε πρώτους παράγοντες

RSA problem: Για δοθέν ακέραιο n που είναι γινόμενο δύο πολύ μεγάλων πρώτων p και q διαφορετικών μεταξύ τους, δοθέν φυσικό e τέτοιον ώστε gcd(e,(p-1)(q-1))=1 και δοθέν ακεραίου c, εύρεση ακεραίου m με την ιδιότητα: me c(mod n)

Quadratic Residuocity Problem (QRP): Δοθέντος σύνθετου περιττού ακέραιου n και ακεραίου a με Jacobi σύμβολο , έλεγχος για το αν το a είναι ή όχι τετραγωνικό υπόλοιπο modulo n.

1

n

a

Page 8: Εισαγωγή στην Κρυπτογραφία

8

Υπολογιστικά δύσκολα προβλήματα που χρησιμοποιούνται στην κρυπτογραφία (II)

Square roots modulo n (SQROOT): για δοθέν σύνθετο ακέραιο n και a Qn (το σύνολο των τετραγωνικών υπολοίπων mod n), εύρεση τετραγωνικής ρίζας του a modulo n (δηλαδή, εύρεση x με την ιδιότητα x2a(mod n))

Discrete logarithm problem (DLP): Δοθέντος πρώτου p, ενός στοιχείου-γεννήτορα a της ομάδας Zp

* και ενός στοιχείου β Zp

*, εύρεση ακεραίου x, 0 ≤ x ≤ p-2 τέτοιου ώστε ax β (mod p)

Generalized discrete logarithm problem (GDLP): Δοθείσης μίας πεπερασμένης κυκλικής ομάδας G τάξης n, ενός γεννήτορα a της ομάδας και ενός στοιχείου β G, εύρεση ακεραίου x, 0 ≤ x ≤ n-1 τέτοιου ώστε ax = β

Page 9: Εισαγωγή στην Κρυπτογραφία

9

Υπολογιστικά δύσκολα προβλήματα που χρησιμοποιούνται στην κρυπτογραφία (III)

Diffie – Hellman problem (DHP): Δοθέντος ενός πρώτου p, ενός στοιχείου-γεννήτορα a της ομάδας Zp

* και στοιχείων aα mod p και aβ mod p, εύρεση του aαβ mod p.

Generalized Diffie – Hellman problem (GDHP): Δοθείσης μίας πεπερασμένης κυκλικής ομάδας G, ενός στοιχείου-γεννήτορα a της ομάδας και στοιχείων aα και aβ της ομάδας, εύρεση του aαβ.

Subset sum problem (SUBSET-SUM): Δοθέντος ενός συνόλου θετικών ακεραίων {a1, a2, …, an} και ενός θετικού ακεραίου s, έλεγχος για το υπάρχει ή όχι υποσύνολο των ai τέτοιων ώστε το άθροισμά τους να ισούται με s.

Page 10: Εισαγωγή στην Κρυπτογραφία

10

Αλγόριθμος RSA

{βασίζεται στο πρόβλημα της παραγοντοποίησης}

Πήρε το όνομά του από τους εμπνευστές του Rivest, Shamir, Adleman.

Kάθε χρήστης διαλέγει τυχαία δύο πολύ μεγάλους πρώτους αριθμούς p, q, και υπολογίζει το γινόμενο N=pq.

Το N θα πρέπει να αποτελείται τουλάχιστον από 200 ψηφία και δημοσιοποιείται

Τα p και q κρατούνται μυστικά.

Page 11: Εισαγωγή στην Κρυπτογραφία

11

Ο αλγόριθμος RSA (συνέχεια)

Με χρήση των p και q, ο χρήστης υπολογίζει τη συνάρτηση Euler φ(N), που ισούται με το πλήθος των θετικών ακεραίων που είναι πρώτοι ως προς το N. φ(N)=φ(p)φ(q) = (p-1) (q-1)

Στη συνέχεια ο χρήστης διαλέγει έναν τυχαίο αριθμό e μικρότερο του φ(Ν) με την ιδιότητα gcd(e,φ(N))=1. Οι αριθμοί e και Ν δημοσιοποιούνται.

Με τον επεκταμένο (extended) αλγόριθμο του Ευκλείδη, ο χρήστης υπολογίζει τον μοναδικό ακέραιο d, 1 < d < φ(N), με την ιδιότητα ed=1 (mod φ(Ν)).

Το δημόσιο κλειδί του χρήστη είναι το ζεύγος (N,e). Το ιδιωτικό του κλειδί είναι ο αριθμός d.

Page 12: Εισαγωγή στην Κρυπτογραφία

12

Επεκταμένος αλγόριθμος του Ευκλείδη

Για δοθέντα a, b με α ≥ b ≥ 0, εύρεση του g = gcd(a,b) και ακεραίων x, y με την ιδιότητα ax + by =g(στον RSA: a = φ(Ν), b = e και επίσης g = 1. Στο d θα αποδοθεί η τιμή του y, δηλ., φ(Ν)x + ed = 1, οπότε ed = 1 mod φ(Ν)).

Βήμα 1: Αν b=0, τότε: g=a, x=1, y=0, δηλ., a=a1+00 ΤΕΛΟΣ. Διαφορετικά,

Βήμα 2: x2 = 1, x1 = 0, y2 = 0, y1 = 1

Βήμα 3: Για όσο ισχύει b > 0 q = a/b, r = a qb, x = x2 qx1, y = y2 qy1

a = b, b = r, x2 = x1, x1 = x, y2 = y1, y1 = y

Βήμα 4: g = a, x = x2, y = y2 και επέστρεψε (g, x, y) ΤΕΛΟΣ

Page 13: Εισαγωγή στην Κρυπτογραφία

13

Παράδειγμα γενικό Έστω a = 4864, b = 3458 , αρχικά x2 = 1, x1 = 0, y2 = 0, y1 = 1

q = a/b, r = a qb, x = x2 qx1, y = y2 qy1

a = b, b = r, x2 = x1, x1 = x, y2 = y1, y1 = y

Άρα x =x2=32 και y= y2=-45, συνεπώς:

Αποτέλεσμα: 4864·32 + 3458 ·(-45) = 38 = gcd(4864, 3458)

Page 14: Εισαγωγή στην Κρυπτογραφία

14

Παράδειγμα για RSA Έστω p=47, q=59, N=pq=2773, φ(Ν)=(p -1)(q -1)=2668, e=17

Άρα x =x2=-1 και y= y2=157, συνεπώς:

Αποτέλεσμα: 2668· (-1) + 17 · 157 = 1, άρα 17 · 157 =1 mod 2668

q r x y a=φ(Ν)

b=e x2 x1 y2 y1

- - - - 2668 17 1 0 0 1

156 16 1 -156 17 16 0 1 1 -156

1 1 -1 157 16 1 1 -1 -156 157

16 0 17 -2668 1 0 -1 17 157 -2668

Page 15: Εισαγωγή στην Κρυπτογραφία

15

Παράδειγμα ειδικό για τον RSA(με αντιστοίχηση στα βήματα του συνήθη)

Πιο απλή μέθοδος!

Έστω p=47, q=59, N=pq=2773, φ(Ν)=(p -1)(q -1)=2668, e=17

Τα βήματα του επεκταμένου αλγορίθμου του Ευκλείδη περιγράφονται πιο απλά με βάση τα βήματα του συνήθη αλγορίθμου, όπως φαίνεται στο παράδειγμα

Συνήθης Επεκταμένος

2668 = 17·156 + 16 16= 2668 17·156

17=1·16 + 1 1= 17 1 ·16 = 17 1 · (2668 17 ·156)

= ( 1)·2668 + 17·157

Άρα, 17 · 157 = 1 mod φ(2668)

Page 16: Εισαγωγή στην Κρυπτογραφία

16

Αλγόριθμος RSA (κρυπτογράφηση)

Για να κρυπτογραφηθεί ένα μήνυμα m που θέλει να στείλει κάποιος χρήστης B στον χρήστη A, το m διασπάται σε μία σειρά τμημάτων m1, m2, …, mp,

όπου κάθε mi αναπαρίσταται από έναν ακέραιο

μεταξύ 0 και N. Η κρυπτογράφηση γίνεται ξεχωριστά για κάθε block

mi με χρήση των δημοσίων κλειδιών e και N του A

και παράγονται τα κρυπτογράμματα ci ως εξής:

ci=mie mod N

Page 17: Εισαγωγή στην Κρυπτογραφία

17

Αλγόριθμος RSA(αποκρυπτογράφηση)

Ο A αποκρυπτογραφεί το κρυπτόγραμμα c υπολογίζοντας το m = cd mod N. Η σχέση μεταξύ του d και του e εξασφαλίζει τη σωστή ανάκτηση του m.

Μόνο ο Α μπορεί να αποκρυπτογραφήσει το μήνυμα,

αφού είναι ο μόνος που γνωρίζει το d.

O RSA στην ουσία στηρίζεται στα υπολογιστικά δύσκολα προβλήματα Factoring και RSA Problem – η δυσκολία αυτών του προσδίδει και την ασφάλειά του

Page 18: Εισαγωγή στην Κρυπτογραφία

18

Ερμηνεία της αποκρυπτογράφησης RSA

Από ed = 1 mod φ(Ν) = 1 mod (p-1)(q-1) έπεται ότι υπάρχει ακέραιος k με

ed = kφ(Ν) +1. Άρα ci

d = mied = mi

kφ(N)+1 = mik(p-1)(q-1)+1 = mi mi

k(p-1)(q-1)

Εάν το mi διαιρείται από το p, τότε mied = 0ed = mi mod p

Εάν το mi δεν διαιρείται από το p, τότε (Θεώρημα Εuler) mi

p-1 = 1 mod p, οπότε mied = mi mod p

Ομοίως έχουμε mied = mi mod q

Επειδή p q έπεται mi

ed = mi mod N

Page 19: Εισαγωγή στην Κρυπτογραφία

19

Επιθέσεις εναντίον RSA

Παραγοντοποίηση του N στους πρώτους παράγοντές του p και q. Ο επιτιθέμενος θα μπορεί έτσι να υπολογίσει το d. (πρόβλημα factoring).

Αν το πλήθος των πιθανών μηνυμάτων δεν είναι μεγάλο, ο επιτιθέμενος μπορεί να αποκρυπτογραφήσει το c κάνοντας απλά εξαντλητικό έλεγχο κρυπτογραφώντας όλα τα πιθανά μηνύματα, μέχρι να παραχθεί το c. (Forward search attack)

Για περαιτέρω μεθόδους: “Handbook of Applied Cryptography”, παράγραφος 8.2.2

Page 20: Εισαγωγή στην Κρυπτογραφία

20

Ασφάλεια του RSA

Όσο πιο μεγάλο είναι το N (κλειδί), τόσο πιο μεγάλη η ασφάλεια. Από την άλλη, ο RSA γίνεται πιο αργός.

Τα p, q πρέπει να έχουν μεγάλη διαφορά μεταξύ τους: αν η διαφορά p-q είναι μικρή, τότε p , και έτσι ο p (άρα και ο q) μπορούν να υπολογιστούν με δοκιμές.

Ο 512-bit RSA-155 «έσπασε» μέσα σε 7 μήνες το 1999.

Το RSA lab προτείνει σήμερα σαν μέγεθος κλειδιού τουλάχιστον 1024 bits.

N

Page 21: Εισαγωγή στην Κρυπτογραφία

21

Σύνοψη RSA και παράδειγμα

Θεωρία ΠαράδειγμαN = pq 2773 = 47 · 59 p=47 q=59ed 1(mod(p-1) (q-1)) 17 · 157 ≡ 1(mod 2668) e=17 d=157Δημόσιο κλειδί: (e, Ν) (17,2773)Ιδιωτικό κλειδί: (d) (157)Μήνυμα m (0 < m < N) m = 31

H γνώση των p, q απαιτείται για τον υπολογισμό του d

Κρυπτογράφηση :c ≡ me (mod n)587 ≡ 3117 (mod 2773)

Αποκρυπτογράφηση:

m ≡ cd (mod N)

31 ≡ 587157 (mod 2773)

Page 22: Εισαγωγή στην Κρυπτογραφία

22

El Gamal Αλγόριθμος

{Βασίζεται στο πρόβλημα του διακριτού λογαρίθμου}

Παράμετροι συστήματος: Ακέραιοι g,p Ο p είναι ένας μεγάλος πρώτος και ο g ένα πρωταρχικό στοιχείο (στοιχείο – γεννήτορας) του Zp

*. (δηλαδή: gκ ≠ 1 (mod p) για όλα τα k μικρότερα του p-1)Επιλέγονται τυχαία από έναν χρήστη Α. O A επιλέγει ιδιωτικό κλειδί a: 1 ≤ a < p – 2 Υπολογισμός του y = ga mod p. To Δημόσιο Κλειδί του A είναι η τριπλέτα (p, g, y). To ιδιωτικό του κλειδί είναι το a.

Page 23: Εισαγωγή στην Κρυπτογραφία

23

Εύρεση στοιχείου – γεννήτορα σε μία πεπερασμένη ομάδα

Γενική περίπτωση: Έστω μία ομάδα G με n στοιχεία, όπου n=p1

e1p2e2…pk

ek (το μοναδικό του ανάπτυγμα σε πρώτους παράγοντες). Αναζητείται στοιχείο g της ομάδας, που οι διαδοχικές του δυνάμεις σαρώνουν όλη την ομάδα (στοιχείο – γεννήτορας ή πρωταρχικό)

(Ειδική περίπτωση στον El Gamal: n=p) Βήμα 1: Επιλογή τυχαίου στοιχείου a της ομάδας Βήμα 2: Για i=1 έως κάνε τα εξής:

Υπολογισμός b=an/pi

Αν b=1, πήγαινε στο Βήμα 1

g=a

Page 24: Εισαγωγή στην Κρυπτογραφία

24

Κρυπτογράφηση El Gamal{δημόσιο κλειδί (p, g, y)}

Αν ο B θέλει να στείλει ένα μήνυμα m στον A, τότε: Ο B παράγει τυχαίο ακέραιο k, 1≤ k ≤ p-2. Αναπαριστά το μήνυμα m ως ακέραιο μικρότερο ή

ίσο του p-1. O B στέλνει τα: γ = gk (mod p) και το

δ = myk (mod p) στον A. Αποκρυπτογράφηση: Ο A χρησιμοποιεί το a για

τον υπολογισμό του yk από το gk και στην συνέχεια υπολογίζει το m, ως εξής:

Page 25: Εισαγωγή στην Κρυπτογραφία

25

Αποκρυπτογράφηση El Gamal

{Ο Α έχει δεχτεί τα: γ = gk (mod p) και δ = myk (mod p) }

{Το y έχει υπολογιστεί ως y = ga mod p}

O A υπολογίζει το γp-1-a = γ-a

(μια που γνωρίζει το ιδιωτικό του κλειδί a) Ο A ανακτά το μήνυμα m με τον υπολογισμό

(γp-1-a)δ mod p. Επαλήθευση: (γp-1-a)δ γ-aδ g-ak myk

g-ak mgak m mod p.

Page 26: Εισαγωγή στην Κρυπτογραφία

26

Χαρακτηριστικά του αλγορίθμου El Gamal

Ο αποστολέας χρειάζεται γεννήτρια τυχαίων αριθμών (για τον ακέραιο k).

Το κρυπτόγραμμα είναι δύο φορές πιο μεγάλο από το μήνυμα

Η ασφάλειά του στηρίζεται στη δυσκολία επίλυσης των προβλημάτων DLP και DHP.

Page 27: Εισαγωγή στην Κρυπτογραφία

27

Κρυπτογράφηση El Gamal –

Παράδειγμα

Πρώτος p = 2357 Πρωταρχικό στοιχείο g = 2 Ιδιωτικό κλειδί: a = 1751 y = 21751(mod 2357) = 1185 Μήνυμα m = 2035 Έστω τυχαίος ακέραιος k = 1520 που παράγει ο

αποστολέας.Τότε, κάνει τους εξής υπολογισμούς: γ = gk = 21520 (mod 2357) = 1430 δ = myk = 2035 ·11851520 (mod 2357) = 697

Συνεπώς, μεταδίδεται το ζεύγος (1430, 697) από τον B στον A

Page 28: Εισαγωγή στην Κρυπτογραφία

28

Για την αποκρυπτογράφηση:

γp-1-a 1430605 mod 2357 = 872

Εύρεση m: 872 · 697 mod 2357 = 2035

Κρυπτογράφηση El Gamal –

Παράδειγμα (συνέχεια)

Page 29: Εισαγωγή στην Κρυπτογραφία

29

Σχήμα Rabin

Ένας χρήστης A επιλέγει δύο τυχαίους μεγάλους πρώτους αριθμούς p, q και υπολογίζει το γινόμενό τους N

Το δημόσιο κλειδί του A είναι το N, και το ιδιωτικό τα p, q. Για την κρυπτογράφηση του μηνύματος m που θέλει να στείλει κάποιος

χρήστης στον A, απλά το υψώνει στο τετράγωνο mod Ν:

c c m m22 (mod N) (mod N)

Για την αποκρυπτογράφηση, πρέπει να είναι γνωστά τα p, q – άρα μόνο ο A μπορεί να αποκρυπτογραφήσει το μήνυμα που εστάλη από τον B.

Η ασφάλειά του έγκειται στο ότι κάθε προσπάθεια υπολογισμού του m από επιτιθέμενο, απαιτεί αντιμετώπιση είτε του προβλήματος Factoring είτε του SQROOT.

Πρόβλημα: για γνωστά p, q, υπάρχουν τέσσερις τετραγωνικές ρίζες του c (mod pq). Άρα, ο A πρέπει να επιλέξει μεταξύ 4 πιθανών μηνυμάτων

Αρχικό μήνυμα κρυπτόγραμμα

Page 30: Εισαγωγή στην Κρυπτογραφία

30

Αποκρυπτογράφηση Rabin

Βήμα 1: Εύρεση δύο τετραγωνικών ριζών r, -r του c (mod p), με βάση τον ακόλουθο αλγόριθμο: Επιλογή τυχαίου b (με δοκιμές) μικρότερου του p, μέχρις

ότου το b2-4c να μην είναι τετραγωνικό υπόλοιπο mod p (αυτό εξασφαλίζεται με τη συνθήκη Jacobi: )

Αν f(x) = x2 – bx + a στο Ζp τότε r = x(p+1)/2 mod f(x) Βήμα 2: Εύρεση δύο τετραγωνικών ριζών s, -s του c (mod q),

με βάση τον παραπάνω αλγόριθμο Βήμα 3: Με τον αλγόριθμο του Ευκλείδη, εύρεση ακεραίων e

και d: ep + dq =1 Βήμα 4: Θέτουμε x=(rdq + sep) mod N και y=(rdq-sep) mod N Βήμα 5: Οι ζητούμενες τετραγωνικές ρίζες είναι x, y (mod

N)

142

p

cb

Page 31: Εισαγωγή στην Κρυπτογραφία

31

Άλλα παραδείγματα συστημάτων Δημοσίου

Κλειδιού

McEliece κρυπτοσύστημα Βασίζεται σε κώδικες διόρθωσης σφάλματος Μία γενική περιγραφή στο:

http://www.math.unl.edu/~jeverson/McElieceProject.pdf Knapsak αλγόριθμοι

Βασίζονται στο πρόβλημα subset sum: δοθέντος ενός συνόλου θετικών ακεραίων I = {a1, a2,….an) και ενός θετικού ακεραίου s, έλεγχος για το αν υπάρχει υποσύνολο του Ι, του οποίου το άθροισμα των στοιχείων του να ισούται με s. (Πρόβλημα NP-complete)

Παραδείγματα: Merkle-Hellman, Chor-Rivest R.C. Merkle and M.E. Hellman, Hiding information and signatures in trapdoor knapsacks,

IEEE Transactions on Information Theory 24 (1978), 525-530. B. Chor and R.L. Rivest, A knapsack-type public-key cryptosystem based on arithmetic in

finite fields, IEEE Transactions on Information Theory (5) 34 (1988), 901-909. Elliptic Curve κρυπτοσύστημα

Μία γενική περιγραφή και σύγκριση με τον RSA υπάρχει στο:http://www.rsasecurity.com/rsalabs/technotes/elliptic_curve.html

Page 32: Εισαγωγή στην Κρυπτογραφία

32

Γενικά πλεονεκτήματα τωνσυστημάτων Δημοσίου Κλειδιού

Μόνο το ιδιωτικό κλειδί πρέπει να μένει κρυφό Το ζεύγος δημόσιο κλειδί – ιδιωτικό κλειδί μπορεί να

μένει το ίδιο για μεγάλα χρονικά διαστήματα (π.χ. για χρόνια)

Σε ένα μεγάλο δίκτυο, ο αριθμός των κλειδιών που χρειάζονται είναι μικρότερος από ό,τι αν χρησιμοποιούνταν συμμετρική κρυπτογράφηση

Page 33: Εισαγωγή στην Κρυπτογραφία

33

Γενικά μειονεκτήματα τωνσυστημάτων Δημοσίου Κλειδιού

Η απόδοση (throughput) είναι σημαντικά μικρότερη, συγκριτικά με τους καλύτερους block ciphers (100 φορές πιο αργοί).

Το μήκος των κλειδιών είναι πιο μεγάλο, ως προς τους block ciphers

Κανένας αλγόριθμος δεν έχει αποδειχτεί ασφαλής (αν και το ίδιο ισχύει και στους block ciphers): όλοι στηρίζονται σε γνωστά προβλήματα της θεωρίας υπολογισμού

Page 34: Εισαγωγή στην Κρυπτογραφία

34

Συνδυασμός συστημάτων Δημοσίου και Συμμετρικού Κλειδιού

Όχι ανταγωνιστικά – χρησιμοποιούνται μαζί

Το δημόσιο κλειδί διαμοιράζεται εύκολα, αλλά μπορεί να χρησιμοποιηθεί μόνο σε μικρά μηνύματα

Το συμμετρικό κλειδί διανέμεται δύσκολα (πρόβλημα εύρεσης ασφαλούς «καναλιού» μετάδοσής του), αλλά μπορεί να χρησιμοποιηθεί και σε μεγάλα μηνύματα

Έχουν συμπληρωματικά προτερήματα και ελαττώματα

Page 35: Εισαγωγή στην Κρυπτογραφία

35

Συνδυασμός Συμμετρικού – Δημοσίου Κλειδιού

Συχνά, η επικοινωνία ξεκινά με πιστοποίηση ταυτότητας, με χρήση αλγορίθμου Δημοσίου κλειδιού

Public Key Authentication

A B

Page 36: Εισαγωγή στην Κρυπτογραφία

36

Συνδυασμός Συμμετρικού – Δημοσίου Κλειδιού (II)

Στη συνέχεια, ο καθένας παράγει ένα συμμετρικό κλειδί Κρυπτογραφεί το συμμετρικό του κλειδί με το δημόσιο κλειδί

του άλλου και του το στέλνει

Έτσι, και οι δύο έχουν το συμμετρικό κλειδί για την επικοινωνία με τον άλλο

SymmetricSessionKey

Public Key EncryptionA B

Page 37: Εισαγωγή στην Κρυπτογραφία

37

Συνδυασμός Συμμετρικού – Δημοσίου Κλειδιού (III)

Τελικά, επικοινωνεί ο ένας με τον άλλον με το συμμετρικό κλειδί

Με άλλα λόγια, η κρυπτογραφία δημόσιου κλειδιού έλυσε το πρόβλημα της εύρεσης ασφαλούς καναλιού, για την ανταλλαγή των κλειδιών

Symmetric Session KeyA B