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

Σχετικά έγγραφα
Αριθμοθεωρητικοί Αλγόριθμοι

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

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

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

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

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

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

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

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

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

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

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

Κρυπτογραφία. Κεφάλαιο 4 Αλγόριθμοι Δημοσίου Κλειδιού (ή ασύμμετροι αλγόριθμοι)

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

2.3 Πολυωνυμικές Εξισώσεις

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

Περιεχόμενα. Κεφάλαιο 3 Οι ιδιότητες των αριθμών Αριθμητικά σύνολα Ιδιότητες Περισσότερες ιδιότητες...

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

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

Περιεχόμενα. Κεφάλαιο 3 Οι ιδιότητες των αριθμών Αριθμητικά σύνολα Ιδιότητες Περισσότερες ιδιότητες...

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

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

Γενικά Μία μέθοδος κρυπτογραφίας δημοσίου κλειδιού Αντί για δακτύλιους της μορφής Z n χρησιμοποιεί ελλειπτικές καμπύλες ορισμένες σε πεπερασμένα σώματ

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

1 Αριθμητική κινητής υποδιαστολής και σφάλματα στρογγύλευσης

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

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

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

Πίνακες Διασποράς. Χρησιμοποιούμε ένα πίνακα διασποράς T και μια συνάρτηση διασποράς h. Ένα στοιχείο με κλειδί k αποθηκεύεται στη θέση

1ο Κεφάλαιο: Συστήματα

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

a b b < a > < b > < a >.

12. ΑΝΙΣΩΣΕΙΣ Α ΒΑΘΜΟΥ. είναι δύο παραστάσεις μιας μεταβλητής x πού παίρνει τιμές στο

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

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

Δηλαδή η ρητή συνάρτηση είναι πηλίκο δύο ακέραιων πολυωνύμων. Επομένως, το ζητούμενο ολοκλήρωμα είναι της μορφής

β) 3 n < n!, n > 6 i i! = (n + 1)! 1, n 1 i=1

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

11. Ποιες είναι οι άμεσες συνέπειες της διαίρεσης;

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

Κεφάλαιο 5. Το Συμπτωτικό Πολυώνυμο

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

Μαθηματικά Γ Γυμνασίου

Πολυωνυμικές εξισώσεις και ανισώσεις Εξισώσεις και ανισώσεις που ανάγονται σε πολυωνυμικές

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

2.1 Διαιρετότητα, ισοϋπόλοιποι αριθμοί. q Z, a = b q + r.

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

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

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

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

Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή

ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή 2. Θεωρία αριθμών Αλγεβρικές δομές 3. Οι κρυπταλγόριθμοι και οι ιδιότητές τους

Μορφές αποδείξεων. Μαθηματικά Πληροφορικής 2ο Μάθημα. Μορφές αποδείξεων (συνέχεια) Εξαντλητική μέθοδος

ΚΕΦΑΛΑΙΟ 1: Πρότυπα. x y x z για κάθε x, y, R με την ιδιότητα 1R. x για κάθε x R, iii) υπάρχει στοιχείο 1 R. ii) ( x y) z x ( y z)

Ποιες από τις παρακάτω προτάσεις είναι αληθείς; Δικαιολογήστε την απάντησή σας.

KΕΦΑΛΑΙΟ 5 ΨΗΦΙΑΚΕΣ ΥΠΟΓΡΑΦΕΣ

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

Αριθµοθεωρητικοί Αλγόριθµοι και το. To Κρυπτοσύστηµα RSA

ΕΠΑΝΑΛΗΨΗ Α ΓΥΜΝΑΣΙΟΥ

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

2ογελ ΣΥΚΕΩΝ 2ογελ ΣΥΚΕΩΝ ΠΟΛΥΩΝΥΜΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ Β Λυκει(ου ΠΟΛΥΩΝΥΜΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ

Τυχαιοκρατικοί Αλγόριθμοι

Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης. Οταν το πρόβλημα έχει πεπερασμ

9 Πολυώνυμα Διαίρεση πολυωνύμων

Διακριτά Μαθηματικά Εισαγωγή Αλγόριθμοι ακεραίων, πολυπλοκότητα, στοιχεία θεωρίας αριθμών

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

(a + b) + c = a + (b + c), (ab)c = a(bc) a + b = b + a, ab = ba. a(b + c) = ab + ac

A N A B P Y T A ΑΣΚΗΣΕΙΣ ΠΟΛΥΩΝΥΜΩΝ. 1 (α + β + γ) [(α-β) 2 +(α-γ) 2 +(β-γ) 2 ] και τις υποθέσεις

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

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

Πρόλογος 1. 1 Μαθηµατικό υπόβαθρο 9

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

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

Κεφάλαιο. Ψηφιακές Υπογραφές Εισαγωγή. Πίνακας Περιεχομένων

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

ΚΕΦΑΛΑΙΟ 4 Η ΑΡΧΗ ΕΓΚΛΕΙΣΜΟΥ ΑΠΟΚΛΕΙΣΜΟΥ

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

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

G 1 = G/H. I 3 = {f R : f(1) = 2f(2) ή f(1) = 3f(2)}. I 5 = {f R : f(1) = 0}.

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

Να γράψετε 5 φυσικούς αριθμούς ξεκινώντας από τον μικρότερο. Ποιοι αριθμοί λέγονται ρητοί και ποιοι άρρητοι;

Εισαγωγή στην Ανάλυση Αλγορίθμων

Παραδείγματα Ιδιοτιμές Ιδιοδιανύσματα

ΚΕΦΑΛΑΙΟ 3: Συνθήκες Αλυσίδων

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

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

Γραμμική Αλγεβρα ΙΙ Διάλεξη 1 Εισαγωγή Χρήστος Κουρουνιώτης Πανεπισ τήμιο Κρήτης 19/2/2014 Χ.Κουρουνιώτης (Παν.Κρήτης) Διάλεξη 1 19/2/ / 13

11.1 Συναρτήσεις. ΚΕΦΑΛΑΙΟ 11: Θεωρία υπολογισµών

f(t) = (1 t)a + tb. f(n) =

bca = e. H 1j = G 2 H 5j = {f G j : f(0) = 1}

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

Μαθηματική Εισαγωγή Συναρτήσεις

Κεφ. 6Β: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών

Άλγεβρα 1 ο Κεφάλαιο ... ν παράγοντες

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

Μαθηματική Εισαγωγή Συναρτήσεις

Ε Μέχρι 18 Μαΐου 2015.

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

ΑΛΓΕΒΡΑ Β ΛΥΚΕΙΟΥ ΕΠΙΜΕΛΕΙΑ ΑΥΓΕΡΙΝΟΣ ΒΑΣΙΛΗΣ. ΚΕΦΑΛΑΙΟ 4ο ΠΟΛΥΩΝΥΜΑ ΠΟΛΥΩΝΥΜΙΚΕΣ ΕΞΙΣΩΣΕΙΣ ΕΠΙΜΕΛΕΙΑ: ΑΥΓΕΡΙΝΟΣ ΒΑΣΙΛΗΣ

Transcript:

Κεφάλαιο Αριθμο-Θεωρητικά Προβλήματα Αναφοράς Πίνακας Περιεχομένων 3. Εισαγωγή και συνοπτική επισκόπηση... 3. Το πρόβλημα της παραγοντοποίησης ακεραίων... 3 3.3 Το πρόβλημα RSA... 4 3.4 Το πρόβλημα της τετραγωνικής καταλοιπότητας... 5 3.5 Υπολογισμός τετραγωνικών ριζών στο... 6 3.6 Το Πρόβλημα του Διακριτού Λογαρίθμου.... 9 3.7 Το πρόβλημα Dffe-Hellma... 3 3.8 Σύνθετα modul... 33 3.9 Υπολογισμός μεμονωμένων bt... 34 3.0 Το πρόβλημα αθροίσματος υποσυνόλου... 37 3. Παραγοντοποίηση πολυωνύμων επί πεπερασμένων σωμάτων... 43 3. Σημειώσεις και περαιτέρω αναφορές... 46 3. Εισαγωγή και συνοπτική επισκόπηση Η ασφάλεια πολλών κρυπτοσυστημάτων δημόσιου κλειδιού στηρίζεται στην εμφανή δυσεπιλυσιμότητα των υπολογιστικών προβλημάτων που μελετάμε σε αυτό το κεφάλαιο. Σε ένα κρυπτογραφικό σχήμα είναι φρόνιμο να κάνουμε την υπόθεση ότι ο αντίπαλος είναι πολύ ισχυρός. Κατά συνέπεια, ένα υπολογιστικό πρόβλημα λέγεται άτυπα ότι είναι εύκολο, ή επιλύσιμο, αν μπορεί να λυθεί σε (αναμενόμενο) () πολυωνυμικό χρόνο, τουλάχιστο για ένα μη αμελητέο μέρος του συνόλου όλων των πιθανών εισόδων. Με άλλα λόγια, αν υπάρχει αλγόριθμος ο οποίος μπορεί να επιλύσει σε πολυωνυμικό χρόνο ένα μη αμελητέο μέρος όλων των στιγμιότυπων του προβλήματος, τότε ένα κρυπτοσύστημα του οποίου η ασφάλεια βασίζεται σε αυτό το πρόβλημα πρέπει να θεωρηθεί μη ασφαλές. Τα υπολογιστικά προβλήματα που μελετάμε σε αυτό το κεφάλαιο συνοψίζονται στον Πίνακα 3.. Οι πραγματικές υπολογιστικές πολυπλοκότητες των προβλημάτων αυτών δεν είναι γνωστές. Που σημαίνει ότι πιστεύεται ευρέως πως είναι δυσεπίλυτα (), παρόλο που δεν Χάριν απλότητας, στο υπόλοιπο του κεφαλαίου δεν κάνουμε διάκριση μεταξύ των αιτιοκρατικών αλγορίθμων πολυωνυμικού χρόνου και των τυχαιοκρατικών αλγορίθμων (βλ..3.4) των οποίων ο αναμενόμενος χρόνος εκτέλεσης είναι πολυωνυμικός. Ακριβέστερα, αυτά τα προβλήματα είναι δυσεπίλυτα αν επιλεγούν πολύ προσεχτικά οι παράμετροι του προβλήματος.

Πρόβλημα FACTORING RSAP QRP SQROOT DLP GDLP DHP GDHP SUBSET-SUM Περιγραφή Πρόβλημα παραγοντοποίησης ακεραίου: δοθέντος ενός θετικού ακεραίου, να βρεθεί η παραγοντοποίησή του σε πρώτους δηλαδή, να γραφεί στη μορφή... ek e e k, όπου είναι διαφορετικοί ανά δύο πρώτοι και κάθε e. Το Πρόβλημα RSA (γνωστό και ως αντιστροφή RSA): δοθέντος ενός θετικού ακεραίου ο οποίος είναι γινόμενο δύο διαφορετικών περιττών πρώτων και q, ενός θετικού ακεραίου e τέτοιου, ώστε gcd(e, ( )(q )) = και ενός ακεραίου c, να βρεθεί ένας ακέραιος m τέτοιος, ώστε m e c (mod ). Πρόβλημα πιστοποίησης τετραγωνικού κατάλοιπου: δοθέντος ενός περιττού σύνθετου ακεραίου και ενός ακεραίου a με σύμβολο Jacob a ( ), να αποφασιστεί εάν ο a είναι, ή όχι, τετραγωνικό κατάλοιπο modulo. Τετραγωνικές ρίζες modulo : δοθέντος ενός σύνθετου ακεραίου και α Q (το σύνολο των τετραγωνικών καταλοίπων modulo ), να βρεθεί μια τετραγωνική ρίζα του a modulo δηλαδή, ένας ακέραιος x τέτοιος, ώστε x α (mod ). Πρόβλημα διακριτού λογαρίθμου: δοθέντος ενός πρώτου, ενός γεννήτορα a του και ενός στοιχείου b του, να βρεθεί ακέραιος x, 0 x, τέτοιος, ώστε a x b (mod ). Γενικευμένο πρόβλημα διακριτού λογαρίθμου: δοθείσης μιας πεπερασμένης κυκλικής ομάδας G τάξεως, ενός γεννήτορα a της G, και ε- νός στοιχείου b G, να βρεθεί ακέραιος x, 0 x, τέτοιος, ώστε a x = b. Πρόβλημα Dffe-Hellma: δοθέντος ενός πρώτου, ενός γεννήτορα a του, και των στοιχείων a a mod και a b mod, να βρεθεί το a ab mod. Γενικευμένο πρόβλημα Dffe-Hellma: δοθείσης μιας πεπερασμένης κυκλικής ομάδας G, ενός γεννήτορα a της G, και των στοιχείων a α και a b, να βρεθεί το a αb. Πρόβλημα αθροίσματος υποσυνόλου: δοθέντος ενός συνόλου θετικών ακεραίων {a, a,..., a } και ενός θετικού ακεραίου s, να προσδιοριστεί εάν υπάρχει, ή όχι, υποσύνολο των a j που να δίνει ως άθροισμα των στοιχείων του s. Πίνακας 3.: Μερικά υπολογιστικά προβλήματα σχετικά με την κρυπτογραφία. είναι γνωστή καμιά απόδειξη για αυτό. Γενικά, τα μόνα γνωστά κάτω φράγματα στους πόρους που απαιτούνται για την επίλυση των προβλημάτων αυτών είναι τα τετριμμένα γραμμικά φράγματα, τα οποία δεν παρέχουν καμιά ένδειξη του ότι είναι δυσεπίλυτα. Παρουσιάζει επομένως ενδιαφέρον η μελέτη των σχετικών δυσκολιών τους. Για τον λόγο αυτό, έχουν επινοηθεί και μελετηθεί στη βιβλιογραφία διάφορες τεχνικές αναγωγής ενός υπολογιστικού προβλήματος σε ένα άλλο. Αυτές οι αναγωγές παρέχουν ένα μέσο μετατροπής ενός αλγορίθμου που επιλύει το δεύτερο πρόβλημα σε έναν αλγόριθμο που επιλύει το πρώτο πρόβλημα.

Σε αυτό το κεφάλαιο χρησιμοποιούμε την παρακάτω διαισθητική έννοια της αναγωγισιμότητας (βλ..3.3). 3. Ορισμός Έστω Α και Β δύο υπολογιστικά προβλήματα. Το Α λέγεται ότι ανάγεται πολυωνυμοχρονικά στο Β, συμβολικά Α P Β, αν υπάρχει αλγόριθμος που επιλύει το Α, ο οποίος χρησιμοποιεί, ως υπορουτίνα, έναν υποθετικό αλγόριθμο για την επίλυση του Β, και που εκτελείται σε πολυωνυμικό χρόνο αν κάνει το ίδιο ο αλγόριθμος για το Β. (3) Άτυπα, αν το Α ανάγεται πολυωνυμο-χρονικά στο Β, τότε το Β είναι τουλάχιστο τόσο δύσκολο όσο το Α ισοδύναμα, το Α δεν είναι δυσκολότερο από το Β. Κατά συνέπεια, αν το Α είναι ένα καλά μελετημένο υπολογιστικό πρόβλημα που πιστεύεται ευρέως ότι είναι δυσεπίλυτο, τότε η απόδειξη ότι Α P Β μας παρέχει ισχυρή ένδειξη ότι και το πρόβλημα Β είναι δυσεπίλυτο. 3. Ορισμός Έστω Α και Β δύο υπολογιστικά προβλήματα. Εάν Α P Β και Β P Α, τότε τα Α και Β λέγονται υπολογιστικά ισοδύναμα, συμβολικά Α P Β. Άτυπα, αν Α P Β τότε τα Α και Β είναι και τα δύο επιλύσιμα ή και τα δύο δυσεπίλυτα, ανάλογα με την περίπτωση. Περίγραμμα Κεφαλαίου Το υπόλοιπο του κεφαλαίου είναι οργανωμένο ως εξής. Στην 3. μελετάμε αλγορίθμους για την παραγοντοποίηση ακεραίων. Δύο προβλήματα που σχετίζονται με την παραγοντοποίηση, το πρόβλημα RSA και το πρόβλημα πιστοποίησης τετραγωνικού κατάλοιπου τα εξετάζουμε εν συντομία στις 3.3 και 3.4. Στην 3.5 παρουσιάζουμε αποδοτικούς αλγόριθμους υπολογισμού τετραγωνικών ριζών στο, όπου πρώτος, και τεκμηριώνουμε την ισοδυναμία των προβλημάτων της εύρεσης τετραγωνικών ριζών modulo έναν σύνθετο ακέραιο και της παραγοντοποίησης του. Στην 3.6 μελετάμε αλγόριθμους για το πρόβλημα του διακριτού λογαρίθμου και στην 3.7 εξετάζουμε εν συντομία το σχετικό πρόβλημα Dffe-Hellma. Στην 3.8 εξετάζουμε τη σχέση μεταξύ των προβλημάτων της παραγοντοποίησης ενός σύνθετου ακεραίου και του υπολογισμού διακριτών λογαρίθμων στην ομάδα (σε κυκλικές υποομάδες της). Oι εργασίες εύρεσης μερικών λύσεων του προβλήματος διακριτού λογαρίθμου, του προβλήματος RSA και του προβλήματος υπολογισμού τετραγωνικών ριζών modulo έναν σύνθετο ακέραιο αποτελούν τα θέματα της 3.9. Τον αλγόριθμο αναγωγής βάσης του L 3 - δικτυώματος τον παρουσιάζουμε στην 3.0, μαζί με τους αλγορίθμους για το πρόβλημα α- θροίσματος υποσυνόλου και για την ταυτόχρονη διοφαντική προσέγγιση. Στην 3. παρουσιάζουμε τον αλγόριθμο Q-πίνακας του Berlekam για την παραγοντοποίηση πολυωνύμων. Τέλος, στην 3. παρέχουμε αναφορές και περαιτέρω σημειώσεις κεφαλαίου. 3. Το πρόβλημα παραγοντοποίησης ακεραίων Η ασφάλεια πολλών κρυπτογραφικών τεχνικών εξαρτάται από τη δυσκολία επίλυσης του προβλήματος παραγοντοποίησης ακεραίων. Μια μερική λίστα τέτοιων πρωτοκόλλων συμπε- 3 Στη βιβλιογραφία, η υποθετική υπορουτίνα πολυωνυμικού χρόνου για το Β μερικές φορές λέγεται μαντείο (oracle) για το Β. 3

ριλαμβάνει το σχήμα κρυπτογράφησης δημόσιου κλειδιού RSA ( 8.), το σχήμα ψηφιακών υπογραφών RSA (.3.) και το σχήμα κρυπτογράφησης δημόσιου κλειδιού Rab ( 8.3). Η ενότητα αυτή αποτελεί μια σύνοψη της τρέχουσας γνώσης στο θέμα των αλγορίθμων για το πρόβλημα παραγοντοποίησης ακεραίων. 3.3 Ορισμός Το πρόβλημα παραγοντοποίησης ακεραίων (FACTORING) είναι το εξής: δοθέντος ενός θετικού ακεραίου, να βρεθεί η ανάλυσή του σε γινόμενο πρώτων παραγόντων δηλαδή, να γραφεί e e... ek k, όπου είναι ανά δύο διαφορετικοί πρώτοι και κάθε e. 3.4 Παρατήρηση (έλεγχος πιστοποίησης πρώτου και παραγοντοποίηση) Το πρόβλημα απόφασης εάν ένας ακέραιος είναι σύνθετος ή πρώτος φαίνεται να είναι, γενικά, πολύ ευκολότερο του προβλήματος της παραγοντοποίησης. Έτσι, πριν γίνει απόπειρα παραγοντοποίησης ενός ακεραίου, ο ακέραιος αυτός πρέπει να ελεγχθεί για να είναι σίγουρο ότι είναι όντως σύνθετος. Οι έλεγχοι πιστοποίησης πρώτου είναι το κύριο θέμα του Κεφαλαίου 4. 3.5 Παρατήρηση (διάσπαση και παραγοντοποίηση) Μια μη τετριμμένη παραγοντοποίηση του είναι η παραγοντοποίηση της μορφής = αb, όπου < α < και < b < οι α και b λέγονται μη τετριμμένοι παράγοντες του. Εδώ οι α και b δεν είναι απαραιτήτως πρώτοι. Για να λύσουμε το πρόβλημα της παραγοντοποίησης ενός ακεραίου αρκεί να μελετήσουμε αλγορίθμους που διασπούν το, δηλαδή να βρούμε μια μη τετριμμένη παραγοντοποίηση = αb. Ά- παξ και βρεθούν, οι παράγοντες α και b μπορούν να ελεγχθούν για να πιστοποιηθεί αν είναι πρώτοι. Ο αλγόριθμος για τη διάσπαση ακεραίων μπορεί τότε να εφαρμοστεί αναδρομικά στον α και/ή στον b, αν βρεθεί κάποιος ότι είναι σύνθετος. Με αυτόν τον τρόπο μπορεί να πραγματοποιηθεί η παραγοντοποίηση του σε πρώτους. 3.6 Σημείωση (έλεγχος για τέλειες δυνάμεις) Αν, μπορεί να ελεγχθεί αποδοτικά εάν ο ακέραιος είναι τέλεια δύναμη ή όχι, δηλ. = x k για κάποιους ακεραίους x, k, ως εξής. Για κάθε πρώτο lg, υπολογίζεται μια ακέραιη προσέγγιση x του /. Αυτό μπορεί να γίνει με εφαρμογή μιας δυαδικής αναζήτησης του x που ικανοποιεί την = x στο διάστημα lg [, ]. H όλη διαδικασία απαιτεί Ο((lg 3 )lg lg lg ) πράξεις bt. Για το υπόλοιπο αυτής της ενότητας θα υποθέτουμε πάντοτε ότι ο δεν είναι τέλεια δύναμη. Έπεται ότι αν ο είναι σύνθετος, τότε ο έχει τουλάχιστο δύο διαφορετικούς πρώτους παράγοντες. Μερικοί αλγόριθμοι παραγοντοποίησης είναι φτιαγμένοι έτσι ώστε να εκτελούνται καλύτερα όταν ο προς παραγοντοποίηση ακέραιος είναι ειδικής μορφής αυτοί οι αλγόριθμοι ονομάζονται αλγόριθμοι παραγοντοποίησης ειδικού σκοπού. Οι χρόνοι εκτέλεσης τέτοιων αλγορίθμων τυπικά εξαρτώνται από ορισμένες ιδιότητες των παραγόντων του. Στα παραδείγματα αλγορίθμων παραγοντοποίησης ειδικού σκοπού συγκαταλέγεται η δοκιμαστική διαίρεση ( 3..), ο αλγόριθμος r του Pollard ( 3..), o αλγόριθμος του Pollard ( 3..3), ο αλγόριθμος ελλειπτικών καμπυλών ( 3..4) και το ειδικό κόσκινο σώματος αριθμών. Σε αντιδιαστολή, οι χρόνοι εκτέλεσης των λεγόμενων αλγορίθμων παραγοντοποίησης γενικού σκοπού εξαρτώνται αποκλειστικά από το μέγεθος του. Στα παραδείγματα αλγορίθμων παραγοντοποίησης γενικού σκοπού συγκαταλέγεται το τετραγωνικό κόσκινο ( 3..6) και το γενικό κόσκινο σώματος αριθμών ( 3..7). Σε περίπτωση που είναι εφαρμόσιμοι, θα πρέπει να χρησιμοποιούνται οι αλγόριθμοι ειδικού σκοπού καθώς θα είναι γενικά αποδοτικότεροι. Μια εύλογη συνολική στρατηγική είναι να προσπαθούμε να βρίσκουμε κατ αρχήν μικρούς παράγοντες, εκμεταλλευόμενοι τη συγκε- 4

κριμένη ειδική μορφή που μπορεί να έχει ο ακέραιος, και μετά, αν όλα τα άλλα αποτύχουν, τότε να εφαρμόζουμε αλγορίθμους γενικού-σκοπού. Ως παράδειγμα μιας τέτοιας γενικής στρατηγικής ας θεωρήσουμε το παρακάτω.. Εφαρμόζουμε δοκιμαστική διαίρεση με μικρούς πρώτους που είναι μικρότεροι από κάποιο φράγμα b.. Στη συνέχεια, εφαρμόζουμε τον αλγόριθμο r του Pollard, ελπίζοντας να βρούμε μικρούς παράγοντες, μικρότερους από κάποιο φράγμα b, όπου b > b. 3. Εφαρμόζουμε τον αλγόριθμο παραγοντοποίησης ελλειπτικών καμπυλών, ελπίζοντας να βρούμε μικρούς παράγοντες, μικρότερους από κάποιο φράγμα b 3, όπου b 3 > b. 4. Τέλος, εφαρμόζουμε έναν από τους ισχυρότερους αλγόριθμους παραγοντοποίησης γενικού σκοπού (τετραγωνικό κόσκινο ή γενικό κόσκινο σώματος αριθμών). 3.. Δοκιμαστική διαίρεση Μόλις εδραιωθεί ότι ένας ακέραιος είναι σύνθετος, προτού σπαταληθούν μεγάλες ποσότητες χρόνου με ισχυρότερες τεχνικές, το πρώτο πράγμα που πρέπει να γίνει είναι δοκιμαστική διαίρεση με όλους τους «μικρούς» πρώτους. Εδώ το «μικρός» προσδιορίζεται ως συνάρτηση του μεγέθους του. Ως ακραία περίπτωση, μπορεί να γίνει δοκιμαστική διαίρεση με όλους τους πρώτους μέχρι τον. Αν γίνει κάτι τέτοιο, η δοκιμαστική διαίρεση θα παραγοντοποιήσει πλήρως τον, αλλά η διαδικασία θα απαιτήσει περίπου διαιρέσεις στη χειρότερη περίπτωση όταν ο είναι γινόμενο δύο πρώτων του ιδίου μεγέθους. Γενικά, αν οι παράγοντες που βρίσκονται σε κάθε στάδιο ελέγχονται εάν είναι πρώτοι, τότε η δοκιμαστική διαίρεση για την πλήρη παραγοντοποίηση του απαιτεί Ο( + lg ) διαιρέσεις, όπου είναι ο δεύτερος μεγαλύτερος πρώτος παράγοντας του. Το Γεγονός 3.7 υποδεικνύει ότι αν η δοκιμαστική διαίρεση χρησιμοποιείται για την παραγοντοποίηση ενός τυχαία επιλεγμένου μεγάλου ακεραίου, τότε ο αλγόριθμος αναμένεται να βρει ορισμένους μικρούς παράγοντες του σχετικά γρήγορα, και να καταναλώσει μεγάλη ποσότητα χρόνου για να βρει τον δεύτερο μεγαλύτερος πρώτο παράγοντα του. 3.7 Γεγονός Έστω ακέραιος επιλεγμένος ομοιόμορφα στην τύχη από το διάστημα [, x]. () Αν a, τότε η πιθανότητα ο μεγαλύτερος πρώτος παράγοντας του να είναι x a είναι κατά προσέγγιση + l a. Έτσι, παραδείγματος χάρη, η πιθανότητα ο να έχει πρώτο παράγοντα x είναι l 0.69. () Η πιθανότητα ο δεύτερος μεγαλύτερος πρώτος παράγοντας του να είναι x 0.7 είναι περίπου. () Ο αναμενόμενος συνολικός αριθμός των πρώτων παραγόντων του είναι l l x + O(). e (Αν, ο συνολικός αριθμός των πρώτων παραγόντων του είναι e.) 3.. Ο αλγόριθμος παραγοντοποίησης r του Pollard Ο αλγόριθμος r του Pollard είναι ένας αλγόριθμος παραγοντοποίησης ειδικού σκοπού για την εύρεση μικρών παραγόντων ενός σύνθετου ακεραίου. Έστω f : S S μια τυχαία συνάρτηση, όπου S είναι ένα πεπερασμένο σύνολο με πληθικό αριθμό. Έστω x 0 ένα τυχαίο στοιχείο του S και ας θεωρήσουμε την ακολουθία x 0, x, x,, 5

που ορίζεται από την x f( x ), για 0. Αφού το S είναι πεπερασμένο, η ακολουθία πρέπει τελικά να ανακυκλώνεται και συνίσταται σε μια ουρά με αναμενόμενο μήκος 8 ακολουθούμενη από έναν ατελείωτα επαναλαμβανόμενο κύκλο με αναμενόμενο μήκος 8 (βλ. Γεγονός.37). Ένα πρόβλημα που αναδύεται σε μερικές κρυπταναλυτικές εργασίες, συμπεριλαμβανομένης της παραγοντοποίησης ακεραίων (Αλγόριθμος 3.9) και του προβλήματος διακριτού λογαρίθμου (Αλγόριθμος 3.60), είναι αυτό της εύρεσης διαφορετικών δεικτών και j τέτοιων, ώστε x = x j (τότε λέμε ότι παρουσιάστηκε μια σύμπτωση). Μια προφανής μέθοδος εύρεσης μιας σύμπτωσης είναι να υπολογίσουμε και αποθηκεύσουμε τα x για = 0,,,... και να κοιτάξουμε για επαναλήψεις (αντίγραφα). Ο αναμενόμενος αριθμός εισόδων που πρέπει να δοκιμαστούν πριν ανιχνευτεί μια επανάληψη είναι (Γεγονός.7). Αυτή η μέθοδος απαιτεί μνήμη O και χρόνο O, υποθέτοντας ότι τα x αποθηκεύονται σε πίνακα διασποράς έτσι ώστε νέες καταχωρήσεις να μπορούν να προστίθενται σε σταθερό χρόνο. 3.8 Σημείωση (Αλγόριθμος εύρεσης κύκλων του Floyd ) Οι μεγάλες αποθηκευτικές απαιτήσεις της παραπάνω τεχνικής για την εύρεση μιας σύμπτωσης μπορεί να εξαλειφθούν με τη χρήση του αλγορίθμου εύρεσης κύκλων του Floyd. Στη μέθοδο αυτή, κάποιος ξεκινάει με το ζεύγος (x, x ) και με επαναληπτικό τρόπο υπολογίζει το (x, x ) από το προηγούμενο ζεύγος (x, x ), μέχρι να συμβεί x m = x m για κάποιο m. Αν η ουρά της ακολουθίας έχει μήκος λ και ο κύκλος έχει μήκος μ, τότε η πρώτη φορά που x m = x m είναι όταν m. Να σημειωθεί ότι λ < m λ + μ, και συνεπώς ο αναμενόμενος χρόνος εκτέλεσης αυτής της μεθόδου είναι O. Τώρα, έστω ένας πρώτος παράγοντας ενός σύνθετου ακεραίου. Ο αλγόριθμος r του Pollard για την παραγοντοποίηση του, προσπαθεί να βρει επαναλήψεις στην ακολουθία των ακεραίων x 0, x, x,, η οποία ορίζεται από τις x0, x f( x) x mod, για 0. Ο αλγόριθμος εύρεσης κύκλων του Floyd αξιοποιείται για την εύρεση των x m και x m τέτοιων, ώστε x m x m (mod ). Αφού ο διαιρεί τον αλλά είναι άγνωστος, αυτό γίνεται υπολογίζοντας τους όρους x modulo και ελέγχοντας αν gcd(x m x m, ) >. Αν είναι επίσης gcd(x m x m, ) <, τότε παίρνουμε έναν μη τετριμμένο παράγοντα του. (Η κατάσταση gcd(x m x m, ) = εμφανίζεται με αμελητέα πιθανότητα.) 3.9 Αλγόριθμος Ο αλγόριθμος r του Pollard για την παραγοντοποίηση ακεραίων ΕΙΣΟΔΟΣ: ένας σύνθετος ακέραιος που δεν είναι δύναμη πρώτου. ΕΞΟΔΟΣ: ένας μη τετριμμένος παράγοντας d του.. Όρισε α, b.. Για =,,... κάνε τα εξής:. Υπολόγισε a a + mod, b b + mod, b b + mod.. Υπολόγισε d = gcd (a b, )..3 Αν < d < τότε επιστροφή(d ) και τερμάτισε με επιτυχία..4 Αν d = τότε τερμάτισε τον αλγόριθμο με αποτυχία (βλ. Σημείωση 3.). 3.0 Παράδειγμα (ο αλγόριθμος r του Pollard για την εύρεση μη τετριμμένου παράγοντα του = 455459). Ο παρακάτω πίνακας περιέχει μια λίστα με τις τιμές των μεταβλητών a, b και d στο τέλος κάθε επανάληψης του βήματος του Αλγορίθμου 3.9. 6

Οπότε, δύο μη τετριμμένοι παράγοντες του 455459 είναι οι 743 και 455459/743 = 63. 3. Γεγονός Υποθέτοντας ότι η συνάρτηση f( x) x mod συμπεριφέρεται όπως μια τυχαία συνάρτηση, ο αναμενόμενος χρόνος για να βρεθεί ο παράγοντας του με τον αλγόριθμο r του Pollard είναι O πολλαπλασιασμοί της αριθμητικής υπολοίπων. Αυτό υποδηλώνει ότι ο αναμενόμενος χρόνος για την εύρεση ενός μη τετριμμένου παράγοντα του είναι Ο( /4 ) πολλαπλασιασμοί της αριθμητικής υπολοίπων. 3. Σημείωση (εκδοχές επί του τερματισμού με αποτυχία) Αν ο αλγόριθμος r του Pollard τερματίσει με αποτυχία, μια εκδοχή είναι να γίνει προσπάθεια με ένα διαφορετικό πολυώνυμο f που έχει ακέραιους συντελεστές αντί του f (x) = x +. Παραδείγματος χάρη, μπορεί να χρησιμοποιηθεί το πολυώνυμο f (x) = x + c, εφόσον c 0,. 3..3 Ο αλγόριθμος παραγοντοποίησης του Pollard Ο αλγόριθμος παραγοντοποίησης του Pollard είναι ένας αλγόριθμος παραγοντοποίησης ειδικού σκοπού που μπορεί να χρησιμοποιηθεί για αποδοτική εύρεση ενός πρώτου παράγοντα του σύνθετου ακεραίου για τον οποίο ο είναι λείος (βλ. Ορισμός 3.3) ως προς κάποιο σχετικά μικρό φράγμα Β. 3.3 Ορισμός Έστω Β ένας θετικός ακέραιος. Ο ακέραιος λέγεται B-λείος, ή λείος ως προς ένα φράγμα Β, αν όλοι οι πρώτοι παράγοντές του είναι Β. Η ιδέα πίσω από τον αλγόριθμο του Pollard είναι η ακόλουθη. Έστω ότι Β είναι ένα φράγμα λειότητας. Έστω ότι Q είναι το ελάχιστο κοινό πολλαπλάσιο όλων των δυνάμεων των πρώτων Β που είναι. Αν q l l, τότε l l q l, και έτσι l l q. Συνεπώς l /l q Q q qb όπου το γινόμενο είναι επί όλων των διαφορετικών πρώτων q B. Αν είναι ένας πρώτος παράγοντας του τέτοιος, ώστε ο να είναι Β-λείος, τότε Q, και κατά συνέπεια για οποιοδήποτε α το οποίο ικανοποιεί την gcd(α, ) =, από το θεώρημα του Fermat (Γεγονός.7) συνεπάγεται ότι α Q (mod ). Άρα, αν d = gcd(α Q, ), τότε d. Είναι πιθανό ότι d =, οπότε σε αυτή την περίπτωση ο αλγόριθμος αποτυγχάνει όμως, αυτό είναι απίθανο να συμβεί αν ο έχει τουλάχιστο μεγάλους διαφορετικούς πρώτους παράγοντες. 3.4 Αλγόριθμος Ο αλγόριθμος του Pollard για την παραγοντοποίηση ακεραίων ΕΙΣΟΔΟΣ: ένας σύνθετος ακέραιος που δεν είναι δύναμη πρώτου. ΕΞΟΔΟΣ: ένας μη τετριμμένος παράγοντας d του. 7

. Επέλεξε ένα φράγμα λειότητας Β.. Επέλεξε έναν τυχαίο ακέραιο a, a, και υπολόγισε d = gcd (a, ). Αν d επιστροφή(d ). 3. Για κάθε πρώτο q B κάνε τα εξής: l 3. Υπολόγισε l l q q 3. Υπολόγισε a a l mod (χρησιμοποιώντας τον Αλγόριθμο.43). 4. Υπολόγισε d = gcd(a, ). 5. Αν d = ή d =, τότε τερμάτισε τον αλγόριθμο με αποτυχία. Διαφορετικά, επιστροφή(d). 3.5 Παράδειγμα (ο αλγόριθμος του Pollard για την εύρεση μη τετριμμένου παράγοντα του = 9048567).. Επέλεξε το φράγμα λειότητας Β = 9.. Επέλεξε τον ακέραιο α = 3 και υπολόγισε gcd(3, ) =. 3. Στον παρακάτω πίνακα καταγράφονται οι ενδιάμεσες τιμές των μεταβλητών q, l και a μετά από κάθε επανάληψη του βήματος 3 του Αλγορίθμου 3.4: 4. Υπολόγισε d = gcd(554506, ) = 58. 5. Δύο μη τετριμμένοι παράγοντες του είναι οι = 58 και q = / = 3607 (αυτοί οι παράγοντες είναι πράγματι πρώτοι). Να σημειωθεί ότι = 580 = 5 3 5 και q = 3606 = 3 60. Αυτό σημαίνει ότι o είναι 9-λείος, ενώ ο q δεν είναι 9-λείος. 3.6 Γεγονός Έστω ακέραιος που έχει έναν πρώτο παράγοντα τέτοιον, ώστε ο να είναι Β-λείος. Ο χρόνος εκτέλεσης του αλγορίθμου του Pollard για την εύρεση του παράγοντα είναι O(B l / l B) πολλαπλασιασμοί της αριθμητικής υπολοίπων. 3.7 Σημείωση (βελτιώσεις) Το φράγμα λειότητας Β στον Αλγόριθμο 3.4 επιλέγεται με βάση την ποσότητα του χρόνου που κάποιος επιθυμεί να σπαταλήσει στον αλγόριθμο του Pollard πριν προχωρήσει σε πιο γενικές τεχνικές. Στην πράξη, το Β μπορεί να είναι μεταξύ 0 5 και 0 6. Αν ο αλγόριθμος τερματίσει με d =, τότε μπορεί κάποιος να δοκιμάσει μια αναζήτηση μεταξύ των πρώτων αριθμών q, q,..., q l που είναι μεγαλύτεροι του Β υπολογίζοντας αρχικά a a q mod, για l, και μετά υπολογίζοντας d = gcd(a, ). Μια άλλη επιλογή είναι να αρχίσουμε με ένα μεγάλο φράγμα Β και να εκτελέσουμε επανειλημμένα το βήμα 3 για λίγους πρώτους q συνεχίζοντας με τον υπολογισμό του μκδ (gcd) στο βήμα 4. Υπάρχει μια πληθώρα πρακτικών βελτιώσεων του αλγορίθμου (βλ. σελίδα 5). 3..4 Παραγοντοποίηση Ελλειπτικών Καμπυλών 8

Οι λεπτομέρειες του αλγορίθμου παραγοντοποίησης ελλειπτικών καμπυλών είναι πέρα από τους σκοπούς αυτού του βιβλίου παρόλα αυτά, μια σύντομη περιγραφή έχει ως εξής. Η επιτυχία του αλγορίθμου του Pollard έγκειται στο ότι ο είναι λείος για κάποιον πρώτο διαιρέτη του αν δεν υπάρχει τέτοιος, τότε ο αλγόριθμος αποτυγχάνει. Παρατηρούμε ότι είναι η τάξη της ομάδας. Ο αλγόριθμος παραγοντοποίησης ελλειπτικών καμπυλών είναι μια γενίκευση του αλγορίθμου του Pollard με την έννοια ότι η ομάδα αντικαθίσταται από μια τυχαία ομάδα ελλειπτικής καμπύλης επί του. Η τάξη μιας τέτοιας ομάδας είναι περίπου ομοιόμορφα κατανεμημένη στο διάστημα,. Αν η τάξη της ομάδας που επιλέγουμε είναι λείος αριθμός ως προς ένα προ-επιλεγμένο φράγμα, ο αλγόριθμος ελλειπτικών καμπυλών, με μεγάλη πιθανότητα, θα βρει έναν μη τετριμμένο παράγοντα του. Αν η τάξη της ομάδας δεν είναι λείος αριθμός, τότε ο αλγόριθμος πιθανόν να αποτύχει, αλλά μπορεί να επαναληφθεί με μια διαφορετική επιλογή της ομάδας ελλειπτικής καμπύλης. Ο αλγόριθμος ελλειπτικών καμπυλών έχει αναμενόμενο χρόνο εκτέλεσης L [, ] (βλ. Παράδειγμα.6 για τον ορισμό του L ) προκειμένου να βρει έναν παράγοντα του. Αφού ο χρόνος εκτέλεσης εξαρτάται από το μέγεθος των πρώτων παραγόντων του, ο αλγόριθμος τείνει να βρίσκει πρώτα τέτοιους μικρούς παράγοντες. Ο αλγόριθμος ελλειπτικών καμπυλών χαρακτηρίζεται επομένως ως αλγόριθμος παραγοντοποίησης ειδικού σκοπού. Επί του παρόντος είναι ο αλγόριθμος που επιλέγεται για την εύρεση πρώτων παραγόντων με t δεκαδικά ψηφία, όπου t 40, για πολύ μεγάλους σύνθετους ακεραίους. Στη δύσκολη περίπτωση, όταν το είναι γινόμενο δύο πρώτων του ιδίου μεγέθους, ο α- ναμενόμενος χρόνος εκτέλεσης του αλγορίθμου ελλειπτικών καμπυλών είναι L [, ], ο ο- ποίος είναι ίδιος με αυτόν του τετραγωνικού κόσκινου ( 3..6). Όμως, ο αλγόριθμος ελλειπτικών καμπυλών στην πράξη δεν είναι τόσο αποδοτικός όσο το τετραγωνικό κόσκινο για τέτοιους ακέραιους. 3..5 Μέθοδοι παραγοντοποίησης τυχαίων τετραγώνων Η βασική ιδέα πίσω από την οικογένεια μεθόδων τυχαίων τετραγώνων είναι η ακόλουθη. Έ- στω ότι x και y είναι ακέραιοι τέτοιοι, ώστε x y (mod ) αλλά x ± y (mod ). Τότε ο διαιρεί τον x y = (x y)(x + y) αλλά ο δεν διαιρεί τον (x y) ούτε τον (x+y). Επομένως, ο gcd(x y, ) πρέπει να είναι ένας μη τετριμμένος παράγοντας του. Αυτό το αποτέλεσμα συνοψίζεται στη συνέχεια. 3.8 Γεγονός Έστω ότι x, y και είναι ακέραιοι. Αν x y (mod ) αλλά x ± y (mod ), τότε ο gcd(x y, ) είναι ένας μη τετριμμένος παράγοντας του. Οι μέθοδοι τυχαίων τετραγώνων προσπαθούν να βρουν ακεραίους x και y στην τύχη έτσι ώ- στε x y (mod ). Μετά, όπως διαφαίνεται στο Γεγονός 3.9, με πιθανότητα τουλάχιστον υπάρχει η περίπτωση να είναι x ± y (mod ), οπότε ο gcd(x y, ) θα μας οδηγήσει σε μη τετριμμένο παράγοντα του. 9

3.9 Γεγονός Έστω περιττός σύνθετος ακέραιος ο οποίος διαιρείται με k διαφορετικούς περιττούς πρώτους. Αν a, τότε η ισοτιμία x a (mod ) έχει ακριβώς k λύσεις modulo, δύο από τις οποίες είναι η x = a και η x = a. 3.0 Παράδειγμα Έστω = 35. Τότε υπάρχουν τέσσερις λύσεις για την ισοτιμία x² 4 (mod 35), που είναι οι x =,, 3, 33. Μια κοινή στρατηγική που ακολουθείται από τους αλγορίθμους τυχαίων τετραγώνων για την εύρεση των x, y που ικανοποιούν την x² y² (mod ), είναι η ακόλουθη. Επιλέγεται ένα σύνολο αποτελούμενο από τους πρώτους t πρώτους, S {,,..., t } το S ονομάζεται βάση παραγόντων. Ακολουθεί η εύρεση ζευγών ακεραίων ( a, b ) που ικανοποιούν τις () () a b (mod ) και t e j j j j b, e 0 δηλαδή, ο b είναι t -λείος. Στη συνέχεια βρίσκεται ένα υποσύνολο των b του οποίου τα στοιχεία έχουν γινόμενο ένα τέλειο τετράγωνο. Γνωρίζοντας τις παραγοντοποιήσεις των b, αυτό είναι εφικτό με την επιλογή ενός υποσυνόλου των b τέτοιο ώστε η δύναμη του κάθε πρώτου j που εμφανίζεται στο γινόμενο να είναι άρτιος. Γι' αυτόν το σκοπό, μόνο η αρτιότητα των μη αρνητικών ακέραιων εκθετών e j χρειάζεται να λαμβάνεται υπόψη. Οπότε, χάριν απλότητας, για κάθε, συσχετίζεται το δυαδικό διάνυσμα u ( u, u,..., ut) με το διάνυσμα των ακεραίων εκθετών ( e, e,..., e ) έτσι ώστε u j = e j mod. Εάν ληφθούν t + ζεύγη (a, b ), τότε τα t-διάστατα t διανύσματα u, u,..., u t+ πρέπει να είναι γραμμικώς εξαρτημένα επί του. Δηλαδή, πρέπει να υπάρχει ένα μη κενό υποσύνολο Τ {,,, t + } τέτοιο, ώστε 0 επί του, και συνεπώς το b T u T είναι τέλειο τετράγωνο. Το σύνολο Τ μπορεί αν βρεθεί χρησιμοποιώντας στοιχειώδη γραμμική άλγεβρα επί του. Σαφώς, το είναι επίσης τέλειο τετράγωνο. Έτσι, ορίζοντας το x = a T a T και το y να είναι ακέραια ρίζα του προκύπτει ένα ζεύγος ακεραίων (x, y) που ικανοποιούν την x² y² (mod ). Αν αυτό το ζεύγος ικανοποιεί την x ±y (mod ), τότε ο gcd(x y, ) δίνει έναν μη τετριμμένο παράγοντα του. Διαφορετικά, μερικά από τα ζεύγη (a, b ) μπορεί να αντικατασταθούν από μερικά νέα τέτοια ζεύγη και η διαδικασία επαναλαμβάνεται. Στην πράξη, θα υπάρχουν μερικές εξαρτήσεις ανάμεσα στα διανύσματα u, u,..., u t+ και με υψηλή πιθανότητα τουλάχιστον μία θα δώσει ένα ζεύγος (x, y) που ικανοποιεί την x ±y (mod ) έτσι, αυτό το τελευταίο βήμα της παραγωγής νέων ζευγών (a, b ) συνήθως δεν πραγματοποιείται. Αυτή η περιγραφή των μεθόδων τυχαίων τετραγώνων δεν είναι ολοκληρωμένη για δύο λόγους. Πρώτον, η βέλτιστη επιλογή του t, το μέγεθος της βάσης παραγόντων, δεν καθορίζεται στο ζήτημα αυτό απευθύνεται η Σημείωση 3.4. Δεύτερον, δεν καθορίζεται μια μέθοδος για αποδοτική παραγωγή ζευγών (a, b ). Έχουν προταθεί διάφορες τεχνικές. Στην απλούστερη απ αυτές, που καλείται αλγόριθμος του Dxo, το a επιλέγεται τυχαία και υπολογίζεται το b a mod. Στη συνέχεια, χρησιμοποιείται η δοκιμαστική διαίρεση με στοιχεία της βάσης παραγόντων για να ελεγχθεί εάν ο b είναι t -λείος. Αν όχι, τότε επιλέγεται τυχαία ένας άλλος ακέραιος a και η διαδικασία επαναλαμβάνεται. b T 0

Οι πιο αποδοτικές τεχνικές επιλέγουν στρατηγικά ένα a τέτοιο, ώστε το b να είναι σχετικά μικρό. Αφού η αναλογία των t -λείων ακεραίων στο διάστημα [, x] γίνεται μεγαλύτερη καθώς το x αυξάνει, η πιθανότητα τέτοιων b να είναι t -λείοι είναι υψηλότερη. Η πιο αποδοτική τέτοιων τεχνικών είναι ο αλγόριθμος του τετραγωνικού κόσκινου, ο οποίος περιγράφεται στη συνέχεια. 3..6 Παραγοντοποίηση τετραγωνικού κόσκινου και ας θεω- Ας υποθέσουμε ότι ένας ακέραιος είναι προς παραγοντοποίηση. Έστω m = ρήσουμε το πολυώνυμο q(x) = (x + m). Να σημειωθεί ότι q(x) = x + mx + m x + mx (3.) το οποίο είναι μικρό (σχετικά με το ) αν το x είναι μικρό κατ' απόλυτη τιμή. Ο αλγόριθμος τετραγωνικού κόσκινου επιλέγει a = (x + m) και ελέγχει εάν ο b = (x + m) είναι t -λείος. Να σημειωθεί ότι a ( xm) b (mod ). Να σημειωθεί επίσης ότι αν ο πρώτος διαιρεί τον b τότε (x + m) (mod ), και συνεπώς ο είναι ένα τετραγωνικό κατάλοιπο modulo. Επομένως η βάση παραγόντων χρειάζεται μόνο να περιέχει αυτούς τους πρώτους για τους οποίους το σύμβολο Legedre ( ) είναι (Ορισμός.45). Επιπλέον, αφού ο b μπορεί να είναι αρνητικός, το συμπεριλαμβάνεται στη βάση παραγόντων. Τα βήματα του αλγορίθμου τετραγωνικού κόσκινου συνοψίζονται στον Αλγόριθμο 3.. 3. Αλγόριθμος Ο αλγόριθμος τετραγωνικού κόσκινου για παραγοντοποίηση ακεραίων ΕΙΣΟΔΟΣ: ένας σύνθετος ακέραιος ο οποίος δεν είναι δύναμη πρώτου. ΕΞΟΔΟΣ: ένας μη τετριμμένος παράγοντας d του.. Επέλεξε τη βάση παραγόντων S = {,,, t }, όπου = και j (j ) είναι ο (j )-οστός πρώτος για τον οποίο ο είναι ένα τετραγωνικό κατάλοιπο modulo.. Υπολόγισε m. 3. (Συνέλλεξε t + ζεύγη (a, b ). Οι x τιμές επιλέγονται στη σειρά 0,,,...) Όρισε. Όσο t + κάνε τα εξής: 3. Υπολόγισε b = q(x) = (x+m) και έλεγξε χρησιμοποιώντας δοκιμαστική διαίρεση (βλ. Σημείωση 3.3) με στοιχεία του S εάν ο b είναι t -λείος. Αν δεν είναι, επέλεξε ένα νέο x και επανέλαβε το βήμα 3.. t e 3. Αν ο b είναι t -λείος, έστω b j j j, τότε όρισε a (x + m), b b και u = (u, u,..., u t ), όπου u j = e j mod για j t. 3.3 +. 4. Χρησιμοποίησε γραμμική άλγεβρα επί του για να βρεις ένα μη κενό υποσύνολο Τ {,,..., t +} τέτοιο, ώστε 0. u T 5. Υπολόγισε x a mod. T 6. Για κάθε j, j t, υπολόγισε l j = ( ). t l 7. Υπολόγισε y = j mod. j j e T j

8. Αν x y(mod ), τότε βρες ένα άλλο μη κενό υποσύνολο Τ {,,..., t + } τέτοιο, ώστε u 0, T και πήγαινε στο βήμα 5. (Στην απίθανη περίπτωση που ένα τέτοιο υποσύνολο Τ δεν υπάρχει, αντικατέστησε μερικά από τα ζεύγη (α, b ) με νέα ζεύγη (βήμα 3), και πήγαινε στο βήμα 4.) 9. Υπολόγισε d = gcd(x y, ) και επιστροφή(d). 3. Παράδειγμα (ο αλγόριθμος τετραγωνικού κόσκινου για την εύρεση μη τετριμμένου παράγοντα του = 496). Επιλέγουμε τη βάση παραγόντων S = {,, 3, 5, 3, 3} μεγέθους t = 6. (Οι 7,, 7 και 9 παραλείπονται από το S διότι ( ) για αυτούς τους πρώτους.). Υπολογίζουμε m = m 496 = 57. 3. Παρακάτω είναι τα δεδομένα που συλλέχθηκαν για τις πρώτες t + τιμές του x για τις οποίες ο q(x) είναι 3-λείος. 4. Παρατηρούμε ότι, u + u + u 5 = 0. (Σε συμβολισμό του Αλγορίθμου 3., Τ = {,, 5}.) 5. Υπολογίζουμε x = (a a a 5 mod ) = 936. 6. Υπολογίζουμε l =, l = 3, l 3 =, l 4 = 0, l 5 =, l 6 = 0. 7. Υπολογίζουμε y = 3 3 3 mod = 405. 8. Αφού 936 405 (mod ), πρέπει να βρούμε μια ακόμα γραμμική εξάρτηση. 9. Παρατηρούμε ότι, u 3 + u 6 + u 7 = 0 άρα Τ = {3, 6, 7}. 0. Υπολογίζουμε x = (a 3 a 6 a 7 mod ) = 3405. Υπολογίζουμε l =, l = 5, l 3 =, l 4 = 3, l 5 = 0, l 6 = 0.. Υπολογίζουμε y = ( 5 3 5 3 mod ) = 39. 3. Τώρα, 3405 ±39 (mod ), οπότε υπολογίζουμε gcd(x y, ) = gcd(9483, 496) = 09. Επομένως, δύο μη τετριμμένοι παράγοντες του 496 είναι οι 09 και 9. 3.3 Σημείωση (κοσκίνισμα) Αντί για έλεγχο της λειότητας με τη δοκιμαστική διαίρεση στο βήμα 3. του Αλγορίθμου 3., στην πράξη εφαρμόζουμε μια πιο αποδοτική τεχνική, γνωστή ως κοσκίνισμα. Παρατηρούμε αρχικά ότι αν είναι ένας περιττός πρώτος της βάσης παραγόντων και ο διαιρεί τον q(x), τότε ο διαιρεί επίσης τον q(x + l) για κάθε ακέραιο l. Συνεπώς επιλύοντας την εξίσωση q(x) 0 (mod ) ως προς x (παραδείγματος χάρη, χρησιμοποιώντας τους αλγορίθμους στην 3.5.) γνωρίζουμε μία ή δύο (ανάλογα με το πλήθος των λύσεων της δευτεροβάθμιας εξίσωσης) πλήρεις ακολουθίες άλλων τιμών y για τις οποίες ο διαιρεί τον q(y). Η διεργασία κοσκινίσματος είναι η ακόλουθη. Δημιουργείται μια συστοιχία Q[] με δείκτη τον x, M x M, και η x-ιοστή καταχώρηση αρχικοποιείται στο lg qx ( ). Έστω x, x

είναι οι λύσεις της q(x) 0 (mod ), όπου είναι ένας περιττός πρώτος της βάσης παραγόντων. Μετά η τιμή lg αφαιρείται από αυτές τις καταχωρήσεις Q[x] της συστοιχίας για τις οποίες είναι x x ή x (mod ) και M x M. Αυτό επαναλαμβάνεται για κάθε περιττό πρώτο της βάσης παραγόντων. (Η περίπτωση = και οι δυνάμεις πρώτων μπορούν να διαχειριστούν με παρόμοιο τρόπο). Μετά το κοσκίνισμα, οι καταχωρήσεις της συστοιχίας Q[x] με τιμές κοντά στο 0 είναι πιο πιθανό να είναι t -λείοι (πρέπει να ληφθούν υπόψη σφάλματα στρογγυλοποίησης) και αυτό μπορεί να επαληθευθεί παραγοντοποιώντας τον q(x) με δοκιμαστική διαίρεση. 3.4 Σημείωση (χρόνος εκτέλεσης του τετραγωνικού κόσκινου) Για τη βελτιστοποίηση του χρόνου εκτέλεσης του τετραγωνικού κόσκινου, το μέγεθος της βάσης παραγόντων πρέπει να επιλεγεί με σύνεση. Η βέλτιστη επιλογή του t L, (βλ. Παράδειγμα.6) προκύπτει από τη γνώση που αφορά την κατανομή των λείων ακεραίων κοντά στον. Με την επιλογή αυτή, ο Αλγόριθμος 3. με κοσκίνισμα (Σημείωση 3.3) έχει έναν αναμενόμενο χρόνο εκτέλεσης L,, ανεξάρτητο του μεγέθους των παραγόντων του. 3.5 Σημείωση (παραλλαγή πολλαπλών πολυωνύμων) Για να συλλέξουμε έναν ικανό αριθμό ζευγών (a, b ), το διάστημα κοσκινίσματος πρέπει να είναι αρκετά μεγάλο. Από την ισότητα (3.) μπορούμε να δούμε ότι το q(x) μεγαλώνει γραμμικά με το x και συνεπώς η πιθανότητα της λειότητας φθίνει. Για να ξεπεράσουμε αυτό το πρόβλημα, προτάθηκε μια παραλλαγή (το τετραγωνικό κόσκινο πολλαπλών πολυωνύμων) όπου μπορούν να χρησιμοποιηθούν πολλά κατάλληλα επιλεγμένα δευτεροβάθμια πολυώνυμα αντί μόνο του q(x), με το κάθε πολυώνυμο να κοσκινίζεται επί ενός διαστήματος αρκετά μικρότερου μήκους. Αυτή η παραλλαγή επίσης έχει έναν αναμενόμενο χρόνο εκτέλεσης L, και είναι η μέθοδος που επιλέγεται στην πράξη. 3.6 Σημείωση (παραλληλοποίηση του τετραγωνικού κόσκινου) Η παραλλαγή του τετραγωνικού κόσκινου πολλαπλών πολυωνύμων είναι κατάλληλη για παραλληλοποίηση. Κάθε κόμβος ενός παράλληλου υπολογιστή, ή κάθε υπολογιστής σε ένα δίκτυο υπολογιστών, απλά κοσκινίζει μέσω διαφορετικών συλλογών πολυωνύμων. Κάθε ζεύγος (a, b ) που προκύπτει αναφέρεται σε έναν κεντρικό επεξεργαστή. Από τη στιγμή που συλλέγονται επαρκή ζεύγη, επιλύεται το αντίστοιχο σύστημα γραμμικών εξισώσεων σε έναν (ενδεχομένως παράλληλο) υπολογιστή. 3.7 Σημείωση (τετραγωνικό κόσκινο και παραγοντοποίηση ελλειπτικών καμπυλών) Ο αλγόριθμος παραγοντοποίησης ελλειπτικών καμπυλών ( 3..4) έχει τον ίδιο (4) αναμενόμενο (ασυμπτωτικό) χρόνο εκτέλεσης με τον αλγόριθμο παραγοντοποίησης τετραγωνικού κόσκινου στην ειδική περίπτωση που ο είναι το γινόμενο δύο πρώτων του ιδίου μεγέθους. Όμως, για τέτοιους αριθμούς, το τετραγωνικό κόσκινο είναι ανώτερο στην πράξη επειδή τα κύρια βήματα του αλγορίθμου είναι πράξεις απλής ακριβείας, συγκρινόμενες με τις πολύ πιο εντατικές υπολογιστικά πράξεις πολλαπλής ακριβείας των ελλειπτικών καμπυλών που απαιτούνται στον αλγόριθμο ελλειπτικών καμπυλών. 4 Αυτό δεν λαμβάνει υπόψη τους διαφορετικούς όρους ο() στις δύο εκφράσεις L,. 3

3..7 Παραγοντοποίηση κόσκινου σώματος αριθμών Για αρκετά χρόνια, ορισμένοι θεωρούσαν ότι ο χρόνος εκτέλεσης L, ήταν, όντως, ο καλύτερος επιτεύξιμος από έναν αλγόριθμο παραγοντοποίησης ακεραίων. Αυτό το φράγμα ξεπεράστηκε το 990 με την ανακάλυψη του κόσκινου σώματος αριθμών. Όπως το τετραγωνικό κόσκινο, το κόσκινο σώματος αριθμών είναι ένας αλγόριθμος της οικογένειας μεθόδων τυχαίων τετραγώνων ( 3..5). Δηλαδή, ο αλγόριθμος αναζητεί ακεραίους x και y τέτοιους, ώστε x y (mod ) και x ±y (mod ). Για την επίτευξη αυτού του στόχου χρησιμοποιούνται δύο βάσεις παραγόντων, εκ των οποίων η μία αποτελείται από όλους τους πρώτους τους μικρότερους από κάποιο φράγμα και η άλλη αποτελείται από όλα τα πρώτα ιδεώδη με στάθμη (orm) μικρότερη κάποιου φράγματος στον δακτύλιο των ακεραίων ενός κατάλληλα επιλεγμένου αλγεβρικού σώματος αριθμών. Οι λεπτομέρειες του αλγορίθμου είναι αρκετά περίπλοκες και είναι πέρα από τους σκοπούς αυτού του βιβλίου. Μια ειδική εκδοχή του αλγορίθμου (το ειδικό κόσκινο σώματος αριθμών) εφαρμόζεται σε ακεραίους της μορφής = r e s, για μικρά r και s, και έχει έναν αναμενόμενο χρόνο εκτέλεσης L,, c 3 όπου c = (3/9)/3.56. Η γενική εκδοχή του αλγορίθμου, που μερικές φορές λέγεται γενικό κόσκινο σώματος α- ριθμών, εφαρμόζεται σε όλους τους ακεραίους και έχει έναν αναμενόμενο χρόνο εκτέλεσης L,, c 3 όπου c = (64/9)/3.93. Αυτός είναι ασυμπτωτικά ο ταχύτερος γνωστός αλγόριθμος για παραγοντοποίηση ακεραίων. Ο κύριος λόγος για τον οποίο ο χρόνος εκτέλεσης του κόσκινου σώματος αριθμών είναι μικρότερος του τετραγωνικού κόσκινου είναι ότι οι υποψήφιοι λείοι αριθμοί στο πρώτο είναι αρκετά μικρότεροι απ' ότι στο δεύτερο. Το γενικό κόσκινο σώματος αριθμών θεωρήθηκε αρχικά ότι είναι πιο αργό από το τετραγωνικό κόσκινο για την παραγοντοποίηση ακεραίων που έχουν λιγότερα από 50 δεκαδικά ψηφία. Όμως, πειράματα κατά τα έτη 994-996 έδειξαν ότι το γενικό κόσκινο σώματος α- ριθμών είναι ταχύτερο του τετραγωνικού κόσκινου ακόμα και για αριθμούς της τάξεως των 5 ψηφίων. Αυτό συνεπάγεται ότι το σημείο τομής μεταξύ της αποδοτικότητας του τετραγωνικού κόσκινου και του γενικού κόσκινου σώματος αριθμών μπορεί να είναι τα 0-0 ψηφία. Για αυτόν τον λόγο το γενικό κόσκινο σώματος αριθμών θεωρείται ο τωρινός πρωταθλητής όλων των αλγορίθμων παραγοντοποίησης γενικού σκοπού. 3.3 Το πρόβλημα RSA Η δυσεπιλυσιμότητα του προβλήματος RSA αποτελεί τη βάση για την ασφάλεια του σχήματος κρυπτογράφησης δημόσιου κλειδιού RSA ( 8.) και του σχήματος υπογραφών RSA (.3.). 3.8 Ορισμός Το πρόβλημα RSA (RSAP) είναι το εξής: δοθέντος ενός θετικού ακεραίου ο ποίος είναι γινόμενο δύο διαφορετικών περιττών πρώτων και q, ενός θετικού ακεραίου e τέτοιου, ώστε gcd(e, ( )(q )) =, και ενός ακεραίου c, να βρεθεί ακέραιος m τέτοιος, ώστε m e c (mod ). Με άλλα λόγια, το πρόβλημα RSA είναι αυτό της εύρεσης της e-οστής ρίζας modulo έναν σύνθετο ακέραιο. Οι συνθήκες που επιβάλλονται στις παραμέτρους και e του προβλήματος διασφαλίζουν ότι για κάθε ακέραιο c {0,,, } υπάρχει ακριβώς ένας m {0,, 4

, } τέτοιος, ώστε m e c (mod ). Ισοδύναμα, η συνάρτηση f : που ορίζεται από την f (m) = m e mod είναι μια μετάθεση. 3.9 Παρατήρηση (πρόβλημα SQROOT και πρόβλημα RSA) Αφού ο είναι άρτιος, έπεται ότι ο e είναι περιττός. Ειδικότερα, e, και επομένως το πρόβλημα SQROOT (Ορισμός 3.43) δεν είναι ειδική περίπτωση του προβλήματος RSA. Όπως αποδεικνύεται στην 8..(), αν οι παράγοντες του είναι γνωστοί τότε το πρόβλημα RSA μπορεί να λυθεί εύκολα. Το γεγονός αυτό διατυπώνεται στη συνέχεια. 3.30 Γεγονός RSAP P FACTORING. Δηλαδή, το πρόβλημα RSA ανάγεται πολυωνυμο-χρονικά στο πρόβλημα παραγοντοποίησης ακεραίων. Πιστεύεται ευρέως ότι τα προβλήματα RSA και παραγοντοποίησης ακεραίων είναι υπολογιστικά ισοδύναμα, παρόλο που δεν είναι γνωστή μια απόδειξη αυτού. 3.4 Το πρόβλημα της τετραγωνικής καταλοιπότητας Η ασφάλεια του πιθανοκρατικού σχήματος κρυπτογράφησης δημόσιου κλειδιού Goldwasser- Mcal ( 8.7) και της γεννήτριας ψευδοτυχαίων bt Blum-Blum-Shub ( 5.5.) βασίζεται και για τα δύο στην εμφανή δυσεπιλυσιμότητα του προβλήματος της τετραγωνικής καταλοιπότητας. Υπενθυμίζουμε από την.4.5 ότι αν ο 3 είναι περιττός ακέραιος, τότε J είναι το σύνολο όλων των a που έχουν σύμβολο Jacob. Υπενθυμίζουμε επίσης ότι Q είναι το σύνολο των τετραγωνικών καταλοίπων modulo και ότι το σύνολο των ψευδοτετραγώνων modulo ορίζεται από την Q J Q. 3.3 Ορισμός Το πρόβλημα τετραγωνικής καταλοιπότητας (QRP) είναι το εξής: δοθέντος ενός περιττού σύνθετου ακεραίου και ενός a J, αποφάσισε εάν είναι ή όχι το a τετραγωνικό κατάλοιπο modulo. 3.3 Σημείωση (QRP με ένα modulus πρώτο) Αν ο ακέραιος είναι πρώτος τότε είναι εύκολο να αποφασίσουμε εάν το a είναι ένα τετραγωνικό κατάλοιπο modulo, αφού εξ ορισμού, a a Q, αν και μόνο αν a =, και το σύμβολο Legedre μπορεί να υπολογιστεί αποδοτικά με τον Αλγόριθμο.49. Ας υποθέσουμε τώρα ότι ο ακέραιος είναι γινόμενο δύο διαφορετικών περιττών πρώτων a και q. Από το Γεγονός.37 έπεται ότι αν a J, τότε a Q, αν και μόνο αν =. Άρα, αν η παραγοντοποίηση του είναι γνωστή, τότε το QRP μπορεί να λυθεί απλά υπολογί- a ζοντας το σύμβολο Legedre. Αυτή η παρατήρηση μπορεί να γενικευτεί για όλους τους ακεραίους και οδηγεί στο ακόλουθο γεγονός. 3.33 Γεγονός QRP P FACTORING. Δηλαδή, το QRP ανάγεται πολυωνυμο-χρονικά στο πρόβλημα FACTORING. 5

Από την άλλη μεριά, αν η παραγοντοποίηση του δεν είναι γνωστή, τότε δεν υπάρχει γνωστή αποδοτική διαδικασία για την επίλυση του QRP, πέρα από την εικασία της απάντησης. Αν = q, τότε η πιθανότητα μιας σωστής πρόβλεψης είναι ½, αφού είναι Q = Q (Γεγονός.55). Πιστεύεται ότι το QRP είναι τόσο δύσκολο όσο το πρόβλημα παραγοντοποίησης ακεραίων, αν και δεν υπάρχει γνωστή απόδειξη αυτού. 3.5 Υπολογισμός τετραγωνικών ριζών στο Οι πράξεις τετραγωνισμού modulo έναν ακέραιο και εξαγωγής τετραγωνικών ριζών modulo έναν ακέραιο χρησιμοποιούνται συχνά σε κρυπτογραφικές συναρτήσεις. Η πράξη υπολογισμού τετραγωνικών ριζών modulo μπορεί να πραγματοποιηθεί αποδοτικά όταν το είναι πρώτος, αλλά είναι δύσκολη όταν ο είναι σύνθετος ακέραιος του οποίου οι πρώτοι παράγοντες δεν είναι γνωστοί. 3.5. Περίπτωση (): πρώτος Υπενθυμίζουμε από την Παρατήρηση 3.3 ότι αν είναι πρώτος, τότε είναι εύκολο να αποφασίσουμε εάν το a είναι ένα τετραγωνικό κατάλοιπο modulo. Αν το a είναι όντως τετραγωνικό κατάλοιπο modulo, τότε οι δύο τετραγωνικές ρίζες του a μπορούν να υπολογιστούν αποδοτικά, όπως παρουσιάζεται στον Αλγόριθμο 3.34. 3.34 Αλγόριθμος Εύρεση τετραγωνικών ριζών modulo έναν πρώτο ΕΙΣΟΔΟΣ: ένας περιττός πρώτος και ένας ακέραιος a, a. ΕΞΟΔΟΣ: οι δύο τετραγωνικές ρίζες του a modulo, με την προϋπόθεση ότι ο α είναι ένα τετραγωνικό κατάλοιπο modulo. a. Υπολόγισε το σύμβολο Legedre a χρησιμοποιώντας τον Αλγόριθμο.49. Aν =, τότε επιστροφή(το a δεν έχει τετραγωνική ρίζα modulo ) και τερμάτισε. b. Επέλεξε ακεραίους b, b, τυχαία έως ότου βρεθεί ένας τέτοιος, ώστε. (Ο b είναι ένα τετραγωνικό μη-κατάλοιπο modulo ). 3. Με επανειλημμένες διαιρέσεις με το, γράψε = s t, όπου t περιττός. 4. Υπολόγισε α mod με τον διευρυμένο Ευκλείδειο αλγόριθμο (Αλγόριθμος.4). 5. Όρισε c b t mod και r α ( t+) / mod (Αλγόριθμος.43). 6. Για από έως s κάνε τα εξής: s 6. Υπολόγισε b( r a ) mod. 6. Αν d (mod ) τότε όρισε r r c mod. 6.3 Όρισε c c mod. 7. Επιστροφή(r, r). Ο Αλγόριθμος 3.34 είναι ένας τυχαιοκρατικός αλγόριθμος εξαιτίας του τρόπου με τον οποίο επιλέγεται το τετραγωνικό μη-κατάλοιπο b στο βήμα. Κανένας αιτιοκρατικός αλγόριθμος πολυωνυμικού χρόνου για την εύρεση ενός τετραγωνικού μη-καταλοίπου modulo έ- ναν πρώτο δεν είναι γνωστός (βλ. Παρατήρηση.5). 3.35 Γεγονός Ο Αλγόριθμος 3.34 έχει έναν αναμενόμενο χρόνο Ο((lg ) 4 ) πράξεις bt. 6

Αυτός ο χρόνος εκτέλεσης προκύπτει αν παρατηρήσουμε ότι το κυρίαρχο βήμα (βήμα 6) εκτελείται s φορές, με την κάθε επανάληψη να περιλαμβάνει μια ύψωση σε δύναμη της αριθμητικής υπολοίπων και συνεπώς απαιτεί Ο((lg )³) πράξεις bt (Πίνακας.5). Αφού στη χειρότερη περίπτωση είναι s = O(lg ), έπεται ότι ο χρόνος εκτέλεσης είναι Ο((lg ) 4 ). Όταν το s είναι μικρό, ο βρόχος στο βήμα 6 εκτελείται μόνο λίγες φορές και ο χρόνος εκτέλεσης του Αλγορίθμου 3.34 είναι Ο((lg )³) πράξεις bt. Το σημείο αυτό παρουσιάζεται παρακάτω για τις ειδικές περιπτώσεις s = και s =. Η εξειδίκευση του Αλγορίθμου 3.34 στην περίπτωση s = δίνει τον ακόλουθο απλό αιτιοκρατικό αλγόριθμο εύρεσης τετραγωνικών ριζών όταν 3 (mod 4). 3.36 Αλγόριθμος Εύρεση τετραγωνικών ριζών modulo έναν πρώτο, όπου 3 (mod 4) ΕΙΣΟΔΟΣ: ένας περιττός πρώτος, όπου 3 (mod 4), και ένα τετράγωνο a Q. ΕΞΟΔΟΣ: οι δύο τετραγωνικές ρίζες του a modulo.. Υπολόγισε r = a (+)/4 mod (Αλγόριθμος.43).. Επιστροφή(r, r). Εξειδικεύοντας τον Αλγόριθμο 3.34 στην περίπτωση όπου s = και χρησιμοποιώντας το γεγονός ότι το είναι ένα τετραγωνικό μη-κατάλοιπο modulo όταν 5 (mod 8), προκύπτει ο ακόλουθος απλός αιτιοκρατικός αλγόριθμος για την εύρεση τετραγωνικών ριζών όταν 5 (mod 8). 3.37 Αλγόριθμος Εύρεση τετραγωνικών ριζών modulo έναν πρώτο, όπου 5 (mod 8). ΕΙΣΟΔΟΣ: ένας περιττός πρώτος, όπου 5 (mod 8), και ένα τετράγωνο a Q. ΕΞΟΔΟΣ: οι δύο τετραγωνικές ρίζες του a modulo.. Υπολόγισε d = a (+)/4 mod (Αλγόριθμος.43).. Αν d = τότε υπολόγισε r = a (+3)/8 mod. 3. Αν d = τότε υπολόγισε r = a(4a) ( 5)/8 mod. 4. Επιστροφή(r, r). 3.38 Γεγονός Οι Αλγόριθμοι 3.36 και 3.37 έχουν χρόνο εκτέλεσης Ο((lg )³) πράξεις bt. Ο Αλγόριθμος 3.39 για την εύρεση τετραγωνικών ριζών modulo είναι προτιμότερος από τον Αλγόριθμο 3.34 όταν = s t με s μεγάλο. 3.39 Αλγόριθμος Εύρεση τετραγωνικών ριζών modulo έναν πρώτο. ΕΙΣΟΔΟΣ: ένας περιττός πρώτος και ένα τετράγωνο a Q. ΕΞΟΔΟΣ: οι δύο τετραγωνικές ρίζες του a modulo.. Επέλεξε τυχαίο b μέχρι το b 4a να είναι ένα τετραγωνικό μη-κατάλοιπο modulo, δηλ. 4 a b.. Έστω f το πολυώνυμο x bx + α στο [x]. 3. Υπολόγισε r = x (+)/ mod f χρησιμοποιώντας τον Αλγόριθμο.7. (Σημείωση: το r θα είναι ένας ακέραιος.) 4. Επιστροφή(r, r). 7

3.40 Γεγονός Ο Αλγόριθμος 3.39 έχει έναν αναμενόμενο χρόνο εκτέλεσης Ο((lg )³) πράξεις bt. 3.4 Σημείωση (υπολογισμός τετραγωνικών ριζών σε πεπερασμένο σώμα) Οι Αλγόριθμοι 3.34, 3.36, 3.37 και 3.39 μπορούν με έναν άμεσο τρόπο να επεκταθούν για την εύρεση τετραγωνικών ριζών σε ένα πεπερασμένο σώμα q περιττής τάξης q = m, πρώτος, m. Οι τετραγωνικές ρίζες σε πεπερασμένες ομάδες άρτιας τάξης μπορούν επίσης να υπολογιστούν αποδοτικά μέσω του Γεγονότος 3.4. 3.4 Γεγονός Κάθε στοιχείο a έχει ακριβώς μία τετραγωνική ρίζα, την m m a. 3.5. Περίπτωση (): σύνθετος Το θέμα αυτής της υποενότητας περιορίζεται στην περίπτωση υπολογισμού τετραγωνικών ριζών modulo, όπου είναι το γινόμενο δύο διαφορετικών περιττών πρώτων και q. Όμως, όλα τα γεγονότα που παρουσιάζονται εδώ γενικεύονται στην περίπτωση όπου είναι ένας οποιοσδήποτε σύνθετος ακέραιος. Σε αντίθεση με την περίπτωση όπου είναι πρώτος, το πρόβλημα απόφασης εάν ένα δεδομένο a είναι ένα τετραγωνικό κατάλοιπο modulo έναν σύνθετο ακέραιο, θεωρείται a ότι είναι ένα δύσκολο πρόβλημα. Βέβαια, αν το σύμβολο Jacob, τότε το a είναι ένα a τετραγωνικό μη-κατάλοιπο. Από την άλλη μεριά, αν, τότε η απόφαση εάν το a είναι, ή όχι, ένα τετραγωνικό κατάλοιπο, είναι ακριβώς το πρόβλημα τετραγωνικής καταλοιπότητας που θεωρήσαμε στην 3.4. 3.43 Ορισμός Το πρόβλημα τετραγωνικής ρίζας modulo (SQROOT) είναι το εξής: δοθέντος ενός σύνθετου ακεραίου και ενός τετραγωνικού καταλοίπου a modulo (δηλ. a Q ), να βρεθεί μια τετραγωνική ρίζα του a modulo. Αν οι παράγοντες και q του είναι γνωστοί, τότε το πρόβλημα SQROOT μπορεί να λυθεί αποδοτικά αφού βρούμε πρώτα τετραγωνικές ρίζες του a modulo και modulo q και μετά τις συνδυάσουμε χρησιμοποιώντας το Κινέζικο θεώρημα υπολοίπων (Γεγονός.0) για να πάρουμε τις τετραγωνικές ρίζες του a modulo. Τα βήματα συνοψίζονται στον Αλγόριθμο 3.44, ο οποίος όντως βρίσκει και τις τέσσερις τετραγωνικές ρίζες του a modulo. 3.44 Αλγόριθμος Εύρεση τετραγωνικών ριζών modulo δοθέντων των πρώτων παραγόντων του και q ΕΙΣΟΔΟΣ: ένας ακέραιος, οι πρώτοι παράγοντές του και q, και ο a Q. ΕΞΟΔΟΣ: οι τέσσερις τετραγωνικές ρίζες του a modulo.. Χρησιμοποίησε τον Αλγόριθμο 3.39 (ή έναν από τους Αλγόριθμους 3.36 ή 3.37, αν εφαρμόζονται) για την εύρεση των δύο τετραγωνικών ριζών r και r του a modulo.. Χρησιμοποίησε τον Αλγόριθμο 3.39 (ή έναν από τους Αλγόριθμους, αν εφαρμόζονται) για την εύρεση των δύο τετραγωνικών ριζών s και s του a modulo. 3. Χρησιμοποίησε τον διευρυμένο Ευκλείδειο Αλγόριθμο (Αλγόριθμος.07) για την εύρεση ακεραίων c και d τέτοιων, ώστε c + dq =. 4. Όρισε x (rdq + sc) mod και y (rdq sc) mod. 5. Επιστροφή(± x mod, ± y mod ). 8

3.45 Γεγονός O Αλγόριθμος 3.44 έχει έναν αναμενόμενο χρόνο εκτέλεσης Ο((lg )³) πράξεις bt. Ο Αλγόριθμος 3.44 μας δείχνει ότι αν μπορούμε να παραγοντοποιήσουμε τον, τότε το πρόβλημα SQROOT είναι εύκολο. Ακριβέστερα, SQROOT P FACTORING. Το αντίστροφο αυτής της πρότασης είναι επίσης αληθές, όπως διατυπώνεται στο Γεγονός 3.46. 3.46 Γεγονός FACTORING P SQROOT. Δηλαδή, το πρόβλημα FACTORING ανάγεται πολυωνυμο-χρονικά στο πρόβλημα SQROOT. Επομένως, αφού SQROOT P FACTORING, τα προβλήματα FACTORING και SQROOT είναι υπολογιστικά ισοδύναμα. Δικαιολόγηση. Ας υποθέσουμε ότι κάποιος έχει έναν πολυωνυμικού χρόνου αλγόριθμο Α για την επίλυση του προβλήματος SQROOT. Τότε ο αλγόριθμος αυτός μπορεί να χρησιμοποιηθεί για την παραγοντοποίηση ενός δοθέντος σύνθετου ακεραίου ως εξής. Επιλέγεται ένας ακέραιος x τυχαία με gcd(x, ) = και υπολογίζεται το a = x mod. Στη συνέχεια, εκτελείται ο αλγόριθμος Α με δεδομένα εισόδου a και, και επιστρέφεται η τετραγωνική ρίζα y του a modulo. Αν y ± x (mod ), τότε η δοκιμή αποτυγχάνει και η παραπάνω διαδικασία επαναλαμβάνεται με ένα νέο x επιλεγμένο τυχαία. Διαφορετικά, αν y ± x (mod ), τότε ο gcd(x y, ) είναι εγγυημένο ότι είναι ένας μη τετριμμένος παράγοντας του (Γεγονός 3.8), δηλαδή ο ή ο q. Αφού ο a έχει τέσσερις τετραγωνικές ρίζες modulo (±x και ±z με ±z ±x (mod )), η πιθανότητα επιτυχίας για κάθε προσπάθεια είναι ½. Επομένως, ο αναμενόμενος αριθμός προσπαθειών πριν ληφθεί ένας παράγοντας του είναι δύο, και κατά συνέπεια η διαδικασία εκτελείται σε αναμενόμενο πολυωνυμικό χρόνο. 3.47 Σημείωση (ισχυροποίηση του Γεγονότος 3.46) Η απόδειξη του Γεγονότος 3.46 μπορεί εύκολα να τροποποιηθεί για την εδραίωση του ακόλουθου ισχυρότερου αποτελέσματος. Έστω c μια σταθερά. Αν υπάρχει αλγόριθμος Α ο οποίος, δοθέντος του, μπορεί να βρει μια τετραγωνική ρίζα modulo σε πολυωνυμικό χρόνο για ένα κλάσμα όλων των τετραγωνικών (lg ) c καταλοίπων a Q, τότε ο αλγόριθμος Α μπορεί να χρησιμοποιηθεί για να παραγοντοποιήσει το σε αναμενόμενο πολυωνυμικό χρόνο. Η σημασία αυτής της πρότασης είναι ότι αν το πρόβλημα παραγοντοποίησης του είναι δύσκολο, τότε για όλα σχεδόν τα a Q είναι δύσκολο να βρεθούν τετραγωνικές ρίζες modulo. Η υπολογιστική ισοδυναμία των προβλημάτων SQROOT και FACTORING ήταν η βάση των πρώτων «αποδείξιμα ασφαλών» σχημάτων κρυπτογράφησης και υπογραφής δημόσιου κλειδιού που παρουσιάζονται στην 8.3. 3.6 Το Πρόβλημα του Διακριτού Λογαρίθμου Η ασφάλεια πολλών κρυπτογραφικών τεχνικών οφείλεται στη δυσεπιλυσιμότητα του προβλήματος διακριτού λογαρίθμου. Μια μερική λίστα αυτών περιλαμβάνει τη συμφωνία κλειδιών Dffe-Hellma και των παράγωγών της (.6), την κρυπτογράφηση ElGamal ( 8.4) και το σχήμα υπογραφών El Gamal με τις παραλλαγές του (.5). Αυτή η ενότητα συνοψίζει την τρέχουσα γνώση που αφορά τους αλγορίθμους επίλυσης του προβλήματος διακριτού λογαρίθμου. Εκτός κι αν καθορίζεται διαφορετικά, περιγράφουμε τους αλγορίθμους αυτής της ενότητας στο γενικό πλαίσιο μιας (γραμμένης πολλαπλασιαστικά) πεπερασμένης κυκλικής ομάδας G τάξης με γεννήτορα a (βλ. Ορισμό.67). Για μια πιο συγκεκριμένη προσέγγιση, ο ανα- 9

γνώστης μπορεί να θεωρήσει βολικότερα την G ως την πολλαπλασιαστική ομάδα, όπου η πράξη της ομάδας είναι απλά ο πολλαπλασιασμός modulo. τάξης 3.48 Ορισμός Έστω G μια πεπερασμένη κυκλική ομάδα τάξης. Έστω a ένας γεννήτορας της G και έστω b G. Ο διακριτός λογάριθμος του b ως προς τη βάση a, συμβολικά log a b, είναι ο μοναδικός ακέραιος x, 0 x, τέτοιος ώστε b = a x. 3.49 Παράδειγμα Έστω = 97. Τότε το 97 είναι μια κυκλική ομάδα τάξης = 96. Ένας 3 γεννήτορας της είναι το a = 5. Αφού 5 35(mod97), log 35 3 στο 97 Τα ακόλουθα είναι μερικά στοιχειώδη γεγονότα για τους λογαρίθμους. 5 97. 3.50 Γεγονός Έστω ότι a είναι ένας γεννήτορας της κυκλικής ομάδας G τάξης, και έστω b, g G. Έστω ότι s είναι ένας ακέραιος. Τότε έχουμε, log ( bg) (log b log g ) mod και s log ( b ) s log b mod. a a a a a Οι ομάδες με το μεγαλύτερο ενδιαφέρον στην κρυπτογραφία είναι η πολλαπλασιαστική ομάδα q του πεπερασμένου σώματος q (.6), συμπεριλαμβανομένης της περίπτωσης της πολλαπλασιαστικής ομάδας των ακεραίων modulo έναν πρώτο, και η πολλαπλασιαστική ομάδα του πεπερασμένου σώματος χαρακτηριστικής δύο. Επίσης, ενδιαφέρουσα m m είναι η ομάδα των μονάδων, όπου είναι ένας σύνθετος ακέραιος, η ομάδα των σημείων σε μια ελλειπτική καμπύλη ορισμένη επί ενός πεπερασμένου σώματος, και η ιακωβιανή μιας υπερελλειπτικής καμπύλης ορισμένης επί ενός πεπερασμένου σώματος. 3.5 Ορισμός Το πρόβλημα διακριτού λογαρίθμου (DLP) είναι το εξής: δοθέντος ενός πρώτου, ενός γεννήτορα a του, και ενός στοιχείου b, να βρεθεί ο ακέραιος x, 0 x, τέτοιος ώστε a x b (mod ). 3.5 Ορισμός Το γενικευμένο πρόβλημα διακριτού λογαρίθμου (GDLP) είναι το εξής: δοθείσης μιας πεπερασμένης κυκλικής ομάδας G τάξης, ενός γεννήτορα a της G και ενός στοιχείου b G, να βρεθεί ο ακέραιος x, 0 x, τέτοιος ώστε a x = b. Το πρόβλημα διακριτού λογαρίθμου σε ομάδες ελλειπτικών καμπυλών και στις ιακωβιανές των υπερελλειπτικών καμπυλών του Jacob δεν το εξετάζουμε ρητά σε αυτή την ενότητα. Το πρόβλημα διακριτού λογαρίθμου στο το εξετάζουμε περαιτέρω στην 3.8. 3.53 Σημείωση (η δυσκολία του GDLP είναι ανεξάρτητη του γεννήτορα) Έστω ότι a και g είναι δύο γεννήτορες μιας κυκλικής ομάδας G τάξης, και έστω b G. Έστω x = log a b, y = log g b και z = log a g. Τότε a x = b = g y = (a z ) y. Συνεπώς, x = zy mod, και log g b = (log a b) (log a g) mod. Αυτό σημαίνει ότι ένας αλγόριθμος ο οποίος υπολογίζει λογαρίθμους ως προς βάση το a μπορεί να χρησιμοποιηθεί για να υπολογίσει λογαρίθμους ως προς μια άλλη βάση g που είναι επίσης γεννήτορας της ομάδας G. 0