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



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

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

Κρυπτογραφία. Κεφάλαιο 1 Γενική επισκόπηση

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

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

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

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

Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών. Aσφάλεια

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

Εισαγωγή στην επιστήμη της Πληροφορικής και των. Aσφάλεια

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

Κρυπτογραφία. Εργαστηριακό μάθημα 1

Κρυπτογραφία. Εργαστηριακό μάθημα 11 (Επαναληπτικές ασκήσεις)

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

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

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

Οι απειλές. Απόρρητο επικοινωνίας. Αρχές ασφάλειας δεδομένων. Απόρρητο (privacy) Μέσω κρυπτογράφησης

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Ασφάλεια Δεδομένων.

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

ΕΠΛ 674: Εργαστήριο 1 Ασφάλεια Επικοινωνιακών Συστημάτων - Κρυπτογραφία

Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών. Aσφάλεια

YΒΡΙΔΙΚΗ ΚΡΥΠΤΟΓΡΑΦΙΑ

Ηλεκτρονικό εμπόριο. HE 7 Τεχνολογίες ασφάλειας

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

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

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

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

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο. Ψηφιακή Υπογραφή και Αυθεντικοποίηση Μηνύματος

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

Κρυπτογραφία και Ηλεκτρονικοί Υπολογιστές. ΣΥΝΤΕΛΕΣΤΕΣ: Κραβαρίτης Αλέξανδρος Μαργώνη Αγγελική Χαλιμούρδα Κων/να

Πληροφορική Ι. Μάθημα 10 ο Ασφάλεια. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Δρ. Γκόγκος Χρήστος

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

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

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

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

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

Κρυπτογραφία. Εργαστηριακό μάθημα 10 (Επαναληπτικές ασκήσεις)

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

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

Εισαγωγή στην Κρυπτολογία 3. Ασφάλεια Τηλεπικοινωνιακών Συστημάτων Κωδικός DIΤ114 Σταύρος ΝΙΚΟΛΟΠΟΥΛΟΣ

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

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

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

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

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

Διαχείριση Ασφάλειας και Εμπιστοσύνης σε Πολιτισμικά Περιβάλλοντα

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. PGP (Pretty Good Privacy)

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

Ασφάλεια Τηλεπικοινωνιακών Συστημάτων ΣΤΑΥΡΟΣ Ν ΝΙΚΟΛΟΠΟΥΛΟΣ 03 ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΚΡΥΠΤΟΛΟΓΙΑ

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

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

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

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

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

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

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

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

Λειτουργικά Συστήματα (ΗΥ321)

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

Κεφάλαιο 2. Κρυπτογραφικά εργαλεία

Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 8 η. Βασίλης Στεφανής

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

project RSA και Rabin-Williams

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

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

Πρόσφατες κατευθύνσεις

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

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

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

Ψηφιακά Πιστοποιητικά Ψηφιακές Υπογραφές

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

Εισαγωγή στην Κρυπτογραφία και τις Ψηφιακές Υπογραφές

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

Κρυπτογράφηση Αποκρυπτογράφηση Ερευνητική εργασία Β'1 1 ο Γενικό Λύκειο Ευόσμου

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

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

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

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

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 11η Διάλεξη: Ασφάλεια στο Web

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 10 : Ασφάλεια. Δρ. Γκόγκος Χρήστος

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

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

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

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

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

1. Τι είναι ακεραιότητα δεδομένων, με ποιους μηχανισμούς επιτυγχάνετε κ πότε θα χρησιμοποιούσατε τον καθένα εξ αυτών;

Ασφάλεια Υπολογιστικών Συστηµάτων

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

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

Επιθέσεις και Ασφάλεια Κρυπτοσυστημάτων

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

Θεώρημα Βolzano. Κατηγορία 1 η Δίνεται η συνάρτηση:

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

Αννα Νταγιου ΑΕΜ: 432. Εξαμηνο 8. Ερώτηση 1. Πληκτρολογήστε την εντολή: openssl help Παρατηρήστε τις πληροφορίες που λαµβάνετε.

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

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

UP class. & DES και AES

- ΟΡΙΟ - ΣΥΝΕΧΕΙΑ ΣΥΝΑΡΤΗΣΗΣ ΕΝΟΤΗΤΑ 6: ΜΗ ΠΕΠΕΡΑΣΜΕΝΟ ΟΡΙΟ ΣΤΟ

Transcript:

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

Κρυπτοσυστήματα Δημοσίου κλειδιού Αποστολέας P Encryption C Decryption P Παραλήπτης Προτάθηκαν το 1976 Κάθε συμμετέχων στο σύστημα κατέχει ένα ζευγάρι κλειδιών e και d, που το ένα αντιστρέφει το άλλο: D d (E e (m))=m (όπου D και E οι διαδικασίες αποκρυπτογράφησης και κρυπτογράφησης αντίστοιχα) Ένα από τα δύο κλειδιά είναι γνωστό σε όλους (το e) και λέγεται Δημόσιο Κλειδί. Το άλλο κλειδί το γνωρίζει μόνο ο κάτοχός του και ονομάζεται ιδιωτικό. Απαραίτητη προϋπόθεση είναι ότι η γνώση του e δεν οδηγεί σε προσδιορισμό του μυστικού κλειδιού d. E D 2

Τρόπος λειτουργίας συστημάτων δημοσίου κλειδιού Όταν ένα πρόσωπο A θέλει να στείλει ένα μήνυμα m σε ένα πρόσωπο B, το δημόσιο κλειδί κρυπτογράφησης e B του παραλήπτη B χρησιμοποιείται για τη δημιουργία του κρυπτογράμματος Ee B (m). Αφού το e B είναι πλήρως διαθέσιμο σε όλους, ο οποιοσδήποτε μπορεί να κρυπτογραφήσει ένα μήνυμα με προορισμό τον B. Ωστόσο, μόνο ο B, ο οποίος γνωρίζει το ιδιωτικό του κλεδί d B μπορεί να ανακατασκευάσει το αρχικό μήνυμα, εφαρμόζοντας τον αντίστροφο μετασχηματισμό Dd B (Ee B (m)). 3

Σχηματική αναπαράσταση Κρυπτογράφηση με το δημόσιο κλειδί του B Κρυπτογραφημένο μήνυμα Αποκρυπτογράφηση με το ιδιωτικό κλειδί του B Χρήστης A Αποκρυπτογράφηση με το ιδιωτικό κλειδί του A Κρυπτογραφημένο μήνυμα Χρήστης B Κρυπτογράφηση με το δημόσιο κλειδί του A 4

Μαθηματική Θεωρία Συνάρτηση μίας κατεύθυνσης (one-way) ονομάζεται κάποια συνάρτηση η οποία είναι εύκολο να υπολογιστεί, αλλά πολύ δύσκολο να αντιστραφεί. Κερκόπορτα ( trapdoor ) σε μία τέτοια συνάρτηση αποκαλείται οποιαδήποτε γνώση μας επιτρέπει να την αντιστρέψουμε. Η κρυπτογράφηση σε ένα σύστημα Δημοσίου Κλειδιού πρέπει να είναι μία one-way συνάρτηση η οποία πρέπει να έχει ένα trapdoor (που στην ουσία αντιστοιχεί στο ιδιωτικό κλειδί αποκρυπτογράφησης). Το trapdoor πρέπει να το γνωρίζει μόνο ο παραλήπτης. 5

Στοιχεία Θεωρίας Πολυπλοκότητας Προβλήματα τα οποία μπορούν να επιλυθούν σε πολυωνυμικό χρόνο ανήκουν στην κλάση P Προβλήματα των οποίων μία καταφατική απάντηση μπορεί να επιβεβαιωθεί σε πολυωνυμικό χρόνο, δοθείσας κάποιας επιπρόσθετης πληροφορίας, ανήκουν στην κλάση NP Προβλήματα των οποίων μία αρνητική απάντηση μπορεί να επιβεβαιωθεί σε πολυωνυμικό χρόνο, δοθείσας κάποιας επιπρόσθετης πληροφορίας, ανήκουν στην κλάση co-np Τα πιο δύσκολα NP προβλήματα ονομάζονται NPcomplete. 6

Στοιχεία Θεωρίας Πολυπλοκότητας Ένα NP πρόβλημα χαρακτηρίζεται από το ότι δεν έχει βρεθεί πολυωνυμικός αλγόριθμος που να το επιλύει. Αντίστοιχα, για όσα προβλήματα υπάρχει λύση που τρέχει σε πολυωνυμικό χρόνο, αυτά υπάγονται στην κλάση P. Ισχύει P NP Παρόλο που πιστεύεται ότι NP P, εν τούτοις δεν έχει αποδειχτεί Παράδειγμα: η ανάλυση ενός αριθμού στους πρώτους του παράγοντες είναι NP πρόβλημα Συναρτήσεις μίας κατεύθυνσης στην πράξη θεωρούνται αυτές που εμφανίζονται στα NP προβλήματα. Όλοι λοιπόν οι αλγόριθμοι Δημοσίου Κλειδιού βασίζονται σε NP προβλήματα η δυσκολία επίλυσης των οποίων καθιστά τους αλγορίθμους ασφαλείς. 7

Παραδείγματα συστημάτων Δημοσίου Κλειδιού RSA (αναπτύσσεται στο εργαστηριακό μάθημα) El Gamal (αναπτύσσεται στο εργαστηριακό μάθημα) Κρυπτοσύστημα Rabin (θα αναπτυχθεί παρακάτω) McEliece κρυπτοσύστημα Knapsak αλγόριθμοι Elliptic Curve κρυπτοσύστημα (ελλειπτικών καμπυλών) Και άλλοι. 8

Χρήσιμα Μαθηματικά Εργαλεία Θεώρημα Κινεζικού Υπολοίπου (Chinese Remainder Theorem (CRT)) Επειδή η αποκρυπτογράφηση στο σύστημα Rabin που θα δούμε στη συνέχεια βασίζεται στο Θεώρημα Κινεζικού Υπολοίπου (CRT), το εν λόγω θεώρημα θα αναπτυχθεί ανεξάρτητα στις επόμενες τρεις διαφάνειες. Έστω m 1,,m r ακέραιοι αριθμοί, πρώτοι μεταξύ τους, και έστω επίσης a 1,,a r ακέραιοι αριθμοί. Τότε το σύστημα ισοδυναμιών: x a i mod m i, i =1,,r έχει μοναδική λύση modulo M = m 1 x x m r, ηοποίαείναι x = Σ a i M i y i mod M, όπου M i = M/m i και y i = M i -1 mod m i, i =1,,r 9

Παράδειγμα για το Θεώρημα Κινεζικού Υπολοίπου Έστω το ακόλουθο σύστημα ισοδυναμιών: x 1 mod 3 x 2 mod 4 x 3 mod 5 Αναζητούμε τη λύση του συστήματος δηλαδή, έναν αριθμό x που ικανοποιεί και τις 3 παραπάνω σχέσεις. Επειδή τα 3,4,5 είναιπρώτοιμεταξύτους, το σύστημα αυτό έχει μοναδική λύση mod 60 (60 = 3 4 5 ). Εργαζόμαστε λοιπόν ως εξής: M 1 =3 4 5 / 3 = 20 M 2 =3 4 5 / 4 = 15 M 3 =3 4 5 / 5 = 12 10

Παράδειγμα για το Θεώρημα Κινεζικού Υπολοίπου (συνέχεια) Χρειαζόμαστε επίσης και τα αντίστροφα των M 1,M 2,M 3. Για τον αντίστροφο του M 1,αναζητούμε y 1 τέτοιο ώστε M 1 y 1 1 mod 3. Με δοκιμές βρίσκουμε ότι y 1 =2. Αντίστοιχα, οι αντίστροφοι των M 2,M 3 υπολογίζονται ότι είναι ίσοι με y 2 =3, y 3 =3 αντίστοιχα. Συνεπώς η λύση του αρχικού συστήματος είναι: x 1 20 2 + 2 15 3 + 3 12 3 mod 60 40 + 90 + 108 mod 60 40 + 30 + 48 mod 60 118 mod 60 58 mod 60 11

Αλγόριθμος Rabin Ένας χρήστης A επιλέγει δύο τυχαίους πολύ μεγάλους πρώτους αριθμούς p, q και υπολογίζει το γινόμενό τους N Το δημόσιο κλειδί του A είναι το N, και το ιδιωτικό τα p, q. Για την κρυπτογράφηση του μηνύματος m που θέλει να στείλει κάποιος χρήστης στον A, απλά το υψώνει στο τετράγωνο mod Ν: c m 2 (mod N) Αρχικό μήνυμα κρυπτόγραμμα Στην ουσία, η συνάρτησηf(x) x 2 mod Ν είναι μίας κατεύθυνσης (για πολύ μεγάλο N): κάποιος που γνωρίζει το x μπορεί να υπολογίσει το f(x), αλλά από την άλλη κάποιος που γνωρίζει το f(x) δεν είναι εύκολο να βρει το x. Όμως, όπως θα δούμε παρακάτω, αν κάποιος γνωρίζει είτε το p είτε το q μπορεί να εξάγει το x από το f(x) (τα p και q λοιπόν είναι «κερκόπορτες» (trapdoors). Άρα, μόνο ο A μπορεί να αποκρυπτογραφήσει το κρυπτόγραμμα c που λαμβάνει και να ανακτήσει το αρχικό μήνυμα m. 12

Αποκρυπτογράφηση Rabin Ειδική περίπτωση: τα p, q επιλέγονται με τέτοιον τρόπο ώστε να ισχύει p,q 3 mod 4 (αυτό γίνεται για λόγους απλότητας στην πράξη τα p, q μπορεί να είναι οποιαδήποτε, αλλά τότε ο αλγόριθμος αποκρυπτογράφησης γίνεται πιο σύνθετος). Έστω ότι ο παραλήπτης θέλει να αποκρυπτογραφήσει το y x 2 mod Ν. Όταν ισχύει p,q 3 mod 4, υπάρχει ένας απλός τρόπος υπολογισμού του x: προσέξτε ότι ( ± y ( p+ 1) / 4 ) 2 y ( p+ 1) / 2 y ( p 1) / 2 y y mod p μια που ισχύει λόγω του θεωρήματος του Euler (το οποίο είδαμε και στον RSA) y ( p 1)/2 mod(p) x p 1 mod( p) 1mod( p) (προσέξτε ότι φ(p)=p-1) 13

Αποκρυπτογράφηση Rabin (συνέχεια) Από την προηγούμενη ανάλυση έπεται ότι ο αριθμός: ± ( y p +1) / 4 mod p είναι μια τετραγωνική ρίζα του y modulo p. Μια παρόμοια ανάλυση μπορεί να γίνει και για τον άλλον πρώτο αριθμό q. Βρίσκουμε λοιπόν τα τετραγωνικά υπόλοιπα modulo p και modulo q. Έτσι, μπορούμε να βρούμε το ζητούμενο τετραγωνικό υπόλοιπο modulo N με το θεώρημα του Κινεζικού υπολοίπου 14

Παράδειγμα κρυπτογράφησης Rabin Έστω p=7 και q=11 (παρατηρήστε ότι p,q 3 mod 4.) Τότε N = 77. Έστω ότι ο χρήστης λαμβάνει ως κρυπτόγραμμα τον αριθμό 23. Τότε εργάζεται ως εξής: ± 23 (7+ 1)/ 4 ± 2 2 ± 4 mod 7 ± 23 (11+ 1)/ 4 ± 1 3 ± 1 mod11 15

Παράδειγμα κρυπτογράφησης Rabin (συνέχεια) Εφαρμογή του Θεωρήματος του Κινεζικού Υπολοίπου: 1) x 4 mod 7 x 1 mod 11 Έχουμε M 1 =11, M 2 =7. Για τον αντίστροφο y 1 του M 1 δοκιμάζουμε να λύσουμε τη σχέση 11y 1 1 mod 7 όπου με δοκιμές βρίσκουμε y 1 =2. Για τον αντίστροφο y 2 του M 2 δοκιμάζουμε να λύσουμε τη σχέση 7y 2 1 mod 11 όπου με δοκιμές βρίσκουμε y 2 =8. Άρα η λύση του παραπάνω συστήματος είναι (4 11 2 + 1 7 8) mod 77 (88+56) mod 77 144 mod 77 67 mod 77 16

Παράδειγμα κρυπτογράφησης Rabin (συνέχεια) 2) x -4 mod 7 x 1 mod 11 Όλοι οι απαραίτητοι υπολογισμοί έχουν γίνει από πριν, άρα η λύση του παραπάνω συστήματος είναι (-4 11 2 + 1 7 8) mod 77 (-88+56) mod 77-32 mod 77 45 mod 77. 3) x 4 mod 7 x -1 mod 11 H λύση του παραπάνω συστήματος είναι (4 11 2-1 7 8) mod 77 (88-56) mod 77 32 mod 77 4) x -4 mod 7 x -1 mod 11 H λύση του παραπάνω συστήματος είναι (-4 11 2-1 7 8) mod 77 (-88-56) mod 77-144 mod 77 10 mod 77 Συνεπώς τα 4 πιθανά μηνύματα (ένα εκ των οποίων εστάλη) είναι τα ±10 mod 77, ± 32 mod 77 17

Σχόλια για τον αλγόριθμο Rabin Βρίσκουμε πάντα 4 πιθανά μηνύματα, για δοθέν κρυπτόγραμμα. Αυτό είναι μειονέκτημα (το ιδανικό θα ήταν να βρίσκαμε πάντα ακριβώς το αρχικό μήνυμα). Μια τυπική τεχνική για να αντιμετωπιστεί αυτό το πρόβλημα είναι η εξής: Εισαγωγή περισσότερων πλεοναστικών ψηφίων στο μήνυμα που αποστέλλεται, με στόχο να βοηθήσουν στη σωστή αποκρυπτογράφηση. Για παράδειγμα, το μήνυμα που στέλνεται μπορεί περιέχει ένα διπλότυπο του εαυτού του (δηλαδή, αντί να στείλουμε το 45, να στέλνουμε το 4545). Έτσι ο παραλήπτης μπορεί πια να αποφασίσει, από τα 4 λαμβανόμενα μηνύματα, ποιο είναι αυτό που πραγματικά εστάλη. 18

Ασφάλεια του αλγορίθμου Rabin H ασφάλεια του αλγορίθμου έγκειται σε δύο προβλήματα που ανήκουν στο NP: Στο πρόβλημα του να βρει κανείς το τετραγωνικό υπόλοιπο modulo n (δηλαδή, το να ξέρει κανείς το x 2 mod n δεν του αρκεί για να βρει το x). Για μεγάλα p,q, ο οποιοσδήποτε γνωρίζει το n δεν μπορεί να βρει τα p,q (η παραγοντοποίηση ενός αριθμού σε πρώτους παράγοντες είναι υπολογιστικά δύσκολο πρόβλημα (ανήκει στην κλάση NP), 19

Γενικά πλεονεκτήματα των συστημάτων Δημοσίου Κλειδιού Το ζεύγος δημόσιο κλειδί ιδιωτικό κλειδί μπορεί να μένει το ίδιο για μεγάλα χρονικά διαστήματα (π.χ. για χρόνια) στα συστήματα συμμετρικού κλειδιού αντιθέτως, το κλειδί πρέπει να αλλάζει συχνά Σε ένα μεγάλο δίκτυο, ο αριθμός των κλειδιών που χρειάζονται είναι μικρότερος από ό,τι αν χρησιμοποιούνταν συμμετρική κρυπτογράφηση (στησυμμετρικήκρυπτογράφηση, χρειάζεται ένα ζευγάρι κλειδιών για κάθε χρήστη). 20

Γενικά μειονεκτήματα των συστημάτων Δημοσίου Κλειδιού Ηαπόδοση(throughput) είναι σημαντικά μικρότερη, συγκριτικά με τους καλύτερους block ciphers Το μήκος των κλειδιών είναι πιο μεγάλο Κανένας αλγόριθμος δεν έχει αποδειχτεί ότι είναι απόλυτα ασφαλής - η ασφάλειά τους στηρίζεται σε γνωστά NP προβλήματα. Αν βρεθεί πολυωνυμική (δηλαδή, με απλά λόγια, γρήγορη) λύση για κάποιο από αυτά τα προβλήματα, η ασφάλεια καταρρέει (κάτι τέτοιο θα σήμαινε ότι οποιοσδήποτε θα μπορούσε να ανακτήσει το ιδιωτικό κλειδί). Θα πρέπει ωστόσο να σημειωθεί ότι ούτε οι αλγόριθμοι συμμετρικού κλειδιού (stream ciphers, block ciphers) είναι εγγυημένα ασφαλείς 21

Συνδυασμός συστημάτων Δημοσίου και Συμμετρικού Κλειδιού Όχι ανταγωνιστικά χρησιμοποιούνται μαζί Το δημόσιο κλειδί διαμοιράζεται εύκολα, αλλά μπορεί να χρησιμοποιηθεί μόνο σε μικρά μηνύματα Το συμμετρικό κλειδί διανέμεται δύσκολα (πρόβλημα εύρεσης ασφαλούς «καναλιού» μετάδοσής του), αλλά μπορεί να χρησιμοποιηθεί και σε μεγάλα μηνύματα Έχουν συμπληρωματικά προτερήματα και ελαττώματα 22

Συνδυασμός Συμμετρικού Δημοσίου Κλειδιού Συχνά, η επικοινωνία ξεκινά με πιστοποίηση ταυτότητας, με χρήση αλγορίθμου Δημοσίου κλειδιού A B Public Key Authentication 23

Συνδυασμός Συμμετρικού Δημοσίου Κλειδιού (II) Στη συνέχεια, ο καθένας παράγει ένα συμμετρικό κλειδί Κρυπτογραφεί το συμμετρικό του κλειδί με το δημόσιο κλειδί του άλλου και του το στέλνει Έτσι, καιοιδύοέχουντοσυμμετρικόκλειδίγιατην επικοινωνία με τον άλλο A Public Key Encryption Symmetric Session Key B 24

Συνδυασμός Συμμετρικού Δημοσίου Κλειδιού (III) Τελικά, επικοινωνεί ο ένας με τον άλλον με το συμμετρικό κλειδί Με άλλα λόγια, η κρυπτογραφία δημόσιου κλειδιού έλυσε το πρόβλημα της εύρεσης ασφαλούς καναλιού, για την ανταλλαγή των κλειδιών A Symmetric Session Key B 25