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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κρυπ Κρ το υπ γραφία Κρυπ Κρ το υπ λογίας

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

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

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

UP class. & DES και AES

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 131: ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I ΕΡΓΑΣΙΑ 2

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ

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

Συμμετρικά κρυπτοσυστήματα

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

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

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

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

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

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

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

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

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

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

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

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

Βασικές Έννοιες Κρυπτογραφίας

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

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

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

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

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

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

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

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. Συναρτήσεις Κατακερματισμού

Ασφάλεια ικτύων (Computer Security)

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

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

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

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

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

Symmetric Cryptography. Dimitris Mitropoulos

Συμμετρική Κρυπτογραφία

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

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

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

Από τις υπηρεσίες Πληροφόρησης στο «Ηλεκτρονικό Επιχειρείν»

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

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

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας

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

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

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

Ψευδο-τυχαιότητα. Αριθµοί και String. Μονόδροµες Συναρτήσεις 30/05/2013

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

Α.ΤΕΙ ΚΡΗΤΗΣ ΠΑΡΑΡΤΗΜΑ ΧΑΝΙΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝIΚΩΝ ΜΗΧΑΝΙΚΩΝ

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

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

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

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

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

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

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

Δ Εξάμηνο. Κρυπτογραφία: Συμμετρική Κρυπτογράφηση

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

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας

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

Χρήστος Ξενάκης Τμήμα Ψηφιακών Συστημάτων

ρ. Κ. Σ. Χειλάς, ίκτυα Η/Υ ΙΙΙ, Τ.Ε.Ι. Σερρών, 2007

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

Transcript:

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

Συνολικό Πλαίσιο Ασφάλεια ΠΕΣ Εμπιστευτικότητα Ακεραιότητα Πιστοποίηση Μη-αποποίηση Κρυπτογράφηση Hash functions Ψηφ. Υπογραφές Συμμετρικά Συστήματα ημόσιου Κλειδιού Γεννήτριες ιαχείριση κλειδιού 2

Βασικοί Συμβολισμοί A: Αλφάβητο, αποτελείται από τα σύμβολα με τα οποία δομούνται τα plaintexts. M: message space, αποτελείται από συμβολοσειρές στοιχείων του A, δηλαδή από όλα τα πιθανά plaintexts. C: ciphertext space, είναι το σύνολο όλων των πιθανών ciphertexts. K: key space, δηλαδή κάθε στοιχείο του K αποτελεί και ένα κλειδί. Ε e : κρυπτογράφηση με το κλειδί e D d : αποκρυπτογράφηση με το κλειδί d 3

Συμμετρική Κρυπτογραφία Από τους αρχαιότερους συμμετρικούς αλγορίθμους, είναι ο αλγόριθμος του Καίσαρα: e = A B C D E... D E F G H Z C d = e -1 Stream ciphers (κρυπτογράφηση ανά bit) Symmetric ciphers Block ciphers (κρυπτογράφηση ανά block) 4

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

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

Block ciphers Substitution ciphers (αντικατάστασης) Block ciphers Transposition ciphers (αντιμετάθεσης) Product ciphers (συνδυασμός των δύο παραπάνω) 7

Substitution ciphers A) Απλοίαλγόριθμοιαντικατάστασης(simple substitution ciphers) ή μονοαλφαβητικοί αλγόριθμοι. Ορισμός: Έστω A ένα αλφάβητο από q σύμβολα και M (message space) το σύνολο όλων των συμβολοσειρών μήκους t πάνω στο A. Το K (key space) είναι το σύνολο όλων των μεταθέσεων του συνόλου A. Τότε για κάθε κλειδί e K ορίζεται κρυπτογράφηση E e (m) = ( e(m 1 ) e(m 2 ) e(m t ) ) = (c 1 c 2 c t ) = c. Ηαποκρυπτογράφηση γίνεται με την αντίστροφη μετάθεση d = e -1. Παράδειγμα: abcdefghijklmnopqrstuvwxyz sdfghjklopiuytrewqazxcvbnm Τυχαία μετάθεση = κλειδί hello lhuue 8

Substitution ciphers Απλοί μονοαλφαβητικοί αλγόριθμοι -> αλγόριθμος του Καίσαρα Πόσα κλειδιά υπάρχουν? Πώς σπάει ο αλγόριθμος? Γενικοί μονοαλφαβητικοί αλγόριθμοι -> οποιαδήποτε μετάθεση των στοιχείων του αλφαβήτου Αν το αλφάβητο έχει q στοιχεία, πόσα είναι τα πιθανά κλειδιά που υπάρχουν? Πώς σπάει ο αλγόριθμος? 9

Substitution ciphers Β) Ομόφωνοι αλγόριθμοι αντικατάστασης (homophonic substitution ciphers). Ορισμός: Με κάθε σύμβολο α του αλφαβήτου A, συσχετίζεται ένα σύνολο Η(α) από συμβολοσειρές από t σύμβολα (t είναι το μέγεθος των μηνυμάτων του message space). Όλα τα σύνολα Η(α) είναι ανά δύο ανεξάρτητα. Οομόφωνος αλγόριθμος αντικατάστασης αντικαθιστά κάθε σύμβολο α του αρχικού κειμένου με μια τυχαία συμβολοσειρά του Η(α). ΤοκλειδίαποτελείταιαπόόλατασύνολαΗ(α). 10

Substitution ciphers Παράδειγμα: Έστω A = {a, b}, H(a) = {00, 01} και H(b) = {10, 11}. Τότε η κρυπτογραφημένη μορφή των αρχικών κειμένων aa, ab, ba και bb μπορεί να είναι μία από τις ακόλουθες τετράδες: aa {0000, 0001, 0100, 0101} ab {0010, 0011, 0110, 0111} ba {1000, 1001, 1100, 1101} bb {1010, 1011, 1110, 1111} Κάθε συμβολοσειρά των 4-bits αντιστοιχεί σε ένα μόνο plaintext. Καλύτεροι αλγόριθμοι από τους απλούς αλγορίθμους αντικατάστασης γιατί κάνουν πιο ομοιόμορφη την κατανομή των συμβόλων, με κόστος βέβαια την επέκταση των δεδομένων (data expansion). Επιπλέον η αποκρυπτογράφηση δεν είναι τόσο απλή. 11

Substitution ciphers Γ) Πολυαλφαβητικοί αλγόριθμοι αντικατάστασης (polyalphabetic substitution ciphers). Ορισμός: Ένας πολυαλφαβητικός αλγόριθμος αντικατάστασης είναι ένας block cipher που κρυπτογραφεί block μήκους t χαρακτήρωνκαιέχειτιςεξήςιδιότητες: i) To key space K αποτελείται από όλα τα σύνολα των t μεταθέσεων (p 1, p 2,, p t ) όπου κάθε μετάθεση p i ορίζεται στο σύνολο A. ii) Η κρυπτογράφηση ενός μηνύματος m = (m 1 m 2 m t ) με κλειδί το e = (p 1, p 2,, p t ) είναι η E e (m) = (p 1 (m 1 ) p 2 (m 2 ) p t (m t ) ). iii) Η αποκρυπτογράφηση γίνεται με το κλειδί d = (p 1-1, p 2-1,, p t -1 ). 12

Substitution ciphers Παράδειγμα (Vigenere cipher): Έστω A = {A, B,, Z}, t = 3 και e = (p 1, p 2, p 3 ), όπου το p 1 μετατοπίζει κάθε γράμμα 3 θέσεις δεξιά, το p 2 7 θέσεις και το p 3 10 θέσεις. Αν m = CIP HER τότε c = FPY LLA Οι αλγόριθμοι αυτοί είναι πιο ασφαλείς από τους μονοαλφαβητικούς, αφού τώρα το ίδιο γράμμα κωδικοποιείται σε διαφορετικό ανάλογα με την θέση του στο block. Παρόλα αυτά, και οι αλγόριθμοι αυτοί σπάνε εύκολα (κάνοντας ανάλυση συχνότητας για κάθε ομάδα p i ). 13

Transposition ciphers Απλά αλλάζουν τη σειρά των χαρακτήρων στο block. Ορισμός: Έστω ότι το μήκος του block είναι t και K είναι το σύνολο των μεταθέσεων στο {1, 2,, t}. Για κάθε κλειδί e η κρυπτογράφηση γίνεται ως εξής: E e (m) = (m e(1), m e(2),, m e(t) ). Παράδειγμα: Έστω t = 3 και e = (3, 1, 2). Τότε το κείμενο abc κρυπτογραφείται στο cab. Σπάει πολύ εύκολα, αν όμως χρησιμοποιηθούν αρκετοί μαζί στη σειρά η δυσκολία αυξάνει δραματικά. 14

Product ciphers Οι απλοί αλγόριθμοι αντικατάστασης και αντιμετάθεσης δεν είναι επαρκώς ασφαλείς. Ωστόσο, συνδυάζοντας τους δύο τύπους αλγορίθμων μπορούμε να φτιάξουμε πολύ ισχυρούς block ciphers. Ουσιαστικά ένας Product cipher είναι μια σύνθεση t > 1 μετασχηματισμών Ε 1 Ε 2...Ε t, όπου κάθε E i είναι ένας αλγόριθμος αντικατάστασης ή αντιμετάθεσης. Round (γύρος) καλείται η σύνθεση ενός αλγορίθμου αντικατάστασης με έναν αλγόριθμο αντιμετάθεσης. Οι περισσότεροι σύγχρονοι block ciphers είναι product ciphers και χρησιμοποιούν ένα πλήθος από rounds για να κρυπτογραφήσουντοαρχικόκείμενο. 15

Ασύμμετρα Κρυπτοσυστήματα κλειδί κρυπτογράφησης k1 Αρχικό κείμενο (m) (δημόσιο κλειδί) Αλγόριθμος Κρυπτογράφησης Ε Κρυπτογραφημένο κείμενο (c) c = E k1 (m) κλειδί αποκρυπτογράφησης k2 Κρυπτογραφημένο κείμενο (c) (ιδιωτικό κλειδί) Αλγόριθμος Αποκρυπτογράφησης D m = D k2 (c) Αρχικό κείμενο (m) Το κλειδί αποκρυπτογράφησης βρίσκεται δύσκολα από το αντίστοιχο κλειδί κρυπτογράφησης. Η δυσκολία βασίζεται σε κάποιο μαθηματικό πρόβλημα. 16

Μονόδρομες Συναρτήσεις Ορισμός: Μια συνάρτηση f: X -> Y καλείται μονόδρομη (one-way) αν η τιμή f(x) είναι «εύκολο» να υπολογιστεί για όλα τα x X, αλλάγιατυχαίαστοιχείαy Y είναι υπολογιστικά αδύνατο (computationally infeasible) να βρεις ένα x τέτοιο ώστε f(x) = y. Παραδείγματα: 1) f(x) = 3 x mod 17 2) f(x) = x 3 mod n, όπου n = pq με p, q πρώτους αριθμούς. Αν οι δύο πρώτοι αριθμοί δεν είναι γνωστοί, τότε η συνάρτηση είναι δύσκολο να αντιστραφεί, διαφορετικά υπάρχει αποδοτικός αλγόριθμος που βρίσκει κυβικές ρίζες. 17

Μονοδρομές Συναρτήσεις με Καταπακτή Ορισμός: Μια συνάρτηση f: X -> Y καλείται μονόδρομη συνάρτηση με καταπακτή (trapdoor one-way function) αν είναι μονόδρομη και έχει επιπλέον την ιδιότητα ότι δοθείσης κάποιας πληροφορίας (trapdoor information) είναι «εύκολο» να βρεις για κάθε τιμή y, το x για το οποίο f(x) = y. Για παράδειγμα, η f(x) = x 3 mod n είναι μια trapdoor one-way function, όπου η trapdoor πληροφορία είναι οι παράγοντες p και q του n. Αν p και q είναι μεγάλοι πρώτοι αριθμοί, τότε είναι υπολογιστικά δύσκολο να τους βρεις γνωρίζοντας μόνο το n. Integer Factorization Problem 18

Τι είναι εύκολο ή δύσκολο υπολογιστικά? Για δύο συναρτήσεις f και g λέμε ότι f(n) = O(g(n)) αν υπάρχει σταθερά c και ένας θετικός ακέραιος n 0 τέτοιος ώστε 0 f(n) cg(n) για όλα τα n n 0. Ένας αλγόριθμος καλείται πολυωνυμικός αν ο χρόνος χειρότερης περίπτωσης του είναι της μορφής Ο(n k ), όπου n είναι το μέγεθος της εισόδου και k είναι μια σταθερά. Κάθε αλγόριθμος του οποίου ο χρόνος εκτέλεσης δεν μπορεί να φραγεί από ένα τέτοιο όριο, καλείται εκθετικός. Εύκολο υπολογιστικά ύσκολο υπολογιστικά πολυωνυμική πολυπλοκότητα εκθετική πολυπλοκότητα 19

Κρυπτογραφία ημόσιου Κλειδιού οθέντος ενός δημόσιου κλειδιού e είναι υπολογιστικά αδύνατο να βρεθεί το ιδιωτικό κλειδί d. Αλγόριθμος κρυπτογράφησης E e = trapdoor one-way function με trapdoor information = d. Π.χ. η f(x) = x 3 mod n είναι μια trapdoor one-way function, όπου η trapdoor πληροφορία είναι οι παράγοντες p και q του n. Άρα, αν το μυστικό κλειδί του Bob είναι τα p, q και δημόσιο το n, τότε η Alice μπορεί να κρυπτογραφήσει το μήνυμα x ως c = x 3 mod n και να το στείλει πίσω στον Bob. Στη συνέχεια, μόνο ο Bob που έχει την trapdoor πληροφορία μπορεί να βρει το x (δηλαδή να αντιστρέψει τη συνάρτηση). 20

Κρυπτογραφία ημόσιου Κλειδιού c = x 3 mod n (s Α, P A ) (s B, P B ) x = μήνυμα s B = p, q P B = n Μόνο ο Bob μπορεί να αποκρυπτογραφήσει που κατέχει τα p, q. Αν γνωρίζεις το n(δημόσιο κλειδί), δεν μπορείς να βρεις τα p, q (ιδιωτικό κλειδί). Integer factorization problem!! 21

Ψηφιακές Υπογραφές + Κρυπτογράφηση ημόσιου Κλειδιού Υποθέστε ότι M = C (message space = ciphertext space). Επειδή D d (E e (m)) = E e (D d (m)) = m μπορεί να προκύψει το εξής σχήμα ψηφιακών υπογραφών: 1. Signer Υπολογίζει s = D d (m) και στέλνει (s, m) στον Verifier (d είναι το ιδιωτικό κλειδί του Signer). 2. Verifier Αν E e (s) = m τότε επιστρέφει 1 (true), διαφορετικά 0(false). Είναι δυνατόν να μην σταλεί το μήνυμα m? 22

Ψηφιακές Υπογραφές με Ανάκτηση Μηνύματος Ο Signer πρέπει να υπογράφει μηνύματα που έχουν μια συγκεκριμένη μορφή. Π.χ. αν το M (message space) αποτελείται από όλες τις συμβολοσειρές των 8-bits, τότε ο υπογράφων μπορεί να υπογράφει 8άδες στις οποίες τα 4 πρώτα bits είναι ίδια με τα 4 τελευταία. Άρα αν ο Verifier διαπιστώσει ότι το αποτέλεσμα E e (s) έχει την επιθυμητή μορφή, δέχεται την υπογραφή. 23

Μια απλή επίθεση... Η προηγούμενη τροποποίηση μπορεί να προστατεύσει από την εξής επίθεση (γιατί??): (d, e) Επιλέγει τυχαία ένα s ως υπογραφή, υπολογίζει u = E e (s) (s, u) δηλαδή s = υπογραφή u= μήνυμα Επαληθεύει ότι u = E e (s)!!! 24

ιαχείριση κλειδιών μέσω συμμετρικών τεχνικών A 1 k 1 Τα κλειδιά k i έχουν διαμοιραστεί στην αρχή της επικοινωνίας με τον TTP E k1 (k) E k (m) k Session key Key source E k2 (k) ΤΤP k 2 k 3 A 2 A 3 25

ιαχείριση κλειδιών μέσω συμμετρικών τεχνικών Πλεονεκτήματα: 1) Πολύ εύκολο να διαγραφεί ή να προστεθεί κάποιος στο δίκτυο. 2) Κάθε χρήστης αποθηκεύει μόνο ένα κλειδί. Μειονεκτήματα: 1) Ο TTP πρέπει να συμμετέχει σε όλες τις επικοινωνίες. 2) Ο ΤΤΡ αποθηκεύει n κλειδιά. 3) Ο ΤΤΡ μπορεί να διαβάσει όλα τα μηνύματα. 4) Αν ο ΤΤΡ βρεθεί υπό τον έλεγχο ενός κακόβουλου χρήστη, η ασφάλεια όλου του δικτύου καταρρέει. 26

ιαχείριση κλειδιών μέσω ασύμμετρων τεχνικών (d 1, e 1 ) E e2 (m) A 1 e 2 Public file A 1 : e 1 A 2 : e 2... A n : e n (d 2, e 2 ) (d 3, e 3 ) A 2 A 3 27

ιαχείριση κλειδιών μέσω ασύμμετρων τεχνικών (επίθεση) A 1 (d 1, e 1 ) Public file A 1 : e 1 c = E e* (m) e * A 2 : e 2. e * adversary m = D d* (c).. c = E e2 (m) A n : e n (d 2, e 2 ) (d 3, e 3 ) A 2 A 3 28

ιαχείριση κλειδιών μέσω ασύμμετρων τεχνικών (αντιμετώπιση) A 1 (d 1, e 1 ) Verification V T (A 2 e 2, s 2 ) E e2 (m) e 2, s 2 Public file A 1,e 1, s 1 = S T (A 1 e 1 ) A 2, e 2, s 2 = S T (A 2 e 2 )... A n, e n, s n = S T (A n e n ) (d 2, e 2 ) (d 3, e 3 ) A 2 A 3 29

ιαχείριση κλειδιών μέσω ασύμμετρων τεχνικών με ΤΤΡ Πλεονεκτήματα: 1) Αποφεύγονται οι ενεργές επιθέσεις. 2) Ο ΤΤΡ δεν μπορεί να παρακολουθήσει τις επικοινωνίες μεταξύ των χρηστών του δικτύου. Μειονεκτήματα: 1) Αν βρεθεί το κλειδί υπογραφής του ΤΤΡ το σύστημα καταρρέει 30

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