Εθνικό Μετσόβιο Πολυτεχνείο

Σχετικά έγγραφα
Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Κρυπτοσύστημα RSA (Rivest, Shamir, Adlemann, 1977) Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

7. O κβαντικός αλγόριθμος του Shor

Κρυπτογραφία. Έλεγχος πρώτων αριθών-παραγοντοποίηση. Διαφάνειες: Άρης Παγουρτζής Πέτρος Ποτίκας

Υπολογιστικά & Διακριτά Μαθηματικά

Περιεχόμενα. Πρόλογος... 9 Δύο λόγια για το νέο ερευνητή Δύο λόγια για το Διδάσκοντα Ένα κβαντικό παιχνίδι... 15

Κρυπτογραφία Δημοσίου Κλειδιού

Αριθμοθεωρητικοί Αλγόριθμοι

CoveX: Quantum Circuit Simulator

5. Κβαντική Διερεύνηση - Κβαντικός αλγόριθμος του Grover

KΕΦΑΛΑΙΟ 1 ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ. { 1,2,3,..., n,...

Εφαρμοσμένη Κρυπτογραφία Ι

Υποθέσεις - - Θεωρήματα Υποθέσεις - Θεωρήματα Στα μαθηματικά και στις άλλες επιστήμες κάνουμε συχνά υποθέσεις. Οταν δείξουμε ότι μια υπόθεση είναι αλη

Εύρεση ν-στού πρώτου αριθμού

Εφαρμοσμένη Κρυπτογραφία Ι

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Υπολογιστικά & Διακριτά Μαθηματικά

Fast Fourier Transform

Κρυπτογραφία. Κωνσταντίνου Ελισάβετ

6. Kerenidis I., de Wolf R., Exponential lower bound for 2-query locally decodable codes via a quantum argument, 2004.

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Τεχνικές Αποδείξεις Κάτω Φραγμάτων

* * * ( ) mod p = (a p 1. 2 ) mod p.

a = a a Z n. a = a mod n.

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

ΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ

Πράξεις με δυαδικούς αριθμούς

F 5 = (F n, F n+1 ) = 1.

Υπολογιστικά & Διακριτά Μαθηματικά

Εφαρμοσμένη Κρυπτογραφία Ι

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

1 ο ΦΥΛΛΑΔΙΟ ΑΣΚΗΣΕΩΝ - ΑΛΓΟΡΙΘΜΟΙ

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Ψευδοκώδικας. November 7, 2011

2. Αποθήκευση της κβαντικής πληροφορίας

Υποθέσεις - Θεωρήματα. Μαθηματικά Πληροφορικής 1ο Μάθημα. Η χρυσή τομή. Υποθέσεις - Εικασίες

4. Η αρχή της κβαντικής υπολογιστικής - Κβαντικός αλγόριθμος του Deutsch

Θεμελιώδη Υπολογιστικά Προβλήματα στην Κρυπτογραφία

Μαθηματικά και Φυσική με Υπολογιστές

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

4.2 ΕΥΚΛΕΙΔΕΙΑ ΔΙΑΙΡΕΣΗ

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ

project RSA και Rabin-Williams

Αλγεβρικές Δομές και Αριθμοθεωρία

1η Σειρά Γραπτών Ασκήσεων

(CLR, κεφάλαιο 32) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Παραστάσεις πολυωνύµων Πολυωνυµική Παρεµβολή ιακριτός Μετασχηµατισµός Fourier

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Θεωρία αριθμών Αλγεβρικές δομές. Χρήστος Ξενάκης

m + s + q r + n + q p + s + n, P Q R P Q P R Q R F G

ΕΥΡΕΣΗ ΜΕΓΙΣΤΟΥ ΚΟΙΝΟΥ ΔΙΑΙΡΕΤΗ

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 1 η

Παναγιώτης Ψαρράκος Αν. Καθηγητής

Αναδρομικές Σχέσεις «ιαίρει-και-βασίλευε»

Πρόβληµα 2 (15 µονάδες)

Υπολογισμός της δύναμης z=x b modn

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 1 η

Διάλεξη 18: Πρόβλημα Βυζαντινών Στρατηγών. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Εισαγωγή Ορισμός Frequency moments

Κυκλώματα και βασικές Ιδιότητες

Αριθμητική Ανάλυση & Εφαρμογές

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Αριθμο-Θεωρητικά Προβλήματα Αναφοράς

2 ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ ΑΛΓΕΒΡΙΚΕΣ ΔΟΜΕΣ

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

1.4 Καθορισμός απαιτήσεων

Ολοκληρωμένα Κυκλώματα

(Γραμμικές) Αναδρομικές Σχέσεις

I. ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ. math-gr

Δομές Δεδομένων & Αλγόριθμοι

Σειρά Προβλημάτων 4 Λύσεις

Σημειωματάαριο Δευτέρας 16 Οκτ. 2017

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών

3. Τελεστές και κβαντικές πύλες

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Πρόβλημα 29 / σελίδα 28

Κρυπτογραφία. Κρυπτοσυστήματα ροής. Πέτρος Ποτίκας. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Τυχαιότητα (Randomness) I

Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Δυαδικό Σύστημα Αρίθμησης

Εισαγωγή στην επιστήμη των Υπολογιστών & Τηλεπικοινωνιών

Σημειωματάριο Δευτέρας 30 Οκτ. 2017

Ο αλγόριθμος πρέπει να τηρεί κάποια κριτήρια

Διακριτά Μαθηματικά. Άγγελος Κιαγιάς. aggelos. Τμήμα Πληροφορικής & Τηλεπικοινωνιών. π.

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

= 7. Στο σημείο αυτό θα υπενθυμίσουμε κάποιες βασικές ιδιότητες του μετασχηματισμού Laplace, δηλαδή τις

Εισαγωγή στους Αλγόριθμους. Παύλος Εφραιμίδης, Λέκτορας

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Λύσεις 4ης Σειράς Ασκήσεων

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

Κεφάλαιο 8. Αριθμητική Λογική μονάδα

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής


Ελληνικό Ανοικτό Πανεπιστήµιο Σπουδές στην Πληροφορική. Μια σύντοµη διαδροµή στα µονοπάτια της σύγχρονης κρυπτογραφίας

Transcript:

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία PROJECT Συνοπτική Παρουσίαση του Κβαντικού Αλγόριθμου Παραγοντοποίησης του Shor Φοιτητής ΣΗΜΜΥ: Στράτος Παλαιολόγος Α.Μ. 0306008

Εισαγωγή Σκοπός της εργασίας είναι η παρουσίαση του κβαντικού αλγόριθμου παραγοντοποίησης του Shor που παρουσιάστηκε στην εργασία του Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer το 997. Σε αυτήν την εργασία θα αναφερθούμε σε ορισμένες βασικές αρχές της λειτουργίας των κβαντικών επεξεργαστών, στην κβαντική ύψωση σε δύναμη, στον κβαντικόν αλγόριθμο μετασχηματισμού Fourier και στον ίδιο τον αλγόριθμο παραγοντοποίησης του Shor. Τέλος, αναφέρεται και ο αλγόριθμος επίλυσης του DLP. 2 Κβαντικοί Επεξεργαστές Οι κβαντικοί επεξεργαστές χρησιμοποιούν ως δομικό συστατικό πληροφορίας το ubit, το οποίο διαφέρει από το κλασικό bit στα εξής δυο: ότι αποθηκεύει ταυτόχρονα την τιμή 0 και (υπέρθεση) και κατά τη μέτρηση δίνει μια από τις δυο τιμές. Θα χρησιμοποιούμε τον συμβολισμό x για να ορίζουμε μια κβαντική κατάσταση όπου x είναι η βάση της (για ένα ubit είναι το 0 ή το ). Έτσι, για μπορούμε να ορίσουμε μαθηματικά την κατάσταση ενός ubit ως την υπέρθεση x =α 0 + β όπου α και β είναι μιγαδικοί αριθμοί, τα τετράγωνα των μέτρων των οποίων μας δίνουν την πιθανότητα να λάβουμε την αντίστοιχη παρατήρηση. Το άθροισμα προφανώς αυτών των τετραγώνων είναι ίσο με. Επεκτείνοντας το παραπάνω για ένα σύστημα με n ubits χρειαζόμαστε 2 n αριθμούς για να περιγράψουμε την κατάστασή του, οπότε μπορούμε να δώσουμε την υπέρθεση: 2 n i =0 a i S i, οπότε σχηματίζουμε ένα διάνυσμα (ή μπορούμε να το δούμε και ως πίνακα). Η ισχυρή διατύπωση της θέσης του Church-Turing: Κάθε φυσικό υπολογιστικό σύστημα μπορεί να εξομοιωθεί με μια μηχανή Turing σε αριθμό βημάτων πολυωνυμικό ως προς τους πόρους που χρησιμοποιεί το υπολογιστικό σύστημα έχει μια επιπλέον σημασία για τους κβαντικούς επεξεργαστές. Οι πόροι που μας ενδιαφέρουν είναι πέρα από τη μνήμη και το χώρο (όπως στους συμβατικούς υπολογιστές) και η ακρίβεια. Καλό είναι η ακρίβεια να μεγαλώνει πολυωνυμικά σε σχέση με το μήκος της εισόδου. Μια από τις βασικότερες ιδιότητες των κβαντικών επεξεργαστών είναι ότι οποτεδήποτε μετρηθεί ένα ubit τότε αυτό το ubit θα παραμείνει σε αυτήν την κατάσταση στην οποία μετρήθηκε. Επειδή, όμως, αυτό που κατά κύριο λόγο εκμεταλλευόμαστε στους κβαντικούς υπολογιστές είναι η υπέρθεση αποφεύγουμε αυτό το πρόβλημα κάνοντας όλους τους υπολογισμούς αντιστρέψιμους. Έτσι, χρησιμοποιούνται ειδικές λογικές πύλες, όπως η Toffoli και η Fredkin, από τις οποίες έπειτα φτιάχνονται οι κλασικές πύλες (AND,OR,NOT). 3 Ύψωση σε Δύναμη και Μετασχηματισμός Fourier Πριν περιγράψουμε τον αλγόριθμο του Shor, θα αναφερθούμε στον τρόπο επίλυσης δυο προβλημάτων: την κβαντική ύψωση σε δύναμη modulo n και τον κβαντικό μετασχηματισμό Fourier. Το πρώτο πρόβλημα έχει ως εξής: Δοθέντος n, x, r να βρεθεί η τιμή x r (mod n). Ενώ στους κλασικούς υπολογιστές η υλοποίηση αυτού του προβλήματος γίνεται αποδοτικά με τον αλγόριθμο του επαναλαμβανόμενου τετραγωνισμού, στους κβαντικούς υπολογιστές τα πράγματα είναι πιο δύσκολα, καθώς πρέπει να όλες οι συναρτήσεις μας να είναι αντιστρέψιμες. Στον αλγόριθμο του Shor το r είναι μια υπέρθεση καταστάσεων, ενώ τα x και n είναι σταθεροί ακέραιοι. Ο ψευδοκώδικας είναι ο

ακόλουθος: power := for i = 0 to l - if ( r i == ) then endif endfor power := power x (2i) mod n Έτσι, χωρίς να αλλάξουμε την κατάσταση του r ( r i είναι το ι-οστό ubit του r) μπορούμε να υπολογίσουμε το αποτέλεσμα, χρησιμοποιώντας επαναλαμβανόμενο τετραγωνισμό. Το μόνο πρόβλημα που αντιμετωπίζει στην υλοποίησή του ο ψευδοκώδικας είναι η υλοποίηση του πολλαπλασιασμού σε ένα ολοκληρωμένο κύκλωμα (αφού το x (2i ) mod n μπορεί να υπολογιστεί με τον κλασικό τρόπο και έπειτα να δοθεί ως είσοδος στο ολοκληρωμένο). Η ιδέα που χρησιμοποιείται είναι αυτή της επαναλαμβανόμενης πρόσθεσης. Για να γίνει αυτό το βήμα αντιστρέψιμο πρέπει το gcd(c,n) =, όπου c είναι ο πολλαπλασιαστής. Το δεύτερο πρόβλημα είναι ο κβαντικός μετασχηματισμός Fourier, όπου η κατάσταση α μετασχηματίζεται στην κατάσταση c exp( 2πiαc ). Για την υλοποίησή του σε κβαντικό ( 2 ) c=0 επεξεργαστή χρειαζόμαστε δυο ειδών πύλες R και S, των οποίων οι πίνακες αληθείας δίνονται παρακάτω: R j 0 0 / 2 / 2 / 2 / 2 S ( j, k) 00 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 e (iθ (κ j )) Τα ubits πάνω στα οποία ενεργούν είναι τα j, k. Όταν εφαρμόσουμε αυτές τις πύλες με την ακόλουθη σειρά παίρνουμε το επιθυμητό αποτέλεσμα. R (l ) S (l 2, l ) R (l 2) S (l 3,l ) S (l 3,l 2) R (l 3)...R S (0, l ) S (0, l 2)... S (0,2) S (0,) R0

4 Κβαντικός Αλγόριθμος Παραγοντοποίησης του Shor Το πρόβλημα είναι ως εξής: να βρεθούν οι μη-τετριμμένοι διαιρέτες ενός αριθμού n. Μπορούμε να χωρίσουμε σε δυο μέρη τον αλγόριθμο. Το πρώτο μέρος είναι η εύρεση της θέσης ενός στοιχείου x στην πολλαπλασιαστική ομάδα (mod n), δηλαδή η εύρεση του μικρότερου r τέτοιου ώστε x r (mod n). Το δεύτερο μέρος είναι ο υπολογισμός των gcd (x ( r 2 ), n) και gcd (x ( r 2 ) +, n), οπότε μπορούμε να βρούμε έναν διαιρέτη του n. Το δεύτερο βήμα είναι γνωστό και υλοποιείται εύκολα και γρήγορα. Η καινοτομία του αλγορίθμου είναι το πρώτο βήμα. Χρησιμοποιεί δυο καταχωρητές, ας τους ονομάσουμε r, r2. Τα στάδια που ακολουθεί είναι:. Διαλέγουμε έναν τυχαίο αριθμό, ο οποίος έχει μικρούς πρώτους παράγοντες και για τον οποίο ισχύει 2n 2 <<3n 2. Έχουμε σταθερούς τους αριθμούς x, n, οι οποίοι κατά τη διάρκεια της διαδικασίας δε θα πειραχθούν. 2. Στον r φορτώνουμε την υπέρθεση αριθμών α, με α<. Δηλαδή στον r βρίσκονται όλοι οι αριθμοί από 0 έως - ή πιο μαθηματικά η κατάσταση του συστήματος είναι α 0 (στον r2 είναι το 0, αφού δεν έχουμε φορτώσει τίποτα. ( 2 ) c=0 3. Όπως δείξαμε στην προηγούμενη παράγραφο, με παράλληλη επεξεργασία υπολογίζουμε στον r2 τις τιμές x α (mod n), οπότε η κατάσταση του συστήματος γίνεται α x α (mod n). Η διαδικασία είναι αντιστρέψιμη, αφού κράταμε στον r το α. ( 2 ) c=0 4. Εφαρμόζουμε μετασχηματισμό Fourier στον r, οπότε κάθε α αντιστοιχίζεται c exp( 2πiαc )., όπως είδαμε πιο πάνω. Έτσι, η τελική κατάσταση του συστήματός μας ( 2 ) c=0 c=0 είναι c exp( 2πiαc ) x α (mod n). Χρειαζόμαστε αυτό το βήμα, γιατί με αυτόν τον τρόπο a=0 είναι σαν να κάνουμε δειγματοληψία ανά /r. 5. Παρατηρούμε το σύστημα, παίρνοντας μια κατάσταση c, x k (mod n). Αυτό που μας ενδιαφέρει είναι το c, γι' αυτό χρησιμοποιήσαμε και το Μ/Σ Fourier. Αποδεικνύεται ότι η τιμή του θα είναι με μεγάλη πιθανότητα κοντά στο λ/r. Αφού γνωρίζουμε το, αποκτούμε μια προσέγγιση του λ/r. Οπότε για να βρούμε το r, χρειαζόμαστε το λ και το r να είναι πρώτοι μεταξύ τους. Για να το πετύχουμε αυτό, χρησιμοποιούμε μια τεχνική που λέγεται fraction expansion στο c/ σε πολυωνυμικό χρόνο. Με αυτόν τον τρόπο μπορούμε να βρούμε πιθανοτικά το r. Αποδεικνύεται ακόμη ότι χρειαζόμαστε χρόνο O(loglogr). 6. Εδώ τελειώνει το κβαντικό μέρος του αλγορίθμου. Από εδώ και πέρα τα βήματα μπορούν να εκτελεστούν και σε ένα συμβατικό υπολογιστή. Αν το r είναι περιττός ή x (r /2 ) (mod n) τότε επαναλαμβάνουμε από την αρχή τον αλγόριθμο.

7. Εδώ ισχύει x (r /2 ) (mod n), οπότε με πράξεις προκύπτει (x (r /2 ) )(x (r / 2) +) k(mod n) και υπολογίζοντας τους μέγιστους κοινούς διαιρέτες βρίσκουμε έναν διαιρέτη του n. Αυτός ο αλγόριθμος είναι πιθανοτικός, γι' αυτό και ανήκει στην κλάση BQP, αντίστοιχη της BPP για κβαντικούς αλγορίθμους. Ο ακριβής χρόνος που χρειάζεται είναι O((log n) 3 ) για είσοδο n. Το πιο αργό κομμάτι είναι η ύψωση σε δύναμη. Ως σήμερα, είναι ο μόνος γνωστός αλγόριθμος για παραγοντοποίηση ακεραίων. 5 Διακριτός Λογάριθμος Ένα άλλο πρόβλημα που μελετάται στη συγκεκριμένη εργασία είναι το DLP (Πρόβλημα Διακριτού Λογαρίθμου). Το πρόβλημα είναι εύρεση ενός r τέτοιου ώστε g r x(mod p), όπου p πρώτος και g γεννήτορας της πολλαπλασιαστικής ομάδας του p. Ο αλγόριθμος που προτείνει ο Shor στην εργασία του χρησιμοποιεί δυο υψώσεις σε δύναμη και δυο Μ/Σ Fourier και τρεις καταχωρητές r, r2, r3. Ακολουθεί τα εξής βήματα:. Βρίσκουμε μια δύναμη του 2 τέτοιο ώστε p<<2p. 2. Στους r και r2 βάζουμε την υπέρθεση των α και b με α,b < p. 3. Υπολογίζουμε στον r3 το g α x b (mod p). 4. Εφαρμόζουμε Μ/Σ Fourier στα α και b. 5. Παρατηρούμε την τελική κατάσταση του συστήματος, η οποία έχει την ακόλουθη μορφή: p 2 exp( 2πic ( p ) a, b=0 c.d =0 (αc+bd)) c,d, gα x b (mod p). Με παρόμοιο, αν και πιο πολύπλοκο τρόπο, αποδεικνύεται ότι μπορούμε να βρούμε σε πολυωνυμικό χρόνο προσπαθειών το σωστό r. 6. Ελέγχουμε αν το r που βρήκαμε είναι σωστό, αλλιώς αρχίζουμε ξανά τον αλγόριθμο. Ο συγκεκριμένος αλγορίθμος επίσης ανήκει στο BQP και μπορεί να χρησιμοποιηθεί και για εύρεση διακριτού λογαρίθμου όταν το p είναι δύναμη ενός πρώτου.