Η Μέθοδος Παραγοντοποίησης Ακεραίων Αριθών Number Field Sieve: Θεωρία και Υλοποίηση. Νικόλαος Καραπάνος



Σχετικά έγγραφα
Εισαγωγή. 1. Παράµετρος, εκτιµητής, εκτίµηση

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

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

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

ΕΡΓΑΣΙΑ 2 (Παράδοση:.) Λύση Ι. Το πεδίο ορισµού Α, θα προκύψει από την απαίτηση ο παρονοµαστής να είναι διάφορος του µηδενός.

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

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

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

Ασαφής Λογική και Αναγνώριση Προτύπων


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

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

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

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

ΕΙ ΙΚΑ ΘΕΜΑΤΑ ΕΠΙΧΕΙΡΗΣΙΑΚΗΣ ΕΡΕΥΝΑΣ ΚΕΦ. 2 ΑΛΥΣΙ ΕΣ MARKOV

ικαιώατα αερικανικού τύπου

ΧΙΙ. ΑΠΟ ΚΟΙΝΟΥ ΑΣΦΑΛΙΣΕΙΣ

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

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

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

Υποδείγατα αγορών ιας περιόδου

ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ Lab 3

Ενότητα 7: Ανάλυση ιασποράς µε έναν παράγοντα (One way Analysis of Variance)

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

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

κρυπτογραϕία Ψηφιακή ασφάλεια και ιδιωτικότητα Γεώργιος Σπαθούλας Msc Πληροφορική και υπολογιστική βιοιατρική Πανεπιστήμιο Θεσσαλίας

Το διωνυικό υπόδειγα πολλών περιόδων

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ)

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

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

Το οντέλο Black & Scholes ως όριο διωνυικών υποδειγάτων

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

1) Μη συνεργατική ισορροπία

ΔΗΜΟΣΙΑ ΟΙΚΟΝΟΜΙΚΗ 2

Εκτίµηση άγνωστων κατανοµών πιθανότητας

project RSA και Rabin-Williams

Cryptography and Network Security Chapter 9. Fifth Edition by William Stallings

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

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

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

Κρυπτογραφία Δημόσιου Κλειδιού II Αλγόριθμος RSA

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

Στην Στατιστική Φυσική και στην Θερµοδυναµική αποδεικνύεται ότι δύο συστήµατα που δεν είναι θερµικά µονωµένα, σε ισορροπία έχουν την ίδια

Αλγόριθµοι δηµόσιου κλειδιού

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

Κεφάλαιο 3. Ιδιότητες μονάδων - συστήματος που βασίζονται σε διάφορους τύπους γήρανσης

Ασαφής Λογική & Έλεγχος

dn T dv T R n nr T S 2

Μέτρα martingale. Κεφάλαιο Εισαγωγή. 4.2 εσευένη έση τιή

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

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

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

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

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

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

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

λ n-1 λ n Σχήµα 1 - Γράφος µεταβάσεων διαδικασίας γεννήσεων- θανάτων

Προσαρµοστικοί Αλγόριθµοι Υλοποίησης Βέλτιστων Ψηφιακών Φίλτρων: Παραλλαγές του αλγόριθµου Least Mean Square (LMS)

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

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

8.3.4 Τεχνικές Ασφάλειας Συμμετρική Κρυπτογράφηση Ασυμμετρική Κρυπτογράφηση Ψηφιακές Υπογραφές

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

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

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

ΚΕΦΑΛΑΙΟ 6 ΑΣΑΦHΣ ΛΟΓΙΚΗ ΚΑΙ ΠΡΟΣΕΓΓΙΣΤΙΚΟΣ ΣΥΛΛΟΓΙΣΜΟΣ

ΕΛΛΗΝΙΚΟ ΑΝΟΙKΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΦΥΕ ΕΝ ΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ 1 ης ΕΡΓΑΣΙΑΣ

Μπαεσιανοί Ταξινοµητές (Bayesian Classifiers)

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

... λέγονται στοιχεία του πίνακα Α και οι δείκτες i και j δηλώνουν τη γραμμή και τη στήλη, αντίστοιχα, που ανήκει το στοιχείο α

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

υναική του Συστήατος Lorenz

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

Κεφάλαιο 21. Κρυπτογραφία δημόσιου κλειδιού και πιστοποίηση ταυτότητας μηνυμάτων

Στοιχεία Θεωρίας Αριθμών

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

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

οποίο ανήκει και π ο γνωστός αριθµός.

W i. Subset Sum Μια παραλλαγή του προβλήματος knapsack είναι το πρόβλημα Subset Sum, το οποίο δεν λαμβάνει υπόψιν την αξία των αντικειμένων:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ. Αναπλ. Καθηγητής Μιχαήλ Γεωργιάδης

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

ΗΛΕΚΤΡΟΜΑΓΝΗΤΙΣΜΟΣ και ΕΦΑΡΜΟΓΕΣ

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

Η. ΑΣΚΗΣΕΙΣ ( T) ( 1) ( 2) 3 x =

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

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

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

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

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

ΜΕΛΕΤΗ ΠΕΡΙΠΤΩΣΗΣ ΠΡΟΒΛΗΜΑΤΑ ΛΟΓΟΥ ΚΑΙ ΟΜΙΛΙΑΣ ΕΘΝΙΚΟ & ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΙΔΑΓΩΓΙΚΟ ΤΜΗΜΑ ΔΗΜΟΤ. ΕΚΠ/ΣΗΣ ΙΟΥΝΙΟΣ 2005

ΜΑΓΝΗΤΙΚΟ ΠΕ ΙΟ = Ο. Μαγνητικό πεδίο ευθύγραµµου ρευµατοφόρου αγωγού. Μαγνητικό πεδίο κυκλικού ρευµατοφόρου αγωγού.

Κρυπτογραφία ηµόσιου Κλειδιού Η µέθοδος RSA. Κασαπίδης Γεώργιος -Μαθηµατικός

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

Κατάλογος Σχηµάτων. Κατάλογος Πινάκων. I Κρυπτανάλυση 21

6 ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ

2. Να γράψετε έναν αριθμό που είναι μεγαλύτερος από το 3,456 και μικρότερος από το 3,457.

3. Χαρακτηριστικές Παράμετροι Κατανομών

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

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

Μέτρηση του χρόνου ζωής του µιονίου

Αυθεντικοποίηση μηνύματος και Κρυπτογραφία δημόσιου κλειδιού

Transcript:

Η Μέθοδος Παραγοντοποίησης Ακεραίων Αριθών Number Field Sieve: Θεωρία και Υλοποίηση Νικόλαος Καραπάνος Master Thesis Επιβλέπων: Παύλος Σπυράκης, Καθηγητής Τήα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήιο Πατρών Μάιος 2010

Η Μέθοδος Παραγοντοποίησης Ακεραίων Αριθών Number Field Sieve: Θεωρία και Υλοποίηση Νικόλαος Καραπάνος Επιβλέπων: Παύλος Σπυράκης, Καθηγητής Τριελής Επιτροπή Παύλος Σπυράκης, Καθηγητής Χρήστος Κακλαάνης, Καθηγητής Ιωάννης Σταατίου, Επίκουρος Καθηγητής Master Thesis Τήα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήιο Πατρών Μάιος 2010

Περίληψη Πολλά κρυπτογραφικά σχήατα δηόσιου κλειδιού βασίζονται στο γεγονός ότι είναι υπολογιστικά δύσκολο να παραγοντοποιήσουε εγάλους ακέραιους αριθούς. Ο ταχύτερος, και ταυτόχρονα πολυπλοκότερος, κλασσικός αλγόριθος που είναι γνωστός έχρι σήερα για την παραγοντοποίηση ακεραίων ήκους άνω των 110 δεκαδικών ψηφίων είναι ο General Number Field Sieve (GNFS). Οαλγόριθοςαυτόςείναιοκαρπόςπολλώνετώνέρευνας,κατά τη διάρκεια της οποίας παράγονταν ολοένα και ταχύτεροι αλγόριθοι για να καταλήξουε έχρι στιγής στον αλγόριθο GNFS. Πρωταρχικός σκοπός της παρούσης εταπτυχιακής εργασίας είναι η παρουσίαση του θεωρητικού αθηατικού υπόβαθρου πάνω στο οποίο βασίζεται ο GNFS καθώς και η ακολουθιακή υλοποίηση της βασικής εκδοχής του αλγορίθου. ς γλώσσα υλοποίησης επιλέχθηκε η C++. Η υλοποίηση έγινε σε συνεργασία ε τον συφοιτητή ου και αγαπητό φίλο Χρήστο Μπακογιάννη, όπου στα πλαίσια της εταπτυχιακής του εργασίας πραγατοποιήθηκε η εταφορά της ακολουθιακής υλοποίησης του αλγορίθου σε παράλληλο κατανεη- ένο περιβάλλον χρησιοποιώντας το Message Passing Interface (MPI ). Ο πηγαίος κώδικας της υλοποίησης καθώς και σχετικές πληροφορίες υπάρχουν online στη σελίδα http: // kmgnfs. cti. gr. Σηειώνεται πως για την ευκολότερη και απρόσκοπτη ανάγνωση της εργασίας αυτής, ο αναγνώστης θα πρέπει να έχει ένα βαθό εξοικείωσης ε βασικές έννοιες της θεωρίας αριθών, της αλγεβρικής θεωρίας αριθών και της γρα- ικής άλγεβρας. Λέξεις κλειδιά: παραγοντοποίηση ακεραίων (integer factorization), κρυπτογραφία δηόσιου κλειδιού (public-key cryptography), αλγόριθος υποεκθετικής πολυπλοκότητας (subexponential time algorithm), number field sieve, nfs, general number field sieve, gnfs. v

Ευχαριστίες Θα ήθελα να ευχαριστήσω τον καρδιακό φίλο ου και συφοιτητή Χρήστο Μπακογιάννη, ε τον οποίο αναλάβαε αζί να υλοποιήσουε τη δύσκολη αυτή εργασία, και τελικά τα καταφέραε. Επίσης, θα ήθελα να ευχαριστήσω θερά τους καθηγητές ας, κύριο Παύλο Σπυράκη και κύριο Ιωάννη Σταατίου, οι οποίοι ου χάρισαν τις πολύτιες συβουλές τους και ε καθοδήγησαν καθ όλη τη διάρκεια της προσπάθειάς ου. Τέλος, θα ήθελα να ευχαριστήσω το διευθυντή ου στο Ερευνητικό Ακαδηαϊκό Ινστιτούτο Τεχνολογίας Υπολογιστών, κύριο Θεόδωρο Κονηνό, τον προϊστάενό ου κύριο Βασίλειο ελή, τους συναδέλφους ου και γενικότερα όλους όσους ε βοήθησαν και ε νέχτηκαν καθ όλη τη διάρκεια της υλοποίησης και συγγραφής της παρούσης εταπτυχιακής εργασίας. vii

Περιεχόενα Περιεχόενα ix 1 Εισαγωγή 1 1.1 Πρώτοι Αριθοί και Παραγοντοποίηση............. 2 1.2 Οάδες.............................. 4 1.3 Απεικονίσεις........................... 5 1.4 Πεδία και ακτύλιοι....................... 6 1.5 Αριθητική modulo p... 9 1.6 Κρυπτογραφία ηόσιου Κλειδιού............... 11 2 Μέθοδοι Παραγοντοποίησης 17 2.1 Ειδικοί Αλγόριθοι....................... 18 2.2 Γενικοί Αλγόριθοι....................... 23 2.3 Στρατηγική Παραγοντοποίησης................. 33 2.4 Το Μέλλον της Παραγοντοποίησης............... 33 3 Ο Αλγόριθος Number Field Sieve 37 3.1 Βασική Στρατηγική....................... 38 3.2 ιανύσατα Εκθετών...................... 41 3.3 Επόδια............................. 46 3.4 Τετραγωνικές Ρίζες....................... 49 3.5 Συνόψιση του Αλγορίθου................... 51 4 Αναλύση των Βηάτων του Αλγορίθου 55 4.1 Επιλογή Πολυωνύου...................... 56 4.2 ηιουργία Βάσεων....................... 72 4.3 Κοσκίνισα (Sieving)... 73 4.4 ηιουργία υαδικού Πίνακα και Εφαρογή Γραικής Άλγεβρας............................... 80 4.5 Τετραγωνική Ρίζα........................ 81 ix

5 kmgnfs: Μια Υλοποίηση του GNFS 93 5.1 Υπάρχουσες Υλοποιήσεις.................... 94 5.2 Γνωριία ε το kmgnfs... 94 5.3 Περιθώρια βελτίωσης...................... 95 5.4 οή και Χρήση του kmgnfs... 97 Βιβλιογραφία 101 Ευρετήριο Αγγλικών Ορων 107 x

Κεφάλαιο 1 Εισαγωγή ΟCarl Friedrich Gauss, ένας από τους κορυφαίους αθηατικούς όλων των εποχών, στο έργο του «Disquisitiones Arithmeticae», ανέφερε ότι το πρόβληα του ελέγχου αν ένας αριθός είναι πρώτος (primality testing) και το πρόβληα της παραγοντοποίησης ακεραίων (integer factorization) είναιδύοαπόταπιοθεελιώδηαθηατικάπροβλήατα. Οντως, τα προβλήατα αυτά είναι το κύριο αντικείενο έρευνας πολλών αθηατικών εδώ και πάρα πολλά χρόνια, και ετά την παρουσίαση της κρυπτογραφίας δηόσιου κλειδιού (public-key cryptography) είναι πιο σηαντικά από ποτέ. Στο κεφάλαιο αυτό επιχειρείται ια εισαγωγή του αναγνώστη στο πρόβληα της παραγοντοποίησης ακεραίων, πώς συνδέεται ε την κρυπτογραφία δηόσιου κλειδιού και γιατί είναι τόσο σηαντικό πρόβληα ε αείωτο ερευνητικό ενδιαφέρον. 1

1. Εισαγωγη 1.1 Πρώτοι Αριθοί και Παραγοντοποίηση Οπως αναφέρθηκε και στην περίληψη, θεωρείται ως δεδοένο ότι ο αναγνώστης είναι εξοικειωένος ε βασικές έννοιες της θεωρίας αριθών, πλην όως παρακάτω περιγράφονται κάποιες ιδέες και έννοιες οι οποίες σχετίζονται ε την παραγοντοποίηση ακεραίων και την κρυπτογραφία ως υπενθύιση και εισαγωγή στο αντικείενο. Ενας αριθός a είναι διαιρέτης (divisor) του b (στα αθηατικά συβολίζεται ως a b, και προφέρεται το a διαιρεί το b) εάν το υπόλοιπο της διαίρεσης του b ε το a ισούται ε ηδέν (αν το a δεν διαιρεί το b τότε γραφουε a b). Για παράδειγα το 7 είναι ένας διαιρέτης του 35, οπότε γράφουε 7 35. Ενας αριθός ονοάζεται πρώτος (prime number), αν έχει ακριβώς δύο διαιρέτες, τον εαυτό του και τη ονάδα. Για παράδειγα, το 13 είναι πρώτος οι διαιρέτες του είναι το 1 και το 13. Οι ικρότεροι πρώτοι αριθοί είναι πολύ εύκολο να βρεθούν: 2, 3, 5, 7, 11, 13,... Οσοι αριθοί εγαλύτεροι του 1 δεν είναι πρώτοι ονοάζονται σύνθετοι (composite). Ο αριθός 1 δεν θεωρείται ούτε πρώτος ούτε σύνθετος. Οεγαλύτεροςθετικόςακέραιοςπουδιαιρείταυτόχροναδύοακεραίουςa και b ονοάζεται έγιστος κοινός διαιρέτης (greatest common divisor) τωνa, b και συβολίζεται στα αγγλικά ε gcd(a, b). ύο ακέραιοι a, b είναι εταξύ τους πρώτοι (relatively prime, coprime) ανgcd(a, b) =1. Ο έγιστος κοινός διαιρέτης εταξύ δύο ακεραίων a και b πορεί να υπολογιστεί χρησιοποιώντας τον αλγόριθο του Ευκλείδη (Euclidean algorithm). Αέσως παρακάτω αλλά και στις επόενες ενότητες ακολουθούν κάποιοι ση- αντικοί ορισοί καθώς επίσης και βασικά λήατα και θεωρήατα από τη θεωρία αριθών. Τα περισσότερα απ αυτά διατυπώνονται χωρίς απόδειξη. Ο ενδιαφερόενος αναγνώστης πορεί να ανατρέξει στα [1, 2, 3, 4]. Λήα 1.1. Εάν a b και b c τότε a c. Λήα 1.2. Εστω n θετικός ακέραιος εγαλύτερος του 1. Εστω d ο ικρότερος διαιρέτης του n, ο οποίος είναι εγαλύτερος του 1. Τότε ο d είναι πρώτος. Θεώρηα 1.1 (Euclid s theorem). Υπάρχουν άπειροι πρώτοι αριθοί. Απόδειξη. Η απόδειξη γίνεται ε εις άτοπο απαγωγή. Εστω ότι το πλήθος των πρώτων αριθών είναι πεπερασένο και ίσο ε k. Εστω λοιπόν ότι όλοι οι πρώτοι αριθοί περιέχονται στην πεπερασένη λίστα p 1,p 2,p 3,...,p k ήκους 2

1.1. Πρώτοι Αριθοί και Παραγοντοποίηση k. Ορίζουε τον αριθό n = p 1 p 2 p 3...p k +1,οοποίοςείναιτογινόενο όλων των πρώτων αριθών συν 1. Εστω d οικρότεροςδιαιρέτηςτουn, εγαλύτερος από 1. Τότε ο d είναι πρώτος σύφωνα ε το λήα 1.2. Οως κανένας από τους πρώτους της πεπερασένης λίστας δεν διαιρεί τον n. Εξάλλου είναι όλοι τους διαιρέτες του n 1, έτσι αν διαιρέσουε τον n ε έναν από τους πρώτους της λίστας το υπόλοιπο της διαίρεσης θα ισούται πάντα ε 1. Συνεπώς ο d είναι πρώτος και δεν είναι στην παραπάνω πεπερασένη λίστα. Αλλά αυτό είναι άτοπο, αφού η λίστα περιέχει όλους τους πρώτους αριθούς. Άρα η αρχική υπόθεση ότι το πλήθος των πρώτων αριθών είναι πεπερασένο είναι λανθασένη και συνεπώς υπάρχουν άπειροι πρώτοι αριθοί. Υπάρχουν πάρα πολλά αποτελέσατα σχετικά ε την κατανοή των πρώτων αριθών, όως δεν υπάρχει κάποιος απλός αθηατικός τύπος που να υπολογίζει ε ακρίβεια το πλήθος των πρώτων αριθών έσα σε ένα συγκεκριένο διάστηα. Μία εκτίηση του πόσοι πρώτοι αριθοί υπάρχουν έχρι έναν αριθ- ό n δίνεται από τον προσεγγιστικό τύπο n/ ln n. Οι πρώτοι αριθοι φαίνεται ότι προκύπτουν σχετικά ε τυχαίο τρόπο. Υπάρχουν ακόα απλές υποθέσεις που δεν έχουν ακόα αποδειχθεί, όπως η εικασία του Goldbach. Υπόθεση 1.1 (Goldbach conjecture). Κάθε άρτιος αριθός, εγαλύτερος του 2, είναι το άθροισα δύο πρώτων αριθών. Ηπαραπάνωυπόθεσηείναιεύκολοναεπαληθευτείγιαικρούςάρτιουςαριθούς ε τη βοήθεια ενός υπολογιστή, αλλά οι αθηατικοί δεν γνωρίζουν ακόα αν ισχύει για όλους τους άρτιους αριθούς. Ορισός 1.1 (Παραγοντοποίηση ακεραίου). Παραγοντοποίηση ενός ακεραίου n (integer factorization) είναι η διάσπαση του n σε ικρότερους, η τετριένους διαιρέτες (ή αλλιώς παράγοντες) των οποίων το γινόενο ισούται ε n. Οσοι από τους παράγοντες αυτούς είναι σύνθετοι αριθοί, πορούν να παραγοντοποιηθούν περαιτέρω, έχρι τελικά να καταλήξουε σε ένα γινόενο που θα αποτελείται όνο από πρώτους αριθούς, το οποίο είναι οναδικό για κάθε n, σύφωνα ε το θεελιώδες θεώρηα της αριθητικής. Θεώρηα 1.2 (Fundamental Theorem of Arithmetics). Κάθε ακέραιος εγαλύτερος από 1 πορεί να γραφεί ε οναδικό τρόπο σαν το γινόενο κάποιων πρώτων αριθών (αγνοώντας φυσικά τη σειρά ε την οποία γράφονται οι πρώτοι έσα στο γινόενο). 3

1. Εισαγωγη Για παράδειγα έχουε 15 = 3 5, 255 = 3 5 7 και 60 = 2 2 3 5. Σ αυτό το θεώρηα και στο γεγονός ότι είναι υπολογιστικά δύσκολο να βρούε τους πρώτους παράγοντες ενός πολύ εγάλου ακεραίου, βασίζουν την ασφάλεια τους πολλοί κρυπτογραφικοί αλγόριθοι δηόσιου κλειδιού, όπως θα περιγραφεί και παρακάτω. 1.2 Οάδες Ορισός 1.2 (Group). Μία οάδα (group) G είναι ένα σύνολο από στοιχεία (πεπερασένα ή άπειρα) αζί ε ια δυαδική πράξη και όλα αζί ικανοποιούν τέσσερις θεελιώδεις ιδιότητες: Κλειστότητα (closure): a, b G : a b G Προσεταιριστική ιδιότητα (associativity): a, b, c G : (a b) c = a (b c) Υπαρξη ταυτοτικού στοιχείου (identity) e: e G a G : e a = a e = a Υπαρξη αντίστροφου στοιχείου (inverse) για κάθε στοιχείο του G: a G, a 1 : a a 1 = a 1 a = e Ορισός 1.3 (Abelian group). Ενα group G στο οποίο ισχύει η αντιεταθετική ιδιότητα (commutativity): ονοάζεται Abelian group. a, b G : a b = b a Ορισός 1.4 (Order of group). ς τάξη (order) ενόςgroup G ορίζεται το πλήθος των στοιχείων στο G. Ενα group ε πεπερασένο αριθό στοιχείων (finite group) έχει και πεπερασένη τάξη. Τα group ε τα οποία θα ασχοληθούε στην παρούσα εργασία είναι πεπερασένα εκτός και αν δηλώνεται ρητά το αντίθετο. 4

1.3. Απεικονίσεις Ορισός 1.5 (Order of group element). ς τάξη (order) ενός στοιχείου g ενός group G ορίζεται ο ικρότερος αριθός a για τον οποίο ισχύει g a = e, όπου e το ταυτοτικό στοιχείο του G. Αν δεν υπάρχει τέτοιος a, τότε το g έχει άπειρη τάξη. Ορισός 1.6 (Cyclic group). Ενα group G είναι κυκλικό (cyclic) αν υ- πάρχει g G, τέτοιο ώστε το G να πορεί να γραφεί ως G =< g >= (g, g 1,g 2,g 3,...). Στην περίπτωση αυτή το g είναι γεννήτρια (generator) του G. Πόρισα 1.1. Κάθε group G του οποίου η τάξη είναι πρώτος αριθός είναι κυκλικό. Ορισός 1.7 (Subgroup). Το H είναι υπό-οάδα (subgroup) τουgroup G, αν περιέχει ένα υποσύνολο των στοιχείων του G και ικανοποιεί τις 4 απαιτήσεις ενός group (βλέπε ορισό 1.2). Το H πρέπει να περιέχει τουλάχιστον το ταυτοτικό στοιχείο του G. Είναι ένα κανονικό group του οποίου η τάξη θα πρέπει να είναι διαιρέτης της τάξης του G. Ορισός 1.8 (Normal subgroup). Εστω ότι το H είναι subgroup του group G. Τότε το H είναι ένα κανονικό subgroup (normal subgroup) του G, και συβολίζεται ως H G,αν για κάθε x G ισχύει: xhx 1 = H 1.3 Απεικονίσεις Μία απεικόνιση (mapping) σ : G H παίρνει ένα στοιχείο g G και το απεικονίζει στο σ(g) H. Ορισός 1.9 (Homomorphism). Μία απεικόνιση σ : G H λέγεται οοορφισός (homomorphism), εάν απεικονίζει το G στο H και ταυτόχρονα διατηρεί την πράξη του group, δηλαδή a, b G ισχύει σ(a b) =σ(a) σ(b). Ορισός 1.10 (Isomorphism). Μία απεικόνιση σ λέγεται ισοορφισός (isomorphism), εάν είναι οοορφισός και είναι επιπλέον ένα προς ένα και επί (bijective), Ορισός 1.11 (Automorphism). Μία απεικόνιση σ λέγεται αυτοορφισός (automorphism), εάν είναι ισοορφισός και απεικονίζει το G στον εαυτό του. 5

1. Εισαγωγη 1.4 Πεδία και ακτύλιοι Ενα από τα πιο σηαντικά δοικά στοιχεία της αφηρηένης άλγεβρας είναι το πεδίο (field). Ορισός 1.12 (Field). ς πεδίο (field) ορίζεται ένα σύνολο από στοιχεία που ικανοποιεί τα αξιώατα ενός πεδίου (field axioms) τόσο για την πράξη της πρόσθεσης όσο και για την πράξη του πολλαπλασιασού. Τα αξιώατα ενός πεδίου F είναι τα εξής: Κλειστότητα (closure): a, b F : a + b F a, b F : a b F Προσεταιριστική ιδιότητα (associativity): a, b, c F : (a + b)+c = a +(b + c) a, b, c F : (ab)c = a(bc) Αντιεταθετική ιδιότητα (commutativity): a, b F : a + b = b + a a, b F : ab = ba Επιεριστική ιδιότητα (distributivity): a, b, c F : a(b + c) =ab + ac Ταυτοτικό στοιχείο (identity): a, b, c F : (a + b)c = ac + bc a F : 0+a = a +0=a a F : 1 a = a 1=a 6

1.4. Πεδία και ακτύλιοι Αντίστροφο στοιχείο (inverse): a F : a +( a) =( a)+a =0 a F, a = 0 : a a 1 = a 1 a =1 Συχνά δεν είναι δυνατόν να ικανοποιούνται όλες οι παραπάνω ιδιότητες και γι αυτό υπάρχει ένα άλλο δοικό στοιχείο στην αφηρηένη άλγεβρα, ο δακτύλιος (ring). Ορισός 1.13 (Ring). ς δακτύλιος (ring) ορίζεται ένα σύνολο από στοιχεία που ικανοποιούν όλες τις ιδιότητες ενός field εκτός από ία ή περισσότερες από τις παρακάτω ιδιότητες: ο πολλαπλασιασός ικανοποιεί την αντιεταθετική ιδιότητα ύπαρξη του ταυτοτικού στοιχείου 1 στον πολλαπλασιασό ύπαρξη αντίστροφου στοιχείου στον πολλαπλασιασό για όλα τα στοιχεία εκτός του 0 ο πολλαπλασιασός ικανοποιεί την προσεταιριστική ιδιότητα Ορισός 1.14 (Ring homomorphism). Εστω R ένα ring ε τελεστές + και. Εστω S ένα ring ε τελεστές και. Η απεικόνιση θ : R S είναι ένας οοορφισός δακτυλίου (ring homomorphism) απότοring R, +, στο ring Σ,, αν οι ακόλουθες συνθήκες είναι αληθείς a, b R: 1. θ(a + b) =θ(a) θ(b) 2. θ(a b) =θ(a) θ(b) Ορισός 1.15 (Finite field). Ενα field F που περιέχει πεπερασένο αριθό στοιχείων ονοάζεται πεπερασένο πεδίο (finite field). Ορισός 1.16 (Order of field). Η τάξη (order) n ενός field F είναι ο αριθός των στοιχείων που περιέχει. Πόρισα 1.2. Ητάξηενόςfinite field F είναι δύναη κάποιου πρώτου αριθού, δηλαδή είναι της ορφής p n,όπουp πρώτος και n θετικός ακέραιος. Ορισός 1.17 (Characteristic of field). Το χαρακτηριστικό (characteristic) p ενός field F, είναι ένας ακέραιος που δείχνει πόσες φορές πρέπει να προσθέσουε το ταυτοτικό στοιχείο του πολλαπλασιασού, δηλαδή το 1, έτσι ώστε τελικά να πάρουε το ταυτοτικό στοιχείο της πρόσθεσης, δηλαδή το 0. 7

1. Εισαγωγη Πόρισα 1.3. Το χαρακτηριστικό p ενός finite field F είναι πρώτος αριθός. Ορισός 1.18 (Extension field). Το πεδίο E ονοάζεται επέκταση πεδίου (extension field) τουπεδίουf,αντοf είναι ένα υπό-πεδίο (subfield) τουe. Συβολίζεται ως E/F. Ενα field πορεί να επεκταθεί ε ένα η περισσότερα στοιχεία ε αποτέλεσα να δηιουργηθεί ένα extension field. Αυτό συνήθως γίνεται ε ρίζες ενός πολυωνύου. Για παράδειγα το Q πορεί να επεκταθεί ε τις ρίζες του πολυωνύου t 2 5, το οποίο συβολίζεται ως Q( 5). Το Q( 5) είναι το ικρότερο field που περιέχει το Q και το 5, συνεπώς πρέπει να περιέχει όλες τις ρίζες του t 2 5. Ορισός 1.19 (Extension field degree). Βαθός ιας επέκτασης πεδίου (extension field degree) E/F είναι η διάσταση του E ως διανυσατικού χώρου πάνω στο F και συβολίζεται ως [E : F ]: [E : F ]=dim F E Αν ο βαθός είναι πεπερασένος αριθός τότε η επέκταση πεδίου ονοάζεται πεπερασένη (finite extension field). Ορισός 1.20 (Algebraic number field). ς algebraic number field(ή απλά number field) ορίζεταιτοfinite extension field Q(a) του field Q των ρητών αριθών. Τα στοιχεία ενός number field που είναι ρίζες ενός πολυωνύου: z n + a n 1 z n 1 +...+ a 0 =0 ε ακέραιους συντελεστές και συντελεστή του n ίσο ε 1 ονοάζονται αλγεβρικοί ακέραιοι (algebraic integers) τουπεδίουαυτού. Ενα πολυώνυο f(t) λέγεται ότι διασπάται πάνω σε ένα field F,ανπορείνα γραφεί ως το γινόενο γραικών παραγόντων που όλοι τους ανήκουν στο F. Με άλλα λόγια όλες οι ρίζες του f(t) ανήκουν στο F. Ορισός 1.21 (Splitting field). Το F είναι σώα διασπάσεως ή σώα ριζών (splitting field) γιαέναπολυώνυοf πάνω από το field G, ανg F και το F είναι το ικρότερο field ε αυτές τις ιδιότητες. (Σηείωση: Το F είναι field extension του G). Από τον προηγούενο ορισό είναι εφανές ότι το splitting field F του πολυωνύου f πάνω από το field G είναι ίσο ε G(r 1 r 2... r n ),όπουr 1,r 2... r n είναι η ρίζες του f στο G. 8

1.5. Αριθητική modulo p Ορισός 1.22 (Ideal). Στη θεωρία δακτυλίων, ως ιδεώδες (ideal) I ορίζεται κάθε υποσύνολο ενός ring R ε τις εξής ιδιότητες: Αν a, b I, τότεa + b I (additive group). Αν a I και b R, τότεa b και b a I. Η έννοια των ideals επιτρέπει την γενίκευση ερικών σηαντικών ιδιοτήτων των ακεραίων αριθών, όπως πρώτος αριθός, ζυγός αριθός ή πολλαπλάσιο του 3, και τη χρήση τους στη θεωρία δακτυλίων. Ορισός 1.23 (Proper Ideal). Ενα ideal I ενός ring R ονοάζεται κανονικό (proper ideal), αν το I είναι κανονικό υποσύνολο (proper subset) του R, δηλαδή είναι υποσύνολο του R αλλά ταυτόχρονα δεν είναι ίσο ε το R. Ορισός 1.24 (Prime Ideal). Ενα proper ideal I ενός ring R ονοάζεται πρώτο (prime ideal), αν για κάθε a, b R, ανab I, τότετουλάχιστονένα από τα a και b ανήκει στο I. Ορισός 1.25 (Principal Ideal). Ενα ideal I ενός ring R ονοάζεται κύριο (principal ideal), αν υπάρχει ένα στοιχείο a R, τέτοιο ώστε: I = ar = {ar : r R}. Με άλλα λόγια το ideal δηιουργείται από ένα στοιχείο, το a. 1.5 Αριθητική modulo p Οταν οι αθηατικοί υπολογισοί πραγατοποιούνται modulo έναν ακέραιο z, τότε χρησιοποιούε αριθητική ε υπόλοιπα (modular arithmetic). Οταν ια αθηατική πράξη γίνεται modulo z, σηαίνει ότι το αποτέλεσα της πράξης διαιρείται ε το z και το τελικό αποτέλεσα είναι το υπόλοιπο της διαίρεσης αυτής. Αυτό έχει ως αποτέλεσα να χρησιοποιούε όνο τους αριθούς 0, 1,...,z 1. Οz πορεί να είναι ένας οποιοσδήποτε ακέραιος, άλλα στην περίπτωση που είναι πρώτος αριθός, εφανίζονται ορισένες πολύ ενδιαφέρουσες ιδιότητες, πολλές απ τις οποίες απορρέουν από τη θεωρία της προηγούενης ενότητας, και αυτός είναι ένας από τους βασικούς λόγους που οι πρώτοι αριθοί χρησιοποιούνται ευρέως στην κρυπτογραφία. Εστω ότι ο p είναι πρώτος αριθός. Το σύνολο των αριθών modulo p σχηατίζουν ένα finite field και συχνά αναφερόαστε σ αυτό ως το mod p field ή απλά ως mod p. Κάποια σηεία που πρέπει να θυάται κάποιος όταν κάνει πράξεις στο mod p: 9

1. Εισαγωγη Οταν από έναν αριθό στο mod p αφαιρούνται η προστίθενται πολλαπλάσια του p το αποτέλεσα παραένει το ίδιο. Ολα τα αποτελέσατα είναι πάντα έσα στο εύρος 0, 1,...,p 1. Μπορούε να σκεφτούε τους υπολογισούς στο mod p σαν να πραγατοποιείται ολόκληρος ο υπολογισός στο Z, και στο τέλος να υπολογίζεται το αποτέλεσα στο mod p. Συνεπώς, όλοι οι αλγεβρικοί κανόνες που είναι γνωστοί για τους ακεραίους (όπως το a(b + c) =ab + bc) ισχύουν και στο mod p. Το finite field των ακεραίων modulo p αναφέρεται χρησιοποιώντας διάφορους συβολισούς, όπως Z p, Z/pZ ήκαιgf (p), όπουgf είναι τα αρχικά του Galois Field, προςτιήντουγάλλουαθηατικούevariste Galois, οοποίος υπήρξε ο θεελιωτής της θεωρίας των πεπερασένων πεδίων και όχι όνο. Ενα πολύ χρήσιο θεώρηα που αναφέρεται σε finite fields modulo p είναι το εξής: Θεώρηα 1.3 (Fermat s little theorem). Αν ο p είναι πρώτος αριθός και ο a είναι ένας ακέραιος, τέτοιος ώστε p a, τότεa p 1 1(mod p). Εξίσου χρήσιη είναι η συνάρτηση φ του Euler καθώς και το θεώρηα του Euler που ουσιαστικά πρόκειται για επέκταση του Fermat s little theorem. Ορισός 1.26 (Euler totient function). Εστω n θετικός ακέραιος. Η συνάρτηση φ(n) (Euler totient function ή Euler phi function) ισούται ε τον αριθό των θετικών ακεραίων, που είναι ικρότεροι ή ίσοι του n, καιεπιπλέον είναι πρώτοι σε σχέση ε το n (δηλαδή ο έγιστος κοινός διαιρέτης τους ε το n είναι το 1). Λήα 1.3. Εστω p πρώτος αριθός. Τότε φ(p) =p 1. Λήα 1.4. Εστω p και q πρώτοι αριθοί, ε p = q. Τότε φ(pq) =(p 1)(q 1). Λήα 1.5. Εστω p πρώτος αριθός και k θετικός ακέραιος, τότε φ(p k )= p k p k 1. Λήα 1.6. Αν η παραγοντοποίηση ενός αριθού n>1 είναι n = p k 1 p k 2 2 p kr r,τότεφ(n) =(p k 1 1 p k 1 1 1 ) (p k 2 2 p k 2 1 2 ) (p kr r p kr 1 r ). Λήα 1.7. Αν ο a είναι ακέραιος και p και q πρώτοι αριθοί, ε p = q, και gcd(a, p) =gcd(a, q) =1,τότεa (p 1)(q 1) 1(mod pq). 10 1

1.6. Κρυπτογραφία ηόσιου Κλειδιού Θεώρηα 1.4 (Eulers s theorem). Αν a, n είναι θετικοί ακέραιοι και gcd(a, n) = 1, τότεa φ(n) 1(mod n). Ακολουθούν ερικές χρήσιες έννοιες: Ορισός 1.27 (Quadratic residue). Ενας ακέραιος n είναι τετραγωνικό υπόλοιπο (quadratic residue) modulo p, αν το n είναι ισοδύναο ε ένα τέλειο τετράγωνο στο F p,όπουp>2. Με άλλα λόγια για να είναι το n quadratic residue (mod p), πρέπει να υπάρχει ακέραιος x τέτοιος ώστε: x 2 n (mod p) Αν δεν υπάρχει τέτοιο x, τότε το n ονοάζεται quadratic nonresidue. Ορισός 1.28 (The Legendre symbol). Εστω a ακέραιος και p>2 πρώτος. Το σύβολο Legendre ( a ) ορίζεται ως: p a 0, αν p a = 1, αν ο a είναι quadratic residue mod p p 1, αν ο a είναι quadratic nonresidue mod p Ορισός 1.29 (The Jacobi symbol). Το σύβολο Jacobi είναι η επέκταση του συβόλου Legendre για σύνθετους περιττούς αριθούς. Εστω a ακέραιος και n σύνθετος περιττός αριθός του οποίου η παραγοντοποίηση σε γινόενο πρώτων παραγόντων είναι n = p a 1 1 p a 2 2...p am m. Το σύβολο Jacobi ( a ) ορίζεται ως το γινόενο των συβόλων Legendre για τους πρώτους n παράγοντες του n: a1 a a a = n p 1 p 2 a2 am a... p m Ο λόγος για τον οποίο τα παραπάνω σύβολα δεν ισχύουν για quadratic residues molulo 2, είναι ότι το 2 είναι ειδική περίπτωση και όλοι οι αριθ- οί της ορφής 8n +1και 8n 1 για n Z είναι quadratic residues modulo 2. Σηειώνεται επίσης ότι υπάρχουν αποδοτικοί τρόποι υπολογισού και για τα δύο παραπάνω σύβολα. 1.6 Κρυπτογραφία ηόσιου Κλειδιού Στο σηείο αυτό θα πραγατοποιηθεί ια πολύ σύντοη και απλουστευένη αναφορά στη σύγχρονη κρυπτογραφία και πώς σχετίζεται ε το πρόβληα της 11

1. Εισαγωγη παραγοντοποίησης ακεραίων. Ο ενδιαφερόενος αναγνώστης πορεί να ανατρέξει στα [5, 6] τα οποία αναλύουν διεξοδικά σχεδόν όλες τις πτυχές της σύγχρονης κρυπτογραφίας καθώς επίσης και στο [7] το οποίο προσεγγίζει το αντικείενο της κρυπτογραφίας και των εφαρογών της από ια πιο πρακτική ο- πτική γωνία, χωρίς να υπεισέρχεται σε πολύπλοκες αθηατικές λεπτοέρειες, επικεντρώνοντας στη σωστή χρήση των κρυπτογραφικών πρωτοκόλλων. Ηιδέατηςκρυπτογραφίας δηόσιου κλειδιού (public-key cryptography) εφευρέθηκε τη δεκαετία του 1970 (τουλάχιστον στη δηόσια κοινότητα) από τους Whitfield Diffie και Martin Hellman καθώς επίσης (ανεξάρτητα από τους προηγούενους) και από τον Ralph Merkle. Ηιδέατουςήτανότιτακρυπτογραφικά κλειδιά πορούν να υπάρχουν σε ζευγάρια. Ενα κλειδί του ζεύγους χρησιοποιείται για την κρυπτογράφηση και το άλλο για την αποκρυπτογράφηση. Οπως θα περιγραφεί και παρακάτω ενώ το κλειδί που χρησιοποιείται για την αποκρυπτογράφηση πρέπει να είναι υστικό (γι αυτό ονοάζεται και ιδιωτικό), το κλειδί που χρησιοποιείται για την λειτουργία της κρυπτογράφησης δεν χρειάζεται να είναι υστικό. Αντιθέτως είναι δηόσιο (από εκεί πήρε το όνοά της η κρυπτογραφία δηόσιου κλειδιού). Οπως θα δούε αργότερα, η χαρακτηριστική αυτή ιδιότητα της κρυπτογραφίας δηόσιου κλειδιού έχει πολύ σηαντικά οφέλη. Η ιδέα αυτή είναι εντελώς διαφορετική απ τη λειτουργία της κλασσικής κρυπτογραφίας συετρικού κλειδιού (symmetric-key cryptography), όπου το ίδιο κλειδί χρησιοποιείται τόσο για την κρυπτογράφηση όσο και για την αποκρυπτογράφηση και φυσικά το κλειδί αυτό πρέπει να το γνωρίζουν όνο τα δύο επικοινωνούντα έρη. 1.6.1 Ενα Παράδειγα Ας δούε ένα απλό παράδειγα του πώς λειτουργεί ένας αλγόριθος δηόσιου κλειδιού. Εστω ότι ο Bob και η Alice θέλουν να επικοινωνήσουν χρησιοποιώντας κρυπτογραφία δηόσιου κλειδιού. Αρχικά ο Bob δηιουργεί ένα ζεύγος δηόσιου-ιδιωτικού κλειδιού. Το ιδιωτικό κλειδί το κρατάει κρυφό και το δηόσιο κλειδί το δίνει στην Alice. Τώρα η Alice πορεί να στέλνει ηνύατα στον Bob, χρησιοποιώντας το δηόσιο κλειδί του Bob. Συγκεκριένα κρυπτογραφεί τα ηνύατα που δηιουργεί ε το δηόσιο κλειδί του Bob και κατόπιν τα στέλνει στον Bob. Ο Bob ε τη σειρά του πορεί και αποκρυπτογραφεί αυτά τα ηνύατα χρησιοποιώντας το ιδιωτικό κλειδί του που όνο αυτός γνωρίζει. Αν ο Bob επιθυεί να στείλει απάντηση στην Alice, τότε συβαίνει η αντίστροφη διαδικασία. Η Alice θα πρέπει να έχει δηιουργήσει το δικό της ζεύγος 12

1.6. Κρυπτογραφία ηόσιου Κλειδιού δηόσιου-ιδιωτικού κλειδιού. Ο Bob θα πάρει το δηόσιο κλειδί της Alice και θα το χρησιοποιήσει για να κρυπτογραφήσει τα ηνύατά του και να τα στείλει στην Alice, η οποία ε τη σειρά της χρησιοποιώντας το ιδιωτικό κλειδί της, που όνο αυτή γνωρίζει, θα είναι σε θέση να αποκρυπτογραφήσει και να διαβάσει τα ηνύατα που της έστειλε ο Bob. 1.6.2 Ασφάλεια και Πρακτικότητα Για να είναι ασφαλής ένας αλγόριθος δηόσιου κλειδιού θα πρέπει να είναι υπολογιστικά αδύνατο να βρεθεί ποιο είναι το ιδιωτικό κλειδί του ζεύγους όταν είναι γνωστό όνο το δηόσιο. Σε διαφορετική περίπτωση κάποιος που γνωρίζει το δηόσιο κλειδί (πράγα καθόλου δύσκολο γιατί το δηόσιο κλειδί πορεί οποιοσδήποτε να το άθει) θα πορεί να υπολογίσει το ιδιωτικό κλειδί ε αποτέλεσα η ασφάλεια του συστήατος να καταρρεύσει. Από το 1976 και ετά έχουν προταθεί πάρα πολλοί αλγόριθοι δηόσιου κλειδιού. Πολλοί από αυτούς είναι η ασφαλείς. Από αυτούς που θεωρούνται ακόα ασφαλείς, πολλοί δεν πορούν να εφαροστούν στην πράξη. Η απαιτούν πολύ εγάλο ήκος κλειδιού ή το κρυπτογραφηένο κείενο (ciphertext) είναι πολύ εγαλύτερο από το αρχικό κείενο (plaintext). Πολλοί λίγοι αλγόριθοι δηόσιου κλειδιού είναι ταυτόχρονα ασφαλείς και πρακτικοί. Οι αλγόριθοι αυτοί βασίζονται γενικά σε υπολογιστικά δύσκολα προβλήατα, όπως είναι για παράδειγα η παραγοντοποίηση εγάλων ακέραιων αριθών ή ο υπολογισός διακριτών λογαρίθων (discrete logarithms). Από αυτούς τους ασφαλείς και πρακτικούς αλγόριθους, κάποιοι είναι κατάλληλοι όνο για διανοή κρυπτογραφικών κλειδιών (key distribution). Άλλοι πάλι είναι κατάλληλοι όνο για ψηφιακές υπογραφές (digital signatures), όπως για παράδειγα ο αλγόριθος DSA (Digital Signature Algorithm). Μόνο τρεις αλγόριθοι δουλεύουν καλά τόσο για κρυπτογράφηση δεδοένων όσο και για ψηφιακές υπογραφές: ο RSA (από τα αρχικά των εφευρετών του Ron Rivest, Adi Shamir, Leonard Adleman), ο ElGamal και ο Rabin. Οπιοδιαδεδοένος από τους τρεις αυτούς αλγόριθους, που χρησιοποιείται σχεδόν παντού, είναι ο RSA, την λειτουργία του οποίου θα περιγράψουε στην επόενη υπόενότητα. Η δηοτικότητά του, ίσως οφείλεται στο γεγονός ότι είναι ο πιο εύκολα κατανοητός και υλοποιήσιος από τους παραπάνω αλγορίθους. Αξίζει στο σηείο αυτό να αναφερθεί ότι επειδή ακριβώς η ασφάλεια του δηοφιλούς RSA βασίζεται στο δύσκολο πρόβληα της παραγοντοποίησης ακεραίων, το πρόβληα αυτό είναι εξίσου δηοφιλές και αντικείενο έντονης έρευνας τις τελευταίες δεκαετίες. Αν βρεθεί κάποιος αλγόριθος που να παραγοντοποιεί εγάλους ακέραιους αριθούς σε λογικό (πολυωνυικό) χρόνο, τότε ο RSA 13

1. Εισαγωγη θα καταρρεύσει και όλα τα συστήατα που τον χρησιοποιούν θα πρέπει να τον αντικαταστήσουν. στόσο οι αλγόριθοι δηόσιου κλειδιού είναι αργοί. Κρυπτογραφούν και αποκρυπτογραφούν δεδοένα πολύ πιο αργά σε σχέση ε τους αλγόριθους συετρικού κλειδιού. Η λύση είναι η δηιουργία υβριδικών κρυπτοσυστη- άτων (hybrid cryptosystem). Ενας αλγόριθος συετρικού κλειδιού ε ένα τυχαίο κλειδί, το οποίο ονοάζεται session key, χρησιοποιείται για να κρυπτογραφήσει τα δεδοένα, και ένας αλγόριθος δηόσιου κλειδιού χρησι- οποιείται για να κρυπτογραφήσει το session key. 1.6.3 Ο Αλγόριθος RSA Οπως έχει ήδη αναφερθεί ο αλγόριθος RSA στηρίζει την ασφάλειά του στην δυσκολία ας να παραγοντοποιήσουε εγάλους αριθούς. Το δηόσιο και το ιδιωτικό κλειδί του αλγορίθου είναι συναρτήσεις δύο εγάλων πρώτων αριθών. Η ανάκτηση του plaintext από το ciphertext και το δηόσιο κλειδί υποτίθεται ότι είναι ισοδύναη ε την παραγοντοποίηση του γινοένου των δύο πρώτων αριθών. 1.6.3.1 ηιουργία ζεύγους κλειδιών Για να δηιουργήσουε ένα ζεύγος δηόσιου-ιδιωτικού κλειδιού, αρχικά επιλέγουε δύο τυχαίους 1 εγάλους πρώτους αριθούς p και q του ίδιου ήκους και υπολογίζουε το γινόενο n = pq. Χρειαζόαστε δύο εκθέτες e και d, τέτοιους ώστε: ed 1(mod t) (1.1) Το t ορίζεται συνήθως ίσο ε τη συνάρτηση φ του Euler (Euler totient function, βλέπελήα1.4): αλλά είναι πιο ακριβές αν οριστεί ως: t = φ(n) =φ(pq) =(p 1)(q 1) (1.2) t = lcm(p 1,q 1) (1.3) 1 Ηεπιλογήτωνπρώτωναριθώνπορείναηγίνεταιτελείωςτυχαία,αλλάναεξετάζεται αν αυτοί πληρούν κάποιες συγκεκριένες αθηατικές ιδιότητες. Οι αριθοί αυτοί ονοάζονται strong primes και οι ιδιότητες που έχουν κάνουν τα γινόενα στα οποία συ- ετέχουν ανθεκτικά σε ορισένους (κυρίως παλαιότερους) αλγόριθους παραγοντοποίησης (βλέπε κεφάλαιο 2). Το αν είναι όντως απαραίτητοι τέτοιοι έλεγχοι είναι υπό συζήτηση. 14

1.6. Κρυπτογραφία ηόσιου Κλειδιού όπου lcm τα αρχικά του least common multiple, δηλαδή ελάχιστο κοινό πολλαπλάσιο. Οποια και από τις δύο παραπάνω σχέσεις για το t να χρησιοποιηθεί τα αποτελέσατα θα είναι ακριβώς τα ίδια. Συνήθως διαλέγουε το e έτσι ώστε να είναι κάποιος ικρός περιττός αριθός, όπως 3, 5, 17 ή 65537. Το d πορεί τώρα να υπολογιστεί ως ο αντίστροφος του e modulo t, αφού e e 1 1(mod t), οπότε από την σχέση 1.1 d = e 1 (mod t). Ο υπολογισός του αντιστρόφου ενός αριθού a modulo κάποιον αριθό x γίνεται χρησιοποιώντας τον εκτεταένο αλγόριθο του Ευκλείδη (extended Euclidean algrorithm). Για να υπάρχει ο a 1 πρέπει οι a και x να είναι εταξύ του πρώτοι, πρέπει δηλαδή gcd(a, x) =1. Οπότε στη περίπτωσή ας θα πρέπει να ισχύει gcd(e, t) =1. Τελικά θα ισχύει και gcd(d, t) =1. Οι αριθοί e και n αποτελούν το δηόσιο κλειδί το οποίο θα διατίθεται ελεύθερα. Ο αριθός d είναι το ιδιωτικό κλειδί το οποίο πρέπει να κρατήσουε κρυφό. Οι δύο πρώτοι p και q δεν είναι πλέον απαραίτητοι. Μπορούε είτε να τους καταστρέψουε είτε να τους κρατήσουε αλλά στην τελευταία περίπτωση πρέπει να τους κρατήσουε κρυφούς, όπως και το d. Αυτό, γιατί αν κάποιος γνωρίζει τους p και q τότε πορεί να υπολογίσει το d, δηλαδήτοιδιωτικόκλειδί ας! Για τον ίδιο ακριβώς λόγο, αν κάποιος πορέσει να παραγοντοποιήσει το n (το οποίο πορεί εύκολα να το άθει, αφού, όπως είπαε είναι έρος του δηόσιου κλειδιού ας), τότε θα ανακτήσει τους p και q και η ασφάλεια του αλγορίθου θα καταρρεύσει. Ο εγαλύτερος αριθός που έχει παραγοντοποιηθεί έχρι σήερα έχει ήκος 663 bits (ή 200 δεκαδικά ψηφία). Παραγοντοποιήθηκε το 2005 χρησιοποιώντας τον General Number Field Sieve, τον ταχύτερο έχρι στιγής αλγόριθο για παραγοντοποίηση εγάλων αριθών, ο οποίος είναι και το βασικό αντικεί- ενο της εργασίας αυτής. Συνεπώς, για να θεωρηθεί ασφαλής η χρήση του RSA, θα πρέπει το ήκος του n να είναι τουλάχιστον 1024 bits, ε συνιστώ- ενες τιές 2048 ή 4096 bits. 1.6.3.2 Χρήση του RSA για κρυπτογράφηση Για να κρυπτογραφήσουε ένα ήνυα m (το m είναι το plaintext) χρησι- οποιώντας το ζεύγος κλειδιών που δηιουργήσαε προηγουένως, αρχικά διαιρούε το m σε τήατα m i που καθένα τους είναι ικρότερο από το n. Κατόπιν κρυπτογραφούε κάθε m i χωριστά για να πάρουε το αντίστοιχο c i ως εξής: c i = m e i mod n (1.4) 15