Chapter 12 Cryptography Σακαβάλας Δημ ήτρης Δ ΠΜΣ Εφαρμοσμ ένες μαθημ ατικές επιστήμ ες
Σχη μ ατική αναπαράσταση κρυπτοσυστή μ ατος Κλειδί κρυπτογράφησης : e Κλειδί αποκρυπτογράφησης : d (ιδιωτικό) Αλγόριθμ ος κρυπτογράφησης : E ( δημ όσιος) Αλγόριθμ ος αποκρυπτογράφησης : D ( δημ όσιος) Πρόβλημ α Π ( Σπάσιμο κρυπτοσυστήματος) : Εξαγωγή του x από y χωρίς γνώση του d. Ζητούμ ενες Ιδιότητες i) E,D πολυωνυμ ικοί αλγόριθμοι( συναρτήσεις) ii) Διαλέγουμ ε τα e,d έτσι ώστε D αντίστροφη της Ε, δηλαδή D(d,E(e,x))=x. iii) Η Eve δεν μ πορεί να λύσει το Π.
Συ μμ ετρικά κρυπτοσυστή μ ατα ( ιδιωτικού κλειδιού ) Κλειδί αποκρυπτογράφησης/ κρυπτογράφησης ταυτίζονται : d=e (ιδιωτικά) Μειονέκτημα : Η ανταλλαγή του κλειδιού e είναι ασφαλής ; π. χ.( One time pad) y=e(e,x)= x e ( Όπου e = x ). D(e,y)= y e =(x e) e=x. Ισχύει Ιδιότητα (iii) επειδή : e = x y. x=01101 } y=e e, x = x e=11110 e=10011 D(e,y)=y e=01101=x
Ασύ μμ ετρα κρυπτοσυστή μ ατα ( δη μ οσίου κλειδιού ) d : ιδιωτικό e : δημόσιο Παρατηρήσεις Δ εν χρειαζόμ αστε ασφαλή δίαυλο επικοινωνίας. Ζητούμ ενες ιδιότητες (i),(ii),(iii) και επιπλέον: (iv) Η Eve δεν μ πορεί να εξάγει το d από το e ( Γιατί τότε θα υπολόγιζε D(d,y)=x). Π FNP Μαντεύω ένα x( το μήνυμ α) και ελέγχω αν Ε(e,x)=y σε πολυωνυμ ικό χρόνο.
Συναρτήσεις μ ονής κατεύθυνσης (One way functions) Παρατήρηση Αναγκαία συνθήκη για ύπαρξη ασφαλούς κρυπτοσυστή μ ατος: P NP Π FNP Επειδή αν P = NP FP = FNP Π FP Ορισμός(one way function) Έστω συνάρτηση f από string σε string. Είναι one way function αν ισχύουν τα παρακάτω : i) Η f είναι 1 1 συνάρτηση και x Σ *, x 1 / k f x x k, για κάποιο k 0. ( πολυωνυμ ική διαφορά μ ήκους string). ii) f FP, δηλαδή υπολογίζεται σε πολυωνυμ ικό χρόνο. iii) f 1 FP. Παρατηρούμ ε ότι f 1 FΝP γιατί μπορούμ ε να μαντέψουμ ε ένα x και μ ετά να ελέγξουμ ε αν f(x)=y. Υποψήφιες one way function (1) f mult p, q = p q, όπου p,q πρώτοι ( για να είναι η συνάρτηση 1 1). f mult FP ( πολλαπλασιασμ ός δύο ακεραίων) Πιθανόν f 1 mult FP ( παραγοντοποίηση) Δ εν υπάρχει πολυωνυμ ικός αλγόριθμ ος για παραγοντοποίηση. Υπάρχει υποεκθετικός αλγόριθμ ος Number field sieve μ ε πολυπλοκότητα Πολυωνυμ ικός αλγόριθμ ος για κβαντικούς υπολογιστές (Shor). L pq [1/3,c].
Υποψήφιες one way function (2) f exp p,r, x = p,r, r x modp, όπου p: πρώτος, r : πρωταρχική ρίζα modulo p, x<p. f exp FP ( ύψωση σε δύναμ η modp μ ε square and multiply). Πιθανόν f 1 mult FP ( διακριτός λογάριθμος). Δ εν υπάρχει πολυωνυμ ικός αλγόριθμ ος για εύρεση διακριτού λογαρίθμ ου. Υπάρχει υποεκθετικός αλγόριθμ ος Index Calculus μ ε πολυπλοκότητα L p [1/ 3, c]. Κρυπτοσύστη μ α RSA p,q : πρώτοι e : ΜΚΔ(e, φ(pq))=1 ( πρώτοι μ εταξύ τους), όπου φ pq = pq 1 1 p 1 1 = pq p q 1. q d : ο αντίστροφος του e modulo φ(pq). Δ λδ e d=1 mod φ (pq). Υπάρχει λογω του ΜΚΔ(e, φ(pq))=1. 0< x <pq : το μήνυμα f RSA x, e, p,q = x e modpq, pq,e Δημ ιουργία κρυπτοσυστήμ ατος δημ οσίου κλειδιού μ έ βάση την frsa. Ιδιωτικό κλειδί κλειδί του Bob : (p,q,d) (O Bob υπολογίζει το d ξέροντας το φ(pq) μ ε Ευκλείδιο αλγόριθμ ο) Δημ όσιο κλειδί του Bob : (pq,e) 1) Η Alice κρυπτογραφεί το μήνυμ α x κάνοντας : y= x e modpq 2) O Bob αποκρυπτογραφεί το y κάνοντας : y d = x e d = x 1 k φ pq = x modpq ( η frsa είναι 1 1) Παρατήρηση : ( Πρόβλημα αντιστροφής της frsa) p ( Πρόβλημ α παραγοντοποίησης) Παραγοντοποιώ το pq και βρίσκω τα p,q. Υπολογίζω φ(pq)=pq p q+1. Βρίσκω το d και αποκρυπτογραφώ όπως ο Bob : x= y d modpq
Κρυπτογραφία και πολυπλοκότητα H κλάση UP Μια μ η ντετερμ ινιστική ΤΜ ονομ άζεται unambiguous αν έχει την ιδιότητα: Για κάθε είσοδο x υπάρχει το πολύ ένας υπολογισμ ός( κλαδί) που την αποδέχεται. UP είναι η κλάση των γλωσσών που γίνονται αποδεκτές από unambiguous TM πολωνυμ ικά φραγμ ένες ως προς το χρόνο. Παρατήρηση: Κάθε ντετερμ ινιστική ΤΜ μ πορεί να θεωρηθεί σαν μ η ντετερμ ινιστική μ ε μ ία επιλογή σε κάθε βήμ α. ( Αυτή η TM είναι σίγουρα unambiguous) Από τον ορισμ ό μ ια unambiguous ΤΜ είναι ειδική περίπτωση των μ η ντετερμ ινιστικών. Επίσης περιμένουμ ε : UP NP. (SAT θα αποφασιζόταν από μ ια unambiguous TM) Έτσι εστιάζουμ ε στο P =? UP. Θεώρημα (UP=P) ( εν P UP NP υπάρχουν one way functions) Παρατήρηση Η πολυπλοκότητα χειρότερης περίπτωσης δεν είναι κατάλληλο κριτήριο στην κρυπτογραφία. π. χ. : f: Χ Υ one way function αλλά για τα μ ισά στοιχεία του Χ αντιστρέφεται σε πολυωνυμ ικό χρόνο.
Βελτιώσεις της one way function Ισχυρή one way function Από την προηγούμ ενη παρατήρηση είναι προφανές ότι η ιδιότητα (iii) f 1 FP, του ορισμ ού της one way function f δεν είναι επαρκής για κρυπτογραφική χρήση. Την αντικαθιστούμ ε μ ε μ ία πιο ισχυρή: Δ εν υπάρχει αλγόριθμ ος ο οποίος σε χρόνο Ο n k υπολογίζει την f 1 y για 2 n / n k ή περισσότερα strings y,μ ήκους n. ( Η f αντιστρέφεται αποδοτικά για αμ ελητέο ( negligible) πλήθος των τιμ ών της) Η Eve όμ ως μ πορεί να χρησιμ οποιήσει πιθανοτικούς αλγορίθμ ους. Άρα πιο σωστά: Για κάθε πιθανοτικό πολυωνυμ ικό αλγόριθμ ο Α, η πιθανότητα ο Α να αντιστρέψει επιτυχώς την f(x) για τυχαίο x είναι αμ ελητέα. Παρατήρηση( δύο επιπλέον ιδιότητες) Οι συναρτήσεις f mult, f exp και f RSA είναι ισχυρές one way functions αλλά μ όνο η f RSA χρησιμ οποιείται για δημ ιουργία κρυπτοσυστήμ ατος. Τι παραπάνω ιδιότητες έχει? (I) Μπορούμ ε αποδοτικά να βρούμ ε στοιχεία για το πεδίο ορισμ ού. (p,q πρώτοι, e πρώτος προς τον φ(pq)) (II) Είναι trap door function, δλδ αντιστρέφεται τετριμ ένα μ έσω μ ιας πολυωνυμ ικά υπολογίσιμ ης συνάρτησης d. Για RSA : d x,e, p,q =e 1 modpq p q 1 Πιθανοτική κρυπτογράφηση Πρόβλημα Συγκεκριμ ένα μηνύμ ατα είναι εύκολο να αποκρυπτογραφηθούν. π. χ Η Alice θέλει να στείλει στον Bob ένα bit b μ ε RSA. Όμ ως b e modpq= b, για b { 0,1}. Λύση Η Alice επιλέγει τυχαίο ακέραιο x pq / 2, και στέλνει στον Bob y= 2x b e modpq. Ο Bob αποκρυπτογραφεί το y παίρνει 2x+b, το τελευταίο ψηφίο είναι το b. Αποδεικνύεται ότι η εξαγωγή του τελευταίου bit του κρυπτογραφημ ένου μηνύμ ατος είναι το ίδιο δύσκολη μ ε το σπάσιμ ο του RSA.
Ψηφιακές υπογραφές Ψηφιακά υπογεγραμμ ένο μήνυμ α Ενα μήνυμ α S Alice x είναι ένα string που περιέχει το μήνυμ α x τροποποιημ ένο έτσι ώστε να πιστοποιείται ο αποστολέας (Alice). Έτσι ο Bob είναι σίγουρος ότι επικοινωνεί μ ε την Alice. Δ ιαδικασία Σε ένα ασσύμ ετρο κρυπτοσύστημ α έχουμ ε τα : e Alice, d Alice,e Bob,d Bob, E, D. (I) H Alice υπογράφει το μήνυμ α x : S Alice x = x, D d Alice, x ( σαν να το αποκρυπτογραφεί). ( ΙΙ) Ο Bob υπολογίζει : Ε e Alice, D d Alice, x = * D d Alice, E e Alice, x = ** x και το συγκρίνει μ ε το μήνυμ α x. Αν είναι ίδια τότε προφανώς η Alice έχει υπογράψει μ ε το Παρατηρήσεις Στο (I) η Alice μ πορεί να κρυπτογραφήσει το υπογεγραμμ ένο μήνυμ α S Alice x μ ε το e Bob. Στο ( ΙΙ ) η ισότητα (**) ισχύει λόγω της αντιστροφής της Ε από την D H ισότητα (*) ισχύει σε ορισμ ένα κρυπτοσυστήμ ατα όπου ισχύει η επιμ εριστικότητα της αντιστροφής. Δ λδ ισχύει ότι η Ε αντιστρέφει την D. Ψηφιακή υπογραφή RSA To RSA έχει την ιδιότητα της επιμ εριστικότητας γιατί: D d, E e, x = x e d modpq= x= x d e modpq= E e, D d, x d Alice
Poker μ έσω τηλεφώνου Πρόβλημα Η Alice και ο Bob διαλέγουν 3 n ψήφιους α < b < c ( χαρτιά). Θέλουν να διαλέξουν ένα τυχαίο χαρτί ο καθένας έτσι ώστε : (i) Τα χαρτιά τους είναι διαφορετικά. (ii) Καθε ζευγάρι επιλογών είναι ισοπίθανο. (iii) Τοχαρτί του καθενός είναι γνωστό μ όνο σε στον κάτοχο του. (iv) Στο τέλος της παρτίδας, ο νικητής ( αυτός μ ε το μ εγαλύτερο χαρτί) δεν μ πορεί να αμ φισβητηθεί. Λύση Οι παίκτες συμ φωνούν σε ένα μ εγάλο πρώτο p. Καθένας έχει δύο ιδιωτικά κλειδιά: e A lic e,e B o b ( κρυπτογράφησης) και d A lic e, d B o b ( αποκρυπτογράφησης) Πρέπει να ισχύει : e Alice d Alice =e Bob d Bob =1mod p 1 Έτσι η ύψωση στο e modulo p αντιστρέφεται από την ύψωση στο d modulo p. a e Alice modp, b e Alice modp,c e Alice modp (1) H Alice κρυπτογραφεί τα χαρτιά, τα στέλνει στον Bob. (2) O Bob διαλέγει ένα από τα τρία και το στέλνει στην Alice. (3) H Alice το αποκρυπτογραφεί ( είναι το χαρτί της, έστω το b). a e Alice e Bob modp,c e Alice e Bob modp (4) O Bob κρυπτογραφεί τα δύο που μ ένουν, τα στέλνει στην Alice. (5) H Alice διαλέγει ένα από αυτά ( έστω το a) το αποκρυπτογραφεί a e e d e Alice Bob Alice modp= a Bob και το στέλνει στον Bob. (6)O Bob το αποκρυπτογραφεί και παίρνει το χαρτί του α. Παρατήρηση Ισχύουν οι ιδιότητες (i),(ii),(iii),(iv).
Δ ιαλογικές αποδείξεις (Interactive proofs) Παρατήρηση L NP αν υπάρχει πολυωνυμ ικού χρόνου αλγόριθμ ος ο οποίος μ ε είσοδο x και μ ια πιθανή απόδειξη y, ελέγχει αν η y είναι έγκυρη απόδειξη ότι x L. Αν x L υπάρχει μ ια έγκυρη απόδειξη. Αν x L δεν υπαρχει έγκυρη απόδειξη. Σενάριο H Alice έχει εκθετικές δυνάμ εις υπολογισμού Ο Bob μ πορεί να εκτελέσει μ όνο πολυωνυμ ικούς υπολογισμ ούς. Η Alice θέλει να πείσει τον Βο b ότι π. χ. x L ( πρόβλη μ α λόγω της παρατήρησης ). Αν ο Bob χρησιμ οποιήσει πιθανοτικούς αλγόριθμους? Ορισμ ός ( Σύστημ α διαλογικής απόδειξης ( Α, Β )) Η Alice ( proover) εκτελεί εκθετικού χρόνου αλγόριθμ ο Α. O Bob (verifier) εκτελεί πολυωνυμ ικού χρόνου πιθανοτικό αλγόριθμ ο Β. Είσοδος του πρωτοκόλλου : string x. Alice και Βοb ανταλλάζουν μηνύμ ατα : m 1, m 2,...,m k 2. H Alice στέλνει τα m και ο Βοb τα. x 2i 1 m 2i m i x k ( πολυωνυμ ικού μ ήκους μηνύμ ατα). m 1 = A x και για i x k, m 2i = B x ; m 1 ;.. ; m 2i 1 ; r i και m 2i 1 = A x ; m 1 ;.. ; m 2i 2 Όπου r i το τυχαίο string που χρησιμ οποιείται από τον Βοb για την i οστή ανταλλαγή. Τελικά αν το τελευταίο μήνυμ α m 2 x { yes,no } o Bob αποδέχεται ή απορρίπτει. k
Ορισμός Λέμ ε ότι το ( Α, Β) αποδέχεται μ ια γλώσσα L αν ισχύουν τα παρακάτω για κάθε string x : Αν x L τότε η πιθανότητα, το (A,B) να αποδέχεται το x είναι τουλάχιστον 1 1. Αν x L τότε η πιθανότητα, το (A',B) να αποδέχεται το x είναι το πολύ 1. 2 x Όπου Α' οποιοσδήποτε εκθετικός αλγόριθμ ος. 2 x Ορισμός IP, η κλάσση όλων των γλωσσών που αποφασίζονται από ένα σύστημ α διαλογικής απόδειξης. Παρατηρήσεις IP NP (NP όταν ο Bob δε χρησιμ οποιεί πιθανοτικό αλγόριθμ ο). IP BPP (BPP όταν ο Bob αγνοεί τις απαντήσεις της Alice). Παράδειγμ α συστήμ ατος διαλογικής απόδειξης : Graph nonisomorphism
GRAPH ISOMORPHISM (GI) Έστω δύο γραφήμ ατα G=(V,E) και G'=(V,E') μ ε τιο ίδιο σύνολο κόμ βων, είναι ισομορφικά ; Δ λδ υπάρχει μ ετάθεση π των κόμβων τέτοια ώστε G'= π (G), όπου π(g)=(v,{[ π(u), π(u)] : [u,v] Ε}). GRAPH NONISOMORPHISM (GNI) Έστω δύο γραφήμ ατα G=(V,E) και G'=(V,E') μ ε τιο ίδιο σύνολο κόμ βων, είναι μη ισομορφικά ; Παρατήρηση GI NP αλλά??( NP complete, P complete, ανήκει στην conp, ανήκει στην BPP)?? GNI δεν ξέρουμ ε αν ανήκει στο NP ή στο BPP. Δ ιαλογική απόδειξη του GNI H Alice θέλει να δείξει στον Bob ότι τα G,G' δεν είναι ισομ ορφικά. ( είσοδος x=(g,g')) (I) O Bob επιλέγει ένα τυχαίο b i {0,1} και οριζει καινούργιο γράφημα G i = { G, αν b =1 i G ', αν b i = 0 ( ΙΙ ) Ο Bob επιλέγει τυχαία μετάθεση π i των κόμ βων του G i και στέλνει το μήνυμ α m 2i 1= G, π i G i. (III)H Alice ελέγχει αν τα δύο γραφήμ ατα είναι ισομ ορφικά. Απαντάει m 2i =1 αν έιναι και m 2i =0 αλλιώς. ( ΙV) H διαδικασία επαναλαμ βάνεται x φορές. Αν b 1,.., b x = m 2,.., m 2 x o Bob αποδέχεται. Παρατηρήσεις Αν G,G' : μ η ισομ ορφικά η Alice διαλέγει κάθε φορά σωστά το m 2i και έτσι πείθει τον Bob. Av G,G' : ισομ ορφικά. Τότε κάθε μήνυμ α του Bob περιέχει δύο ισομ ορφικά γραφήμ ατα. Τότε η Alice πρέπει να μ αντέψει κάθε φορά το τυχάιο ψηφίο του Bob. Η πιθανότητα να μ αντέψει σωστά ψηφία {0,1} είναι το πολύ 1. Συμπέρασμα GNI IP x 2 x
Αποδείξεις μ ηδενικής γνώσης (Zero knowledge proofs) Πρόβλημ α Η Alice έχει λύση για ένα δύσκολο πρόβλημ α. Θέλει να αποδείξει στον Bob ότι έχει τη λύση. Αλλά δεν θέλει ο Bob να έχει στοιχεία για τη λύση. Παράδειγμα Η Alice έχει μ ια λύση του 3 COLORING για ένα γράφημ α G=(V,E) (NP complete). Έστω ότι έχει ένα χρωματισμ ό χ:v {00,11,01} I) H Alice παράγει μ ια τυχαία μ ετάθεση π των χρωμ άτων. Έστω ΙΙ) Πα ράγει δημ όσιο και ιδιωτικό κλειδί RSA p i, q i, d i,e i, i V. ΙΙΙ) Κρυπτογραφεί πιθανοτικά το χρώμα π χ i = b i b i ', υπολογίζοντας y i, y i ' μ ε : y i = 2x i b i e i modp i q i και y i '= 2x i ' b i ' e i modp i q i IV) H Alice στέλνει στον Bob: e i, p i q i, y i, y i ', i V ( δημ όσιο κλειδί και κρυπτογραφημ ένα χρώμ ατα). V) O Bob επιλέγει τυχαία ακμή [ i, j ] E. d VII) H Alice στέλνει στον Bob : d i και d j και ο Bob υπολογίζει b i = y i i modp i q i mod2. Όμ οια υπολογίζει τα b i ', b j, b j ' και ελέγχει αν ισχύει b i b i ' b j b j ' ( χρώμ ατα γειτονικών κόμ βων). Η διαδικασία επαναλαμ βάνεται k E φορές. Παρατήρηση Αν Η Αlice δεν έχει λύση του 3 COLORING τότε υπάρχει τουλάχιστον μ ία ακμ ή [ i, j ] E για την οποία 1 χ(i)= χ(j) π( χ(i))= π( χ (j)). Σε κάθε επαναληψη ο Bob έχει πιθανότητα να την ανακαλύψει. E Μετά από k E επαναλήψεις η πιθανότητα, ο Bob να ανακαλύψει τον λανθασμ ενο χρωματισμ ό είναι 1 e k