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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Αλγόριθμοι σχεδίασης βασικών 2D σχημάτων (ευθεία)
Advertisements

Γραφήματα & Επίπεδα Γραφήματα
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Πιθανοκρατικοί Αλγόριθμοι
Ασκήσεις Συνδυαστικής
Διακριτά Μαθηματικά ΙI Δέντρα
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
1 Τα Προβλήματα TSP & RSA Σε αυτές τις διαφάνειες παρουσιάζουμε μια σύντομη ανάλυση  του προβλήματος του Περιοδεύοντα Πωλητή (Traveling.
Εισαγωγή στην Κρυπτογραφία
Διάλεξη 16: Πρόβλημα Συμφωνίας ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι.
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Η Μέθοδος RSA  Υποθέτουμε πως δυο άτομα ο Α και ο Β θέλουν να ανταλλάξουν μεταξύ τους κάποιο μήνυμα Μ, το οποίο θέλουν να κρυπτογραφήσουν για λόγους ασφαλείας.
Page  1 Ο.Παλιάτσου Γαλλική Επανάσταση 1 ο Γυμνάσιο Φιλιππιάδας.
Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Συστολικοί επεξεργαστές.
Αλγόριθμοι και Πολυπλοκότητα
11-1 ΜΑΘΗΜΑ 12 ο Γράφοι, Διάσχιση Γράφων Υλικό από τις σημειώσεις Ν. Παπασπύρου, 2006.
Κεφάλαιο 2ο Πεπερασμένα αυτόματα.
Γραφήματα & Επίπεδα Γραφήματα
Διαίρει και Βασίλευε πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Συναρτησιακές Εξαρτήσεις.
Β΄ ΓΕΛ ΕισΑρχΕπ Η/Υ παρ – 2.2.5
Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α.
1 Θεματική Ενότητα Γραφήματα & Επίπεδα Γραφήματα.
Προσεγγιστικοί Αλγόριθμοι
Henric Johnson1 Κεφάλαιο 3 Κρυπτογραφία δημόσιου κλειδιού και πιστοποίηση αυθεντικότητας μηνυμάτων Henric Johnson Blekinge Institute of Technology, Sweden.
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Αριθμοθεωρητικοί Αλγόριθμοι TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Αλγόριθμοι που επεξεργάζονται.
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Χειριζόμαστε ένα σύνολο στοιχείων όπου το κάθε.
Ανάλυση Πολλαπλής Παλινδρόμησης
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου.
Γράφοι: Προβλήματα και Αλγόριθμοι
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι12-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος του Prim και ο αλγόριθμος του Kruskal.
Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο1 Άπληστοι αλγόριθμοι βελτιστοποίησης Προβλήματα βελτιστοποίησης λύνονται με μια σειρά επιλογών.
ΓΕΝΙΚΕΣ ΟΔΗΓΙΕΣ ΔΙΔΑΣΚΑΛΙΑΣ & ΕΝΔΕΙΚΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΛΗΣ
Μοντέλα Συστημάτων Παρουσιάσεις των συστημάτων των οποίων οι απαιτήσεις αναλύονται.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 9: Αντιστοιχίσεις και καλύμματα Data Engineering Lab.
Προσεγγιστικοί Αλγόριθμοι για NP-Δύσκολα Προβλήματα
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
“ Ἡ ἀ γάπη ἀ νυπόκριτος. ἀ ποστυγο ῦ ντες τ ὸ πονηρόν, κολλώμενοι τ ῷ ἀ γαθ ῷ, τ ῇ φιλαδελφί ᾳ ε ἰ ς ἀ λλήλους φιλόστοργοι, τ ῇ τιμ ῇ ἀ λλήλους προηγούμενοι.
Cryptography and Network Security Chapter 9
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
ΠΡΟΒΛΗΜΑΤΑ ΡΟΩΝ ΣΕ ΔΙΚΤΥΑ (κατευθυνομενα γραφηματα)
ΜΑΘΗΜΑ ΝΟΣΗΛΕΥΤΙΚΗ ΜΕΤΑΓΓΙΣΗ ΑΙΜΑΤΟΣ - ΑΙΜΟΔΟΣΙΑ
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Ελάχιστο Συνδετικό Δέντρο
Δομές Δεδομένων - Ισοζυγισμένα Δυαδικά Δένδρα (balanced binary trees)
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες:
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 2: Μονοπάτια και Κύκλοι (Hamilton) Data Engineering Lab.
1 Βάσεις Δεδομένων ΙI Επιμέλεια: ΘΟΔΩΡΗΣ ΜΑΝΑΒΗΣ SQL (3 από 3) T Manavis.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 4: Συνδεσμικότητα Data Engineering Lab 1.
Υπολογιστική Πολυπλοκότητα Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος Dijkstra για εύρεση βραχυτέρων μονοπατιών.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές TSP, Μέτρα κεντρικότητας, Dijkstra Data Engineering Lab.
Συνδεσμικότητα ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 4: Συνδεσμικότητα.
Lattices και κρυπτογραφία: ένα εργαλείο για κρυπτανάλυση κρυπτοσυστημάτων και κρυπτογράφηση δεδομένων Γαλάνης Βασίλειος Σχολή Εφαρμοσμένων Μαθηματικών.
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Εισαγωγή στην Κρυπτογραφία Εργαστηριακό σεμινάριο Άνοιξη 2007.
S/MIME Στα πρώτα στάδια ανάπτυξης η εφαρμογή υποστήριζε αποκλειστικά τη μεταφορά κειμένου μεταξύ των χρηστών Το πρωτόκολλο MIME (Multipurpose Internet.
Προχωρημένα Θέματα Δικτύων
Relations Chapter 9.
Διδάσκων: Δρ. Γενειατάκης Δημήτρης
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Κεφάλαιο 9ο
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Μεταγράφημα παρουσίασης:

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

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

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 TSP – Αλγόριθμος Χριστοφίδη Green lines = minimum spanning tree (MST) Blue dashed lines = minimum weight matching (MWM) Orange dashed lines = Euler tour Παράκαμψη Red lines = TSP tour

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

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

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

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

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

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, (see the blue dashed lines)

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: (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: (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 Κύκλος 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 Σχηματική αναπαράσταση Χρήστης A Χρήστης B Κρυπτογράφηση με το δημόσιο κλειδί του B Αποκρυπτογράφηση με το ιδιωτικό κλειδί του B Κρυπτογραφημένο μήνυμα Κρυπτογράφηση με το δημόσιο κλειδί του A Αποκρυπτογράφηση με το ιδιωτικό κλειδί του A Κρυπτογραφημένο μήνυμα

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

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 Υπολογιστικά δύσκολα προβλήματα που χρησιμοποιούνται στην κρυπτογραφία (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 Αλγόριθμος RSA Πήρε το όνομά του από τους εμπνευστές του Rivest, Shamir, Adleman. Kάθε χρήστης διαλέγει τυχαία δύο πολύ μεγάλους πρώτους αριθμούς p, q, και υπολογίζει το γινόμενο N=pq.  Το N θα πρέπει να αποτελείται τουλάχιστον από 200 ψηφία και μπορεί να δημοσιοποιηθεί  Τα p και q κρατούνται μυστικά.

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 Επεκταμένος αλγόριθμος του Ευκλείδη Για δοθέντα 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· = 2668  17·156 17=1· = 17  1 ·16= 17  1 · (2668  17 ·156) = (  1)· ·157 Άρα, 17 · 157 = 1 mod φ(2668) Δημόσιο κλειδί : (Ν,e) = (2773, 17) Ιδιωτικό κλειδί: d = 157

20 Παράδειγμα ειδικό για τον RSA (με αντιστοίχηση στα βήματα του συνήθη) Πιο απλή μέθοδος! Έστω p=47, q=59, N=pq=2773, φ(Ν)=(p -1)(q -1)=2668, e=17 Τα βήματα του επεκταμένου αλγορίθμου του Ευκλείδη περιγράφονται πιο απλά με βάση τα βήματα του συνήθη αλγορίθμου, όπως φαίνεται στο παράδειγμα Συνήθης Επεκταμένος 2668 = 17· = 2668  17·156 17=1· = 17  1 ·16= 17  1 · (2668  17 ·156) = (  1)· ·157 Άρα, 17 · 157 = 1 mod φ(2668)

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 Αλγόριθμος 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 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 ≡ (mod 2773)

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

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 ≡ (mod 2773) Αποκρυπτογράφηση: m ≡ c d (mod N) 31 ≡ (mod 2773)

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 Επιθέσεις εναντίον RSA Παραγοντοποίηση του N στους πρώτους παράγοντές του p και q. Ο επιτιθέμενος θα μπορεί έτσι να υπολογίσει το d. (πρόβλημα factoring). Αν το πλήθος των πιθανών μηνυμάτων δεν είναι μεγάλο, ο επιτιθέμενος μπορεί να αποκρυπτογραφήσει το c κάνοντας απλά εξαντλητικό έλεγχο κρυπτογραφώντας όλα τα πιθανά μηνύματα, μέχρι να παραχθεί το c. (Forward search attack)

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