1 / 50

Γαλάνης Βασίλειος Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών Ε.Μ.Π.

Lattices και κρυπτογραφία: ένα εργαλείο για κρυπτανάλυση κρυπτοσυστημάτων και κρυπτογράφηση δεδομένων. Γαλάνης Βασίλειος Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών Ε.Μ.Π. Επιβλέπων : A . Παπαϊωάννου 2005. Το Knapsack Problem. Δεδομένα : Ένα σακίδιο χωρητικότητας Μ

sue
Download Presentation

Γαλάνης Βασίλειος Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών Ε.Μ.Π.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lattices και κρυπτογραφία:ένα εργαλείο για κρυπτανάλυση κρυπτοσυστημάτων και κρυπτογράφηση δεδομένων Γαλάνης Βασίλειος Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών Ε.Μ.Π. Επιβλέπων : A. Παπαϊωάννου 2005

  2. Το Knapsack Problem Δεδομένα : • Ένα σακίδιο χωρητικότητας Μ • ν συνεχή αντικείμενα βάρους το καθένα wiκαι αξίας pi όπου pi>0 και wi>0 (xiτο κλάσμα των αντικειμένων που μπαίνει στο σακίδιο) Ζητούμενα : Η μεγιστοποίηση του ολικού κόστους ,ενώ πρέπει να ικανοποιούνται και οι εξής περιορισμοί : ,

  3. Το Knapsack Problem O greedy αλγόριθμος που εφαρμόζεται γιατη λύση του Knapsack Problem δίνειβέλτιστη λύση με πολυπλοκότητα O(nlogn). ,

  4. Το Discrete Knapsack Problem Δεδομένα: • Ένα σακίδιο χωρητικότητας Μ • n διακριτά αντικείμενα βάρους το καθένα wiκαι αξίας pi όπου U={u1,u2,…,un} αντικείμενα με ακολουθία αποφάσεων αποφάσεων x1,x2,…,xn με xi{0,1} , που αντιστοιχούν στα u1,u2,…,un . Ζητούμενα: Η βέλτιστη ακολουθία αποφάσεων x1,x2,…,xn που αντιστοιχούν στα u1,u2,…,un έτσι ώστε :

  5. Το Discrete Knapsack Problem ToDKP επιλύεται με τον greedy αλγόριθμο merge-discard με τη βοήθεια της διαδικασίας Traceback. O αλγόριθμος έχει πολυπλοκότητα χώρου Ο(2n) όπως επίσης και χρονική πολυπλοκότητα Ο(2n). Άρα, ο παραπάνω αλγόριθμος δεν είναι αποδοτικός.

  6. TRIPARTITE MATCHING SAT 3SAT EXACT COVER BY 3-SETS DISCRETE KNAPSACK DKP και πολυπλοκότητα Για να αποδείξουμε ότι το DKP ανήκει στην κλάση NP-complete θα το ανήξουμε στο πρόβλημα SAT ακολουθώντας την εξής πορεία :

  7. DKP και πολυπλοκότητα Κάθε στιγμιότυπο του DKP μπορεί να λυθεί σε Ο(nΜ) χρόνο ,όπου n ο αριθμός των αντικειμένων και Μ το όριο του βάρους. Το DKP είναι πρόβλημα που έχει πλήρως πολυωνυμικού χρόνου σχήμα προσέγγισης με κατώφλι προσέγγισης 0. Άρα το DKP περιέχεται στην υποκλάση των ΝΡΟ προβλημάτων FPTAS.

  8. Το κρυπτοσύστημα Merkle-Hellman O αλγόριθμος δημιουργίας κλειδιών για τo βασικό M-H κρυπτοσύστημα : Περιληπτικά : κάθε οντότητα δημιουργεί ένα δημόσιο κλειδί και ένα αντίστοιχο ιδιωτικό κλειδί. 1. Ένας ακέραιος n σταθεροποιείται ως μια κοινή παράμετρος του συστήματος. 2. Κάθε οντότητα Α πρέπει να εκτελέσει τα παρακάτω βήματα 3-7. 3. Επιλέγουμε μια υπεραυξητική ακολουθία (b1,b2,…,bn) και modulusM τέτοιο ώστε Μ > b1+b2+…+bn 4. Επιλέγουμε ένα τυχαίο ακέραιο W , 1 ≤ W ≤ M-1, τέτοιο ώστε gcd(W,M)=1

  9. Το κρυπτοσύστημα Merkle-Hellman 5. Επιλέγουμε μια τυχαία μετάθεση π των ακεραίων {1,2,...,n} 6. Υπολογίζουμε για i=1,2,…,n 7. Το δημόσιο κλειδί του Α είναι (α1,α2,...,αn) και το ιδιωτικό κλειδί της Α είναι το (π,Μ,W(b1,b2,…,bn))

  10. Το κρυπτοσύστημα Merkle-Hellman O αλγόριθμος κρυπτογράφησης και αποκρυπτογράφησης του απλού Μ-Η κρυπτοσυστήματος : Περιληπτικά : ο Β κρυπτογραφεί ένα μήνυμα m για τον Α και ο Α το αποκρυπτογραφεί. 1. Κρυπτογράφηση : ο Β πρέπει να κάνει τα ακόλουθα : (α) Να πάρει το αυθεντικό δημόσιο κλειδί του Α. (β) Να αναπαραστήσει το μήνυμα m ως μια δυαδική συμβολοσειρά (string) μήκους n , m=m1m2…mn (γ) Να υπολογίσει τον ακέραιο c=m1α1+m2α2+...+mnαn (δ) Να στείλει το κρυπτοκείμενο c στον Α

  11. Το κρυπτοσύστημα Merkle-Hellman 2. Αποκρυπτογράφηση : για να ανακτήσει το απλό κείμενο m από το c , ο Α πρέπει να κάνει τα ακόλουθα : (α) Να υπολογίσει (β) Λύνοντας ένα υπεραυξητικό knapsack βρίσκει ακεραίους τέτοιους ώστε (γ) Τα bits του μηνύματος είναι Υπάρχει και το επαναληπτικό M-H κρυπτοσύστημα το οποίο χρησιμοποιεί μια σειρά από modular πολλαπλασιασμούς αντί για έναν για να κρύψει την υπεραυξητική ακολουθία.

  12. Το κρυπτοσύστημα Chor-Rivest Κατασκευή κλειδιών για το κρυπτοσύστημα C-H Περιληπτικά : κάθε οντότητα δημιουργεί ένα δημόσιο κλειδί και ένα αντίστοιχο ιδιωτικό κλειδί. Η οντότητα Α πρέπει να κάνει τα ακόλουθα : 1. Επιλέγει ένα πεπερασμένο σώμα με χαρακτηριστική p όπου q = ph , ph , για το οποίο το πρόβλημα διακριτού λογαρίθμου είναι επιλύσιμο. 2. Επιλέγει ένα τυχαίο μονικό ανάγωγο πολυώνυμο f(x) βαθμού h πάνω στο p . Τα στοιχεία του θα αναπαριστώνται ως πολυώνυμα στο p[x] βαθμού μικρότερου από h , πολλαπλασιάζοντας με modulof(x) 3. Επιλέγει ένα τυχαίο πρωταρχικό στοιχείο g(x) του σώματος

  13. Το κρυπτοσύστημα Chor-Rivest 4. Για κάθε βασικό στοιχείο της βάσης ip, βρίσκουμε το διακριτό λογάριθμο του βασικού στοιχείου (x+i) στη βάση g(x) 5. Επιλέγει μια τυχαία μετάθεση π πάνω στο σύνολο των ακεραίων {0,1,2,...,p-1}. 6. Επιλέγει ένα τυχαίο ακέραιο d, 0 ≤ d ≤ ph-2 7. Υπολογίζει 8. Το δημόσιο κλειδί του Α είναι ; Το ιδιωτικό του κλειδί είναι το (f(x),g(x),π,d) .

  14. Το κρυπτοσύστημα Chor-Rivest Αλγόριθμος κρυπτογράφησης και αποκρυπτογράφησης των Chor-Rivest Περιληπτικά : ο Β κρυπτογραφεί ένα μήνυμα m για τον Α και ο Α το αποκρυπτογραφεί. 1. Κρυπτογράφηση. Ο Β πρέπει να κάνει τα ακόλουθα : (α) Παίρνει την αυθεντική υπογραφή του Α (β) Αναπαριστά το μήνυμα m με ένα δυαδικό string μήκους όπου ένας δυωνυμικός συντελεστής.

  15. Το κρυπτοσύστημα Chor-Rivest (γ) Θεωρεί το m ως τη δυαδική αναπαράσταση ενός ακεραίου. Μετατρέπει αυτό τον ακέραιο σε ένα δυαδικό διάνυσμα μήκους p έχοντας ακριβώς h ‘1’ ως εξής: i. Θέτει lh. ii. Για i από το 1 στο p κάνει τα ακόλουθα: Αν τότε θέτει Αλλιώς θέτουμε Μi-10. (δ) Υπολογίζει (ε) Στέλνει το κρυπτοκείμενο στον Α.

  16. Το κρυπτοσύστημα Chor-Rivest 2. Αποκρυπτογράφηση. για να ανακτήσει το απλό κείμενο m από το c , ο Α πρέπει να κάνει τα ακόλουθα : (α) Υπολογίζει το r = (c – hd) mod (ph-1) (β) Υπολογίζει το u(x) = g(x)rmodf(x) (γ) Υπολογίζει το s(x) = u(x) + f(x), ένα μονικό πολυώνυμο βαθμού h πάνω στο p (δ) Παραγοντοποιούμε το s(x) σε γραμμικούς παράγοντες πάνω στο p : , όπου tjp (ε) Υπολογίζει το δυαδικό διάνυσμα ως ακολούθως. Τα στοιχεία του Μ τα οποία είναι 1 έχουν ακεραίους . Τα εναπομείναντα στοιχεία είναι 0.

  17. Το κρυπτοσύστημα Chor-Rivest (ζ) Το μήνυμα ανακτάται ως εξής : i. Θέτει m0 , lh. ii. Για i από το 1 στο p κάνει τα ακόλουθα: Αν , τότε θέσε

  18. Παράδειγμα λειτουργίας του κρυπτοσύστηματος Chor-Rivest Κατασκευή κλειδιών. Η οντότητα Α κάνει τα εξής : 1. Επιλέγει p = 7 και h = 4 2. Επιλέγει το ανάγωγο πολυώνυμο f(x)=x4+3x3+5x2+6x+2 βαθμού 4 πάνω στο 7 . Τα στοιχεία του πεπερασμένου σώματος αναπαριστώνται ως πολυώνυμα στο 7[x] βαθμού μικρότερου από 4, με πολλαπλασιασμό που εκτελείται modulof(x) 3. Επιλέγει το τυχαίο πρωταρχικό στοιχείο g(x)=3x3+3x2+6 4.Υπολογίζει τους ακόλουθους διακριτούς λογάριθμους :

  19. Παράδειγμα λειτουργίας του κρυπτοσύστηματος Chor-Rivest 5. Επιλέγει την τυχαία μετάθεση π πάνω στο {0,1,2,3,4,5,6},που ορίζεται από π(0)=6, π(1)=4, π(2)=0, π(3)=2, π(4)=1, π(5)=5, π(6)=3. 6. Επιλέγει τον τυχαίο ακέραιο d = 1702

  20. Παράδειγμα λειτουργίας του κρυπτοσύστηματος Chor-Rivest 7. Υπολογίζει 8. Το δημόσιο κλειδί του Α είναι ενώ το ιδιωτικό του κλειδί είναι (f(x),g(x),π,d).

  21. Παράδειγμα λειτουργίας του κρυπτοσύστηματος Chor-Rivest Κρυπτογράφηση. Για να κρυπτογραφήσει ένα μήνυμα m=22 για τον Α, ο Β κάνει τα ακόλουθα : (α) Παίρνει το αυθεντικό κλειδί του Α (β) Αναπαριστά το m ως ένα δυαδικό string μήκους 5 : m=10110. (γ) Μετατρέπει το m σε ένα δυαδικό διάνυσμα Μ = (1,0,1,1,0,0,1) μήκους 7. (δ) Υπολογίζει c=(c0+c2+c3+c4) mod2400 = 1521. (ε) Στέλνει το c = 1521 στον Α.

  22. Παράδειγμα λειτουργίας του κρυπτοσύστηματος Chor-Rivest Αποκρυπτογράφηση. Για να αποκρυπτογραφήσει το κρυπτοκείμενο c=1521, oA κάνει τα εξής : (α) Υπολογίζει r =(c-hd) mod2400 = 1913 (β) Υπολογίζει u(x) = g(x)1913modf(x) = x3+3x2+2x+5. (γ) Υπολογίζει s(x) = u(x) + f(x) = x4+4x3+x2+x. (δ) Παραγοντοποιεί s(x)=x(x+2)(x+3)(x+6) (ώστε t1=0, t2=2, t3=3, t4=6) (ε) Τα στοιχεία του Μ που είναι ‘1’ έχουν ακεραίους π -1 π -1(0)=2, π -1(2)=3, π -1(3)=6 και π -1(6)=0. Άρα Μ=(1,0,1,1,0,0,1) (ζ) Μετατρέπει το Μ στον ακέραιο m = 22 , ανακτώντας το κρυπτοκείμενο.

  23. Ορισμοί και ιδιότητες των lattices Ένα lattice ορίζεται ως μια διακριτή υποομάδα  του n-διάστατου Ευκλείδιου χώρου n δοθέν από , όπου τα είναι γραμμικώς ανεξάρτητα. Σ’αυτή τη περίπτωση τα διανύσματα λέμε ότι σχηματίζουν τη βάση για το lattice και τυπικά ένα lattice θα δίνεται από ένα nm πίνακα της μορφής :

  24. Ορισμοί και ιδιότητες των lattices Έστω =Βm ένα lattice με γεννήτορες τα διανύσματα βάσης .Τότε το στοιχειώδες παραλληλεπίπεδοτου  υπό το Β ορίζεται από : . Το πλάτος του παραλληλεπιπέδου Ρ(Β), δηλαδή το μέγιστο πάνω στα i του μήκους των προβολών των πάνω στο ορθογώνιο συμπλήρωμα του span( ,…, , ,…, ) Έστω =Βm ένα lattice. Τότε η ορίζουσα του , det(), ορίζεται από το m-διάστατο όγκο του Ρ(). Συγκεκριμένα εάν για το  ισχύει m = n τότε det()=|det(B)|

  25. Ορισμοί και ιδιότητες των lattices Η ορίζουσα του =Βm δεν εξαρτάται από την επιλογή της βάσης Β και δίνεται από Το δυϊκό lattice είναι ένα πλήρως διαστατικό lattice, συμβ. * , που αποτελείται από όλα τα διανύσματα που το εσωτερικό τους γινόμενο με όλα τα διανύσματα στο  είναι ακέραιο, δηλαδή.

  26. Ορισμοί και ιδιότητες των lattices Έστω =Βm ένα lattice. Τότε η βάση Β για  είναι Minkowski-ανηγμένη αν δεν υπάρχει μη μηδενικό διάνυσμα στο  το οποίο να είναι μικρότερο από το και γενικότερα να μην υπάρχει μη μηδενικό διάνυσμα στο  το οποίο να είναι μικρότερο από και να μην περιέχεται στο span(,…,) έτσι ώστε τα ,…,να μπορούν να επεκταθούν σε βάση του . Έστω =Βm ένα lattice. Τότε η βάση Β για το  λέγεται LLL-ανηγμένη αν και όπου δ=1

  27. Ορισμοί και ιδιότητες των lattices Έστω ,…, μια LLL-ανηγμένη βάση για ένα latticen και έστω ,…,  γραμμικώς ανεξάρτητα σημεία του lattice. Τότε για 1 ≤ i ≤ t.

  28. Provably hard lattice προβλήματα Δοθέντος ενός lattice=Βm, το Πρόβλημα Ελαχίστου Διανύσματος (ShortestVectorProblem - SVP) είναι το να βρεθεί το ελάχιστο μη μηδενικό διάνυσμα στο . Δοθέντος ενός lattice=Βm, το Πρόβλημα Πλησιέστερου Διανύσματος (ClosestVectorProblem – CVP) είναι το να βρεθεί το πιο κοντινό σημείο του lattice στο διάνυσμα .

  29. Provably hard lattice προβλήματα Έστω ότι g (η συνάρτηση χάσματος) είναι μια παράμετρος η οποία μπορεί να ποικίλει ως μια συνάρτηση της διάστασης του υπό εξέταση lattice. Ορίζουμε το πρόβλημα GapSVPg από τα ακόλουθα : • (V,d) είναι ένα YES στιγμιότυπο για το GapSVPg εαν V μια βάση για ένα lattice στο n και d τέτοιο ώστε για κάποια . • (V,d) είναι ένα ΝΟ στιγμιότυπο για το GapSVPg εαν V μια βάση για ένα lattice στο n και d τέτοιο ώστε για όλα τα .

  30. Provably hard lattice προβλήματα Έστω ότι g (η συνάρτηση χάσματος) είναι μια παράμετρος η οποία μπορεί να ποικίλει ως μια συνάρτηση της διάστασης του υπό εξέταση lattice. Ορίζουμε το πρόβλημα GapCVP΄gαπό τα ακόλουθα : • είναι ένα YES στιγμιότυπο για το GapCVP΄g εαν , και τέτοια ώστε για κάποια . • είναι ένα ΝΟ στιγμιότυπο για το GapCVP΄g εαν , και τέτοια ώστε για όλα τα και όλα τα .

  31. Lattice αναγωγή και ο αλγόριθμος L3 Ο αλγόριθμος του Gauss: έστω η βάση για ένα 2-διάστατο lattice. Ο παρακάτω αλγόριθμος μας δίνει ένα Minkowski-ανηγμένο lattice σε πολυωνυμικά πολλές επαναλήψεις. ifthen swap; while or do if then swap; end while return

  32. Lattice αναγωγή και ο αλγόριθμος L3 Αλγόριθμος LLL αναγωγή βάσης Ο ακόλουθος αλγόριθμος υπολογίζει μια LLL-ανηγμένη βάση για =Βn σε πολυωνυμικά πολλές επαναλήψεις. LLL( , ..., ) Υπολογίζουμε την ορθογώνια Gram-Schmidt βάση ,…, ; ; k=2 ; while k ≤ m do if then sizereduce(k);

  33. Lattice αναγωγή και ο αλγόριθμος L3 if then swap(k); if k > 2 then k = k-1; else k = k+1; end if end while end LLL

  34. Lattice αναγωγή και ο αλγόριθμος L3 Υπορουτίνα Size Reduction sizereduce=(k) i = 1; while i < k do i = i + 1; end while end sizereduce

  35. Lattice αναγωγή και ο αλγόριθμος L3 Υπορουτίνα Swap swap(k) Eναλλάσουμε μεταξύ τους τα και ; Τ = Βk ; ; Εκτελούμε ταυτόχρονα τις παρακάτω αναθέσεις \\Ενημερώνουμε τους Gram-Schmidt συντελεστες

  36. Lattice αναγωγή και ο αλγόριθμος L3 i – 1 ; while i ≤ k – 2 do Αλλάζουμε μεταξύ τους τα και end while i = k + 1 ; whilei ≤ndo Ταυτόχρονα εκτελούμε τις παρακάτω εργασίες end while end swap

  37. Το κρυπτοσύστημαGoldreich-Goldwasser-Halevi H γενική αρχή λειτουργίας έχει ως εξής : το δημόσιο κλειδί είναι μια φτωχή lattice βάση (δηλαδή μια βάση με μακριά διανύσματα) και το ιδιωτικό κλειδί είναι η ανηγμένη βάση του ίδιου lattice. Η κρυπτογράφηση πραγματοποιείται παίρνοντας το ένα σημείο του lattice που ανταποκρίνεται στο απλό κείμενο και εφαρμόζουμε πάνω του μια μικρή τυχαία διαταραχή έτσι ώστε να πάρουμε ένα σημείο εκτός του lattice, του οποίου το πλησιέστερο σημείο στο lattice να είναι το σημείο του απλού κειμένου. Άρα τα κρυπτοκείμενα είναι στιγμιότυπα του CVP και η ασφάλεια του ιδιωτικού κλειδιού εξαρτάται από τη δυσκολία της εύρεσης μιας αρκετά ανηγμένης βάσης του lattice.

  38. Το κρυπτοσύστημαGoldreich-Goldwasser-Halevi Oι κρυπτογραφήσεις αποκαλύπτουν πληροφορίες για τα απλά κείμενα modulo 2σ, μια παρατήρηση που μας επιτρέπει να απλοποιήσουμε το στιγμιότυπο του CVP που παρουσιάζεται από ένα κρυπτοκείμενο και συνεπώς να αποκρυπτογραφήσουμε μηνύματα χρησιμοποιώντας μια βάση του  που δεν είναι ανάγκη να είναι ανηγμένη στην ιδιωτική βάση R. Σκοπός μας είναι να μειώσουμε το διάνυσμα σφάλματος έτσι ώστε να έχουμε προς επίλυση ένα ευκολότερο στιγμιότυπο του CVP.

  39. Το κρυπτοσύστημα Ajtai-Dwork Το κρυπτοσύστημα Ajtai-Dwork έχει ιδιωτικό κλειδί ένα τυχαίο διάνυσμα μέσα από μια n-διάστατη μπάλα μήκους 1 και δημόσιο κλειδί μια κατανομή που τα διανύσματα της (,...,) να σχηματίζουν ένα παραλληλεπίπεδο που το πλάτος του να είναι μεγαλύτερο από όριο τέτοιο ώστε η ασφάλεια του κρυπτοσυστήματος να είναι το ίδιο δύσκολη με το πρόβλημα .

  40. Το κρυπτοσύστημα Ajtai-Dwork Η κρυπτογράφηση εκτελείται κατά ένα bit τη φορά με κατάλληλα ανάθεση τιμών στα ‘0’ και ‘1’ bits του απλού κειμένου και η αποκρυπτογράφηση γίνεται με υπολογισμό του και έλεγχο της απόστασης του κρυπτογραφημένου bit σε σχέση με το bit απλού κειμένου με μεγάλη πιθανότητα σωστής αποκρυπτογράφησης. Η αδυναμία του κρυπτοσυστήματος είναι η εκτέλεση της κρυπτογράφησης κατά ένα bit τη φορά όπου και δείχθηκε ότι είναι ασφαλές μόνο για άβολα μεγάλες παραμέτρους.

  41. Το κρυπτοσύστημα NTRU Όλοι οι υπολογισμοί πραγματοποιούνται στο δακτύλιο όπου q απεικονίζει τους ακεραίους moduloq. Ιδιωτικό κλειδί : ένα τυχαίο στοιχείο ( df, df -1) με (α,b)={ f| f έχει α συντελεστές ίσους με 1, b ίσους με -1 και όλους τους υπόλοιπους ίσους με 0} Δημόσιο κλειδί : h=f-1*g όπου . Κρυπτογράφηση : με Αποκρυπτογράφηση : με κατάλληλη επιλογή παραμέτρων εφαρμόζουμε και παίρνουμε και άρα το m.

  42. Το κρυπτοσύστημα NTRU Οι επιθέσεις τωνCoppersmith και Shamir και αυτή του May προσπαθούν να παρουσιάσουν το NTRU ως μια μορφή lattice και χρησιμοποιώντας το Coppersmith-Shamir lattice να φτιάξουν μια κατάλληλη lattice κατασκευή την οποία και χρησιμοποιούν για να επιτεθούν στο NTRU.

  43. Επίθεση στο κρυπτοσύστημα Μerkle-Hellman με χρήση του αλγόριθμου LLL Οι δυο επιθέσεις κατά του κρυπτοσυστήματος Μ-Η που παρουσιάζουμε είναι : • Η επίθεση του Shamir : Με χρήση του αλγόριθμου LLL προσεγγίζει τα στοιχεία U και Μ του ιδιωτικού κλειδιού μέσα σε ένα αρκετά μικρό διάστημα σε πολυωνυμικό χρόνο. • Η επίθεση χαμηλής πυκνότητας των Lagarias-Odlyzko : Με τρέξιμο του αλγόριθμου LLL στη βάση V των βαρών α1,...,αn ελέγχοντας αν στην ανηγμένη βάση που παίρνουμε έχουμε διάνυσμα που να έιναι η λύση.

  44. Επίθεση στο κρυπτοσύστημα Μerkle-Hellman με χρήση του αλγόριθμου LLL Ακολουθεί ένα σύντομο παράδειγμα ‘σπασίματος’ του βασικού κρυπτοσυστηματος Merkle-Helman : Έστω ότι έχουμε ένα ιδιωτικό knapsack : • S = [2, 5, 9, 21, 45, 103, 215, 450, 946] που είναι το ιδιωτικό μας κλειδί; • p = 2003; • m = 1289; και άρα, m-1 = 317. Το δημόσιο knapsack: • ti = 1289 *si mod 2003 • οπότε T = [575, 436, 1586, 1030, 1921, 569, 721, 1183, 1570] που είναι το δημόσιο μας κλειδί.

  45. Επίθεση στο κρυπτοσύστημα Μerkle-Hellman με χρήση του αλγόριθμου LLL Θα κρυπτογραφήσουμε το 101100111 ως 575 + 1586 + 1030 + 721 + 1183 + 1570 = 6665. Ο δέκτης υπολογίζει 6665 * 317 mod 2003 = 1643 και χρησιμοποιεί το S για να βρει το απλό κείμενο. Αυτό γίνεται με το να κατασκευάσουμε το binary string απόδεξιά προς τα αριστερά : 1643 - 946(1) = 697; 697 - 450(1) = 247; 247 - 215(1) = 32; 32 - 45(0) = 32;

  46. Επίθεση στο κρυπτοσύστημα Μerkle-Hellman με χρήση του αλγόριθμου LLL 32 - 21(1) = 11; 11 - 9(1) = 2; 2 - 5(0) = 2; 2 - 2(1) = 0. 2 - 2(1) = 0. Παίρνουμε πίσω το αρχικό μήνυμα 101100111. Ο επιτιθέμενος γνωρίζει : • το δημόσιο κλειδί T = [575, 436, 1586, 1030, 1921, 569, 721, 1183, 1570] • και το κρυπτοκείμενο 6665

  47. Επίθεση στο κρυπτοσύστημα Μerkle-Hellman με χρήση του αλγόριθμου LLL Ο επιτιθέμενος θέλει να βρει ένα xi στο {0, 1} τέτοιο ώστε 575x0+ + 436x1 + 1586x2 + 1030x3 + 1921x4 + 569x5 + 721x6 + 1183x7 + 1570x8 = 6665. Αυτό μπορεί να γραφεί ως T * X = 6665. Ας ξαναγράψουμε το πρόβλημα ως M * V = W όπου

  48. Επίθεση στο κρυπτοσύστημα Μerkle-Hellman με χρήση του αλγόριθμου LLL Η λύση είναι το μικρότερο διάνυσμα του lattice που παράγεται από τις στήλες του Μ και εκεί είναι που χρησιμοποιούμε τον αλγόριθμο LLL για να βρούμε τη λύση. Ο πίνακας Μ΄ είναι το αποτέλεσμα της εφαρμογής του LLL πάνω στον Μ.

  49. Επίθεση στο κρυπτοσύστημα Chor-Rivest με χρήση του αλγόριθμου LLL Πυκνότητα : ορίζουμε ως πυκνότητα ενός συνόλου βαρών a = (α1, ..., αn) ως Οι τρεις επιθέσεις που παρουσιάζονται είναι οι : • Επίθεση με γνωστή τη π (Odlyzko) • Επίθεση χωρίς τίποτα γνωστό (Brickell) • Επίθεση χαμηλής πυκνότητας (Lagarias-Odlyzko)

  50. ΤΕΛΟΣ !

More Related