Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

1 Διαλογικά συστήματα αποδείξεων (Interactive proof systems) Κρυπτογραφία & Πολυπλοκότητα καθ. Στάθης Ζάχος παρουσίαση: Νίκος Λεονάρδος.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "1 Διαλογικά συστήματα αποδείξεων (Interactive proof systems) Κρυπτογραφία & Πολυπλοκότητα καθ. Στάθης Ζάχος παρουσίαση: Νίκος Λεονάρδος."— Μεταγράφημα παρουσίασης:

1 1 Διαλογικά συστήματα αποδείξεων (Interactive proof systems) Κρυπτογραφία & Πολυπλοκότητα καθ. Στάθης Ζάχος παρουσίαση: Νίκος Λεονάρδος

2 2 Εισαγωγή Proof Systems:  Η απόδειξη είναι μια διαδικασία που σκοπό έχει να πείσει κάποιον για την ισχύ μιας πρότασης (π.χ. x  L).  Το ΝΡ ως σύστημα αποδείξεων. Interactive Proof Systems:  Ενισχύουμε το ΝΡ με interaction και randomization και φτάνουμε στα Interactive Proof Systems.  Graph non-isomorphism is in IP, Graph 3 coloring is in IP.  IP  PSPACE Arthur Merlin Games:  Ορισμός των Arthur-Merlin Games ως combinatorial games.  Η ιεραρχία που ορίζουν καταρρέει στο 2ο επίπεδο, δηλαδή, για k > 2 AM = AM[k] = MA[k+1]  IP = AM ως προς Language Recognition. IP = PSPACE

3 3  Μπορεί κανείς να φανταστεί ένα σύστημα αποδείξεων ως μια διαλογική διαδικασία μεταξύ ενός Prover P και ενός Verifier V.  O P θέλει να πείσει τον V για την ισχύ μιας πρότασης.  Ο V θέλει να αποδεχθεί έναν ισχυρισμό μόνο εάν είναι αληθής.  Μία γλώσσα L είναι στο ΝΡ αν και μόνο αν για κάθε στοιχείο της L υπάρχει πολυωνυμικού μήκους απόδειξη ότι x  L ή πιο τυπικά:  L  NP ανν υπάρχει relation R L recognizable in polynomial time & polynomialy balanced τέτοιο ώστε: L = {x : (x,y)  R L } Μπορούμε να δούμε τον τελευταίο ορισμό ως εξής:  Υπάρχει ένας παντοδύναμος Prover.  O P θέλει να πείσει τον Verifier ότι x  L  Στέλνει στον V τεκμήριο y, πολυωνυμικά φραγμένο ως προς x  Ο Verifier πρέπει να ελέγξει το τεκμήριο και να αποφανθεί σε πολυωνυμικό χρόνο αν αποδέχεται ή απορρίπτει την είσοδο. Proof Systems and NP

4 4 ΝP Proof System for SAT  O Prover θέλει να πείσει τον Verifier ότι η παρακάτω formula ανήκει στο SAT: (x  y  z')  (x'  y')  z'  O Prover στέλνει στον Verifier μια ανάθεση αληθοτιμών στις μεταβλητές, που να ικανοποιούν τη formula, π.χ. (x,y,z)=(F,T,F). Κάτι τέτοιο είναι εύκολο για τον παντοδύναμο Prover, αν βέβαια μια τέτοια ανάθεση υπάρχει.  Ο Verifier ελέγχει αν η ανάθεση που έλαβε ικανοποιεί τη formula Proof Systems and NP Ιδιότητες του ΝΡ Proof System:  Efficiency : Η στρατηγική του Verifier είναι αποδοτική.  Correctness requirements: - Completeness : Για μια αληθή πρόταση υπάρχει στρατηγική που να οδηγεί σε αποδοχή. - Soundness : Για μια ψευδή πρόταση δεν υπάρχει στρατηγική που να οδηγεί σε αποδοχή.

5 5 The NP Proof System

6 6 Interactive Proof: Παράδειγμα Πώς θα μπορούσαμε να πείσουμε κάποιον που πάσχει από αχρωματοψία, ότι δύο όμοιες μπίλιες έχουν διαφορετικό χρώμα;  Έστω ότι ο Prover υποστηρίζει ότι οι μπίλιες έχουν διαφορετικό χρώμα (η μία μαύρο και η άλλη κόκκινο).  Ο Verifier κρατάει τη μαύρη μπίλια με το δεξί χέρι και την κόκκινη με το αριστερό. Με τυχαίο τρόπο (κορώνα - γράμματα) και κρυφά από τον Prover αποφασίζει αν θα κάνει swap τις μπίλιες ή όχι. Το αποτέλεσμα είναι ότι ο Verifier γνωρίζει αν έκανε το swap ή όχι ενώ ο Prover μπορεί μόνο να μαντέψει, με πιθανότητα 1/2.  Ο Verifier αποκαλύπτει τις μπίλιες. Αν ο Prover αποτύχει να βρει σε πιο χέρι είναι η μαύρη και σε ποιο η κόκκινη, ο Verifier απορρίπτει με βεβαιότητα, ενώ αν ο Prover τα καταφέρει, ο Verifier πείθεται με πιθανότητα 1/2.  Το παραπάνω πρωτόκολλο μπορεί να επαναληφθεί πολυωνυμικά πολλές φορές p(|x|) και έτσι η πιθανότητα να μαντέψει ο Prover όλα τα τυχαία bits του Verifier γίνεται 2 -p(|x|).

7 7 Τα νέα συστατικά της απόδειξης  Interaction: Χωρίς δυνατότητα επικοινωνίας ο Prover θα έπρεπε να σκεφτεί μία γραπτή απόδειξη, κάτι που δεν φαίνεται να είναι δυνατόν.  Randomness: Αν ο Verifier ήταν ντετερμινιστικός, ο Prover θα μπορούσε να τον κοροϊδέψει κοιτάζοντας τον κώδικά του.  Secrecy (private coins vs. public coins): Ο Verifier έκρυψε το random bit του από τον Prover ώστε να ικανοποιείται η ιδιότητα Soundness. Αξιοσημείωτο είναι το γεγονός ότι κάτι τέτοιο δεν είναι απαραίτητο! Όπως θα αποδείξουμε λίγο αργότερα, υπάρχει αποδεικτικό σύστημα για το παραπάνω πρόβλημα, όπου ο Verifier δείχνει όλα τα random bits του στον Prover.

8 8 An interactive pair of Turing machines [“The knowledge complexity of Interactive Proof Systems”, 1985, Shafi Goldwasser (MIT), Silvio Micali(MIT), Charles Rackoff (Toronto)]

9 9 Interactive Proof System Ένα Διαλογικό Σύστημα Αποδείξεων ( Interactive Proof System ) για μία γλώσσα L είναι ένα παιχνίδι μεταξύ ενός Prover και ενός Verifier. Το input είναι κοινό και επικοινωνούν βάσει ενός πρωτοκόλλου που ικανοποιεί τις παρακάτω προϋποθέσεις:  Efficiency : Η στρατηγική του Verifier είναι ένας Probabilistic Polynomial-Time υπολογισμός.  Correctness requirements: - Completeness : Υπάρχει στρατηγική για τον Prover, τέτοια ώστε για κάθε x  L, όταν "παίζουν" με κοινό input x, να οδηγεί τον Verifier σε αποδοχή με πιθανότητα τουλάχιστον 2/3. - Soundness : Για κάθε x  L, όταν "παίζουν" με κοινό input x, κάθε στρατηγική για τον Prover πείθει τον Verifier με πιθανότητα το πολύ 1/3. Παρατήρηση: ενώ περιορίζουμε τους υπολογισμούς του Verifier σε πολυωνυμικό χρόνο, ο Prover θεωρούμε ότι έχει απεριόριστη υπολογιστική δύναμη.

10 10 Η ιεραρχία ΙΡ  Η κλάση ΙΡ περιέχει όλες τις γλώσσες που έχουν Διαλογικό Σύστημα Απόδειξης.  Ο αριθμός των μηνυμάτων που ανταλλάσσονται μεταξύ του Prover και του Verifier κατά τη διάρκεια του πρωτοκόλλου ονομάζεται αριθμός γύρων ( number of rounds ) του συστήματος.  Για κάθε συνάρτηση r(.) : Ν -> Ν, η κλάση ΙΡ(r(.)) περιέχει όλες τις γλώσσες που έχουν Διαλογικό Σύστημα Απόδειξης, στο οποίο, για κοινό input x, πραγματοποιούνται το πολύ r(|x|) γύροι.  Για μία οικογένεια συναρτήσεων R, ορίζουμε την κλάση IP(R)=U r  R IP(r(.)). Παρατήρηση 1: Επειδή, εξ ορισμού, ο Verifier είναι περιορισμένος σε πολυωνυμικό χρόνο, ΙΡ = IP(poly). Παρατήρηση 2: Θα μπορούσαμε να θέσουμε περιορισμούς και στον αριθμό των random bits που έχει στη διάθεσή του ο Verifier, και να ορίσουμε κλάσεις ΙΡ(b(.), r(.)), όπου ο αριθμός των τυχαίων bits του Verifier για input x είναι μικρότερος από b(|x|). ΙΡ(b(.)) = IP(b(.), poly)

11 11 Σχόλια 1  ΝP  IP  Στον ορισμό των IP συστημάτων απαιτήσαμε την ύπαρξη ενός Prover που όταν x  L πείθει τον Verifier με πιθανότητα τουλάχιστον 2/3. Αν απαιτήσουμε perfect completeness, δηλαδή, όταν x  L ο Prover να μπορεί σε κάθε περίπτωση να πείσει τον Verifier (πιθανότητα αποδοχής ίση με 1 ), αποδεικνύεται ότι ο ορισμός είναι ισοδύναμος. θεώρημα : "Αν μία γλώσσα έχει Διαλογικό Σύστημα Απόδειξης, τότε έχει με perfect completeness."  Όμοια μπορεί κανείς να απαιτήσει perfect soundness, δηλαδή, όταν x  L ο Prover να μην μπορεί σε καμία περίπτωση να πείσει τον Verifier (πιθανότητα αποδοχής ίση με 0 ). Σε αυτή την περίπτωση το σύστημα ανάγεται στο ΝΡ proof system. Πράγματι, για x  L ο Prover μπορεί να βρει μία σειρά τυχαίων bits για τα οποία μπορεί να οδηγήσει τον Verifier σε αποδοχή (τέτοια bits υπάρχουν λόγω completeness). Αν ο Ρ στείλει αυτά τα bits μαζί με τις δικές του απαντήσεις στον V, εκείνος μπορεί να ελέγξει σε πολυωνυμικό χρόνο την εγκυρότητά τους και αν επιπλέον οδηγούν σε αποδοχή, να αποδεχθεί.

12 12 Σχόλια 2 Κανείς ίσως αναρωτηθεί κατά πόσο τα interaction και randomization είναι απαραίτητα συστατικά ενός Διαλογικού Συστήματος Αποδείξεων  Αν έχουμε μόνο interaction, δηλαδή αν ο Verifier είναι ντετερμινιστικός, τότε υπάρχει ένας Prover που γνωρίζει τις κινήσεις του Verifier και μπορεί να του στείλει τις δικές του απαντήσεις σε ένα μήνυμα. Άλλωστε, ένας ντετερμινιστικός Verifier πρέπει πάντα να απορρίπτει μία ψευδή είσοδο, πράγμα που σημαίνει perfect soundness και όπως είδαμε κάτι τέτοιο ανάγει το σύστημά μας στο ΝΡ proof system.  Αν έχουμε μόνο randomization, τότε παίρνουμε την κλάση IP[1] και δεν είναι παρά μία πιθανοτική (και πιθανόν ισχυρότερη) εκδοχή του ΝΡ.

13 13 Graph isomorphism  Δύο γράφοι G 1 =(V 1,E 1 ) και G 2 =(V 2,E 2 ) ονομάζονται ισομορφικοί όταν υπάρχει 1-1 και επί συνάρτηση  :V 1 ->V 2 τέτοια ώστε: (u,v)  E 1 αν και μόνο αν (  (u),  (v))  E 2 Η συνάρτηση  ονομάζεται ισομορφισμός μεταξύ των G 1 και G 2.  Αν δεν υπάρχει καμία συνάρτηση με τις παραπάνω ιδιότητες, οι γράφοι ονομάζονται μη-ισομορφικοί.  Ορίζουμε τη γλώσσα GNI ως εξής: GNI = {(G 1,G 2 ): G 1 και G 2 είναι μη-ισομορφικοί}  Το GI (graph isomorphism) είναι στο NP. Ενδιαφέρον έχει το γεγονός ότι δεν ξέρουμε αν είναι και NP-hard  Το GΝI (graph non-isomorphism) δεν γνωρίζουμε αν είναι στο NP. Θα δούμε όμως, ότι το GΝI έχει Interactive Proof System και μάλιστα GΝI  ΙΡ[2]

14 14 Graph non-isomorphism is in IP[2] Common Input: Δίνονται δύο γράφοι, G 1 και G 2 Verifier(1 o μήνυμα) Επιλέγει τυχαία έναν γράφο. Με τυχαίο τρόπο κατασκευάζει γράφο Η ισομορφικό με αυτόν που επέλεξε. Στέλνει τον Η στον Prover Prover (2 o μήνυμα) Completeness: Αν οι δύο γράφοι είναι μη- ισομορφικοί μπορεί να βρει με ποιον από τους δύο είναι ισομορφικός ο γράφος Η και έτσι να στείλει στον Verifier την σωστή απάντηση (με βεβαιότητα ) Soundness: Αν οι γράφοι είναι ισομορφικοί, μπορεί να μαντέψει τη σωστή απάντηση με πιθανότητα ½. (το πλήθος των μεταθέσεων που οδηγούν από τον G 1 στον Η είναι το ίδιο με το πλήθος αυτών που οδηγούν από τον G 2 στον Η ). Ο V ελέγχει την απάντηση εύκολα, αφού γνωρίζει τα random bits

15 15 Graph non-isomorphism is in IP[2] Το κοινό input είναι δύο γράφοι, έστω G 1 =({1,...,n},E 1 ) και G 2 =({1,...,n},E 2 ) O Verifier - επιλέγει τυχαία i  {1,2} - με επίσης τυχαίο τρόπο υπολογίζει μετάθεση  του {1,...,n}. - εν συνεχεία, εφαρμόζοντας την  στον γράφο i υπολογίζει τον γράφο Η = ({1,...,n}, {(π(u),π(v)):(u,v)  E i }) - σ τέλνει τον γράφο Η στον Prover Ο Prover στέλνει j  {1,2} στον V Ο Verifier αποδέχεται αν και μόνο αν i=j.

16 16 Graph 3 Coloring is in ΙΡ, ΖΚ 3 4 1 5 2 O Prover γνωρίζει χρωματισμό του γράφου με 3 χρώματα Επιλέγει τυχαία μετάθεση χρωμάτων 3 4 1 5 2 Κλειδώνει τους φρεσκοβαμμένους κόμβους σε αδιαφανή κουτιά και στέλνει το γράφο στον Verifier 3 4 1 5 2 O Verifier διαλέγει στην τύχη μία ακμή και ζητάει από τον Prover τα κλειδιά. Βλέπει τα χρώματα των κόμβων και αν είναι διαφορετικά αποδέχεται, ειδάλλως απορρίπτει.

17 17 Graph 3 Coloring is in ΙΡ, ΖΚ Completeness: Αν ο γράφος είναι 3-colorable, o Prover μπορεί πάντα να πείσει τον Verifier Soundness: Αν ο γράφος δεν είναι 3-colorable, τότε υπάρχει τουλάχιστον μία ακμή με το ίδιο χρώμα στα άκρα της. Ο Verifier μπορεί να διαλέξει αυτή την ακμή με πιθανότητα 1/|E|. Zero Knowledge Μπορεί ο Verifier μετά το τέλος του πρωτοκόλλου να υπολογίσει τον χρωματισμό του γράφου με 3 χρώματα; Ο Verifier το μόνο που έβλεπε σε κάθε γύρο ήταν ένα τυχαίο ζευγάρι χρωμάτων. Αυτό όμως το κάνει και μόνος του! Το πρωτόκολλο για το Graph non-isomorphism είχε αυτή την ιδιότητα;

18 18 Strong and weak definitions of IP Definitions WITH Perfect Completeness completeness: x  L -> Prob[Verifier Accepts] = 1 soundness: Για κάθε x  L, όταν "παίζουν" με κοινό input x, κάθε στρατηγική του Prover πείθει τον Verifier με πιθανότητα το πολύ:  2 -p(|x|)  ε, ε  (0,1)  1 - 1/p(|x|) Definitions WITHOUT Perfect Completeness completeness: ο Verifier αποδέχεται με πιθανότητα τουλάχιστον C soundness: ο Verifier αποδέχεται με πιθανότητα το πολύ S Τα παρακάτω ζεύγη (C,S) δίνουν ισοδύναμους ορισμούς:  (1-2 -p(|x|), 2 -p(|x|) )  (2/3, 1/3)  (½ + ε, ½ - ε), με ε < ½  (p + ε, p - ε), με p  (0, 1) και 0 < ε < min{ p, 1 – p }  (p + 1/p(|x|), p - 1/p(|x|)), με p  (0, 1)

19 19 Στον ορισμό των ΙΡ συστημάτων αναφερόμαστε σε Prover με απεριόριστη δύναμη. Πόση δύναμη είναι πραγματικά απαραίτητη; Γνωρίζοντας την στρατηγική του Verifier, μπορούμε να προσομοιώσουμε τον Optimal Prover σε πολυωνυμικό χώρο. θεώρημα : "Η βέλτιστη στρατηγική για τον Prover μπορεί να υπολογιστεί σε πολυωνυμικό χώρο." Πόρισμα : IP  PSPACE Τελικά, μπορούμε να προσομοιώσουμε κάθε Interactive Proof σε πολυωνυμικό χώρο  Κάθε στιγμή ο Optimal Prover πρέπει να διαλέγει την στρατηγική που έχει την μεγαλύτερη πιθανότητα να καταλήξει σε αποδοχή.  Για να το κατορθώσει αυτό, πρέπει να ανατρέξει σε όλους τους πιθανούς μελλοντικούς διαλόγους με τον Verifier και να επιλέξει την καλύτερη.  Μπορεί να γίνει σε πολυωνυμικό χώρο. Πόσο δυνατός πρέπει να είναι ο Prover;

20 20 Simulation of the Optimal Prover  Έστω F(β 1,π 1,...,π i-1,β i ) η πιθανότητα ένας διάλογος που ξεκινάει με β 1,π 1,...,π i-1,β i να οδηγήσει σε αποδοχή. Όπου  i και π i τα i - οστά μηνύματα που έστειλαν ο Verifier και ο Prover αντίστοιχα.  Έστω r όλα τα τυχαία bits του Verifier.  Έστω R  1,π1,...,πi-1,βi το σύνολο όλων των r σε συμφωνία με τον διάλογο β 1,π 1,...,π i-1,β i.  Έστω V(r,π 1,...,π i-1 ) το μήνυμα  i+1 που έστειλε ο Verifier.  Θα δείξουμε ότι η F μπορεί να υπολογιστεί χρησιμοποιώντας πολυωνυμικό χώρο και ότι για κάθε i, μπορεί να βρεθεί ένα π i που μεγιστοποιεί την πιθανότητα F.

21 21 Simulation is in PSPACE  Για κάθε π i :  Για κάθε δυνατή random sequence r:  ελέγχουμε αν r  R  1,π1,...,πi-1,βi, προσομοιώνοντας τον Verifier  Υπολογίζουμε το β i+1 = V(r,π 1,...,π i ), επίσης προσομοιώνοντας τον Verifier  Υπολογίζουμε αναδρομικά το F(β 1,π 1,...,π i,β i+1 ) Η αναδρομή μπορεί να ολοκληρωθεί σε πολυωνυμικό χώρο, διότι το βάθος της αναδρομής φράσσεται από το πλήθος των γύρων, που είναι πολυωνυμικό. Επιπλέον, η πιθανότητα που μας γυρίζει κάθε αναδρομική κλήση, μπορεί να αποθηκευτεί με έναν αριθμητή και έναν παρονομαστή, με αναπαραστάσεις πολυωνυμικού μήκους.

22 22 IP  PSPACE  Έστω L in IP:  Τότε υπάρχει IP για την L :  Μπορούμε να προσομοιώσουμε τον Prover αυτού του συστήματος σε πολυωνυμικό χώρο.  Για κάθε δυνατό random sequence του Verifier προσομοιώνουμε το διάλογο μεταξύ Prover και Verifier. Εφικτό, σε πολυωνυμικό χώρο.  Στο τέλος μετράμε πόσοι διάλογοι οδήγησαν σε αποδοχή και αν είναι το λιγότερο 2/3 αποδεχόμαστε.  Τελικά, αποδεχόμαστε αν και μόνο αν x  L  Συμπέρασμα: IP  PSPACE

23 23 Combinatorial Games Τα παρακάτω ορίζουν ένα Combinatorial Game :  Έστω D 1, D 2,…, D t μη κενά, πεπερασμένα σύνολα  Έστω συνάρτηση f ορισμένη στο καρτεσιανό γινόμενο dom(f)=D 1 x…xD t και με ran(f)={0,1} (pay off function)  Δύο παίχτες Α (Arthur) και Μ (Merlin) παίζουν εναλλάξ. Στην i- οστή κίνηση ο παίκτης που έχει σειρά επιλέγει x i  D i  Το παιχνίδι τελειώνει μετά την t-οστή κίνηση  Ο παίχτης Μ κερδίζει αν f(x i,…,x t )=1  history = (x i,…,x t )  game space = dom(f)  game size = log 2 |dom(f)|  To παιχνίδι ορίζεται από ένα ζεύγος (f,Q), όπου παίζει πρώτος ο παίκτης Q (Q=A ή Q=M)

24 24 Arthur-Merlin Games Tα Arthur-Merlin Games είναι combinatorial games που επιπλέον ισχύουν τα παρακάτω:  Οι κινήσεις του Α είναι τυχαίες (δεν ενδιαφέρεται για νίκη)  Οι κινήσεις του Μ είναι βέλτιστες (έχει απεριόριστη δύναμη)  Για κάθε input x ισχύει ένα από τα παρακάτω: (α) W(x) > 2/3, ή (β) W(x) < 1/3 όπου W(x) η πιθανότητα του Μ να νικήσει.  Η γλώσσα που αναγνωρίζει ένα τέτοιο παιχνίδι αποτελείται από τις συμβολοσειρές x για τις οποίες ισχύει το ( α ). [“Trading Group Theory for Randomness”, 1985, Laszlo Babai (Budapest, Chicago)] Ιεραρχία ΑΜ ΑΜ(t(n)) είναι το σύνολο των γλωσσών που αναγνωρίζονται από παιχνίδια Arthur-Merlin μήκους t(n), όπου ο Α παίζει πρώτος. Ομοίως ορίζουμε ΜΑ(t(n)), ΑΜ(Poly)=MA(Poly)=U{AM(n k :k>0)}, AM(3)=AMA, MA(1)=M κ.λπ.

25 25 Συμβολισμοί  Έστω συνάρτηση f που παίρνει πραγματικές τιμές στο D=dom(f): Σε ένα παιχνίδι Arthur-Merlin (f,Μ), η πιθανότητα να κερδίσει ο Μ είναι: Mx 1 Ax 2 Mx 3...Qx t f(x 1,x 2,...,x t ) και αν παίζει ο A πρώτος: Αx 1 Μx 2 Αx 3...Qx t f(x 1,x 2,...,x t )  Έστω p η πιθανότητα να κερδίσει ο M σε ένα παιχνίδι Arthur- Merlin. Ορίζουμε την αβεβαιότητα του παιχνιδιού ( uncertainty of the game) ως εξής: unc(f,Q)=min{p,1-p} (η πιθανότητα να χάσει ο παίκτης με το πλεονέκτημα)

26 26 Απαιτήσεις κατά την προσομοίωση Σκοπός είναι η προσομοίωση δεδομένου παιχνιδιού (f,Q) με ένα άλλο (f*,Q*) λιγότερων κινήσεων, ώστε να ικανοποιούνται τα εξής: (α) Και στα δύο παιχνίδια έχει το πλεονέκτημα ο ίδιος παίχτης (β) Ο χώρος του παιχνιδιού ( game space ) δεν αυξάνει σημαντικά (γ) Η αβεβαιότητα αυξάνεται ή δεν μειώνεται σημαντικά (δ) Η f* πρέπει να υπολογίζεται εύκολα από την f Tηρώντας τις παραπάνω απαιτήσεις μπορούμε να προσομοιώσουμε κάθε παιχνίδι ΑΜ[κ], όπου κ σταθερά κ>=2, με ένα παιχνίδι ΑΜ. Η ιεραρχία ΑΜ καταρρέει στο 2 ο επίπεδο. Συγκεκριμένα: ΑΜ = ΑΜ[κ] = ΜΑ[κ+1], για κάθε σταθερά κ>=2

27 27 Ενίσχυση του πλεονεκτήματος Σε συγκεκριμένο παιχνίδι Arthur-Merlin (f,Q) ο ένας παίκτης έχει το πλεονέκτημα (αν x ε L o Merlin). Μπορούμε να αυξήσουμε αυτό το πλεονέκτημα βάζοντας τους παίκτες να παίξουν το παιχνίδι εν παραλλήλω σε k σκακιέρες. Πιο τυπικά ορίζουμε (f k, Q) ως εξής: dom(f) = D 1k x … x D tk και f k (x 11,..., x tk ) είναι η πιθανότητα να κερδίσει ο Μ περισσότερα από τα μισά παιχνίδια. Αποδεικνύεται ότι αν η αβεβαιότητα στο πρώτο παιχνίδι ήταν μικρότερη από 1/3 τότε στο δεύτερο είναι μικρότερη από (8/9) κ/2.

28 28 Εναλλαγή παικτών Μπορούμε να προσομοιώσουμε κάθε ΜΑ παιχνίδι με ένα ΑΜ Το πρόβλημα που πρέπει να ξεπεράσουμε για αυτήν την προσομοίωση, είναι ότι δίνοντας στον Α την πρώτη κίνηση, ο Μ έχει τη δύναμη να ανατρέψει το πλεονέκτημα υπέρ του. Ξεπερνάμε αυτή την δυσκολία βάζοντας τον Α να ξεκινήσει με m ανεξάρτητες κινήσεις και αναγκάζοντας τον Μ να κερδίσει τις περισσότερες από αυτές με μία μόνο κίνηση.  Έστω (f,M) με dom(f) = Χ x Y ένα ΜΑ παιχνίδι  Μπορούμε να το προσομοιώσουμε με ένα παιχνίδι (f*,A) όπου ο Α παίζει πρώτος με dom(f) = Y m x Χ.

29 29 Μείωση των γύρων κατά 1 ΑΜ[κ] = ΑΜ[κ+1] Αποδεικνύεται ότι κάθε (g,A) παιχνίδι k+1 γύρων μπορούμε να το προσομοιώσουμε με ένα παιχνίδι (G,A) k γύρων. Ο τρόπος που γίνεται αυτό είναι ίδιος με τον τρόπο που εναλλάξαμε προηγουμένως τις κινήσεις στο ΜΑ παιχνίδι. Πάλι το παιχνίδι γίνεται σε m παράλληλες σκακιέρες: dom(G) = (D 1 x D 3 m ) x D 2 x … x Π D i m Οι παρενθέσεις δείχνουν ότι μετά την εναλλαγή των κινήσεων συμπτύσσουμε τις δύο συνεχόμενες κινήσεις του Α σε μία δημιουργώντας έτσι παιχνίδι με μία κίνηση λιγότερο. Ο Μ πρέπει να κερδίσει τα περισσότερα από τα m παιχνίδια: w i =(x 1, x 2, x 3i, x 4i,…x ti )

30 30 ΑΜ[2] = ΑΜ[κ] = ΜΑ[κ+1] Α Μ Α Μ Α Μ Α Μ Α Μ Α Μ Α... Q Α Α Μ Μ Α Μ Α Μ Α Μ Α Μ Α... Q Α Μ Α Μ Α Μ Α Μ Α Μ Α Μ... Q Επαναλαμβάνοντας για σταθερό αριθμό φορών τα παραπάνω επιτυγχάνουμε το ζητούμενο. Δεν μπορούμε να κάνουμε το ίδιο για απεριόριστο αριθμό γύρων γιατί το μέγεθος του παιχνιδιού τετραγωνίζεται κάθε φορά που κάνουμε την εναλλαγή.

31 31 Private Coins vs. Public Coins Arthur-Merlin Games & Interactive Proofs Ομοιότητες :  διαλογικά  πιθανοτικά  ο ένας παίχτης έχει απεριόριστη δύναμη (Merlin, Prover)  ο άλλος είναι περιορισμένων δυνατοτήτων (Arthur, Verifier) Βασική Διαφορά :  Στα Arthur-Merlin Games οι τυχαίες επιλογές του Arthur είναι γνωστές στον Merlin, ενώ αντίθετα στα Interactive Proofs οι τυχαίες επιλογές του Verifier γίνονται κρυφά από τον Prover. Συγκεκριμένα, στα Arthur-Merlin Games ο Arthur δεν κάνει τίποτε άλλο από το να στέλνει τα random bits του στον Merlin. Συνεπώς, για κάθε f=O(poly) ισχύει ΑΜ(f)  IP(f)

32 32 IP = AM ως προς Language Recognition Για κάθε πολυώνυμο Q ισχύει IP[Q]  AM[Q+2] Γενική ιδέα απόδειξης : Θέλουμε να προσομοιώσουμε τυχαίο ΙΡ σύστημα με ένα ΑΜ παιχνίδι. H ιδέα στην απόδειξη αυτού του θεωρήματος είναι να στείλει ο Α τα random bits του στον Μ, αλλά με τέτοια μορφή ώστε να τον αναγκάσει να εκτελέσει για λογαριασμό του τις πράξεις που θα εκτελούσε ο Verifier του ΙΡ συστήματος. Στη συνέχεια ο Μ στέλνει αυτούς τους υπολογισμούς μαζί με την απάντησή του και ο Α ελέγχει την εγκυρότητά τους. [“Private Coins vs. Public Coins in Interactive Proof Systems”, 1986, Shafi Goldwasser (MIT), Michael Sipser (MIT)]

33 33 Quantified Boolean Formulas  Έχουμε ήδη δείξει ότι IP  PSPACE  Για να δείξουμε ότι και PSPACE  IP, αρκεί να δείξουμε ότι ένα PSPACE-Complete πρόβλημα έχει Interactive Proof System Quantified Boolean Formulas  Το σύνολο των Quantified Boolean Formulas ορίζεται ως το κλείσιμο ( closure ) του συνόλου των boolean variables x i και των αρνήσεών τους  x i υπό τις πράξεις  (and),  (or),  x i (universal quantification) και  x i (existential quantification)  Μία QBF ονομάζεται κλειστή ( closed ) όταν όλες οι μεταβλητές της είναι bounded από κάποιον ποσοδείκτη. Οι κλειστές QBF μπορεί να είναι είτε True, είτε False.  Μία κλειστή QBF ονομάζεται απλή ( simple ) όταν μεσολαβεί το πολύ ένας καθολικός ποσοδείκτης μεταξύ κάθε εμφάνισης μίας μεταβλητής και του σημείου quantification της π.χ.  x 1  x 2  x 3 [(x 1  x 2 )   x 4 [(x 2  x 3  x 4 )] είναι απλή  x 1  x 2 [(x 1  x 2 )  x 3 [(  x 1  x 3 )] δεν είναι απλή

34 34 Simple QBF's  To QBF είναι PSPACE-Complete. θεώρημα 1: Κάθε QBF μεγέθους n μπορεί να μετατραπεί σε ισοδύναμη simple QBF με μέγεθος πολυωνυμικό ως προς n. Παράδειγμα: Παρακάτω η έκφραση Q δεν περιέχει ποσοδείκτες QBF:  x  y  z  s  t Q(x,y,z,s,t) simple QBF:  x 0  y 0  x 1 (x 1 =x 0 )   z 0  s 0  x 2  y 1  z 1 (x 2 =x 1 )  (y 1 =y 0 )  (z 1 =z 0 )   t 0 Q(x 2,y 1,z 1,s 0,t 0 ) Με την παραπάνω διαδικασία η μετασχηματισμένη QBF είναι προφανώς simple. Επιπλέον, αν n ήταν το μέγεθος της πρώτης QBF, τότε το μέγεθος της simple QBF θα είναι O(n 2 ).  Έστω η γλώσσα L = {x : (x is simple QBF)  (x is true)} Λόγω των παραπάνω, αν κατασκευάσουμε Interactive Proof System για την γλώσσα L θα έχουμε αποδείξει ότι: IP=PSPACE [“IP=PSPACE”, 1992, Adi Shamir (Israel)]

35 35 Arithmetization of QBF Με κάθε closed QBF Β αντιστοιχίζουμε μία αριθμητική έκφραση Α, κάνοντας τους παρακάτω συντακτικούς μετασχηματισμούς: xixi  xixi 1-z i *, integer multiplication z i, z i  Z  +, integer addition xixi xixi Σ z i  {0,1} Π z i  {0,1} x i  x j (x i  x j )  (  x i   x j )

36 36 Arithmetization of QBF: Παράδειγμα Θεώρημα 2: Μια closed QBF Β είναι TRUE αν και μόνο αν η τιμή της αριθμητικής έκφρασής της Α, είναι μη-μηδενική. (απόδειξη με επαγωγή στη δομή της Β) Έστω για παράδειγμα η παρακάτω TRUE QBF: Β =  x 1  x 2 [(x 1  x 2 )   x 3 (  x 2  x 1 )] Η αριθμητική της έκφραση είναι: και η τιμή της είναι 2.

37 37 Το μέγεθος της αριθμητικής έκφρασης Πόσο μεγάλη μπορεί να γίνει η τιμή της αριθμητικής έκφρασης μίας closed QBF; Θεώρημα 3: Έστω Β μία closed QBF μεγέθους n. Η τιμή της αριθμητικής της έκφρασης Α είναι Ο(2 2 n ). Απόδειξη: Για κάθε sub-expression Β’ της Β ας είναι u(B’) η μέγιστη τιμή που μπορεί να πάρει η αριθμητική έκφραση της Β’ αν αντικατασταθούν οι ελεύθερες μεταβλητές με 0 και 1. (1) Αν η Β’ είναι x i ή  x i, τότε u(B’) = 1 (2) Αν η Β’ είναι Β’’  Β’’’, τότε u(B’) <= u(B’’) + u(B’’’) (3) Αν η Β’ είναι Β’’  Β’’’, τότε u(B’) <= u(B’’). u(B’’’) (4) Αν η Β’ είναι  x i Β’’, τότε u(B’) <= 2. u(B’’’) (5) Αν η Β’ είναι  x i Β’’, τότε u(B’) <= [u(B’’’)] 2 Μπορεί και τόσο πολύ: π.χ. Β =  x 1  x 2...  x n-1  x n (  x n  x n ) Είναι u(  x n (  x n  x n )) = 2 και τη διπλασιάζει κάθε 

38 38 mod p Θεώρημα 4: Έστω Β μία closed QBF μεγέθους n. Υπάρχει πρώτος p πολυωνυμικού μήκους ως προς n τέτοιος ώστε Α  0(modp) αν και μόνο αν η Β είναι TRUE Απόδειξη: ( if ) Έστω ότι ο Α είναι μη-μηδενικός ακέραιος. Αν είναι 0 modulo κάθε πολυωνυμικού μήκους πρώτο, τότε είναι 0 modulo το γινόμενο όλων αυτών. Από το θεώρημα των πρώτων ( π(n) ~ n/lgn ) αυτό το γινόμενο είναι Ω(2 2 n d ) για κάθε σταθερά d. Άτοπο, γιατί το Α είναι μη-μηδενικό και Ο(2 2 n ). Παρατήρηση: Η τιμή μίας αριθμητικής έκφρασης μπορεί να γίνει πολύ μεγάλη. Αυτό μας ενοχλεί διότι ο Verifier δεν μπορεί να χειριστεί αριθμούς Ο(2 2 n ). Για να λειτουργήσει το πρωτόκολλο θα πρέπει να βρεθεί πρώτος p κατάλληλος ώστε να γίνουν οι πράξεις modulo p.

39 39 Functional Form Ορίζουμε ως Functional Form A’ μίας αριθμητικής έκφρασης Α, το πολυώνυμο μίας μεταβλητής που προκύπτει από την αφαίρεση του αριστερότερου Π z i  {0,1} ή Σ z i  {0,1} από την Α. Παράδειγμα: Ο Prover μπορεί να εκφράσει το Α’ ως πολυώνυμο. Σε αυτή την περίπτωση είναι q(z 1 ) = z 1 2 + 1

40 40 Polynomials of Functional Forms Θεώρημα 5: Αν η Β είναι simple και μεγέθους n, τότε ο βαθμός του πολυωνύμου q(z 1 ) που προκύπτει από τη Functional Form της Α είναι Ο(n). Απόδειξη: - Σε subexpressions χωρίς ποσοδείκτες, ο βαθμός του z 1 είναι μικρότερος από το μήκος της subexpression - Τα αθροίσματα δεν αλλάζουν το βαθμό του πολυωνύμου - Τα γινόμενα διπλασιάζουν το βαθμό, αλλά επειδή η Β είναι simple τέτοιος διπλασιασμός μπορεί να συμβεί μόνο μία φορά Παρατήρηση: Προσθέτοντας μεταβλητές μπορούμε να μειώσουμε το βαθμό του πολυωνύμου στο 3 και έτσι να αρκούν 4 αριθμοί για να το περιγράψουμε. Π.χ. η Β=  xΒ’, όπου η x εμφανίζεται k φορές στη Β’, μπορεί να γραφεί:  x 1  x 2...  x k (x 1  x 2 ...  x k )  Β’’

41 41 Παράδειγμα common input: Στέλνει ο Ρ στον V στο 1 ο βήμα: Verifier: ελέγχει αν α = q(0). q(1) = 2 στέλνει τυχαίο z 1 = 3 στον Prover ( 2 ο βήμα )

42 42 Παράδειγμα Στέλνει ο Ρ στον V στο 3 ο βήμα: Υπολογισμοί που κάνουν και οι δύο: Verifier: ελέγχει αν α = q(0) + q(1) = 9 + 3 = 12 στέλνει τυχαίο z 1 = 2 στον Prover ( 4 ο βήμα ) και πάλι από την αρχή...

43 43 Παράδειγμα Στέλνει ο Ρ στον V στο 5 ο βήμα: Υπολογισμοί που κάνουν και οι δύο: Verifier: ελέγχει αν α = q(0). q(1) = (6+0)(6+1) = 42 επιλέγει τυχαίο z 3 = 5 και καθώς στο νέο Α το Α 2 είναι κενό, ελέγχει μόνος του εάν το Α’(z 3 = 5) = (6 + 5) = 11 είναι ίσο με α = q(z 3 = 5) = 5 + 6 = 11

44 44 Το πρωτόκολλο common input: αριθμητική παράσταση Α μίας simple QBF Ο Prover στέλνει στον Verifier την τιμή α = Α mod p (όπου p κατάλληλος πρώτος) και θέλει να τον πείσει ότι Α  0(modp). Αυτό το κατορθώνει μειώνοντας σε κάθε βήμα το μέγεθος της Α. Η Α σε κάθε ενδιάμεσο βήμα διαιρείται σε Α 1 +Α 2 ή Α 1. Α 2. Η Α 1 είναι αριθμητική παράσταση υπολογίσιμη από τον Verifier και με τιμή α 1, ενώ η Α 2 είναι μία κλειστή αριθμητική έκφραση και αρχίζει με τον αριστερότερο ποσοδείκτη της Α. εν συνεχεία επαναλαμβάνουν τα παρακάτω: Αν η Α 2 είναι κενή, ο Verifier αποδέχεται αν και μόνο αν α = α 1 Αν η Α 1 δεν είναι κενή, αντικαθίσταται η Α από την Α 2 και το α από α - α 1 mod p ή α / ( α 1 mod p ). Αν α 1 = 0 (mod p ) ο Verifier σταματάει και αποδέχεται αν και μόνο αν α = 0 (mod p ). Διαφορετικά, ο Prover στέλνει το πολυώνυμο q(z i ) στον Verifier και αυτός ελέγχει αν α = q(0) + q(1) ή α = q(0).q(1). Στέλνει τυχαίο r  Z p στον Prover και αντικαθίστανται τα Α και α από Α’(z=r)(mod p) και q(r)(mod p) αντιστοίχως.

45 45 Completeness & Soundness completeness: Όταν η τιμή της QBF είναι TRUE, ο Prover δεν έχει παρά να ακολουθήσει το πρωτόκολλο και εν τέλει θα πείσει τον Verifier. soundness: Αν ο Prover δώσει ψεύτικη τιμή α στον Verifier, θα πρέπει να δώσει και ψεύτικο πολυώνυμο q, ώστε να περάσει τους ενδιάμεσους ελέγχους του Verifier ( α=q(0)+q(1) ή α=q(0).q(1) ). Όμως, όταν ο Verifier εκτιμήσει για τυχαίο r  Z p την τελική αριθμητική έκφραση Α’ μόνος του, για να παραπλανηθεί θα πρέπει το πολυώνυμο του Prover να συμπίπτει με την Α’ στο τυχαίο r. Τα Α’ και q είναι πολυώνυμα βαθμού το πολύ 3 και επομένως συμπίπτουν σε 3 το πολύ σημεία (εκτός αν ταυτίζονται). Το r αντιθέτως μπορεί να πάρει οποιαδήποτε τιμή στο Zp και αφού η τιμή του p είναι εκθετική ως προς την είσοδο η πιθανότητα λάθους του πρωτοκόλλου είναι εκθετικά μικρή. παρατήρηση 1: το πρωτόκολλο είναι Public Coin παρατήρηση 2: το πρωτόκολλο που περιγράφηκε δεν χρειάζεται να επαναληφθεί, είναι όμως από μόνο του πολυωνυμικού μήκους.


Κατέβασμα ppt "1 Διαλογικά συστήματα αποδείξεων (Interactive proof systems) Κρυπτογραφία & Πολυπλοκότητα καθ. Στάθης Ζάχος παρουσίαση: Νίκος Λεονάρδος."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google