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

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

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

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

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

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

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

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

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

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

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

Κρυπτογραφία. Εργαστηριακό μάθημα 5 Stream ciphers Κρυπτανάλυση με τον αλγόριθμο Berlekamp-Massey

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

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

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

Blum Blum Shub Generator

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

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

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

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

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

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

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

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

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

Κρυπτογραφία. Μονόδρομες συναρτήσεις - Συναρτήσεις σύνοψης. Άρης Παγουρτζής - Πέτρος Ποτίκας

ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ 2 ΕΠΙΜΕΛΕΙΑ :ΣΤΟΥΚΑ ΑΙΚΑΤΕΡΙΝΗ-ΠΑΝΑΓΙΩΤΑ ΜΕΤΑΠΤΥΧΙΑΚΟ:ΜΠΛΑ

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

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

Κρυπτογραφία και Πολυπλοκότητα Factoring for large r

Κρυπτογραφία. Ψευδοτυχαιότητα - Κρυπτοσυστήματα ροής. Άρης Παγουρτζής - Πέτρος Ποτίκας

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

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

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

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

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

Κρυπτογραφία. Ψευδοτυχαιότητα - Κρυπτοσυστήματα ροής. Άρης Παγουρτζής - Πέτρος Ποτίκας

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

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

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

Δακτύλιοι και Πρότυπα Ασκήσεις 2. όπου a (4 i) (1 2 i), b i. Στη συνέχεια βρείτε κάθε τέτοιο d. b. Δείξτε ότι [ i] (4 i)

Κρυπτογραφία. Συναρτήσεις μονής κατεύθυνσης - Συναρτήσεις κατακερματισμού. Άρης Παγουρτζής - Πέτρος Ποτίκας

Παραγωγή μεγάλων πρώτων αριθμών

Κρυπτογραφία. Ψευδοτυχαιότητα - Κρυπτοσυστήματα ροής. Άρης Παγουρτζής - Πέτρος Ποτίκας

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

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

Παύλος Εφραιμίδης. Βασικές Έννοιες Κρυπτογραφίας. Ασφ Υπολ Συστ

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

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

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

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

El Gamal Αλγόριθμος. Κώστας Λιμνιώτης Κρυπτογραφία - Εργαστηριακό μάθημα 7 2

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

Κρυπτογραφία. Ψευδοτυχαιότητα - Κρυπτοσυστήματα ροής. Άρης Παγουρτζής - Πέτρος Ποτίκας

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

Κρυπτογραφία και Πολυπλοκότητα

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

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 2

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

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

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

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

Θέµατα ( ικαιολογείστε πλήρως όλες τις απαντήσεις σας)

Οικονομικό Πανεπιστήμιο Αθηνών Τμήμα Πληροφορικής ΠΜΣ στα Πληροφοριακά Συστήματα Κρυπτογραφία και Εφαρμογές Διαλέξεις Ακ.

n ίδια n διαφορετικά n n 0 n n n 1 n n n n 0 4

Θεωρια Αριθµων Προβληµατα

Δομές Δεδομένων. Ενότητα 11: Τεχνικές Κατακερματισμού. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.

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

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

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

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

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

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

ΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων. Λουκάς Γεωργιάδης

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο

Threshold Cryptography Algorithms. Εργασία στα πλαίσια του μαθήματος Τεχνολογίες Υπολογιστικού Νέφους

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

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

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

ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ

ιαιρετότητα Στοιχεία Θεωρίας Αριθµών «Ο Αλγόριθµος της ιαίρεσης» Αριθµητική Υπολοίπων 0 r < d και a = d q +r

Κατακερματισμός (Hashing)

ΤΕΙ Κρήτης Τμήμα Μηχανικών Πληροφορικής. Συμμετρική Κρυπτογραφία

project RSA και Rabin-Williams

Υπολογιστική άλγεβρα Ενότητα 10: Βάσεις Groebner ενός ιδεώδους ΙΙΙ

7. Αν υψώσουμε και τα δύο μέλη μιας εξίσωσης στον κύβο (και γενικά σε οποιαδήποτε περιττή δύναμη), τότε προκύπτει

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

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο

Δομές Αναζήτησης. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση

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

Θεωρία Υπολογισμού και Πολυπλοκότητα

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

Ερώτημα 1. Μας δίνεται μια συλλογή από k ακολοθίες, k >=2 και αναζητούμε το πρότυπο Ρ, μεγέθους n.

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

Παραδείγματα Διανυσματικοί Χώροι Ι. Λυχναρόπουλος

ΚΕΦΑΛΑΙΟ 2. Γραμμικοί Κώδικες. 2.1 Η έννοια του Γραμμικού κώδικα

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )

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

Νικος Χαλιδιας Μαθηματικό Τμήμα κατεύθυνση Στατιστικής και Αναλογιστικών-Χρηματοοικονομικών Μαθηματικών Πανεπιστημιο Αιγαιου

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

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Transcript:

Εφαρμοσμένη Κρυπτογραφία Ι Κωνσταντίνου Ελισάβετ ekonstantinou@aegean.gr http://www.icsd.aegean.gr/ekonstantinou

Stream ciphers Η διαδικασία κωδικοποίησης για έναν stream cipher συνοψίζεται παρακάτω: 1. Το αρχικό μήνυμα (plaintext) μετατρέπεται σε δυαδική ακολουθία. 2. Επιλέγεται ένα κλειδί κρυπτογράφησης το οποίο μετατρέπεται σε δυαδική ακολουθία επίσης. 3. Το αρχικό μήνυμα και το κλειδί προστίθενται σύμφωνα με την πράξη XOR γιαναπροκύψειτο ciphertext. p i c i k i Κρυπτογράφηση k i c i p i Αποκρυπτογράφηση 2

Stream ciphers Αν η συμβολοσειρά κλειδιού που χρησιμοποιείται για ένα plaintext δεν ξαναχρησιμοποιείται τότε έχουμε το σύστημα one-time pad. Ησειράτωνκλειδιώνπου χρησιμοποιούνται καλείται keystream. Αυτή πρέπει να είναι όσο το δυνατόν περισσότερο τυχαία για να μην μπορεί να προβλεφθεί. Προκύπτει από μια γεννήτρια που καλείται keystream generator. seed Keystream generator Ίδιο Keystream K seed Keystream generator 3

Linear Feedback Shift Registers 4

Linear Feedback Shift Registers Ποια θα είναι τα bits της εξόδου αν αρχική κατάσταση είναι η [0110]? 5

Linear Feedback Shift Registers Η έξοδος του LFSR είναι μια ακολουθία από bits με περίοδο το πολύ 2 L -1. Αυτό μπορεί να επιτευχθεί αν επιλέξουμε με συγκεκριμένο τρόπο τις τιμές των c j. Χαρακτηριστικά: 1) Πολύ αποδοτική υλοποίηση σε hardware. 2) Παράγουν συμβολοσειρές με μεγάλη περίοδο και καλές στατιστικές ιδιότητες. 3) Ανκάποιοςεπιτιθέμενοςλάβειμέροςτουkeystream που παράγουν, τότε η έξοδός τους προβλέπεται εύκολα. 6

Geffe Generator H περίοδος της γεννήτριας είναι (2 L1-1)(2 L2-1)(2 L3-1)αν τα L1, L2 και L3 είναι σχετικά πρώτοι ανά δύο. 7

Shrinking Generator H περίοδος της γεννήτριας είναι (2 L2-1)2 L1-1 αν gcd(l1, L2)=1. 8

Παραγοντοποίηση Ακεραίων Οι αλγόριθμοι Rabin και RSA βασίζονται στην δυσκολία επίλυσης του προβλήματος της παραγοντοποίησης ακεραίων. Κάθε αλγόριθμος που εφαρμόζεται πάνω στον ακέραιο n που θέλουμε να παραγοντοποιήσουμε επιχειρεί να βρει δύο αριθμούς α και b (όχι απαραίτητα πρώτους) τέτοιους ώστε n = ab. Στην συνέχεια παραγοντοποιούνται οι α και b ξεχωριστά. Παρακάτω υποθέτουμε ότι ο n δεν είναι τέλεια δύναμη, δηλαδή δεν έχει τη μορφή n = x k. Στην περίπτωση αυτή, ο n παραγοντοποιείται πολύ εύκολα. Γιατί? 9

Παραγοντοποίηση Ακεραίων Factoring algorithms Special purpose algorithms (trial division, pollard s p-1, special number field sieve) General purpose algorithms (quadratic sieve, general number field sieve) Factoring records: General-purpose Algorithms: RSA768 (232 digits), December 2009 Special numbers with the special number field sieve: 320 digits for 2 1061-1, August 2012. 10

Αλγόριθμοι 1) Trial division: O ακέραιος n διαιρείται με «μικρούς» πρώτους. Αν διαιρέσουμε με όλους τους πρώτους που είναι μικρότεροι από το n 1/2 τελικά θα έχουμε παραγοντοποιήσει το n. 2) Pollard s rho factoring algorithm: Έστω μια συνάρτηση f: S S, όπου S είναι ένα πεπερασμένο σύνολο από n στοιχεία. Αν x 0 είναι ένα τυχαίο στοιχείο στο S, τότε η ακολουθία x 0, x 1, x 2, που δημιουργείται από τη σχέση x i = f(x i-1 ), θα εμφανίσει κάποια στιγμή ένα από τα x i για δεύτερη φορά (αφού το S είναι πεπερασμένο). 11

Pollard s rho factoring algorithm κύκλος ουρά Η ουρά έχει αναμενόμενο μήκος (πn/8) 1/2, όπως και ο κύκλος. Το ερώτημα που προκύπτει άμεσα είναι πώς βρίσκεις τα i και j γιαταοποίαx i = x j. Η προφανής απάντηση είναι να αποθηκεύεις όλες τις τιμές και να ελέγχεις κάθε φορά αν υπάρχει σύγκρουση (collision). To αναμενόμενο πλήθος των τιμών που πρέπει να ελεγχθούν είναι 2(πn/8) 1/2. Η μέθοδος απαιτεί Ο(n 1/2 ) μνήμη και Ο(n 1/2 ) χρόνο. 12

Pollard s rho factoring algorithm Ο μεγάλος χώρος αποθήκευσης μπορεί να αποφευχθεί αν ακολουθήσουμε τον αλγόριθμο εύρεσης κύκλου του Floyd. Με τη μέθοδο αυτή ξεκινάμε από ένα ζευγάρι (x 1, x 2 ) και υπολογίζουμε ζευγάρια (x i, x 2i ) από τα προηγούμενα (x i-1, x 2i-2 ) μέχρι να βρούμε ένα για το οποίο x m = x 2m. Πως εφαρμόζονται τα παραπάνω στην παραγοντοποίηση ακεραίων? - ημιουργούνται τα ζευγάρια (x i, x 2i ) μέσω μιας συνάρτησης f(x) = x 2 + 1 mod n και ελέγχουμε κάθε φορά το gcd(x i -x 2i, n). Αν αυτό επιστρέψει τιμή n, τότε o αλγόριθμος τερματίζει. Αν επιστρέψει 1, συνεχίζει με άλλο ζευγάρι τιμών. ιαφορετικά έχουμε βρει έναν παράγοντα του n. 13

Pollard s rho factoring algorithm Αν ο αλγόριθμος τερματίσει με αποτυχία, μπορούμε να τον ξανατρέξουμε με νέες τιμές α, b ή νέο πολυώνυμο f(x) = x 2 + c. 14

Αλγόριθμοι 3) Pollard s p-1 factoring algorithm: Ο αλγόριθμος αυτός βρίσκει πρώτους παράγοντες p ενός ακεραίου n για τους οποίους ο p-1 είναι B-smooth αριθμός. Το όριο Β ορίζεται από τον αλγόριθμο. Η ιδέα πίσω από τον αλγόριθμο είναι η εξής: ΈστωΒέναςακέραιοςκαιQ το ελάχιστο κοινό πολλαπλάσιο όλων των δυνάμεων των πρώτων αριθμών που είναι μικρότεροι από τον Β και επιπλέον οι δυνάμεις αυτές είναι μικρότερες ή ίσες με το n. ηλαδή Q = p e1 1 p e2 2 pek k για όλους τους πρώτους p i <=B και ταυτόχρονα p ei i <=n. 15

Pollard s p-1 factoring algorithm Άρα το Q είναι ίσο με το γινόμενο: Q = q B q ln n ln q Αν p είναιέναςπρώτοςπαράγονταςτουn και επιπλέον ο p-1 είναι B-smooth αριθμός, τότε p-1 Q και επομένως για κάθε ακέραιο α για τον οποίο gcd(a,p) = 1, το θεώρημα του Fermat οδηγεί Q στο συμπέρασμα ότι mod p. a 1 Άρα, αν υπολογίσουμε την τιμή d = gcd(a Q -1, n), τότε p d. Αν d=n τότε ο αλγόριθμος αποτυγχάνει (η πιθανότητα να ισχύει αυτό είναι πολύ μικρή). 16

Pollard s p-1 factoring algorithm Συνήθως επιλέγεται 10 5 <= Β <= 10 6. 17

Αλγόριθμοι 4) Elliptic Curve Method - ECM: Είναι ο 3 ος γρηγορότερος αλγόριθμος μετά τον quadratic sieve και τον general number field sieve. Σχετίζεται με τον αλγόριθμο p-1 του Pollard, με την έννοια ότι τώρα ψάχνουμε ελλειπτικές καμπύλες με smooth τάξη όπως στον p-1 ψάχναμε πρώτους p για τους οποίους η τάξη του Z p είναι ένας B-smooth αριθμός. ηλαδή, η πράξηa p-1 mod p δίνει αποτέλεσμα 1 γιατί στο Z p ητάξη τηςομάδαςείναιp-1. Κάτι ανάλογο ισχύει και στις ελλειπτικές καμπύλες: αν Ρ είναι ένα σημείο στην ελλειπτική καμπύλη και m είναι η τάξη της, τότε mp = O. Ο αλγόριθμος τρέχει σε υποεκθετικό χρόνο. Ο λόγοςείναιότι μπορεί κανείς να βρει εύκολα μια ΕΚ με smooth τάξη (υπάρχουν άπειρες που ορίζονται στο Z p ). 18

Αλγόριθμοι 5) Random square factoring methods: Περιλαμβάνουν τους quadratic sieve και number field sieve αλγόριθμους. Η βασική ιδέα πίσω από τους αλγόριθμους αυτούς είναι η εξής: αν x, y είναι ακέραιοι για τους οποίους x 2 y 2 mod n και ταυτόχρονα x ±y mod n, τότε ο n διαιρεί το x 2 y 2 = (xy)(x+y) αλλά δεν διαιρεί ούτε το (x-y) ούτε το (x+y). Επομένως, το gcd(x-y, n) (ή τοgcd(x+y, n)) θα είναι ένας παράγοντας του n. βρίσκω x, y που ικανοποιούν την ισοτιμία x 2 y 2 mod n με πιθανότητα τουλάχιστον ½ θα ισχύει x ±y mod n, άρα μπορώ να βρω έναν παράγοντα του n 19

Random Square Factoring Methods Λήμμα: Έστω n ένας σύνθετος ακέραιος που διαιρείται από k πρώτους p i > 2. ηλαδή, n = p 1 e1 p k ek με p i > 2. Αν a είναι στοιχείο του Z n*, τότε η ισοτιμία x 2 α 2 mod n έχει ακριβώς 2 k λύσεις modulo n (εκ των οποίων οι δύο είναι οι x = a, x = -a). Παράδειγμα: Έστω n=35=5*7. Τότε οι λύσεις της ισοτιμίας x 2 4mod nείναι τέσσερις. Συγκεκριμένα είναι οι x=2, x=33, x=12 και x=23. Για όλους τους random square factoring αλγόριθμους ακολουθείται η ίδια γενική στρατηγική 20

Random Square Factoring Methods Έστω S = {p 1, p 2,, p t } το σύνολο των t μικρότερων πρώτων αριθμών. Το S καλείται βάση παραγόντων (factor base). Θέλουμε να βρούμε ζευγάρια ακεραίων (a i, b i ) τα οποία ικανοποιούν τις σχέσεις t (i) a i2 b i mod n και (ii) b i = αριθμοί b i να είναι p t -smooth). j= 1 eij p j όπου e ij >=0 (δηλαδή οι Στη συνέχεια βρίσκουμε ένα υποσύνολο των b i τωνοποίωντο γινόμενο είναι ένα τέλειο τετράγωνο. Αυτό επιτυγχάνεται με το να είναι οι δυνάμεις των p i άρτιοι αριθμοί. 21

Random Square Factoring Methods Συγκεκριμένα, σε κάθε ακέραιο b i αντιστοιχίζουμε ένα διάνυσμα u i = (u i1, u i2,, u it ) τέτοιο ώστε u ij = e ij mod 2. ηλαδή οι b i αναπαρίστανται από ένα δυαδικό διάνυσμα t στοιχείων. Π.χ. Αν θεωρήσουμε ότι η βάση παραγόντων αποτελείται από τους t=6 μικρότερους πρώτους αριθμούς {2, 3, 5, 7, 11, 13} και b i είναι ένας p t -smooth αριθμός b i = 2 2 *3*5 3 *11 τότε αυτός αναπαρίσταται από το διάνυσμα (0,1,1,0,1,0). Επομένως, κατασκευάζουμε t+1 τιμές b i, δημιουργούμε τα αντίστοιχα δυαδικά διανύσματα και με μεθόδους γραμμικής άλγεβρας ψάχνουμε να βρούμε υποσύνολο Τ των διανυσμάτων τ.ω. mod 2. i T u i = 0 22

Random Square Factoring Methods Προφανώς, αν το τετράγωνο θα είναι και το a 2 i. i T Άρα, αν θέσουμε x = i T b i i T b i i T είναι τέλειο τετράγωνο, τέλειο a i και y = ακέραιη τετραγωνική ρίζα του τότε το ζευγάρι (x, y) θα ικανοποιεί τη σχέση x 2 y 2 mod n. Αν επιπλέον ισχύει ότι x ±y mod n, τότε το αποτέλεσμα gcd(x-y, n) θα δώσει έναν παράγοντα του n. Σε διαφορετική περίπτωση, επιλέγονται κάποια άλλα ζευγάρια (a i, b i ) και η διαδικασία επαναλαμβάνεται. 23

Random Square Factoring Methods Η παράμετρος t επιλέγεται να είναι ίση με 1 1/ 2 1/ 2 (ln n) (lnln n) 2 t e Πως δημιουργούνται τα ζευγάρια (a i, b i )? O πιο απλός αλγόριθμος είναι ο αλγόριθμος του Dixon. Οι αλγόριθμοι quadratic sieve και number field sieve είναι δύο random square factoring αλγόριθμοι που διαφοροποιούνται μόνο στον τρόπο που βρίσκουν τα ζευγάρια (a i, b i ). 24

Quadratic sieve algorithm Έστω n ο ακέραιος που θέλουμε να παραγοντοποιήσουμε. Υπολογίζουμε την τιμή m = n και το πολυώνυμο q(x) = (x+m) 2 -n. To πολυώνυμο αυτό για μικρές τιμές του x, παίρνει μικρές τιμές σε σχέση με τον ακέραιο n. O quadratic sieve αλγόριθμος επιλέγει τιμές a i = (x+m) και ελέγχει αν οι b i =(x+m) 2 -n είναι p t -smooth. Παρατηρήστε ότι α ι 2 b i mod n. Αν υπάρχει ένας πρώτος p που διαιρεί το b i, τότε (x+m) 2 n mod p και επομένως το n είναι τετραγωνικό υπόλοιπο modulo p. Αυτό σημαίνει ότι στη βάση παραγόντων θα περιλαμβάνονται μόνο οι πρώτοι p για τους οποίους το σύμβολο του Legendre (n/p)=1, καθώς και ο -1 επειδή το b i μπορεί να είναι αρνητικός αριθμός. 25

Quadratic sieve algorithm 26

Number field sieve algorithm Είναι ο γρηγορότερος αλγόριθμος παραγοντοποίησης ακεραίων. Το πλεονέκτημά του έναντι του quadratic sieve είναι ότι χρησιμοποιεί δύο βάσεις παραγόντων: a) Η μία αποτελείται από όλους τους πρώτους που είναι μικρότεροι από κάποιο όριο και b) η δεύτερη αποτελείται από το πλήθος των πρώτων ιδεωδών στον δακτύλιο των ακέραιων αλγεβρικών ενός αλγεβρικού σώματος αριθμών αρκετά πολύπλοκο! Μια παραλλαγή του αλγορίθμου (special number field sieve) χρησιμοποιείται για την παραγοντοποίηση ακεραίων της μορφής n = r e s για μικρές τιμές των r και s. 27

ιάβασμα Κεφάλαια 3 και 6 του Handbook of Applied Cryptography Κεφάλαια 3 και 8 απότοβιβλίοσύγχρονη Κρυπτογραφία: Θεωρία και Εφαρμογές 28