Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

1 Τα Προβλήματα TSP & RSA Σε αυτές τις διαφάνειες παρουσιάζουμε μια σύντομη παρουσίαση και ανάλυση για  το πρόβλημα του Περιοδεύοντα.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "1 Τα Προβλήματα TSP & RSA Σε αυτές τις διαφάνειες παρουσιάζουμε μια σύντομη παρουσίαση και ανάλυση για  το πρόβλημα του Περιοδεύοντα."— Μεταγράφημα παρουσίασης:

1 halatsis@di.uoa.gr 1 Τα Προβλήματα TSP & RSA Σε αυτές τις διαφάνειες παρουσιάζουμε μια σύντομη παρουσίαση και ανάλυση για  το πρόβλημα του Περιοδεύοντα Πωλητή (Traveling Salesman Problem, TSP) περιγράφοντας τον Αλγόριθμο Χριστοφίδη  το πρόβλημα/ σύστημα δημόσιας κρυπτογραφίας RSΑ

2 halatsis@di.uoa.gr 2 Το πρόβλημα TSP Δοθέντος ενός συνδεδεμένου μη κατευθυνόμενου γράφου G(V,E) που έχει ένα μη αρνητικό ακέραιο κόστος c(u,v) για κάθε μια ακμή του (u,v)  E, βρες ένα μονοπάτι το οποίο να ξεκινά και να τελειώνει στον ίδιο κόμβο ( δηλαδή, μια περιοδεία) που να περιλαμβάνει κάθε άλλο κόμβο ακριβώς μια φορά, και να έχει το ελάχιστο κόστος. Παράδειγμα:

3 halatsis@di.uoa.gr 3 TSP – Αλγόριθμος Χριστοφίδη (για γράφους με τριγωνική ιδιότητα)  Είσοδος: Κόμβος αρχής S, 1.Βρες ένα Ελάχιστο Δένδρο Έκτασης ( MST- Minimum Spanning Tree) T1 (πράσινο δένδρο) 2.Έστω S’ το σύνολο των κόμβων in T1 με περιττό βαθμό ακμών ( λευκοί κόμβοι) 3.Βρες ένα Ελαχίστου Βάρους Ταίριασμα (MWM -minimum weight matching) M του S’ ( μπλέ ακμές) 4.Κατασκεύασε μια περιοδεία Euler T2 για τις ακμές των T1+M (πορτοκαλί ακμές) 5.“Παράκαμψε” την T2 και επέστρεψε μια περιοδεία T (κόκκινες γραμμές)  Ο αλγόριθμος Χριστοφίδη βρίσκει μια περιοδεία με κόστος το πολύ 3/2 φορές της βέλτιστης

4 halatsis@di.uoa.gr 4 TSP – Αλγόριθμος Χριστοφίδη Green lines = minimum spanning tree (MST) Blue dashed lines = minimum weight matching (MWM) Orange dashed lines = Euler tour Παράκαμψη Red lines = TSP tour

5 halatsis@di.uoa.gr 5 TSP – Αλγόριθμος Χριστοφίδη (για γράφους με τριγωνική ιδιότητα)  Είσοδος: Κόμβος αρχής s, 1. Βρες ένα Ελάχιστο Δένδρο Έκτασης ( MST- Minimum Spanning Tree) T1 (πράσινο δένδρο);

6 halatsis@di.uoa.gr 6 TSP – Αλγόριθμος Χριστοφίδη (για γράφους με τριγωνική ιδιότητα) 2. Έστω S’ το σύνολο των κόμβων in T1 με περιττό βαθμό ακμών ( λευκοί κόμβοι);

7 halatsis@di.uoa.gr 7 TSP – Αλγόριθμος Χριστοφίδη (για γράφους με τριγωνική ιδιότητα) 3.Βρες ένα Ελαχίστου Βάρους Ταίριασμα M του S’ των λευκών κόμβων (MWM -minimum weight matching) ( μπλέ ακμές);

8 halatsis@di.uoa.gr 8 TSP – Αλγόριθμος Χριστοφίδη (για γράφους με τριγωνική ιδιότητα) 4. Κατασκεύασε μια περιοδεία Euler T2 για τις ακμές των T1+M (πορτοκαλί ακμές);

9 halatsis@di.uoa.gr 9 TSP – Αλγόριθμος Χριστοφίδη (για γράφους με τριγωνική ιδιότητα) 5 “Παράκαμψε” την T2 και επέστρεψε μια περιοδεία TSP(κόκκινες γραμμές)

10 halatsis@di.uoa.gr 10 TSP – Αλγόριθμος Χριστοφίδη Ανάλυση In step 1, we find the Minimum Spanning Tree T1 (the green edges). The sum of degrees of all the vertices S (d) = 2m, where m= number of edges. Therefore S(d) is even. Let Se(d) to be the sum of degrees of the vertices which have even degree, Se(d) is also even. Therefore S(d)-Se(d) = 2k, k=1,2,…, which means that the sum of degrees of the vertices which have odd degree each is also an even number. Thus there are even numbers of vertices which have odd number of degree. In this number, vertices 4 and 10 have even number degrees. Thus the set of vertices with odd degree is S’=(1,2,3,5,6,7,8,9,11,12). In step 3, we find a minimum weight matching on the vertices in S’. In this example, the minimum matching edges are 1-3,2- 5,6-7,8-9,11-12. (see the blue dashed lines)

11 halatsis@di.uoa.gr 11 TSP-Αλγόριθμος Χριστοφίδη Ανάλυση Euler Tour: defined as a path that starts and ends at the same vertex and visits all the edges exactly once. In step 4, we construct a Euler tour based on the MST found in step 1(because all vertices have even degree), T1 and all the matching edges built in step 2 M. So we get a tour T2: 1-3-2-4-5- 7-9-12-11-10-9-8-7-6-5-2-1 (see the yellow dashed lines) In step 5, we make a shortcut of T2 by visiting all the vertices just once. So, we get T: 1-3-2-4-5-7-9-12-11-10-8-6-1 (see the red lines). T is the near- optimal solution to TSP by Christofidis. wt(T)  wt(T2) = wt(T1) + wt(M) = wt(MST) + wt(M)  wt(Topt) + wt(M) (1) the inequality holds because when deleting an edge from Topt results to a tree worse to the MST.

12 halatsis@di.uoa.gr 12 Κύκλος TSP-Αλγόριθμος Χριστοφίδη Ανάλυση Now, we prove wt(M)  ½ wt(Topt). Suppose we have a TSP tour T’ visiting all the vertices that have odd degrees (this is the set S’ of step 2. So wt(T’)  wt(Topt). We choose alternate edges among the edges on this T’ path. Let M1 and M2 be two sets of edges (orange and light blue lines) (note that either M1 and M2 cover the nodes S’).  Note that the Topt includes the nodes S’  The remaining nodes x of the graph are interleaved with those of S’  So, wt(a,b)  wt(a,x,b) for every edge (a,b) in S’ and node x in Topt So, we have wt(T’) = wt(M1) + wt(M2)  wt(Topt) Since we find the minimum matching edges M, we have  wt(M)  wt(M1) and wt(M)  wt(M2),  wt(M)  min{wt(M1), wt(M2)}  ½ wt(Topt) (2) With (1), (2), we have wt(T)  wt(Topt) + ½ wt(Topt) = 3 / 2 wt(Topt) a x b

13 halatsis@di.uoa.gr 13 Σχηματική αναπαράσταση Χρήστης A Χρήστης B Κρυπτογράφηση με το δημόσιο κλειδί του B Αποκρυπτογράφηση με το ιδιωτικό κλειδί του B Κρυπτογραφημένο μήνυμα Κρυπτογράφηση με το δημόσιο κλειδί του A Αποκρυπτογράφηση με το ιδιωτικό κλειδί του A Κρυπτογραφημένο μήνυμα

14 halatsis@di.uoa.gr 14 Υπολογιστικά δύσκολα προβλήματα που χρησιμοποιούνται στην κρυπτογραφία (I) Factoring: για δοθέν ακέραιο n, εύρεση της παραγοντοποίησής του σε πρώτους παράγοντες RSA problem: Για δοθέν ακέραιο n που είναι γινόμενο δύο πολύ μεγάλων πρώτων p και q διαφορετικών μεταξύ τους, δοθέν φυσικό e τέτοιον ώστε μ.κ.δ.(e,(p-1)(q-1))=1 και δοθέν ακεραίου c, εύρεση ακεραίου m με την ιδιότητα: m e  c(mod n)

15 halatsis@di.uoa.gr 15 Υπολογιστικά δύσκολα προβλήματα που χρησιμοποιούνται στην κρυπτογραφία (II) Square roots modulo n (SQROOT): για δοθέν σύνθετο ακέραιο n και a  Q n (το σύνολο των τετραγωνικών υπολοίπων mod n), εύρεση τετραγωνικής ρίζας του a modulo n (δηλαδή, εύρεση x με την ιδιότητα x 2  a(mod n)) Discrete logarithm problem (DLP): Δοθέντος πρώτου p, ενός στοιχείου-γεννήτορα a της ομάδας Z p * και ενός στοιχείου β  Z p *, εύρεση ακεραίου x, 0 ≤ x ≤ p-2 τέτοιου ώστε a x  β (mod p)

16 halatsis@di.uoa.gr 16 Υπολογιστικά δύσκολα προβλήματα που χρησιμοποιούνται στην κρυπτογραφία (III) Diffie – Hellman problem (DHP): Δοθέντος ενός πρώτου p, ενός στοιχείου-γεννήτορα a της ομάδας Z p * και στοιχείων a α mod p και a β mod p, εύρεση του a αβ mod p. Subset sum problem (SUBSET-SUM): Δοθέντος ενός συνόλου θετικών ακεραίων {a 1, a 2, …, a n } και ενός θετικού ακεραίου s, έλεγχος για το υπάρχει ή όχι υποσύνολο των a i τέτοιων ώστε το άθροισμά τους να ισούται με s.

17 halatsis@di.uoa.gr 17 Αλγόριθμος RSA Πήρε το όνομά του από τους εμπνευστές του Rivest, Shamir, Adleman. Kάθε χρήστης διαλέγει τυχαία δύο πολύ μεγάλους πρώτους αριθμούς p, q, και υπολογίζει το γινόμενο N=pq.  Το N θα πρέπει να αποτελείται τουλάχιστον από 200 ψηφία και μπορεί να δημοσιοποιηθεί  Τα p και q κρατούνται μυστικά.

18 halatsis@di.uoa.gr 18 Ο αλγόριθμος RSA (συνέχεια) Με χρήση των p και q, ο χρήστης υπολογίζει τη συνάρτηση Euler φ(N), που ισούται με το πλήθος των θετικών ακεραίων που είναι πρώτοι ως προς το N.  φ(N)=φ(p)φ(q) = (p-1) (q-1) Στη συνέχεια ο χρήστης διαλέγει έναν τυχαίο αριθμό e μικρότερο του φ(Ν) με την ιδιότητα μ.κ.δ.(e,φ(N))=1. Ο αριθμός e δημοσιοποιείται. Με τον επεκταμένο (extended) αλγόριθμο του Ευκλείδη, ο χρήστης υπολογίζει τον μοναδικό ακέραιο d, 1 < d < φ(N), με την ιδιότητα ed=1 (mod φ(Ν)). Το δημόσιο κλειδί του χρήστη είναι το ζεύγος (N,e). Το ιδιωτικό του κλειδί είναι ο αριθμός d.

19 halatsis@di.uoa.gr 19 Επεκταμένος αλγόριθμος του Ευκλείδη Για δοθέντα a, b με α ≥ b ≥ 0, εύρεση του g = μ.κ.δ.(a,b) και ακεραίων x, y με την ιδιότητα a  x + b  y =g (στον RSA: a = φ(Ν), b = e και επίσης g = 1. Στο d θα αποδοθεί η τιμή του y, δηλ., φ(Ν)  x + e  d = 1, οπότε e  d = 1 mod φ(Ν) ). Έστω 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) Δημόσιο κλειδί : (Ν,e) = (2773, 17) Ιδιωτικό κλειδί: d = 157

20 halatsis@di.uoa.gr 20 Παράδειγμα ειδικό για τον 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)

21 halatsis@di.uoa.gr 21 RSA παράδειγμα ΘεωρίαΠαράδειγμα N = pq 2773 = 47 · 59 p=47, q=59 ed  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

22 halatsis@di.uoa.gr 22 Αλγόριθμος RSA (κρυπτογράφηση) Για να κρυπτογραφηθεί ένα μήνυμα m που θέλει να στείλει κάποιος χρήστης B στον χρήστη A, το m διασπάται σε μία σειρά τμημάτων m 1, m 2, …, m p, όπου κάθε mi αναπαρίσταται από έναν ακέραιο μεταξύ 0 και N. Η κρυπτογράφηση γίνεται ξεχωριστά για κάθε block mi με χρήση των δημοσίων κλειδιών e και N του A και παράγεται το κρυπτόγραμμα c i ως εξής: c i =m i e mod N

23 halatsis@di.uoa.gr 23 RSA παράδειγμα ΘεωρίαΠαράδειγμα N = pq 2773 = 47 · 59 p=47, q=59 ed  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 ≡ m e (mod n) 587 ≡ 31 17 (mod 2773)

24 halatsis@di.uoa.gr 24 Αλγόριθμος RSA (αποκρυπτογράφηση) Ο A αποκρυπτογραφεί το κρυπτόγραμμα c υπολογίζοντας το m = c d mod N. Η σχέση μεταξύ του d και του e εξασφαλίζει τη σωστή ανάκτηση του m. Μόνο ο Α μπορεί να αποκρυπτογραφήσει το μήνυμα, αφού είναι ο μόνος που γνωρίζει το d. O RSA στην ουσία στηρίζεται στα υπολογιστικά δύσκολα προβλήματα Factoring και RSA Problem – η δυσκολία αυτών του προσδίδει και την ασφάλειά του

25 halatsis@di.uoa.gr 25 Σύνοψη RSA και παράδειγμα ΘεωρίαΠαράδειγμα N = pq 2773 = 47 · 59 p=47, q=59 ed  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 ≡ m e (mod n) 587 ≡ 31 17 (mod 2773) Αποκρυπτογράφηση: m ≡ c d (mod N) 31 ≡ 587 157 (mod 2773)

26 halatsis@di.uoa.gr 26 Ερμηνεία της αποκρυπτογράφησης RSA Από ed = 1 mod φ(Ν) = 1 mod (p-1)(q-1) έπεται ότι υπάρχει ακέραιος k με ed = kφ(Ν) +1. Άρα c i d = m i ed = m i kφ(N)+1 = m i k(p-1)(q-1)+1 = m i m i k(p-1)(q-1) Εάν το m ι διαιρείται από το p, τότε m i ed = 0 ed = m i mod p Εάν το m ι δεν διαιρείται από το p, τότε (Θεώρημα Εuler) m i p-1 = 1 mod p, οπότε m i ed = m i mod p Ομοίως έχουμε m i ed = m i mod q Επειδή p  q έπεται m i ed = m i mod N

27 halatsis@di.uoa.gr 27 Επιθέσεις εναντίον RSA Παραγοντοποίηση του N στους πρώτους παράγοντές του p και q. Ο επιτιθέμενος θα μπορεί έτσι να υπολογίσει το d. (πρόβλημα factoring). Αν το πλήθος των πιθανών μηνυμάτων δεν είναι μεγάλο, ο επιτιθέμενος μπορεί να αποκρυπτογραφήσει το c κάνοντας απλά εξαντλητικό έλεγχο κρυπτογραφώντας όλα τα πιθανά μηνύματα, μέχρι να παραχθεί το c. (Forward search attack)

28 halatsis@di.uoa.gr 28 Ασφάλεια του RSA Όσο πιο μεγάλο είναι το N (κλειδί), τόσο πιο μεγάλη η ασφάλεια. Από την άλλη, ο RSA γίνεται πιο αργός. Τα p, q πρέπει να έχουν μεγάλη διαφορά μεταξύ τους: αν η διαφορά p-q είναι μικρή, τότε p , και έτσι ο p (άρα και ο q) μπορούν να υπολογιστούν με δοκιμές. Ο 512-bit RSA-155 «έσπασε» μέσα σε 7 μήνες το 1999. Το RSA lab προτείνει σήμερα σαν μέγεθος κλειδιού τουλάχιστον 1024 bits.


Κατέβασμα ppt "1 Τα Προβλήματα TSP & RSA Σε αυτές τις διαφάνειες παρουσιάζουμε μια σύντομη παρουσίαση και ανάλυση για  το πρόβλημα του Περιοδεύοντα."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google