Ελληνικό Ανοικτό Πανεπιστήµιο Σπουδές στην Πληροφορική Μια σύντοµη διαδροµή στα µονοπάτια της σύγχρονης κρυπτογραφίας Γιάννης Κ. Σταµατίου ΣΕΠ ΠΛΗ 10 Πάτρα, Ιουνιος 2003
Τι θα εξετάσουµε Πώς η κρυπτογραφία µεταµορφώθηκε µέσα από τη θεωρία της υπολογιστικής πολυπλοκότητας από µία τέχνη µε ευρετικούς κανόνες σε µία επιστήµη ικανή να εγγυηθεί για την ασφάλεια των µεθόδων απόκρυψης που προσφέρει Τα καινούρια πεδία εφαρµογής των κρυπτογραφικών µεθόδων στη µοντέρνα κοινωνία Τις πιθανές απειλές για την κρυπτογραφία που προέρχονται από (καµιά φορά <<εξωτικούς>>) τρόπους επίθεσης, ικανών να παρακάµψουν τις εγγυήσεις
Κρυπτογραφία: η µεταµόρφωση µιας τέχνης σε επιστήµη Πρώτη (γνωστή) κρυπτογραφική εφαρµογή: : ένα κείµενο του 1500 π.χ. στη Βαβυλώνα Μυστικό: προς απόκρυψη: σύνθεση ενός νέου σµάλτου για την κατασκευή αγγείων Τρόπος κρυπτογράφησης: απεικόνιση των χαρακτήρων της γλώσσας του αγγειοπλάστη σε άλλους δικής του έµπνευσης Ασφάλεια: η <<διαίσθηση>> ότι η αντιστροφή της απεικόνισης είναι <<δύσκολη>>
Θεωρία Πολυπλοκότητας: η βάση της σύγχρονης κρυπτογραφίας Σήµερα είναι γνωστά χιλιάδες προβλήµατα που πιστεύεται (µε βάση ισχυρές µαθηµατικές ενδείξεις) ότι δεν µπορούν να επιλυθούν γρήγορα από υπολογιστές που ακολουθούν τον τρόπο υπολογισµού της Μηχανής Turing Η Θεωρία Πολυπλοκότητας,, διαντίδραση µεταξύ Επιστήµης Υπολογιστών και Μαθηµατικών,, είναι το στέρεο υπόβαθρο της Επιστήµης της Κρυπτογραφίας
Ένα δύσκολο πρόβληµα: το Πρόβληµα του Περιπλανώµενου Πωλητή Β Α Πόλη ρόµος
... και η λύση! Β Α Πόλη ρόµος
Εφαρµογές Κάθε εφαρµογή έχει ως δοµικό λίθο ένα δύσκολο υπολογιστικά πρόβληµα (που εικάζεται, όµως, ότι περιέχει πληθώρα δύσκολων στιγµιοτύπων): δυσκολία παραγοντοποίησης µεγάλων ακεραίων αριθµών εύρεση διακριτού λογάριθµου πρόβληµα τετραγωνικών υπολοίπων Όµως: η σύνδεση των δοµικών λίθων πρέπει να γίνεται µε µεθοδικότητα και προσοχή (ασφαλές πρωτόκολλο)
Ένας δηµοφιλής και πολύ βασικός δοµικός λίθος: το σχήµα RSA Πολλαπλασιασµός ακεραίων: εύκολο! 122 831 =? (? = 101383) Εύρεση πρώτων αριθµών που πολλαπλασιαζόµενοι δίνουν έναν δοσµένο ακέραιο: δύσκολο! (το περίφηµο πρόβληµα της παραγοντοποίησης) 415711=?? (? = 199,? = 2089) Η πράξη δεν είναι εύκολα αντιστρέψιµη, σε αντίθεση, π.χ.,., µε την πράξη + [1978, Rivest Shamir και Adleman]: το πρώτο πρακτικό σύστηµα κρυπτογράφησης µηνυµάτων δηµοσίου κλειδιού (βασισµένο στη δυσκολία παραγοντοποίησης µεγάλων ακεραίων αριθµών)
Μέθοδος: 1. Εύρεση µεγάλου ακεραίου, γινόµενο δύο πρώτων αριθµών 2. Κατασκευή µυστικού κλειδιού και δηµόσιου κλειδιού (θεωρία αριθµών!) 3. Όποιος επιθυµεί να στείλει κωδικοποιηµένο µήνυµα, το κάνει µε το δηµόσιο κλειδί 4. Μόνο όποιος έχει το αντίστοιχο µυστικό κλειδί µπορεί να αποκρυπτογραφήσει το µήνυµα! 5. Ανακάλυψη (δύσκολο!) των δύο πρώτων αριθµών υποκλοπή µηνυµάτων εύκολη!
Ηλεκτρονικές υπογραφές Αναγκαιότητα πιστοποίησης της ταυτότητας του αποστολέα ηλεκτρονικού εγγράφου, εφόσον οι διαπροσωπικές συναλλαγές φθίνουν Μέθοδος: 1. Ο αποστολέας κρυπτογραφεί το έγγραφο µε το µυστικό του κλειδί και το αποτέλεσµα το αποστέλλει µαζί µε το έγγραφο ως υπογραφή 2. Ο παραλήπτης χρησιµοποιεί το δηµόσιο κλειδί του αποστολέα για να αποκωδικοποιήσει την <<υπογραφή>> 3. Εάν πάρει πίσω το µήνυµα που του στάλθηκε τότε ο αποστολέας είναι αυτός που ισχυρίζεται ότι είναι
Κατανεµηµένη κρυπτογραφία ιαµοίραση ενός µυστικού σε έναν αριθµό ατόµων/κόµβων δικτύου, έτσι ώστε να πρέπει να βρεθούν µαζί ένας προκαθορισµένος αριθµός ατόµων (κατώφλι) για να είναι το µυστικό αναγνωρίσιµο Μέθοδος: (κατωφλικό σχήµα) 1. Το µυστικό αντιστοιχίζεται σε έναν ακέραιο αριθµό 2. Με βάση τον αριθµό, κατασκευάζεται ένα πολυώνυµο βαθµού όσο και το κατώφλι των ατόµων 3. Κάθε ατοµο παίρνει ένα ζεύγος τιµών που επαληθεύουν το πολυώνυµο 4. Πλήρης καθορισµός πολυωνύµου: συνεισφορά ζευγών τιµών τουλάχιστον τόσων ατόµων όσο ο βαθµός του πολυωνύµου (θεωρία αριθµών!)
Προληπτική κρυπτογραφία εν πρέπει να φθάσουµε σε παραβίαση της ασφάλειας για να λάβουµε µέτρα Παράδειγµα: Το κατωφλικό σχήµα Μέθοδος: Ανά τακτά διαστήµατα ανανέωση των ζευγών τιµών των ατόµων 1. Στο αρχικό πολυώνυµο προστίθεται ένα τυχαίο πολυώνυµο ίδιου βαθµού ώστε στο σηµείο 0 να παίρνει την τιµή 0 3. ιαµοίραση, πάλι, ζευγών τιµών 2. Το µυστικό παραµένει το ίδιο,, τα ζεύγη τιµών αλλάζουν
Κατηγορηµατική ασφάλεια Θα πρέπει να µην είναι δυνατόν να αποκαλύπτεται κάτι για το αρχικό µήνυµα (semantics( semantics),, δοθείσας της κωδικοποίησής του: δεν θα πρέπει να µεταφέρεται κάτι από το <<περιεχόµενο>> του αρχικού κειµένου Μοντέλο µαθηµατικό: υπολογισµός συνάρτησης το αρχικό µήνυµα µε βάση την κωδικοποίησή του Ένα απλό παράδειγµα: συνάρτηση XOR, µήνυµα που αποτελείται από τα φωνήεντα a, e, i, o, u. Συχνότητα 1/5 και <<µάντεµα >> ως τιµή του XOR η τιµή 1 3 στις 5 φορές επιτυχία! Μέθοδος: ασφάλεια σε επίπεδο bit, πιθανοκρατική κρυπτογραφία (η κωδικοποίηση κάθε bit εξαρτάται και από ρίψεις τίµιου νοµίσµατος), πρόβληµα τετραγωνικών υπολοίπων
Γεννήτριες ψευδοτυχαίων αριθµών Παραγωγή τυχαίων αριθµών µε υπολογιστή; <<Αµαρτωλή σκέψη>> κατά το µεγάλο µαθηµατικό του αιώνα µας John Von Neumann! Υπολογιστής σηµαίνει αλγόριθµος-µέθοδος µέθοδος υπολογισµού και µία µέθοδος δεν εµπεριέχει καµιά τυχαιότητα Όµως: Το αµέσως επόµενο καλύτερο πράγµα στην πλήρη αδυναµία πρόβλεψης είναι η δυσκολία πρόβλεψης
Ιδέα: παραγωγή αριθµών µε µία µέθοδο έτσι ώστε να είναι υπολογιστικά δύσκολο να µπορέσει κάποιος να µαντέψει τον επόµενο αριθµό που θα παραχθεί, δοθέντων των προηγούµενων αριθµών Εκµεταλλευόµαστε τη δυσκολία επίλυσης µερικών αριθµοθεωρητικών προβληµάτων (π.χ. παραγοντοποίηση µεγάλων ακεραίων, το πρόβληµα των τετραγωνικών υπολοίπων) Γεννήτριες RSA, BBS Σηµαντικό: Οι γεννήτριες αυτές είναι κρυπτογραφικά ασφαλείς Εφαρµογές: Τυχερά παιγνίδια, ένθεση υδατογραφηµάτων σε εικόνες κλπ.
ιαντιδραστικές αποδείξεις µηδενικής γνώσης Πώς πείθουµε κάποιον ότι γνωρίζουµε κάτι, που µε τόσο κόπο µάθαµε ή ανακαλύψαµε; Παράδειγµα: Πώς µπορούµε να αποδείξουµε σε κάποιον ότι γνωρίζουµε µία διαδροµή για τον περιπλανώµενο πωλητή χωρίς να την αποκαλύψουµε ιαντιδραστικές αποδείξεις,, µετάδοσης µηδενικής γνώσης: : πρωτόκολλα ανταλλαγής µηνυµάτων µεταξύ του έχοντα τη γνώση και αυτού που πρέπει να πειστεί, χωρίς να µάθει το µυστικό µας
Κβαντική κρυπτογραφία [Θεώρηµα του Werner Heisenberg, 1927] Είναι αδύνατο να καθοριστούν µε ακρίβεια ταυτόχρονα η ταχύτητα και η θέση ενός κβαντικού συστήµατος (π.χ.ηλεκτρονίου η φωτονίου) Ιδέα: Κωδικοποιούµε το ψηφίο 0 µε µία κάποιες από τις δυνατές προεπιλεγµένες καταστάσεις µίας ιδιότητας ενός π.χ. φωτονίου και το ψηφίο 1 µε τις υπόλοιπες Ιδιότητα: Πόλωση (γωνία διάδοσης φωτός - ηλεκτροµαγνητικού κύµατος) σε σχέση µε ένα επίπεδο αναφοράς
Οι εµπλεκόµενοι σε µία επικοινωνία µπορούν να χρησιµοποιήσουν πολωµένα φωτόνια για να κωδικοποιήσουν ψηφία 0 και 1 - κάποια από αυτά θα αποτελέσουν το κλείδί Ανταλλάσσουν τα κατάλληλα πολωµένα φωτόνια Ένας επίδοξος ωτακουστής προσπαθώντας να µετρήσει την πόλωση, παρεµβαίνει καταστρεπτικά (κβαντικός νόµος!) Ο παραλήπτης των φωτονίων θα δεί µία ανακολουθία ανάµεσα σε αυτά που περίµενε και σε αυτά που έλαβε - άρα υπάρχει ωτακουστής! Σε κλασικά κανάλια επικοινωνίας (π.χ. καλώδια, ραδιοκύµατα) αυτό δεν είναι εφικτό!
Πόσο ασφαλής είναι η κρυπτογραφία σήµερα; Τα νέα επιστηµονικά δεδοµένα καθιστούν τις αναλύσεις ασφάλειας που έχουν γίνει στα κλασικά µαθηµατικά µοντέλα υπολογισµού (π.χ. µηχανή Turing) ανεπαρκείς <<Εξωτικοί>> τρόποι υπολογισµού που δεν υπακούουν στους περιορισµούς των µαθηµατικών µοντέλων Επανεξέταση µοντέλων - προσαρµογή αποδείξεων ασφάλειας σε νεα µοντέλα Προσοχή στο κλειδί (µήκος( και ποιότητα)!
Παράλληλοι υπολογιστές Σήµερα είναι εύκολο να κατασκευαστούν υπολογιστές µε χιλιάδες γρήγορα επεξεργαστικά στοιχεία που λειτουργούν παράλληλα Software Application Data/Keys 3 DES RSA Y X[7:0] Y[7:0] 32 bits 8 Bit RISC MCU Z[7:0] D[7:0] write Z X Αναθέτουµε σε κάθε ένα σύνολο στοιχείων ένα σύνολο πιθανών κλειδιών προς έλεγχο Εάν το µέγεθος του κλειδιού είναι µικρό,, θα βρεθεί σχετικά γρήγορα το κλειδί Το <<σωστό>> µήκος κλειδιού υπαγορεύεται από τά τεχνολογικά και οικονοµικά δεδοµένα FPGAs 3 RSA DES
Α TATCGGATCG GTATATCCGA GCTATTCGAG CTTAAAGCTA GGCTAGGTAC CAGCATGCTT Β Υπολογισµοί µε DNA Εκµεταλλευόµαστε τις ιδιότητες διασύνδεσης µεταξύ µερών αλυσίδας DNA ώστε να συντεθούν παράλληλα και γρήγορα οι πιθανές λύσεις του προβλήµατος και να διαχωριστούν αυτές που πραγµατικά είναι λύσεις Στην ουσία προσέγγιση <<ωµής βίας>> αλλά εξαιρετικά γρήγορη (πρόβληµα πλανόδιου πωλητή) Μη ρεαλιστική απειλή (προς το παρόν!) για τα περισσότερα κρυπτογραφικά συστήµατα Είναι σχετικά εύκολο να <<σπάσει>> το κρυπτογραφικό σύστηµα DES µε µήκος κλειδιού 56 bits µε µερικούς δοκιµαστικούς σωλήνες DNA!
Κβαντικοί υπολογιστές Θεωρία πολυπλοκότητας: Το πρόβληµα εύρεσης πρώτων παραγόντων ενός ακεραίου θεωρείται δύσκολο υπολογιστικά πρόβληµα Peter Shor,, 1994: Υπάρχει γρήγορος <<αλγόριθµος>> που επιλύει το παραπάνω πρόβληµα γρήγορα! Η λύση του παράδοξου: Ο <<αλγόριθµος>> είναι σχεδιασµένος για κβαντικούς υπολογιστές [όραµα του µεγάλου φυσικού του αιώνα µας, Richard Feynmann, το 1982] Ένα Qubit Κβαντικός καταχωρητής 3 Qubits
Συµπεράσµατα - το µέλλον της κρυπτογραφίας Η κρυπτογραφία σήµερα: µία Επιστήµη µε ικανότητα να παρέχει ισχυρές ενδείξεις για την ασφάλεια των όσων προτείνει ιαντίδραση µε επιστηµονικά πεδία: Θεωρία Αριθµών, Πιθανοθεωρία, Θεωρία Πολυπλοκότητας ιαντίδραση µε άλλες Επιστήµες (κίνδυνοι αλλά και όφελος - Κβαντική Φυσική): Κβαντική Φυσική, Βιολογία, Τεχνολογία της Υψηλής Ολοκλήρωσης Μάλλον είµαστε ασφαλείς για αρκετά (;) χρόνια ακόµη! (προσοχή στο µέγεθος των παραµέτρων ασφαλείας - συνάρτηση οικονοµικοτεχνικών δεδοµένων)
ΣΑΣ ΕΥΧΑΡΙΣΤΩ!