Υπολογιστική Κρυπτογραφία

Σχετικά έγγραφα
Υπολογιστική Κρυπτογραφία

Υπολογιστική Κρυπτογραφία

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

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

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

Επισκόπηση Κρυπτογραφίας: privacy. Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία. Επισκόπηση Κρυπτογραφίας: authentication, integrity

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

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

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

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

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

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

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

Κρυπτογραφία. Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας

Μοντέλα και Αποδείξεις Ασφάλειας στην Κρυπτογραφία

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

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

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

Κρυπτογραφία. Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας

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

Κρυπτογραφία. Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας

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

Κρυπτογραφία. Κρυπτοσυστήματα τμήματος (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας

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

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

Κρυπτογραφία. Κρυπτοσυστήματα πακέτου (Block ciphers) Άρης Παγουρτζής Στάθης Ζάχος Πέτρος Ποτίκας

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

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

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

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

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

Κεφάλαιο 1. Εισαγωγή. 1.1 Εισαγωγή Ιστορική Αναδρομή

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

UP class. & DES και AES

Κρυπτογραφία και Ασφάλεια

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

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

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

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

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

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

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

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

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

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

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

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

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

Κατάλογος Σχηµάτων. Κατάλογος Πινάκων. I Θεµέλια 27

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

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

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

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

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

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

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

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

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

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

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

KEΦΑΛΑΙΟ 5 ΨΗΦΙΑΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ

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

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

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

Symmetric Cryptography. Dimitris Mitropoulos

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

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

Μοντέλα και Αποδείξεις Ασφάλειας στην Κρυπτογραφία - Ανταλλαγή Κλειδιού Diffie Hellman

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

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

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

Διπλωματική Εργασία. Τίτλος:

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

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

Κρυπτογραφία: Εισαγωγή & Ιστορικά συστήματα

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

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

3 ΟΙ ΚΡΥΠΤΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΟΙ ΙΔΙΟΤΗΤΕΣ ΤΟΥΣ

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

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

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

Μοντέλα και Αποδείξεις Ασφάλειας στην Κρυπτογραφία - Ανταλλαγή Κλειδιού Diffie Hellman

Θεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος

Transcript:

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

Ιστορικά στοιχεία Σκυτάλη (αρχαία Σπάρτη) Σχολή ΗΜΜΥ ΕΜΠ 2 / 42

Ιστορικά στοιχεία Σκυτάλη (αρχαία Σπάρτη) Μέθοδoς ξύρισμα-και-χάραξη Σχολή ΗΜΜΥ ΕΜΠ 2 / 42

Ιστορικά στοιχεία Σκυτάλη (αρχαία Σπάρτη) Μέθοδoς ξύρισμα-και-χάραξη Κρυπτοσύστημα Καίσαρα Σχολή ΗΜΜΥ ΕΜΠ 2 / 42

Ιστορικά στοιχεία Σκυτάλη (αρχαία Σπάρτη) Μέθοδoς ξύρισμα-και-χάραξη Κρυπτοσύστημα Καίσαρα Zimmermann note (1917) Σχολή ΗΜΜΥ ΕΜΠ 2 / 42

Ιστορικά στοιχεία Σκυτάλη (αρχαία Σπάρτη) Μέθοδoς ξύρισμα-και-χάραξη Κρυπτοσύστημα Καίσαρα Zimmermann note (1917) Enigma Σχολή ΗΜΜΥ ΕΜΠ 2 / 42

Κλασικά κρυπτοσυστήματα Κρυπτοσυστήματα Αντικατάστασης (substitution ciphers): κάθε γράμμα (ή ομάδα γραμμάτων) του αρχικού κειμένου αντικαθίσταται με ένα ή περισσότερα γράμματα Κρυπτοσυστήματα Μετάθεσης / Αναδιάταξης (transposition ciphers): τα γράμματα του αρχικού κειμένου αναδιατάσσονται (συνήθως κατά ομάδες) Συνήθως αφορούν σε κρυπτογράφηση κειμένου φυσικής γλώσσας Σχολή ΗΜΜΥ ΕΜΠ 3 / 42

Κρυπτοσυστήματα αντικατάστασης Μονοαλφαβητικά: κάθε γράμμα του αρχικού κειμένου κωδικοποιείται πάντοτε με το ίδιο γράμμα (γενικότερα: με τον ίδιο τρόπο) Κρυπτοσυστήματα: αντικατάστασης (substitution cipher), ολίσθησης (shift cipher: πχ Καίσαρα), παραλλαγή Καίσαρα με χρήση λέξης-κλειδί, ROT13, PLAYFAIR, affine cipher Σχολή ΗΜΜΥ ΕΜΠ 4 / 42

Κρυπτοσυστήματα αντικατάστασης Μονοαλφαβητικά: κάθε γράμμα του αρχικού κειμένου κωδικοποιείται πάντοτε με το ίδιο γράμμα (γενικότερα: με τον ίδιο τρόπο) Κρυπτοσυστήματα: αντικατάστασης (substitution cipher), ολίσθησης (shift cipher: πχ Καίσαρα), παραλλαγή Καίσαρα με χρήση λέξης-κλειδί, ROT13, PLAYFAIR, affine cipher Πολυαλφαβητικά: κάθε γράμμα του αρχικού κειμένου μπορεί να κωδικοποιείται με διαφορετικό τρόπο σε διαφορετικά σημεία του κειμένου Κρυπτοσυστήματα: Vigenère, AUTOCLAVE, Hill, rotor, Enigma, Vernam (one-time pad), Base-64, κρυπτοσυστήματα πακέτου (block ciphers: DES, AES), κρυπτοσυστήματα ροής (stream ciphers), Σχολή ΗΜΜΥ ΕΜΠ 4 / 42

Κρυπτοσύστημα Καίσαρα Caesar cipher: ολίσθηση κατά 3 (γενικότερα κατά k) Αρχικό: A B C D E F G H I J K L M N O P Q R S T U Κρυπτ/νο: D E F G H I J K L M N O P Q R S T U V W X Τα κείμενα και το κλειδί αποτελούνται από κεφαλαία γράμματα της Αγγλικής γλώσσας (χωρίς κενά), τα οποία αντιστοιχίζουμε στους αριθμούς από 0 έως 25 Παράδειγμα CRYPTOGRAPHY FUBSWRJUSKV Σχολή ΗΜΜΥ ΕΜΠ 5 / 42

Κρυπτοσύστημα Καίσαρα Caesar cipher: ολίσθηση κατά 3 (γενικότερα κατά k) Αρχικό: A B C D E F G H I J K L M N O P Q R S T U Κρυπτ/νο: D E F G H I J K L M N O P Q R S T U V W X Τα κείμενα και το κλειδί αποτελούνται από κεφαλαία γράμματα της Αγγλικής γλώσσας (χωρίς κενά), τα οποία αντιστοιχίζουμε στους αριθμούς από 0 έως 25 Παράδειγμα CRYPTOGRAPHY FUBSWRJUSKV Κρυπτανάλυση Εύκολη αν το αρχικό κείμενο ανήκει σε φυσική γλώσσα: δοκιμές, συχνότητες εμφάνισης (Αδύνατη για τελείως τυχαίο αρχικό κείμενο) Σχολή ΗΜΜΥ ΕΜΠ 5 / 42

Μέτρηση συχνοτήτων Σχολή ΗΜΜΥ ΕΜΠ 6 / 42

Κρυπτοσύστημα Καίσαρα με κλειδί Keyword-CAESAR cipher Κλειδί: ακέραιος k [0, 25] (πχ k = 7) και κωδική λέξη (πχ TENFOUR) Αρχικό: A B C D E F G H I J K L M N O P Q R S T U Κρυπτ/νο: P S V W X Y Z T E N F O U R A B C D G H I Σχολή ΗΜΜΥ ΕΜΠ 7 / 42

Κρυπτοσύστημα Καίσαρα με κλειδί Keyword-CAESAR cipher Κλειδί: ακέραιος k [0, 25] (πχ k = 7) και κωδική λέξη (πχ TENFOUR) Αρχικό: A B C D E F G H I J K L M N O P Q R S T U Κρυπτ/νο: P S V W X Y Z T E N F O U R A B C D G H I Κρυπτανάλυση Το πλήθος των δοκιμών αυξάνεται πάρα πολύ Αλλά με μέτρηση συχνοτήτων είναι εφικτή, για αρχικό κείμενο σε φυσική γλώσσα Άμυνα: με χρήση ομοφώνων (homophones) Σχολή ΗΜΜΥ ΕΜΠ 7 / 42

Κρυπτανάλυση μονοαλφαβητικού συστήματος Δίνεται το κρυπτοκείμενο: Z YMVBRFAQ RJZR KZI ZWFBV ZR RJFB BRZUV FB EJZR FB RJV BASMRFAQ, VFRJVW HAW ZQ FQCFDFCMZS MBVW AW HAW BANFVRI ZB Z EJASV? RJVWV ZWV RVNJQFNZS BASMRFAQB -CVNVQRWZSFGVC BVWDFNVB, VDVWILACI JABRFQU RJVFW AEQ CZRZ, VQNWIPRVC CZRZ, VDVWILACI RWMBRFQU PWADFCVWB NSABV RA RJVK RJZR JVSP RJVK EFRJ VQNWIPRVC CZRZ BVWDFNVB, ZQC BA AQ Σχολή ΗΜΜΥ ΕΜΠ 8 / 42

Κρυπτανάλυση μονοαλφαβητικού συστήματος Δίνεται το κρυπτοκείμενο: Z YMVBRFAQ RJZR KZI ZWFBV ZR RJFB BRZUV FB EJZR FB RJV BASMRFAQ, VFRJVW HAW ZQ FQCFDFCMZS MBVW AW HAW BANFVRI ZB Z EJASV? RJVWV ZWV RVNJQFNZS BASMRFAQB -CVNVQRWZSFGVC BVWDFNVB, VDVWILACI JABRFQU RJVFW AEQ CZRZ, VQNWIPRVC CZRZ, VDVWILACI RWMBRFQU PWADFCVWB NSABV RA RJVK RJZR JVSP RJVK EFRJ VQNWIPRVC CZRZ BVWDFNVB, ZQC BA AQ Πώς θα το κρυπταναλύσουμε; Σχολή ΗΜΜΥ ΕΜΠ 8 / 42

Κρυπτανάλυση μονοαλφαβητικού συστήματος Δίνεται το κρυπτοκείμενο: Z YMVBRFAQ RJZR KZI ZWFBV ZR RJFB BRZUV FB EJZR FB RJV BASMRFAQ, VFRJVW HAW ZQ FQCFDFCMZS MBVW AW HAW BANFVRI ZB Z EJASV? RJVWV ZWV RVNJQFNZS BASMRFAQB -CVNVQRWZSFGVC BVWDFNVB, VDVWILACI JABRFQU RJVFW AEQ CZRZ, VQNWIPRVC CZRZ, VDVWILACI RWMBRFQU PWADFCVWB NSABV RA RJVK RJZR JVSP RJVK EFRJ VQNWIPRVC CZRZ BVWDFNVB, ZQC BA AQ Πώς θα το κρυπταναλύσουμε; Σχολή ΗΜΜΥ ΕΜΠ 8 / 42

Μονοαλφαβητικό σύστημα, κρυπτανάλυση με μέτρηση συχνοτήτων Σχολή ΗΜΜΥ ή/και ΕΜΠ δοκιμές 9 / 42 Affine Cipher Key: (a, k) τω gcd(a, 26) = 1 Enc(x) = a x + k mod 26 Dec(y) = a 1 (y k) mod 26 Ορθότητα αποκρυπτογράφησης: y ax + k y k ax a 1 (y k) x (mod 26) a 1 Z 26 (== {0,, 25}): πολλαπλ/κός αντίστροφος του a modulo 26, δηλ a a 1 mod 26 = 1 Yπάρχει (και είναι μοναδικός) ανν gcd(a, 26) = 1 κρυπτογράφηση 1-1 : ax 1 + k ax 2 + k (mod 26) a(x 1 x 2 ) 0 (mod 26) 26 a(x 1 x 2 ) 26 x 1 x 2 x 1 = x 2, επειδή gcd(26, a) = 1

Κρυπτοσύστημα Vigenère Σύστημα μεταβλητής ολίσθησης Η ολίσθηση καθορίζεται από το Σχολή ΗΜΜΥ κλειδί, ΕΜΠ και επαναλαμβάνεται περιοδικά 10 / 42

Κρυπτοσύστημα Vigenère Ορισμός K = (k 0, k 1,, k r 1 ): κλειδί, rx χαρακτήρων X = (x 0, x 1,, x n 1 ): αρχικό κείμενο (plaintext), n χαρακτήρων C = (c 0, c 1,, c n 1 ): κρυπτοκείμενο (ciphertext), n χαρακτήρων c i = E K (x i ) = (x i + k i mod r ) mod 26, 0 i n 1: κρυπτογράφηση x i = D K (c i ) = (c i k i mod r ) mod 26, 0 i n 1: αποκρυπτογράφηση Κρυπτανάλυση Η κρυπτανάλυση συνίσταται στην εύρεση του μήκους του κλειδιού πρώτα και κατόπιν στην εύρεση του ίδιου του κλειδιού Σχολή ΗΜΜΥ ΕΜΠ 11 / 42

Κρυπτανάλυση Vigenère Εύρεση μήκους κλειδιού: 2 τρόποι Kasiski test: εύρεση patterns που επαναλαμβάνονται Πιθανή περίοδος: ΜΚΔ των αποστάσεων μεταξύ επαναλαμβανόμενων patterns Βασική ιδέα: ίδιες λέξεις του αρχικού κειμένου σε απόσταση πολλαπλάσια του r (μήκος κλειδιού), κωδικοποιούνται με ίδιο τρόπο Index of Coincidence (Δείκτης Σύμπτωσης): εκφράζει την πιθανότητα δύο τυχαίοι χαρακτήρες ενός κειμένου να ταυτίζονται Η τιμή του σε κείμενο φυσικής γλώσσας διαφέρει σημαντικά από την τιμή του σε τυχαίο κείμενο Σχολή ΗΜΜΥ ΕΜΠ 12 / 42

Κρυπτανάλυση Vigenère με Kasiski test ZHRULIXEFHCMTDRDKTESBFPIRSVQZXULVWPKYWVWOWATCUPVIICOLEKAY WOEOTURBBCOENJWSMRUJMCIGKVCZMBUHTOTLSSMGSHULEOTURBBIOAVJQ KNPHLLACNWPWTWVWOWATPKHZGCGHYAIIRQJMCIGKVCZHHPPTOTLZVZYHV SDQZHBXAAGCELMQIE Σχολή ΗΜΜΥ ΕΜΠ 13 / 42

Κρυπτανάλυση Vigenère με Kasiski test ZHRULIXEFHCMTDRDKTESBFPIRSVQZXULVWPKYWVWOWATCUPVIICOLEKAY WOEOTURBBCOENJWSMRUJMCIGKVCZMBUHTOTLSSMGSHULEOTURBBIOAVJQ KNPHLLACNWPWTWVWOWATPKHZGCGHYAIIRQJMCIGKVCZHHPPTOTLZVZYHV SDQZHBXAAGCELMQIE Βασική ιδέα: το μήκος του κλειδιού θα πρέπει να διαιρεί το 42 (= απόσταση μεταξύ των δύο εμφανίσεων του TURBB) Βρείτε και άλλες επαναλήψεις Ποιος είναι ο ΜΚΔ; Σχολή ΗΜΜΥ ΕΜΠ 14 / 42

Κρυπτανάλυση Vigenère Δείκτης Σύμπτωσης Σε κείμενο X, όπου f i το πλήθος εμφανίσεων του γράμματος i: IC(X) = 25 ( fi i=0 2 Σημαντική ιδιότητα: αναλλοίωτος σε ολίσθηση του κειμένου κατά k ) ( n 2) = 25 i=0 f i (f i 1) n(n 1) Σε άγνωστο κείμενο αγγλικής X: E[IC(X)] = 25 (p i : η στατιστική συχνότητα του γράμματος i) i=0 p2 i Σε εντελώς τυχαίο κείμενο με αγγλικούς χαρακτήρες: E[IC(X)] = 25 ( 1 ) 2 i=0 26 = 1 26 = 0038 = 0065 Μπορούμε με μεγάλη πιθανότητα να ξεχωρίσουμε ένα τυχαίο κείμενο με αγγλικούς χαρακτήρες από ένα κανονικό αγγλικό κείμενο Σχολή ΗΜΜΥ ΕΜΠ 15 / 42

Κρυπτανάλυση Vigenère Μέθοδος για εύρεση r με χρήση IC 1ος τρόπος: Δοκιμή για r = 1, 2, Χωρίζουμε το κρυπτοκείμενο σε r στήλες: στήλη C i = {c i+jr 0 j n r 1} Σχολή ΗΜΜΥ ΕΜΠ 16 / 42

Κρυπτανάλυση Vigenère Μέθοδος για εύρεση r με χρήση IC 1ος τρόπος: Δοκιμή για r = 1, 2, Χωρίζουμε το κρυπτοκείμενο σε r στήλες: στήλη C i = {c i+jr 0 j n r 1} Υπολογισμός IC(C i ) Αν έχουμε βρει σωστό μήκος, τιμές κοντά στο 0065, αλλιώς συμπεριφορά τείνει προς τυχαίο κείμενο (συνήθως < 0050 ακόμη και σε σχετικά μικρά κείμενα) 2ος τρόπος: χρήση του τύπου r I eng I rand I text I rand όπου eng = 0065, I rand = 0038 και I text ο δείκτης σύμπτωσης του κρυπτοκειμένου Σχολή ΗΜΜΥ ΕΜΠ 16 / 42

Κρυπτανάλυση Vigenère: εύρεση κλειδιού 1ος τρόπος: στατιστική κρυπτανάλυση στις στήλες με βάση τη συχνότητα εμφάνισης των γραμμάτων, διγραμμάτων, κλπ της αγγλικής (ή γενικότερα της γλώσσας του αρχικού κειμένου) Σχολή ΗΜΜΥ ΕΜΠ 17 / 42

Κρυπτανάλυση Vigenère: εύρεση κλειδιού 1ος τρόπος: στατιστική κρυπτανάλυση στις στήλες με βάση τη συχνότητα εμφάνισης των γραμμάτων, διγραμμάτων, κλπ της αγγλικής (ή γενικότερα της γλώσσας του αρχικού κειμένου) 2ος τρόπος: βρίσκουμε το σχετικό shift μεταξύ της πρώτης στήλης και της m-οστής στήλης (για 2 m r) Έχοντας τα σχετικά shift της πρώτης στήλης με τις υπόλοιπες είμαστε ουσιαστικά αντιμέτωποι με μονοαλφαβητικό σύστημα Σχολή ΗΜΜΥ ΕΜΠ 17 / 42

Κρυπτανάλυση Vigenère: εύρεση κλειδιού 1ος τρόπος: στατιστική κρυπτανάλυση στις στήλες με βάση τη συχνότητα εμφάνισης των γραμμάτων, διγραμμάτων, κλπ της αγγλικής (ή γενικότερα της γλώσσας του αρχικού κειμένου) 2ος τρόπος: βρίσκουμε το σχετικό shift μεταξύ της πρώτης στήλης και της m-οστής στήλης (για 2 m r) Έχοντας τα σχετικά shift της πρώτης στήλης με τις υπόλοιπες είμαστε ουσιαστικά αντιμέτωποι με μονοαλφαβητικό σύστημα Δοκιμάζουμε ολισθήσεις της πρώτης στήλης κατά j = 1, 2,, 25 Χρήση δείκτη αμοιβαίας σύμπτωσης μεταξύ της ολισθημένης πρώτης στήλης και της m-οστής στήλης Σχολή ΗΜΜΥ ΕΜΠ 17 / 42

Δείκτης Αμοιβαίας Σύμπτωσης (Index of Mutual Coincidence IMC) IMC(C 1 j, C m ) = 25 i=0 f (1 j) (i)f (m) (i) C 1 C m f (1) (i): # εμφανίσεων χαρακτήρα i στην στήλη 1 f (1 j) (i) = f (1) ((i j) mod 26): # εμφανίσεων χαρακτήρα i στην στήλη 1, μετά από ολίσθηση της στήλης κατά j Σχολή ΗΜΜΥ ΕΜΠ 18 / 42

Δείκτης Αμοιβαίας Σύμπτωσης (Index of Mutual Coincidence IMC) IMC(C 1 j, C m ) = 25 i=0 f (1 j) (i)f (m) (i) C 1 C m f (1) (i): # εμφανίσεων χαρακτήρα i στην στήλη 1 f (1 j) (i) = f (1) ((i j) mod 26): # εμφανίσεων χαρακτήρα i στην στήλη 1, μετά από ολίσθηση της στήλης κατά j Aντιστοιχεί στην πιθανότητα δύο τυχαίοι χαρακτήρες από δύο κείμενα να ταυτίζονται Παρόμοιες ιδιότητες με Δείκτη Σύμπτωσης: η τιμή του διαφέρει σημαντικά μεταξύ αγγλικών κειμένων (ή προερχόμενων από αγγλικά κείμενα, με την ίδια ολίσθηση) και τυχαίων κειμένων (ή προερχόμενων από αγγλικό κείμενο, με διαφορετική ολίσθηση) Σχολή ΗΜΜΥ ΕΜΠ 18 / 42

Μπορούμε να βελτιώσουμε το Vigenère; Αυξάνοντας το μήκος του κλειδιού; Ιδανικά: κλειδί ίσου μήκους με αρχικό κείμενο Αυτή είναι ουσιαστικά μια μορφή του περίφημου One Time Pad (Vernam, 1917) Σχολή ΗΜΜΥ ΕΜΠ 19 / 42

Τέλεια μυστικότητα (Shannon, 1949) Ας θεωρήσουμε το αρχικό κείμενο M, το κλειδί K και το κρυπτοκείμενο C σαν τυχαίες μεταβλητές που παίρνουν τιμές αντίστοιχα από τα σύνολα M, K, C Οι M και K είναι ανεξάρτητες, ενώ η C εξαρτάται από τις άλλες δύο Ο ορισμός του Shannon x M, y C : Pr [M = x C = y] = Pr [M = x] M M,K K M M Σχολή ΗΜΜΥ ΕΜΠ 20 / 42

Τέλεια μυστικότητα (Shannon, 1949) Ας θεωρήσουμε το αρχικό κείμενο M, το κλειδί K και το κρυπτοκείμενο C σαν τυχαίες μεταβλητές που παίρνουν τιμές αντίστοιχα από τα σύνολα M, K, C Οι M και K είναι ανεξάρτητες, ενώ η C εξαρτάται από τις άλλες δύο Ο ορισμός του Shannon x M, y C : Pr [M = x C = y] = Pr [M = x] M M,K K M M Το κρυπτοκείμενο δεν παρέχει καμμία πληροφορία για το αρχικό κείμενο (a posteriori πληροφορία ίδια με την a priori) Σχολή ΗΜΜΥ ΕΜΠ 20 / 42

Παράδειγμα Έστω το παρακάτω κρυπτοσύστημα με M = {0, 1}, C = {A, B}, K = {K 1, K 2 }: K 1 K 2 0 A B 1 B A με Pr[K 1 ] = 1 3, Pr[K 2] = 2 3 Σχολή ΗΜΜΥ ΕΜΠ 21 / 42

Παράδειγμα Έστω το παρακάτω κρυπτοσύστημα με M = {0, 1}, C = {A, B}, K = {K 1, K 2 }: K 1 K 2 0 A B 1 B A με Pr[K 1 ] = 1 3, Pr[K 2] = 2 3 Έχει την ιδιότητα της τέλειας μυστικότητας; Σχολή ΗΜΜΥ ΕΜΠ 21 / 42

Random SHIFT Cipher Ορισμός M = K = C = {0,, 25} Κρυπτογράφηση: C = enc(m, K) = M + K mod 26 Κατανομή K K: Pr[K = i] = 1 26, 0 i 25 Σχολή ΗΜΜΥ ΕΜΠ 22 / 42

Random SHIFT Cipher Ορισμός M = K = C = {0,, 25} Κρυπτογράφηση: C = enc(m, K) = M + K mod 26 Κατανομή K K: Pr[K = i] = 1 26, 0 i 25 1 y C : Pr[C = y] = x M Pr[M = x] Pr[K = y x mod 26] = 1 1 26 x M Pr[M = x] = 26 Σχολή ΗΜΜΥ ΕΜΠ 22 / 42

Random SHIFT Cipher Ορισμός M = K = C = {0,, 25} Κρυπτογράφηση: C = enc(m, K) = M + K mod 26 Κατανομή K K: Pr[K = i] = 1 26, 0 i 25 1 y C : Pr[C = y] = x M Pr[M = x] Pr[K = y x mod 26] = 1 1 Pr[M = x] = 2 Pr[M = x C = y] = 26 x M Pr[C=y M=x] Pr[M=x] Pr[C=y] 26 Σχολή ΗΜΜΥ ΕΜΠ 22 / 42

Random SHIFT Cipher Ορισμός M = K = C = {0,, 25} Κρυπτογράφηση: C = enc(m, K) = M + K mod 26 Κατανομή K K: Pr[K = i] = 1 26, 0 i 25 1 y C : Pr[C = y] = x M Pr[M = x] Pr[K = y x mod 26] = 1 1 Pr[M = x] = 2 Pr[M = x C = y] = 26 x M Pr[C=y M=x] Pr[M=x] Pr[C=y] 3 Από (1) και (2): x M, y C : Pr[M = x C = y] = 1 26 Pr[M=x] 1 = Pr[M = x] 26 26 Σχολή ΗΜΜΥ ΕΜΠ 22 / 42

Random SHIFT Cipher Ορισμός M = K = C = {0,, 25} Κρυπτογράφηση: C = enc(m, K) = M + K mod 26 Κατανομή K K: Pr[K = i] = 1 26, 0 i 25 1 y C : Pr[C = y] = x M Pr[M = x] Pr[K = y x mod 26] = 1 1 Pr[M = x] = 2 Pr[M = x C = y] = 26 x M Pr[C=y M=x] Pr[M=x] Pr[C=y] 3 Από (1) και (2): x M, y C : Pr[M = x C = y] = 1 26 Pr[M=x] 1 = Pr[M = x] 26 Τέλεια μυστικότητα! (η απόδειξη επεκτείνεται για οποιοδήποτε μέγεθος κειμένου) 26 Σχολή ΗΜΜΥ ΕΜΠ 22 / 42

Ισοδύναμες Συνθήκες Τέλειας Μυστικότητας 1 x M, y C : Pr[C = y] = Pr[C = y M = x] δηλαδή, η πιθανότητα εμφάνισης ενός κρυπτοκειμένου είναι ανεξάρτητη από το αρχικό κείμενο Σχολή ΗΜΜΥ ΕΜΠ 23 / 42

Ισοδύναμες Συνθήκες Τέλειας Μυστικότητας 1 x M, y C : Pr[C = y] = Pr[C = y M = x] δηλαδή, η πιθανότητα εμφάνισης ενός κρυπτοκειμένου είναι ανεξάρτητη από το αρχικό κείμενο 2 x 1, x 2 M, y C : Pr[C = y M = x 1 ] = Pr[C = y M = x 2 ] (συνθήκη χρήσιμη για ανταπόδειξη) Σχολή ΗΜΜΥ ΕΜΠ 23 / 42

Τέλεια μυστικότητα: μήκος κλειδιού μήκος κειμένου Αναγκαία συνθήκη για τέλεια μυστικότητα: M C K Σχολή ΗΜΜΥ ΕΜΠ 24 / 42

Τέλεια μυστικότητα: μήκος κλειδιού μήκος κειμένου Αναγκαία συνθήκη για τέλεια μυστικότητα: M C K M C : Από απαίτηση για κρυπτογράφηση 1-1 Σχολή ΗΜΜΥ ΕΜΠ 24 / 42

Τέλεια μυστικότητα: μήκος κλειδιού μήκος κειμένου Αναγκαία συνθήκη για τέλεια μυστικότητα: M C K M C : Από απαίτηση για κρυπτογράφηση 1-1 C K : Αν C > K, x M, y C, Pr[C = y M = x] = 0 Pr[C = y] Σχολή ΗΜΜΥ ΕΜΠ 24 / 42

Τέλεια μυστικότητα όταν M = C = K Θεώρημα Έστω κρυπτοσύστημα με M = C = K Το σύστημα έχει τέλεια μυστικότητα ανν ισχύουν τα εξής: (1) για κάθε x M, y C, υπάρχει μοναδικό k K, ώστε enc k (x) = y (2) κάθε κλειδί επιλέγεται με την ίδια πιθανότητα, συγκεκριμένα 1/ K Σχολή ΗΜΜΥ ΕΜΠ 25 / 42

Τέλεια μυστικότητα όταν M = C = K Θεώρημα Έστω κρυπτοσύστημα με M = C = K Το σύστημα έχει τέλεια μυστικότητα ανν ισχύουν τα εξής: (1) για κάθε x M, y C, υπάρχει μοναδικό k K, ώστε enc k (x) = y (2) κάθε κλειδί επιλέγεται με την ίδια πιθανότητα, συγκεκριμένα 1/ K Απόδειξη (συνοπτικά): : Παραβίαση της (1) οδηγεί σε μηδενική δεσμευμένη πιθανότητα κάποιου y με δοσμένο x Από την (1) και αρχή Περιστερώνα και ιδιότητα 1-1 της enc Ki : y C, k 1, k 2 K, x 1, x 2 M : enc k1 (x 1 ) = y, enc k2 (x 2 ) = y Σχολή ΗΜΜΥ ΕΜΠ 25 / 42

Τέλεια μυστικότητα όταν M = C = K Θεώρημα Έστω κρυπτοσύστημα με M = C = K Το σύστημα έχει τέλεια μυστικότητα ανν ισχύουν τα εξής: (1) για κάθε x M, y C, υπάρχει μοναδικό k K, ώστε enc k (x) = y (2) κάθε κλειδί επιλέγεται με την ίδια πιθανότητα, συγκεκριμένα 1/ K Απόδειξη (συνοπτικά): : Παραβίαση της (1) οδηγεί σε μηδενική δεσμευμένη πιθανότητα κάποιου y με δοσμένο x Από την (1) και αρχή Περιστερώνα και ιδιότητα 1-1 της enc Ki : y C, k 1, k 2 K, x 1, x 2 M : enc k1 (x 1 ) = y, enc k2 (x 2 ) = y Με χρήση της δεύτερης Ισοδύναμης Συνθήκης προκύπτει ότι τα k 1, k 2 είναι ισοπίθανα Σχολή ΗΜΜΥ ΕΜΠ 25 / 42

Τέλεια μυστικότητα όταν M = C = K Θεώρημα Έστω κρυπτοσύστημα με M = C = K Το σύστημα έχει τέλεια μυστικότητα ανν ισχύουν τα εξής: (1) για κάθε x M, y C, υπάρχει μοναδικό k K, ώστε enc k (x) = y (2) κάθε κλειδί επιλέγεται με την ίδια πιθανότητα, συγκεκριμένα 1/ K Απόδειξη (συνοπτικά): : Παραβίαση της (1) οδηγεί σε μηδενική δεσμευμένη πιθανότητα κάποιου y με δοσμένο x Από την (1) και αρχή Περιστερώνα και ιδιότητα 1-1 της enc Ki : y C, k 1, k 2 K, x 1, x 2 M : enc k1 (x 1 ) = y, enc k2 (x 2 ) = y Με χρήση της δεύτερης Ισοδύναμης Συνθήκης προκύπτει ότι τα k 1, k 2 είναι ισοπίθανα : άμεση, με χρήση δεύτερης Ισοδύναμης Συνθήκης Σχολή ΗΜΜΥ ΕΜΠ 25 / 42

One Time Pad (Vernam, 1917) Ορισμός Plaintext: x = (x 0, x 1,, x n 1 ), x i {0, 1} Key: k = (k 0, k 1,, k n 1 ), k i {0, 1} Ciphertext: y = (y 0, y 1,, y n 1 ), y i {0, 1} Κρυπτογράφηση: y i = x i k i = x i + k i mod 2 Αποκρυπτογράφηση: x i = y i k i Σχολή ΗΜΜΥ ΕΜΠ 26 / 42

One Time Pad (Vernam, 1917) Ορισμός Plaintext: x = (x 0, x 1,, x n 1 ), x i {0, 1} Key: k = (k 0, k 1,, k n 1 ), k i {0, 1} Ciphertext: y = (y 0, y 1,, y n 1 ), y i {0, 1} Κρυπτογράφηση: y i = x i k i = x i + k i mod 2 Αποκρυπτογράφηση: x i = y i k i Ασφάλεια: αν για κάθε bit k i του κλειδιού ισχύει Pr[k i = 0] = Pr[k i = 1] = 1/2, τότε το κρυπτοσύστημα έχει τέλεια μυστικότητα (γιατί;) Σχολή ΗΜΜΥ ΕΜΠ 26 / 42

One Time Pad (Vernam, 1917) Ορισμός Plaintext: x = (x 0, x 1,, x n 1 ), x i {0, 1} Key: k = (k 0, k 1,, k n 1 ), k i {0, 1} Ciphertext: y = (y 0, y 1,, y n 1 ), y i {0, 1} Κρυπτογράφηση: y i = x i k i = x i + k i mod 2 Αποκρυπτογράφηση: x i = y i k i Ασφάλεια: αν για κάθε bit k i του κλειδιού ισχύει Pr[k i = 0] = Pr[k i = 1] = 1/2, τότε το κρυπτοσύστημα έχει τέλεια μυστικότητα (γιατί;) Άσκηση: Ποιό πρόβλημα ασφάλειας εμφανίζεται αν χρησιμοποιήσουμε το κλειδί και δεύτερη φορά; Σχολή ΗΜΜΥ ΕΜΠ 26 / 42

Πρώτα Συμπεράσματα Η τέλεια μυστικότητα είναι εφικτή Η παραγωγή και η ανταλλαγή του κλειδιού όμως είναι πρακτικά ασύμφορες (τεράστιο μήκος, μία χρήση μόνο) Ενδιαφερόμαστε για πρακτικά εφικτές λύσεις Σχολή ΗΜΜΥ ΕΜΠ 27 / 42

Unicity Distance (Shannon, 1949) Είναι εφικτό να έχουμε ένα επίπεδο πληροφοριοθεωρητικής ασφάλειας, ακόμη και με μικρότερο κλειδί, αν το κλειδί είναι αρκετά μεγάλο σε σχέση με το κρυπτοκείμενο Συγκεκριμένα: Σχολή ΗΜΜΥ ΕΜΠ 28 / 42

Unicity Distance (Shannon, 1949) Είναι εφικτό να έχουμε ένα επίπεδο πληροφοριοθεωρητικής ασφάλειας, ακόμη και με μικρότερο κλειδί, αν το κλειδί είναι αρκετά μεγάλο σε σχέση με το κρυπτοκείμενο Συγκεκριμένα: Σε ένα κρυπτοκείμενο c μπορεί να αντιστοιχούν τουλάχιστον δύο αρχικά κείμενα (άρα και αντίστοιχα κλειδιά) Ο κρυπταναλυτής χρειάζεται επιπλέον υποθέσεις Τα μη γνήσια κλειδιά λέγονται κίβδηλα (spurious) Σχολή ΗΜΜΥ ΕΜΠ 28 / 42

Unicity Distance (Shannon, 1949) Είναι εφικτό να έχουμε ένα επίπεδο πληροφοριοθεωρητικής ασφάλειας, ακόμη και με μικρότερο κλειδί, αν το κλειδί είναι αρκετά μεγάλο σε σχέση με το κρυπτοκείμενο Συγκεκριμένα: Σε ένα κρυπτοκείμενο c μπορεί να αντιστοιχούν τουλάχιστον δύο αρχικά κείμενα (άρα και αντίστοιχα κλειδιά) Ο κρυπταναλυτής χρειάζεται επιπλέον υποθέσεις Τα μη γνήσια κλειδιά λέγονται κίβδηλα (spurious) Unicity Distance: το μήκος κειμένου πέρα από το οποίο εξαφανίζονται τα κίβδηλα κλειδιά Σχολή ΗΜΜΥ ΕΜΠ 28 / 42

Unicity Distance (Shannon, 1949) Είναι εφικτό να έχουμε ένα επίπεδο πληροφοριοθεωρητικής ασφάλειας, ακόμη και με μικρότερο κλειδί, αν το κλειδί είναι αρκετά μεγάλο σε σχέση με το κρυπτοκείμενο Συγκεκριμένα: Σε ένα κρυπτοκείμενο c μπορεί να αντιστοιχούν τουλάχιστον δύο αρχικά κείμενα (άρα και αντίστοιχα κλειδιά) Ο κρυπταναλυτής χρειάζεται επιπλέον υποθέσεις Τα μη γνήσια κλειδιά λέγονται κίβδηλα (spurious) Unicity Distance: το μήκος κειμένου πέρα από το οποίο εξαφανίζονται τα κίβδηλα κλειδιά Παράδειγμα: στο (απλό) Shift Cipher, το ίδιο κρυπτοκείμενο CTGPC αντιστοιχεί στα αρχικά κείμενα ARENA και RIVER με διαφορετικό κλειδί (shift number) Αν αυξήσουμε το κρυπτοκείμενο, πιθανότατα μόνο ένα από τα δύο κλειδιά θα επιβιώσει Σχολή ΗΜΜΥ ΕΜΠ 28 / 42

Unicity Distance (Shannon, 1949) Η αναμενόμενη τιμή της μπορεί να υπολογιστεί με βάση την εντροπία του κλειδιού και τον πλεονασμό (redundancy) της φυσικής γλώσσας: U = H(K) D = log( K ) D (για ισοπίθανα κλειδιά) D: ο πλεονασμός της φυσικής γλώσσας, πχ για Αγγλικά D 32 bits/character Σχολή ΗΜΜΥ ΕΜΠ 29 / 42

Unicity Distance (Shannon, 1949) Η αναμενόμενη τιμή της μπορεί να υπολογιστεί με βάση την εντροπία του κλειδιού και τον πλεονασμό (redundancy) της φυσικής γλώσσας: U = H(K) D = log( K ) D (για ισοπίθανα κλειδιά) D: ο πλεονασμός της φυσικής γλώσσας, πχ για Αγγλικά D 32 bits/character Έτσι, για Αγγλικά και Shift Cipher, έχουμε U 2 χαρακτήρες, για Vigènere U 147 m χαρακτήρες, με m το μήκος του κλειδιού Σχολή ΗΜΜΥ ΕΜΠ 29 / 42

Unicity Distance (Shannon, 1949) Η αναμενόμενη τιμή της μπορεί να υπολογιστεί με βάση την εντροπία του κλειδιού και τον πλεονασμό (redundancy) της φυσικής γλώσσας: U = H(K) D = log( K ) D (για ισοπίθανα κλειδιά) D: ο πλεονασμός της φυσικής γλώσσας, πχ για Αγγλικά D 32 bits/character Έτσι, για Αγγλικά και Shift Cipher, έχουμε U 2 χαρακτήρες, για Vigènere U 147 m χαρακτήρες, με m το μήκος του κλειδιού Για (μονοαλφαβητικό) Subsitution Cipher (κλειδιά είναι οι 26! μεταθέσεις του αλφαβήτου), έχουμε U 28: πράγματι, ένας έμπειρος κρυπτογράφος μπορεί να σπάσει το Subsitution Cipher αν διαθέτει περίπου 28 χαρακτήρες κρυπτοκειμένου Σχολή ΗΜΜΥ ΕΜΠ 29 / 42

Επίπεδα ασφάλειας Τέλεια (πληροφοριοθεωρητική, information theoretic): ανεξάρτητη της ισχύος του αντιπάλου, καμμία νέα πληροφορία δεν μπορεί να προκύψει από την κρυπτανάλυση Σχολή ΗΜΜΥ ΕΜΠ 30 / 42

Επίπεδα ασφάλειας Τέλεια (πληροφοριοθεωρητική, information theoretic): ανεξάρτητη της ισχύος του αντιπάλου, καμμία νέα πληροφορία δεν μπορεί να προκύψει από την κρυπτανάλυση Στατιστική: ανεξαρτήτως της ισχύος του αντιπάλου, η πιθανότητα αποκρυπτογράφησης είναι πολύ μικρή (αμελητέα) Σχολή ΗΜΜΥ ΕΜΠ 30 / 42

Επίπεδα ασφάλειας Τέλεια (πληροφοριοθεωρητική, information theoretic): ανεξάρτητη της ισχύος του αντιπάλου, καμμία νέα πληροφορία δεν μπορεί να προκύψει από την κρυπτανάλυση Στατιστική: ανεξαρτήτως της ισχύος του αντιπάλου, η πιθανότητα αποκρυπτογράφησης είναι πολύ μικρή (αμελητέα) Υπολογιστική: οποιοσδήποτε αντίπαλος με λογική υπολογιστική ισχύ (συνήθως πολυωνυμικού χρόνου) έχει αμελητέα πιθανότητα να σπάσει το κρυπτοσύστημα Σχολή ΗΜΜΥ ΕΜΠ 30 / 42

Υπολογιστική ασφάλεια Semantic Security Είναι το αντίστοιχο της κατά Shannon τέλειας μυστικότητας, όταν ο αντίπαλος είναι πολυωνυμικά φραγμένος Σχολή ΗΜΜΥ ΕΜΠ 31 / 42

Υπολογιστική ασφάλεια Semantic Security Είναι το αντίστοιχο της κατά Shannon τέλειας μυστικότητας, όταν ο αντίπαλος είναι πολυωνυμικά φραγμένος Ο αντίπαλος δεν μπορεί αποδοτικά να μάθει τίποτε χρήσιμο από το κρυπτοκείμενο παρά μόνο με αμελητέα πιθανότητα Σχολή ΗΜΜΥ ΕΜΠ 31 / 42

Υπολογιστική ασφάλεια Semantic Security Είναι το αντίστοιχο της κατά Shannon τέλειας μυστικότητας, όταν ο αντίπαλος είναι πολυωνυμικά φραγμένος Ο αντίπαλος δεν μπορεί αποδοτικά να μάθει τίποτε χρήσιμο από το κρυπτοκείμενο παρά μόνο με αμελητέα πιθανότητα Εάν διαθέτει δύο αρχικά κείμενα, και του δώσουν το κρυπτοκείμενο ενός από αυτά, δεν μπορεί αποδοτικά να βρει ποιο είναι με πιθανότητα σημαντικά μεγαλύτερη του 1/2 Σχολή ΗΜΜΥ ΕΜΠ 31 / 42

Υπολογιστική ασφάλεια Semantic Security Είναι το αντίστοιχο της κατά Shannon τέλειας μυστικότητας, όταν ο αντίπαλος είναι πολυωνυμικά φραγμένος Ο αντίπαλος δεν μπορεί αποδοτικά να μάθει τίποτε χρήσιμο από το κρυπτοκείμενο παρά μόνο με αμελητέα πιθανότητα Εάν διαθέτει δύο αρχικά κείμενα, και του δώσουν το κρυπτοκείμενο ενός από αυτά, δεν μπορεί αποδοτικά να βρει ποιο είναι με πιθανότητα σημαντικά μεγαλύτερη του 1/2 Για κρυπτογραφία δημοσίου κλειδιού αυτό ισοδυναμεί με IND-CPA ασφάλεια προϋποθέτει χρήση τυχαιότητας στην κρυπτογράφηση Σχολή ΗΜΜΥ ΕΜΠ 31 / 42

enc z (x) = x z = x + z mod 2 dec z (y) = y z = y + z mod 2 Σχολή ΗΜΜΥ ΕΜΠ 32 / 42 Κρυπτοσυστήματα ροής / ρεύματος (stream ciphers) Παραγωγή ακολουθίας κλειδιών με βάση κάποιο αρχικό κλειδί, και (πιθανά) το plaintext Ορισμός Plaintext: x 0, x 1,, x n 1 Ciphertext: y 0, y 1,, y n 1 Αρχικό κλειδί: k Βοηθητικές συναρτήσεις: f i, 0 i < m Key stream: z i = f i mod m (k, x 0,, x i 1, z 0,, z i 1 ) Κρυπτογράφηση: y i = enc zi (x i ) Αποκρυπτογράφηση: x i = dec zi (y i ) Πχ για δυαδικές ακολουθίες:

Κρυπτοσυστήματα ροής / ρεύματος (stream ciphers) Διακρίνονται σε synchronous (το κλειδί δεν εξαρτάται από το plaintext), και asynchronous (λέγονται και self-synchronizing) Επίσης σε periodic ( i : z i+d = z i, όπου d η περίοδος) και aperiodic Παράδειγμα: το Vigenère είναι synchronous και periodic Σχολή ΗΜΜΥ ΕΜΠ 33 / 42

Κρυπτοσυστήματα ροής με γραμμική ανάδραση Αρχικό διάνυσμα κλειδιών: (z 0, z 1,, z m 1 ) Τα υπόλοιπα κλειδιά υπολογίζονται ως εξής: m 1 z i+m = c j z i+j (mod 2), j, c j {0, 1} j=0 Εάν το πολυώνυμο c 0 + c 1 x + c 2 x 2 + + c m 1 x m 1 + x m είναι primitive, τότε το κρυπτοσύστημα έχει περίοδο d = 2 m 1 Πχ c 0 = c 1 = 1, c 2 = c 3 = 0 ορίζουν το πολυώνυμο x 4 + x + 1, και με δεδομένο αρχικό κλειδί z 0,, z 3 έχουμε z 4+i = z i + z i+1 mod 2 Το κρυπτοσύστημα αυτό έχει περίοδο 15 Υλοποίηση με Linear Feedback Shift Register (LFSR) Σχολή ΗΜΜΥ ΕΜΠ 34 / 42

Permutation (Transposition) Cipher To κλειδί, μήκους m, είναι μία μετάθεση (permutation) του {1,, m} Χωρίζουμε το αρχικό κείμενο σε μπλοκ μεγέθους m και σε κάθε μπλοκ εφαρμόζουμε την μετάθεση Σημαντικό πρόβλημα: το κρυπτοκείμενο περιέχει τους ίδιους χαρακτήρες με το αρχικό κείμενο Αντιμετώπιση: παρεμβολή σκουπιδιών Κάποιες πληροφορίες μπορούν να βοηθήσουν σημαντικά στην κρυπτανάλυση Παράδειγμα: ECSEEMDR IAERFRR RITSAAEM ESCOBARA LACAILCD LESHYRCR Άσκηση: ποιες ιδέες από τα προηγούμενα θα μπορούσαμε να χρησιμοποιήσουμε για κρυπτανάλυση του συστήματος αυτού; Σχολή ΗΜΜΥ ΕΜΠ 35 / 42

Κρυπτοσυστήματα Γινομένου (Product Cryptosystems) Προκύπτουν από σύνθεση των συναρτήσεων κρυπτογράφησης δύο ή περισσοτέρων κρυπτοσυστημάτων: e k (x) = e k1 (e k2 (x)) Συχνά δεν επιτυγχάνεται αύξηση της ασφάλειας Idempotent λέγονται τα κρυπτοσυστήματα που το γινόμενο με τον εαυτό τους δίνει το ίδιο κρυπτοσύστημα, πχ το Shift Cipher Άσκηση: δείξτε ότι το Affine Cipher είναι idempotent Σχολή ΗΜΜΥ ΕΜΠ 36 / 42

Ασύμμετρη κρυπτογραφία: κρυπτοσύστημα Σακιδίου Merkle-Hellman Στηρίζεται σε μια ειδική περίπτωση του προβλήματος του Σακιδίου (Knapsack), συγκεκριμένα στο πρόβλημα Αθροίσματος Υποσυνόλων (Subset Sum) Πρόβλημα Subset Sum Είσοδος: σύνολο A = {a 1, a n } N, και k N Έξοδος: A A τώ a i A a i = k, εάν υπάρχει, αλλιώς No Το πρόβλημα είναι NP-complete Ανήκει όμως στην κλάση P, αν το A είναι υπεραυξητικό (superincreasing): ταξινομημένο σύνολο όπου κάθε στοιχείο είναι μεγαλύτερο από το άθροισμα όλων των προηγούμενων Πχ, A = {3, 7, 12, 25, 100, 211, 430} Σχολή ΗΜΜΥ ΕΜΠ 37 / 42

Περιγραφή του κρυπτοσυστήματος Σακιδίου (i) Βασική ιδέα: το κρυπτογράφημα μιας δυαδικής ακολουθίας x 1,, x m μήκους A, προκύπτει από το άθροισμα ai x i Πχ για το παραπάνω σύνολο, Enc A (0100110) = 7 + 100 + 211 = 381 Σχολή ΗΜΜΥ ΕΜΠ 38 / 42

Περιγραφή του κρυπτοσυστήματος Σακιδίου (i) Βασική ιδέα: το κρυπτογράφημα μιας δυαδικής ακολουθίας x 1,, x m μήκους A, προκύπτει από το άθροισμα ai x i Πχ για το παραπάνω σύνολο, Enc A (0100110) = 7 + 100 + 211 = 381 Τι πρόβλημα έχει η παραπάνω ιδέα; Σχολή ΗΜΜΥ ΕΜΠ 38 / 42

Περιγραφή του κρυπτοσυστήματος Σακιδίου (i) Βασική ιδέα: το κρυπτογράφημα μιας δυαδικής ακολουθίας x 1,, x m μήκους A, προκύπτει από το άθροισμα ai x i Πχ για το παραπάνω σύνολο, Enc A (0100110) = 7 + 100 + 211 = 381 Τι πρόβλημα έχει η παραπάνω ιδέα; Βελτιωμένη ιδέα: O παραλήπτης Bob χρησιμοποιεί ως ιδιωτικό κλειδί ένα υπεραυξητικό σύνολο A, το οποίο καμουφλάρει σε A ώστε να φαίνεται στον υπόλοιπο κόσμο σαν τυχαίο, προκειμένου να το χρησιμοποιήσει ως δημόσιο κλειδί Για το σκοπό αυτό επιλέγει m, t τέτοια ώστε m > a i, gcd(t, m) = 1: A = {a i a i = t a i mod m} Σχολή ΗΜΜΥ ΕΜΠ 38 / 42

Περιγραφή του κρυπτοσυστήματος Σακιδίου (ii) Δημόσιο κλειδί: A Ιδιωτικό κλειδι: A, m, t 1 mod m Enc A (x) = n i=1 a i x i Dec A,m,t 1(y) = Solve A (t 1 y mod m) όπου Solve A (k) ένας αλγόριθμος που λύνει το πρόβλημα Subset Sum για είσοδο (A, k) Ορθότητα αποκρυπτογράφησης Ο πολλαπλασιασμός του y = n i=1 a i x i με t 1 mod m βγάζει τη μάσκα από τα a i : Dec A,m,t 1(Enc A (x)) = Solve ( t 1 ( n i=1 a i x i) mod m ) = ( Solve A t 1 ( n i=1 (t a i mod m) x i ) mod m ) = Solve A ( n i=1 a ix i ) Σχολή ΗΜΜΥ ΕΜΠ 39 / 42

Περιγραφή του κρυπτοσυστήματος Σακιδίου (iii) Παράδειγμα A = {1, 3, 5, 11}, m = 23, t = 7 Ιδιωτικό κλειδί: A, m, t 1 mod m = 10 Δημόσιο κλειδί: A = 7 A mod 23 = {7, 21, 12, 8} Enc A (0110) = 33 Dec A,23,10 (33) = Solve A (10 33 mod 23) = Solve {1,3,5,11} (8) = 0110 Σχολή ΗΜΜΥ ΕΜΠ 40 / 42

Επίθεση Shamir Βασική ιδέα:αν μπορούμε να βρούμε ti, m τώ το A = (t ) 1 A mod m να είναι υπεραυξητικό τότε η αποκρυπτογράφηση Dec A,m,(t ) 1 θα δώσει το ίδιο αποτέλεσμα με την Dec A,m,t 1! Παράδειγμα: για t = 7, m = 15, έχουμε (t ) 1 13 (mod 1)5, και A = 13 A mod 15 = {1, 3, 6, 14} : υπεραυξητικό Σχολή ΗΜΜΥ ΕΜΠ 41 / 42

Επίθεση Shamir Βασική ιδέα:αν μπορούμε να βρούμε ti, m τώ το A = (t ) 1 A mod m να είναι υπεραυξητικό τότε η αποκρυπτογράφηση Dec A,m,(t ) 1 θα δώσει το ίδιο αποτέλεσμα με την Dec A,m,t 1! Παράδειγμα: για t = 7, m = 15, έχουμε (t ) 1 13 (mod 1)5, και A = 13 A mod 15 = {1, 3, 6, 14} : υπεραυξητικό Dec A,15,13(33) = Solve A (13 33 mod 15) = Solve {1,3,6,14} (9) = 0110 Σχολή ΗΜΜΥ ΕΜΠ 41 / 42

Επίθεση Shamir Βασική ιδέα:αν μπορούμε να βρούμε ti, m τώ το A = (t ) 1 A mod m να είναι υπεραυξητικό τότε η αποκρυπτογράφηση Dec A,m,(t ) 1 θα δώσει το ίδιο αποτέλεσμα με την Dec A,m,t 1! Παράδειγμα: για t = 7, m = 15, έχουμε (t ) 1 13 (mod 1)5, και A = 13 A mod 15 = {1, 3, 6, 14} : υπεραυξητικό Dec A,15,13(33) = Solve A (13 33 mod 15) = Solve {1,3,6,14} (9) = 0110 Ο Shamir (1984) έδειξε επιπλέον ότι αυτή η επίθεση μπορεί να γίνει γρήγορα Ένα χρήσιμο συμπέρασμα: η χρήση ενός υπολογιστικά δύσκολου προβλήματος δεν αρκεί από μόνη της Σχολή ΗΜΜΥ ΕΜΠ 41 / 42

Επίθεση Shamir Βασική ιδέα:αν μπορούμε να βρούμε ti, m τώ το A = (t ) 1 A mod m να είναι υπεραυξητικό τότε η αποκρυπτογράφηση Dec A,m,(t ) 1 θα δώσει το ίδιο αποτέλεσμα με την Dec A,m,t 1! Παράδειγμα: για t = 7, m = 15, έχουμε (t ) 1 13 (mod 1)5, και A = 13 A mod 15 = {1, 3, 6, 14} : υπεραυξητικό Dec A,15,13(33) = Solve A (13 33 mod 15) = Solve {1,3,6,14} (9) = 0110 Ο Shamir (1984) έδειξε επιπλέον ότι αυτή η επίθεση μπορεί να γίνει γρήγορα Ένα χρήσιμο συμπέρασμα: η χρήση ενός υπολογιστικά δύσκολου προβλήματος δεν αρκεί από μόνη της Άσκηση: δουλεύει η επίθεση του Shamir για οποιαδήποτε t, m τώ το A = (t ) 1 A mod m να είναι υπεραυξητικό; Σχολή ΗΜΜΥ ΕΜΠ 41 / 42

Ανακεφαλαιώνοντας Η πληροφοριοθεωρητική (τέλεια) μυστικότητα είναι μεν εφικτή αλλά πρακτικά ασύμφορη Επιπλέον, αφορά μόνο σε επιθέσεις τύπου Ciphertext Only (CO) Σύγχρονη τάση: υπολογιστική ασφάλεια, ισχυρή απέναντι και σε πιο προηγμένες επιθέσεις: KPA, CPA, CCA Απαραίτητη η μαθηματική τεκμηρίωση Εργαλεία: γραμμική άλγεβρα, θεωρία πιθανοτήτων, στατιστική, αφηρημένη άλγεβρα (θεωρία ομάδων), θεωρία αριθμών, υπολογιστική πολυπλοκότητα Κεντρικό ρόλο παίζει η (εκτιμώμενη) υπολογιστική δυσκολία αριθμοθεωρητικών και αλγεβρικών προβλημάτων και μάλιστα στην μέση περίπτωση Σχολή ΗΜΜΥ ΕΜΠ 42 / 42