Επίθεση του Βίνερ

Η επίθεση του Βίνερ, όπως ονομάστηκε από τον κρυπτολόγο Μάικλ Τζ. Βίνερ, είναι ένα είδος κρυπτογραφικής επίθεσης εναντίον του κρυπτοσυστήματος RSA. Η επίθεση χρησιμοποιεί την μέθοδο των συνεχών κλασμάτων για τον εντοπισμό του ιδιωτικού κλειδιού d, όταν αυτό είναι μικρό.

Μια ματιά στον αλγόριθμο του RSA 
Προτού γίνει αναφορά στον τρόπο που λειτουργεί η επίθεση του Βίνερ, θα παρουσιαστεί σύντομα ο τρόπος λειτουργίας του κρυπτοσυστήματος RSA. Για περισσότερες λεπτομέρειες, υπάρχει και το κύριο λήμμα RSA.

Γίνεται η υπόθεση ότι η Άλις και ο Μπομπ είναι δύο άτομα που θέλουν να επικοινωνήσουν με ασφάλεια. Πιο συγκεκριμένα, η Άλις θέλει να στείλει ένα μήνυμα στον Μπομπ, το οποίο μόνον ο Μπομπ θα μπορεί να διαβάσει. Αρχικά, ο Μπομπ επιλέγει δύο πρώτους αριθμούς p και q και υπολογίζει τον αριθμό N = pq. Αυτός ο αριθμός γίνεται γνωστός (δημόσιος) μαζί με τον δείκτη κρυπτογράφησης e, ενώ τα N και e διαμορφώνουν το δημόσιο κλειδί (e,N). Με αυτόν τον τρόπο, οποιοσδήποτε μπορεί να κρυπτογραφήσει κάποιο μήνυμα για τον Μπομπ. Ο δείκτης αποκρυπτογράφησης d ικανοποιεί τη συνθήκη , ὀπου , είναι η  συνάρτηση  του Όιλερ. (σημείωση: αυτή είναι η τάξη της πολλαπλασιαστικής ομάδας ). Ο δείκτης κρυπτογράφησης e και η τιμή του  πρέπει επίσης να είναι σχετικά πρώτοι (πρώτοι μεταξύ τους) ώστε να υπάρχει αντίστροφη επεκτασιμότητα . 

Η παραγοντοποίηση του N και το ιδιωτικό κλειδί d παραμένουν κρυφά, ώστε μόνον ο Μπομπ να μπορεί να αποκρυπτογραφήσει το μήνυμα. Το ιδιωτικό κλειδί ορίζεται ως (d,N). Η κρυπτογράφηση του μηνύματος M δίνεται από τον τύπο  και η αποκρυπτογράφηση του κρυπτογραφημένου μηνύματος  δίνεται από τον τύπο  (με χρήση του μικρού θεωρήματος του Φερμά).

Με χρήση του Ευκλείδιου αλγορίθμου, μπορεί να γίνει αποτελεσματική ανάκτηση του κρυφού κλειδιού d, αν είναι γνωστή η παραγοντοποίηση του N. Αν κάποιος έχει στην κατοχή του το κρυφό κλειδί d, μπορεί να παραγοντοποιήσει τον ακέραιο Ν.

Χρήση Μικρού Ιδιωτικού Κλειδιού 
Στο κρυπτοσύστημα του RSA, ο Μπομπ μπορεί να προτιμήσει να κάνει χρήση μιας μικρής τιμής του d, παρά μιας μεγαλύτερης τυχαίας, με σκοπό να βελτιώσει την απόδοση της αποκρυπτογράφησης του RSA. Ωστόσο, η επίθεση του Βίνερ αναδεικνύει το γεγονός ότι η χρήση μιας μικρής τιμής d  έχει ως αποτέλεσμα ένα μη ασφαλές σύστημα, στο οποίο ο επιτιθέμενος μπορεί να ανακτήσει όλες τις κρυφές πληροφορίες και να "σπάσει" το σύστημα RSA. Αυτό είναι κάτι που βασίζεται στο Θεώρημα του Βίνερ, το οποίο ισχύει για μικρές τιμές του d. Ο Βίνερ έχει αποδείξει ότι ο επιτιθέμενος μπορεί να βρει (σε πολυωνυμικό χρόνο) το d όταν ισχύει .

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

Επιλογή μεγάλου δημοσίου κλειδιού:  Αντικαθιστώντας   με , όπου    για κάποια μεγάλη τιμή του . Όταν η τιμή του  είναι αρκετά μεγάλη, για παράδειγμα , τότε η επίθεση του Βίνερ δεν μπορεί να εφαρμοστεί, ανεξαρτήτως με το πόσο μικρή είναι η τιμή του .

Χρήση του Κινέζικου Θεωρήματος Υπολοίπου: Γίνεται η υπόθεση ότι κάποιος επιλέγει d ώστε αμφότερα τα  και  να έχουν μικρές τιμές χωρίς όμως να είναι μικρή και η τιμή του . Με βάση αυτό, μια γρήγορη αποκρυπτογράφηση του  μπορεί να γίνει ακολούθως:

Αρχικά υπολογίζονται τα  και .
Με χρήση του Κινέζικου Θεωρήματος Υπολοίπου υπλογίζεται η μοναδική τιμή του  που ικανοποιεί τις σχέσεις   και . Το αποτέλεσμα του  ικανοποιεί τη σχέση  όπως θα έπρεπε. Το αξιοσημείωτο είναι ότι η επίθεση του Βίνερ δεν εφαρμόζεται εδώ, διότι η τιμή του  μπορεί να είναι μεγάλη.

Τρόπος λειτουργίας της επίθεσης του Βίνερ 
Δεδομένου ότι:

,

υπάρχει ένας ακέραιος K ώστε:

Θέτοντας  και αντικαθιστώντας τη σχέση αυτή στην παραπάνω εξίσωση προκύπτει:

Θέτοντας  και , αντικαθιστώντας παραπάνω:

.
Διαιρώντας με : 
, όπου .

Έτσι, η τιμή του  είναι λίγο μικρότερη από αυτή του , όπου η τελευταία τιμή αποτελείται εξ ολοκλήρου από δημόσια πληροφορία. Ωστόσο, είναι αναγκαία μία μέθοδος ελέγχου της πρόβλεψης. Υποθέτοντας ότι  (μία λογική υπόθεση, εκτός αν η τιμή του  είναι μεγάλη) η τελευταία εξίσωση παραπάνω μπορεί να γραφεί ως :  

Με χρήση απλών αλγεβρικών μεθόδων και ταυτοτήτων, μια πρόβλεψη μπορεί να χρησιμοποιηθεί για την ακρίβεια του αποτελέσματος.

Το θεώρημα του Βίνερ 
Ισχύει  με . Ισχύει . 
Δεδομένου  με , ο επιτιθέμενος μπορεί να ανακτήσει αποτελεσματικά .

Παράδειγμα 
Έστω το δημόσιο κλειδί .
Ο επιτιθέμενος πρέπει να αποφασίσει για την τιμή του . 
Με χρήση του Θεωρήματος του Βίνερ και των συνεχών κλασμάτων για την προσέγγιση του , πρώτα γίνεται προσπάθεια εύρεσης του συνεχούς κλάσματος .

Σημειώνεται ότι αυτός ο αλγόριθμος βρίσκει το συνεχές κλάσμα στους χαμηλότερους όρους.
Είναι γνωστό ότι:

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

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

Τώρα, επιλύοντας την εξίσωση

προκύπτουν οι ρίζες οι οποίες είναι . Άρα, η παραγοντοποίηση είναι πλέον γνωστή.

.
Επισημαίνεται ότι για το ακέραιο υπόλοιπο του , το Θεώρημα του Βίνερ θα είναι αποτελεσματικό εάν 
.

Απόδειξη του Θεωρήματος του Βίνερ 
Η απόδειξη βασίζεται σε προσεγγίσεις με χρήση συνεχών κλασμάτων.

Δεδομένου ότι , υπάρχει μία τιμή  ούτως ώστε . Επομένως

.

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

 και , προκύπτει:

Χρησιμοποιώντας  στην θέση του , η σχέση γίνεται:

Τώρα ισχύει, , ώστε . Δεδομένου ότι , ώστε , η σχέση γίνεται:   

Δεδομένου  και .
Ως εκ τούτου η σχέση γίνεται:

 (1) 

Δεδομένου ότι  τότε , προκύπτει:

, ώστε (2) 
Από τις σχέσεις (1) και (2), συμπεραίνεται ότι:

Επομένως από το θεώρημα του Λεζάντρ, το k/d είναι ένα συγκλίνων κλάσμα του e/n.

Εξωτερικοί Σύνδεσμοι 
 Coppersmith, Don (1996). Low-Exponent RSA with Related Messages. Springer-Verlag Berlin Heidelberg.
 Jose, Justin (2010). Study of RSA and Proposed Variant Against Wiener's Attack. International Journal of Computer Applications.
 Dujella, Andrej (2004). Continued Fractions and RSA with Small Secret Exponent.
 Cui, Xiao-lei (2005). Attack On the RSA Cryptosystem.

Κρυπτογραφία