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

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

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

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

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

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

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

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

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

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

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

Διαιρετότητα Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία. Ακέραια διαίρεση. Διαιρετότητα. ΜΚΔ: χρήσιμες ιδιότητες

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

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

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

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

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

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

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

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

project RSA και Rabin-Williams

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

Υπολογιστικά Προβλήματα και Αλγόριθμοι στην Κρυπτογραφία

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ PRIMES P. Από τα αριστερά προς τα δεξία Saxena, Kayal και Agrawal. Επιµέλεια : Γεωργίου Κωνσταντίνος.

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

ΚΕΦΑΛΑΙΟ 8: Εφαρμογή: Το θεώρημα του Burnside

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

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

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

Πιθανοτικοί Αλγόριθμοι

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

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

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

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

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

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

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

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

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

Ασφάλεια Πληροφοριακών Συστημάτων

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

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

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

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

ΠΟΛΥΩΝΥΜΑ. Λυμένα Παραδείγματα

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

Εισαγωγή στους Αλγόριθμους

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

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

Αλγόριθμοι Αναζήτησης

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

Κεφάλαιο 2. Παραγοντοποίηση σε Ακέραιες Περιοχές

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

Επιμέλεια διαφανειών: Δ. Φωτάκης Τροποποιήσεις-προσθήκες: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

Τμήμα Τεχνολόγων Γεωπόνων - Φλώρινα

Οι Φυσικοί Αριθμοί. Παρατήρηση: Δεν στρογγυλοποιούνται αριθμοί τηλεφώνων, Α.Φ.Μ., κωδικοί αριθμοί κλπ. Πρόσθεση Φυσικών αριθμών

4.1 ΑΝΙΣΩΣΕΙΣ 1 ΟΥ ΒΑΘΜΟΥ

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

µηδενικό πολυώνυµο; Τι ονοµάζουµε βαθµό του πολυωνύµου; Πότε δύο πολυώνυµα είναι ίσα;

Σημειωματάριο μαθήματος 1ης Νοε. 2017

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

Συνδυαστική Απαρίθμηση

Κρυπτογραφία. Θεωρία Αριθμών 2/4/2014. Θεωρία Αριθμών

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

4.6 Η ΓΡΑΜΜΙΚΗ ΔΙΟΦΑΝΤΙΚΗ ΕΞΙΣΩΣΗ

Ν!=1*2*3* *(N-1) * N => N! = (Ν-1)! * N έτσι 55! = 54! * 55

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

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

Ανάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις Επαναληψης

Κρυπτογραφία. Εργαστηριακό μάθημα 9 (Πρωτόκολλα πιστοποίησης ταυτότητας μηδενικής γνώσης Fiat-Shamir)

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

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 7

K15 Ψηφιακή Λογική Σχεδίαση 3: Προτασιακή Λογική / Θεωρία Συνόλων

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

Μέγιστη Ροή Ελάχιστη Τομή

> ln 1 + ln ln n = ln(1 2 3 n) = ln(n!).

Συνδυαστική Απαρίθμηση

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

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

Διαίρει-και-Βασίλευε. Διαίρει-και-Βασίλευε. MergeSort. MergeSort. Πρόβλημα Ταξινόμησης: Είσοδος : ακολουθία n αριθμών (α 1

Συνδυαστική Απαρίθµηση Υπολογισµός (µε συνδυαστικά επιχειρήµατα) του πλήθους των διαφορετικών αποτελεσµάτων ενός «πειράµατος». «Πείραµα»: διαδικασία µ

ΜΕΘΟΔΟΛΟΓΙΕΣ & ΑΣΚΗΣΕΙΣ ΓΙΑ ΤΗΝ ΑΛΓΕΒΡΑ ΤΗΣ Α ΛΥΚΕΙΟΥ

Transcript:

Κρυπτογραφία Έλεγχος πρώτων αριθών-παραγοντοποίηση Διαφάνειες: Άρης Παγουρτζής Πέτρος Ποτίκας Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 1 / 21

Εισαγωγή Υπολογιστικά δύσκολο πρόβλημα θεωρίας αριθμών: παραγοντοποίηση Δίνεται ένας σύνθετος αριθμός N, το πρόβλημα της παραγοντοποιήσης είναι να βρούμε θετικούς ακεραίους p, q, τώ pq = N Μπορεί να λυθεί δοκιμάζοντας διαιρέσεις, διαιρώντας με όλους τους περιττούς από 2 έως N Εκθετικός χρόνος ως προς το μήκος του N ( N διαιρέσεις, χρόνου (log(n) c, για κάποια σταθερά c) Κρυπτογραφία, οι ποιο δύσκολο να παραγοντοποιηθούν αριθμοί είναι αυτοί που είναι γινόμενο μεγάλων πρώτων αριθμών Θέλουμε να παράγουμε αποδοτικά δύο n-bit μεγάλους πρώτους, ώστε N = pq Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 2 / 21

Εισαγωγή Αλγόριθμος παραγωγής τυχαίου πρώτου μήκους n-bits Είσοδος: μήκος n; παράμετρος t Έξοδος : Ένας τυχαίος n-bit πρώτος for i = 1 to t do : p {0, 1} n 1 p := 1 p if p is prime return p return fail 1 Πιθανότητα να είναι πρώτος αριθμός 2 Έλεγχος αν είναι πρώτος αριθμός Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 3 / 21

Εισαγωγή π(n): το πλήθος των πρώτων που είναι μικρότεροι ή ίσοι με το N Από θεώρημα πρώτων αριθμών: π(n) N/lnN Αν ένας ακέραιος p επιλεγεί τυχαία από το 1 ως το N, τότε η πιθανότητα να είναι πρώτος είναι 1/lnN Για n 1024-bits, με n = pq, τα p, q είναι 512-bits, και η πιθανότητα ενός τυχαίου ακεραίου 512-bits να είναι πρώτος είναι 1/355 (ή 2/355, αν πάρω περιττό) Έλεγχος αν ένας αριθμός είναι πρώτος Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 4 / 21

Έλεγχος αν ένας αριθμός είναι πρώτος Το 1970 οι πρώτοι αποδοτικοί πιθανοτικοί αλγόριθμοι αναπτύχθηκαν Ιδιότητα: Αν η είσοδος p είναι πρώτος, τότε η έξοδος είναι πάντα πρώτος Αν ο p είναι σύνθετος, τότε η έξοδος είναι σύνθετος με μεγάλη πιθανότητα Ισοδύναμα, αν η έξοδος είναι σύνθετος, τότε σίγουρα είναι σύνθετος, ενώ αν είναι πρώτος, τότε πολύ πιθανά να είναι πρώτος (ενώ πραγματικά είναι σύνθετος) Δύο πηγές σφάλματος: μία από την επιλογή τυχαίου υποψήφιου πρώτου και μία από τον έλεγχο αν είναι πρώτος Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 5 / 21

Fermat (primality) test Έλεγχος Fermat Για να δούμε αν ένας δοσμένος ακέραιος n είναι πρώτος: Επιλέγουμε τυχαία a Z n : αν a n 1 1 (mod n) τότε n σύνθετος (με βεβαιότητα), αλλιώς λέμε ότι το n περνάει το test (ίσως είναι πρώτος) Στην δεύτερη περίπτωση επαναλαμβάνουμε Πρόταση Αν για σύνθετο n υπάρχει ένας μάρτυρας (witness) (δηλ a Z n, a n 1 1 (mod n)), τότε υπάρχουν τουλάχιστον n/2 μάρτυρες Απόδειξη Χρήση Θ Lagrange στην ομάδα των μη μαρτύρων του U(Z n ) Πόρισμα: ο έλεγχος Fermat απαντάει σωστά με πολύ μεγάλη πιθανότητα για τους περισσότερους αριθμούς Εξαιρούνται όμως οι αριθμοί Carmichael: σύνθετοι για τους οποίους δεν υπάρχει μάρτυρας Fermat Για να καλύψουμε και αυτούς: Miller-Rabin test Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 6 / 21

Έλεγχος πρώτων αριθμών Miller-Rabin 1 Έστω n Z θετικός περιττός αριθμός 2 Επιλέγουμε τυχαία b [2,, n 1] Αν b n 1 mod n 1, τότε το n δεν περνάει τον έλεγχο (είναι σίγουρα σύνθετος) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 7 / 21

Έλεγχος πρώτων αριθμών Miller-Rabin 1 Έστω n Z θετικός περιττός αριθμός 2 Επιλέγουμε τυχαία b [2,, n 1] Αν b n 1 mod n 1, τότε το n δεν περνάει τον έλεγχο (είναι σίγουρα σύνθετος) 3 Αλλιώς, γράφουμε n 1 = 2 s t, με t περιττό Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 7 / 21

Έλεγχος πρώτων αριθμών Miller-Rabin 1 Έστω n Z θετικός περιττός αριθμός 2 Επιλέγουμε τυχαία b [2,, n 1] Αν b n 1 mod n 1, τότε το n δεν περνάει τον έλεγχο (είναι σίγουρα σύνθετος) 3 Αλλιώς, γράφουμε n 1 = 2 s t, με t περιττό 4 Αν b t mod n ±1 (mod n), τότε το n περνάει τον έλεγχο (πιθανόν πρώτος) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 7 / 21

Έλεγχος πρώτων αριθμών Miller-Rabin 1 Έστω n Z θετικός περιττός αριθμός 2 Επιλέγουμε τυχαία b [2,, n 1] Αν b n 1 mod n 1, τότε το n δεν περνάει τον έλεγχο (είναι σίγουρα σύνθετος) 3 Αλλιώς, γράφουμε n 1 = 2 s t, με t περιττό 4 Αν b t mod n ±1 (mod n), τότε το n περνάει τον έλεγχο (πιθανόν πρώτος) 5 Αλλιώς, υψώνουμε το b t mod n στο τετράγωνο: b 2t mod n, έπειτα ξανά στο τετράγωνο modn κοκ έως ότου πάρουμε ±1 (το πολύ s 1 επαναλήψεις) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 7 / 21

Έλεγχος πρώτων αριθμών Miller-Rabin 1 Έστω n Z θετικός περιττός αριθμός 2 Επιλέγουμε τυχαία b [2,, n 1] Αν b n 1 mod n 1, τότε το n δεν περνάει τον έλεγχο (είναι σίγουρα σύνθετος) 3 Αλλιώς, γράφουμε n 1 = 2 s t, με t περιττό 4 Αν b t mod n ±1 (mod n), τότε το n περνάει τον έλεγχο (πιθανόν πρώτος) 5 Αλλιώς, υψώνουμε το b t mod n στο τετράγωνο: b 2t mod n, έπειτα ξανά στο τετράγωνο modn κοκ έως ότου πάρουμε ±1 (το πολύ s 1 επαναλήψεις) 6 Αν πάρουμε πρώτα 1 τότε το n περνάει τον έλεγχο (πιθανόν πρώτος), αλλιώς δεν περνάει τον έλεγχο (σίγουρα σύνθετος) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 7 / 21

Έλεγχος πρώτων αριθμών Miller-Rabin 1 Έστω n Z θετικός περιττός αριθμός 2 Επιλέγουμε τυχαία b [2,, n 1] Αν b n 1 mod n 1, τότε το n δεν περνάει τον έλεγχο (είναι σίγουρα σύνθετος) 3 Αλλιώς, γράφουμε n 1 = 2 s t, με t περιττό 4 Αν b t mod n ±1 (mod n), τότε το n περνάει τον έλεγχο (πιθανόν πρώτος) 5 Αλλιώς, υψώνουμε το b t mod n στο τετράγωνο: b 2t mod n, έπειτα ξανά στο τετράγωνο modn κοκ έως ότου πάρουμε ±1 (το πολύ s 1 επαναλήψεις) 6 Αν πάρουμε πρώτα 1 τότε το n περνάει τον έλεγχο (πιθανόν πρώτος), αλλιώς δεν περνάει τον έλεγχο (σίγουρα σύνθετος) Ορθότητα: Θα αποδείξουμε ότι η πιθανότητα αποτυχίας είναι < 1 2 Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 7 / 21

Έλεγχος πρώτων αριθμών Miller-Rabin 1 Έστω n Z θετικός περιττός αριθμός 2 Επιλέγουμε τυχαία b [2,, n 1] Αν b n 1 mod n 1, τότε το n δεν περνάει τον έλεγχο (είναι σίγουρα σύνθετος) 3 Αλλιώς, γράφουμε n 1 = 2 s t, με t περιττό 4 Αν b t mod n ±1 (mod n), τότε το n περνάει τον έλεγχο (πιθανόν πρώτος) 5 Αλλιώς, υψώνουμε το b t mod n στο τετράγωνο: b 2t mod n, έπειτα ξανά στο τετράγωνο modn κοκ έως ότου πάρουμε ±1 (το πολύ s 1 επαναλήψεις) 6 Αν πάρουμε πρώτα 1 τότε το n περνάει τον έλεγχο (πιθανόν πρώτος), αλλιώς δεν περνάει τον έλεγχο (σίγουρα σύνθετος) Ορθότητα: Θα αποδείξουμε ότι η πιθανότητα αποτυχίας είναι < 1 2 Μπορεί να γίνει αμελητέα (negligible) με επαναλήψεις του ελέγχου για άλλο b κάθε φορά Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 7 / 21

Έλεγχος πρώτων αριθμών Miller-Rabin: ορθότητα Λήμμα Έστω G μία πεπερασμένη ομάδα και H G Αν η H περιέχει το ουδέτερο στοιχείο του G και για κάθε a, b H ισχύει ab H, τότε η H είναι υποομάδα της G Λήμμα Έστω H μία γνήσια υποομάδα μιας πεπερασμένης ομάδας G Τότε H G /2 Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 8 / 21

Έλεγχος πρώτων αριθμών Miller-Rabin: ορθότητα Πρόταση Αν n πρώτος, τότε περνάει τον έλεγχο πάντοτε (για όλα τα b) Αν n σύνθετος τότε περνάει τον έλεγχο για λιγότερα από τα μισά b Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 9 / 21

Έλεγχος πρώτων αριθμών Miller-Rabin: ορθότητα Πρόταση Αν n πρώτος, τότε περνάει τον έλεγχο πάντοτε (για όλα τα b) Αν n σύνθετος τότε περνάει τον έλεγχο για λιγότερα από τα μισά b Απόδειξη Βασίζεται στην απεικόνιση b b t, b 2t,, b 2it, b 2st (mod n) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 9 / 21

Έλεγχος πρώτων αριθμών Miller-Rabin: ορθότητα Πρόταση Αν n πρώτος, τότε περνάει τον έλεγχο πάντοτε (για όλα τα b) Αν n σύνθετος τότε περνάει τον έλεγχο για λιγότερα από τα μισά b Απόδειξη Βασίζεται στην απεικόνιση b b t, b 2t,, b 2it, b 2st (mod n) Factoring sequence: ±1,, ±1, 1, 1 (mod n) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 9 / 21

Έλεγχος πρώτων αριθμών Miller-Rabin: ορθότητα Πρόταση Αν n πρώτος, τότε περνάει τον έλεγχο πάντοτε (για όλα τα b) Αν n σύνθετος τότε περνάει τον έλεγχο για λιγότερα από τα μισά b Απόδειξη Βασίζεται στην απεικόνιση b b t, b 2t,, b 2it, b 2st (mod n) Factoring sequence: ±1,, ±1, 1, 1 (mod n) Αποδεικνύεται με χρήση του Θ Lagrange ότι τα στοιχεία που απεικονίζονται σε non-factoring sequences είναι το πολύ τα μισά Λεπτομέρειες: στον πίνακα Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 9 / 21

Ντετερμινιστικός έλεγχος πρώτων Αλγόριθμος AKS (2002) είναι ντετερμινιστικός, αλλά αργός (O(n 5+ϵ )) για αυτό πρακτικά χρησιμοποιούνται οι πιθανοτικοί αλγόριθμοι Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 10 / 21

Παραγοντοποίηση Pollard rho Έστω p ο μικρότερος πρώτος διαιρέτης του n Ψάχνουμε x x Z n, τώ x x ( mod p) Τότε p gcd(x x, n) < n, άρα από ΜΚΔ μπορούμε να βρούμε μη τετριμμένο διαιρέτη του n (p άγνωστο!) Επιλέγουμε τυχαίο X Z n και υπολογίζουμε για όλα τα x, x το gcd(x x, n) Από παράδοξο γενεθλίων, πρέπει X 117 n για να έχουμε σύγκρουση με πιθανότητα 50% Για να το κάνουμε αυτό θέλουμε όλα τα gcd(x x, n) (αφού p άγνωστο, άρα όχι ) υπολογισμός των x mod p και μετά ταξινόμηση), άρα περισσότερα από > p/2 ( X 2 Χρειάζεται κάτι πιο έξυπνο Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 11 / 21

Παραγοντοποίηση Pollard rho f : πολυώνυμο, πχ f(x) = x 2 + a (συνήθως a = 1) Έστω x 1 Z n και x 1, x 2,, όπου x j = f(x j 1 ), j 2 Έστω m Z και X = {x 1,, x m } Για να έχω gcd(x j x i, n), πρέπει για κάθε νέο x j, να πάρω όλα τα i < j και να τα δοκιμάσω Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 12 / 21

Παραγοντοποίηση Pollard rho Καλύτερο: Αν x i mod p = x j mod p, τότε x i+1 mod p = x j+1 mod p (λόγω της f) και επαναλαμβάνοντας έχουμε ότι Αν x i x j (mod p), τότε x i+δ x j+δ (mod p), όλα τα δ 0 x 1 mod p x 2 mod p x i mod p (tail) και κύκλος x i mod p x i+1 mod p x j x i mod p Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 13 / 21

Παραγοντοποίηση Pollard rho Βελτίωση: δε χρειάζεται να βρούμε την πρώτη σύγκρουση, αλλά παίρνουμε j = 2i (θα μπούμε πιο γρήγορα στον κύκλο) Αν x i x j (mod p), τότε x i x 2i (mod p), για όλα τα i 0(mod p), i i Αριθμός επαναλήψεων το πολύ p, και p < n η αναμενόμενη πολυπλοκότητα O(n 1/4 ) (όχι μαθηματική απόδειξη!) Αποτυχία αλγορίθμου: x i x j (mod p) και x i x j (mod n), με μικρή πιθανότητα (p/n) Αν αποτύχει, επανάληψη με άλλο x 1 ή άλλη συνάρτηση Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 14 / 21

Παραγοντοποίηση Pollard rho Αλγόριθμος POLLARD RHO FACTORING (n, x 1 ) external f x x 1 x f(x) mod n p gcd(x x, n) while p = 1 σχόλιο: στην i-στη επανάληψη, x = x i and x = x 2i x f(x) mod n x f(x ) mod n x f(x ) mod n p gcd(x x, n) if p = n return ( failure ) else return (p) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 15 / 21

Παραγοντοποίηση Dixons Έστω ότι μπορούμε να βρούμε x ±y(mod n), τώ x 2 y 2 (mod n) Τότε n (x + y)(x y) αλλά κανένα από τα x + y, x y δε διαιρούνται από το n, άρα gcd(x + y, n) μη τετριμμένος διαιρέτης του n B βάση παραγοντοποίησης, έχει τους b μικρότερους πρώτους (b παράμετρος) Βρίσκουμε ακεραίους z, τω όλοι οι πρώτοι παράγοντες του z 2 από το B Ιδέα: πάρε υποσύνολό τους ώστε κάθε πρώτος παράγοντας του B να χρησιμοποιείται άρτιο αριθμό φορών, ώστε να έχω x 2 y 2 (mod n) (υποψήφιο) mod n είναι Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 16 / 21

Παραγοντοποίηση Dixons Παράδειγμα Έστω n = 15770708441, b = 6, τότε B = {2, 3, 5, 7, 11, 13} Έστω 8340934156 2 = 3 7( mod n) 12044942944 2 = 2 7 13( mod n) 2773700011 2 = 2 3 13( mod n) Το γινόμενό τους δίνει: (8340934156 12044942944 2773700011) 2 = (2 3 7 13) 2 ( mod n) Ισοδύναμα: 9503435785 2 = 546 2 ( mod n) και από αλγόριθμο ΜΚΔ gcd(9503435785 546, 15770708441) = 115759 Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 17 / 21

Παραγοντοποίηση Dixons Έστω B = {p 1, p 2,, p b } η βάση παραγοντοποίησης και c > b στοιχεία z 2 j p a 1j 1 p a bj b (modn), i j c για κάθε ένα από αυτά παίρνουμε το a j = (a 1j mod 2) a bj mod 2)), δηλ ένα διάνυσμα από 0,1 Αν μπορούμε να βρούμε ένα υποσύνολο διανυσμάτων, ώστε το άθροισμα mod 2 είναι 0, τότε στο γινόμενο των αντίστοιχων z j θα χρησιμοποιήσουμε κάθε πρώτο του B έναν άρτιο αριθμό φορών Εύρεση υποσυνόλου γραμμών ενός πίνακα, ώστε το άθροισμα να είναι 0, μπορεί να γίνει εύκολα (γραμμική άλγεβρα) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 18 / 21

Παραγοντοποίηση Dixons Πώς βρίσκουμε τα z j : 1 Τυχαίους αριθμούς (Random Squares algorithm) 2 j + kn, j = 0, 1, 2,, k = 1, 2, (μικροί όταν υψωθούν στο τετράγωνο και ελαττωθούν mod n) 3 kn ((όταν υψωθούν στο τετράγωνο και ελαττωθούν mod n, λίγο μικρότεροι από n) Αυτό σημαίνει ότι z 2 modn είναι μικρό και είναι πιθανό να παραγοντοποιηθεί Άρα πρέπει να περιλάβουμε και το -1 στο B Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 19 / 21

Παραγοντοποίηση Dixons Πόσο μεγάλο πρέπει να είναι το B; Πολύ μεγάλο, καλύτερη πιθανότητα να βρούμε παράγοντα, αλλά και περισσότερο χρόνο να βρούμε υποσύνολο με άθροισμα 0 αναμενόμενη χρονική πολυπλοκότητα O(e (1+o(1)) lnnlnlnn ) ή αν O(m) η αναπαράσταση του n, 2 ( mlogm) (υποεκθετικός) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 20 / 21

Παραγοντοποίηση Quadratic sieve και Number field sieve Πρακτικά χρησιμοποιούνται οι: 1 Quadratic sieve: μια ειδική διαδικασία κόσκινου για την επιλογή των z j 2 Number field sieve ο πιο γρήγορος O(e (192+o(1))(lnn)1/3 (lnlnn) 2/3 ) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 21 / 21