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

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

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

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

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

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

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

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

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

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

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

UP class. & DES και AES

Κρυπτογραφία. Κεφάλαιο 3 Αλγόριθμοι τμήματος Block ciphers

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

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

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

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

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

Symmetric Cryptography. Dimitris Mitropoulos

Ασφάλεια Ασύρματων & Κινητών Επικοινωνιών

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

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

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

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

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

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

Κρυπτογραφία. Διάλεξη 7 Κρυπταλγόριθμοι τμήματος: Αλγόριθμος AES Τρόποι λειτουργίας

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

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

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

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

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

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

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

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

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

Τμήμα Μηχανικών Πληροφορικής ΤΕΙ Κρήτης

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μελέτη Πρωτοκόλλων Κρυπτογραφίας

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

Μελέτη απόδοσης αλγορίθμων κρυπρογράϕησης σε CUDA

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

Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Π ΑΤ Ρ Ω Ν

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

ΕΠΛ 674: Εργαστήριο 2 Ο απλοποιημένος αλγόριθμος κρυπτογράφησης S-DES

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

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

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

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

Hash Functions. μεγεθος h = H(M) ολους. στο μηνυμα. στο συγκεκριμενο hash (one-way property)

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

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

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

Κεφάλαιο 1. Βασικές έννοιες στην κρυπτογραφία

Κεφάλαιο 7. Σύγχρονοι Κρυπτογραφικοί Αλγόριθμοι

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

ΕΠΛ 475: Εργαστήριο 2 Ο απλοποιημένος αλγόριθμος κρυπτογράφησης S-DES

Block Ciphers Modes. Ramki Thurimella

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

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

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

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

6/1/2010. Ασφάλεια Ασύρματων & Κινητών Επικοινωνιών. Περιεχόμενα. Εισαγωγή /1 IEEE

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

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

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

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

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

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

Στοιχεία Κρυπτογραφίας

Διατμηματικό Μεταπτυχιακό Πρόγραμμα Ηλεκτρονική και Επεξεργασία της Πληροφορίας

Αυθεντικότητα Μηνυμάτων Συναρτήσεις Hash/MAC

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

Μελέτη και υλοποίηση σε γλώσσα C++ του κρυπτογραφικού αλγορίθμου AES

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

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

ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΚΑΙ FPGA ΥΛΟΠΟΙΗΣΕΙΣ ΤΟΥ ΠΡΟΤΥΠΟΥ ΚΡΥΠΤΟΓΡΑΦΙΑΣ P1619

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

Ο Σ ο β ι ε τ ι κ ό ς Κ ρ υ π τ α λ γ ό ρ ι θ μ ο ς G O S T

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

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

Διπλωματική Εργασία. Γεώργιου Γκίτσα

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

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

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

Transcript:

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

Block ciphers (κρυπτοσυστήματα τμήματος) Block cipher = αποδοτική, με κλειδί, ψευδοτυχαία μετάθεση F : {0, 1} n {0, 1} l {0, 1} l F k (x) = F(k, x) είναι μια ένα-προς-ένα και επί συνάρτηση (δηλ μετάθεση) και F k, F 1 k αποδοτικά υπολογίσιμες για δοσμένο k n = μήκος κλειδίου l = μήκος block Τα n, l είναι παράμετροι (μας ενδιαφέρει συγκεκριμένη ασφάλεια, όχι ασυμπτωτική!) Σχολή ΗΜΜΥ ΕΜΠ 2 / 26

Block ciphers (κρυπτοσυστήματα τμήματος) Block cipher = αποδοτική, με κλειδί, ψευδοτυχαία μετάθεση F : {0, 1} n {0, 1} l {0, 1} l F k (x) = F(k, x) είναι μια ένα-προς-ένα και επί συνάρτηση (δηλ μετάθεση) και F k, F 1 k αποδοτικά υπολογίσιμες για δοσμένο k n = μήκος κλειδίου l = μήκος block Τα n, l είναι παράμετροι (μας ενδιαφέρει συγκεκριμένη ασφάλεια, όχι ασυμπτωτική!) Θέλουμε ο αντίπαλος να μπορεί να σπάσει το σύστημα μόνο με (σχεδόν) εξαντλητική αναζήτηση κλειδιού Σχολή ΗΜΜΥ ΕΜΠ 2 / 26

Δίκτυα Feistel Δίκτυα Feistel [H Feistel 1973] Blowfish, Lucifer, DES, IDEA, RC5, SMS4, RC6, Κρυπτοσυστήματα τμήματος (block cryptosystems): το αρχικό κείμενο χωρίζεται σε block συγκεκριμένου μήκους (πχ για DES: 64 bits) Στο εξής θα ασχοληθούμε με την κρυπτογράφηση ενός μόνο τμήματος (block): Είσοδος: L 0 R 0 Σε κάθε γύρο i, για i = 1, 2,, r: L i = R i 1 R i = F(R i 1, K i ) L i 1 Έξοδος: Rr L r ki : το κλειδί του γύρου i παράγεται από το αρχικό κλειδί, συνήθως με ολισθήσεις F: συνάρτηση που είναι η καρδιά του συστήματος: πρέπει να προκαλεί σύγχυση (confusion) και διάχυση (diffusion) Shannon ξανά! Σχολή ΗΜΜΥ ΕΜΠ 3 / 26

Δίκτυα Feistel Σημαντικές ιδιότητες των δικτύων Feistel Η αποκρυπτογράφηση γίνεται με τον ίδιο τρόπο, απλά αντιστρέφοντας τη σειρά των κλειδιών Επομένως, η συνάρτηση F δεν χρειάζεται να είναι αντιστρεπτή, σε αντίθεση με τα Subsitution-Permutation networks Σχολή ΗΜΜΥ ΕΜΠ 4 / 26

Το κρυπτοσύστημα DES input 64 IP initial permutation Δίκτυο Feistel 16 γύρων Μήκος block: 64 bits Μήκος κλειδιού: 64 bits (56 ενεργά + 8 ισοτιμίας) IP: αρχική μετάθεση (initial permutation) L0 L1 = R0 L16 R0 F R1 R16 K0 R16 L16 IP -1 output Σχολή ΗΜΜΥ ΕΜΠ 5 / 26 64

Το κρυπτοσύστημα DES Η συνάρτηση F Συστατικά: συνάρτηση επέκτασης E, συναρτήσεις ( κουτιά ) αντικατάστασης S (S-boxes), μετάθεση P E : {0, 1} 32 {0, 1} 48 Si : {0, 1} 6 {0, 1} 4, 0 i 7 P : {0, 1} 32 {0, 1} 32 Η E παίρνει κάθε 4-άδα bits της εισόδου της και τα συμπληρώνει E με τα διπλανά της: πχ b 0 b 1 b 2 b 3 b31 b 0 b 1 b 2 b 3 b 4, δίνοντας σαν αποτέλεσμα οκτώ 6-άδες Το αποτέλεσμα της E γίνεται XOR με το κλειδί γύρου K i (48 bits) Κάθε 6-άδα του αποτελέσματος αντικαθίσταται μέσω του αντίστοιχου S-box από μία 4-άδα Η εφαρμογή της P δίνει το τελικό αποτέλεσμα Σχολή ΗΜΜΥ ΕΜΠ 6 / 26

Το κρυπτοσύστημα DES S-boxes S 1 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13 Είναι πίνακες 4 16 Κάθε 6-άδα απεικονίζεται σε μία θέση του πίνακα ως εξής: το 1ο και το 6ο ψηφίο (b 0 b 5 ) καθορίζουν τη σειρά, τα ψηφία 2ο-5ο (b 1 b 2 b 3 b 4 ) τη στήλη Στην κάθε θέση βρίσκεται ένας αριθμός από 0 έως 15, δηλ μια 4-άδα bits, που είναι η έξοδος του S-box για είσοδο b 0 b 1 b 2 b 3 b 4 b 5 Σχολή ΗΜΜΥ ΕΜΠ 7 / 26

Το κρυπτοσύστημα DES Ιδιότητες των S-boxes (i) Είναι το μη γραμμικό συστατικό του DES, και γι αυτό το πιο σημαντικό: χωρίς αυτό η κρυπτανάλυση θα ήταν εύκολη Ειδικά σχεδιασμένα ώστε να προκαλούν σύγχυση (confusion): η σχέση ενός bit του κλειδιού και ενός bit εξόδου είναι πολύπλοκη Κάθε bit της εξόδου επηρεάζεται από πολλά bits του κλειδιού Η διάχυση (diffusion) εξασφαλίζεται σε συνδυασμό με τις συναρτήσεις επέκτασης E και μετάθεσης P: κάθε bit της εισόδου επηρεάζει πολλά bits της εξόδου Σχολή ΗΜΜΥ ΕΜΠ 8 / 26

Το κρυπτοσύστημα DES Ιδιότητες των S-boxes: NSA design criteria Κάθε σειρά είναι μετάθεση του {0,, 15} Κανένα S-box δεν είναι γραμμική ή αφφινική συνάρτηση των εισόδων του Αλλαγή ενός bit εισόδου επιφέρει αλλαγή σε τουλάχιστον δύο bit εξόδου Για οποιοδήποτε ζεύγος bit εισόδου και bit εξόδου, αν καθορίσουμε την τιμή του bit εισόδου το πλήθος εισόδων που κάνουν το bit εξόδου 0 είναι περίπου ίδιο με το πλήθος εισόδων που κάνουν το bit εξόδου 1 Σχολή ΗΜΜΥ ΕΜΠ 9 / 26

Το κρυπτοσύστημα DES Η παραγωγή των κλειδιών v 0 : v 1 : v 2 : 28 k PC1 28 r 2 r 2 PC2 r 1 r 1 PC2 r 3 r 3 PC2 u 1 u 2 u 3 48 v 16 : r 16 r 16 PC2 u 16 Βασίζεται σε διαδοχικές ολισθήσεις των 56 ενεργών bits του κλειδιού, και σε συναρτήσεις επιλογής {0, 1} 56 {0, 1} 48 Σχολή ΗΜΜΥ ΕΜΠ 10 / 26

Το κρυπτοσύστημα DES Η παραγωγή των κλειδιών v 0 : v 1 : v 2 : 28 k PC1 28 r 2 r 2 PC2 r 1 r 1 PC2 r 3 r 3 PC2 u 1 u 2 u 3 48 v 16 : r 16 r 16 PC2 u 16 i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 r i 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1 συν 1 2 4 6 8 10 12 14 15 17 19 21 23 25 27 28 Σχολή ΗΜΜΥ ΕΜΠ 11 / 26

Το κρυπτοσύστημα DES Ιδιότητες του προγράμματος παραγωγής κλειδιών Κάθε bit του κλειδιού χρησιμοποιείται ως είσοδος σε κάθε S-box (σε κάποιο γύρο) Κανένα bit του κλειδιού δεν χρησιμοποιείται ως είσοδος στο ίδιο S-box σε διαδοχικούς γύρους Στο τέλος έχει γίνει μία πλήρης περιστροφή, επιτρέποντας στην αποκρυπτογράφηση να γίνει με ολισθήσεις προς τα δεξιά (κατά αντίστροφη σειρά) Σχολή ΗΜΜΥ ΕΜΠ 12 / 26

Το κρυπτοσύστημα DES: επιθέσεις Brute force: 2 56 δοκιμές Complementarity property: E(K, M) = C E( K, M) = C Επιτρέπει κρυπτανάλυση με 2 55 δοκιμές (άσκηση: πώς;) Διαφορική κρυπτανάλυση (differential cryptanalysis) [Shamir, Biham, 1990, NSA και IBM, νωρίτερα]: < 2 50 δοκιμές με επιλεγμένα κρυπτοκείμενα (CPA) Βασίζεται στους πίνακες κατανομής των διαφορών εισόδου (input-xor) και εξόδου (output-xor) των S-boxes Η μη ομοιομορφία στις κατανομές επιτρέπει περιορισμό του συνόλου των πιθανών κλειδιών Γραμμική κρυπτανάλυση (linear cryptanalysis) [Matsui, 1993]: 2 43 δοκιμές με γνωστά κρυπτοκείμενα (KPA) Προσέγγιση της λειτουργίας των S-boxes με γραμμικές συναρτήσεις των εισόδων τους Ενδεχόμενη πόλωση μπορεί να αποκαλύψει πληροφορίες για το κλειδί Στα τέλη του 90 θεωρήθηκε μη ασφαλές (EFF DES cracker, 1998) και το NIST πρότεινε την αντικατάστασή του: ανάπτυξη Σχολή ΗΜΜΥ ΕΜΠ 13 / 26

Το κρυπτοσύστημα DES: άμυνες Μια πρώτη προσπάθεια: Double DES Πρόβλημα: meet-in-the middle (MITM) attack Σχολή ΗΜΜΥ ΕΜΠ 14 / 26

Το κρυπτοσύστημα DES: άμυνες Μια πρώτη προσπάθεια: Double DES Πρόβλημα: meet-in-the middle (MITM) attack Triple DES (3-DES): effective key 118 bits (με 3 ανεξάρτητα κλειδιά, συνολικό μήκος κλειδιού 168 bits) ή 112 bits (με 2 ανεξάρτητα κλειδιά, συνολικό μήκος 112 bits) Χρησιμοποιείται ακόμη και σήμερα (εκτίμηση ασφάλειας από NIST: 2030) Κρυπτογράφηση: Enc 3 DES (x) = E k1 (D k2 (E k3 (x)))) (backwards compatibility με απλό DES) Σχολή ΗΜΜΥ ΕΜΠ 14 / 26

Το κρυπτοσύστημα DES: άμυνες Μια πρώτη προσπάθεια: Double DES Πρόβλημα: meet-in-the middle (MITM) attack Triple DES (3-DES): effective key 118 bits (με 3 ανεξάρτητα κλειδιά, συνολικό μήκος κλειδιού 168 bits) ή 112 bits (με 2 ανεξάρτητα κλειδιά, συνολικό μήκος 112 bits) Χρησιμοποιείται ακόμη και σήμερα (εκτίμηση ασφάλειας από NIST: 2030) Κρυπτογράφηση: Enc 3 DES (x) = E k1 (D k2 (E k3 (x)))) (backwards compatibility με απλό DES) DES-X: μήκος κλειδιού 184 bits, effective key 119 bits Κρυπτογράφηση: Enc DES X (x) = k 2 E k3 (x k 1 ) Σχολή ΗΜΜΥ ΕΜΠ 14 / 26

Τρόποι λειτουργίας του DES (operation modes) (και άλλων κρυπτοσυστημάτων τμήματος) ECB, CBC: το block cipher ενεργεί στο plaintext (άμεσα ή έμμεσα) Electronic Code Book (ECB): κάθε τμήμα κρυπτογραφείται χωριστά Σχολή ΗΜΜΥ ΕΜΠ 15 / 26

Τρόποι λειτουργίας του DES (operation modes) (και άλλων κρυπτοσυστημάτων τμήματος) ECB, CBC: το block cipher ενεργεί στο plaintext (άμεσα ή έμμεσα) Electronic Code Book (ECB): κάθε τμήμα κρυπτογραφείται χωριστά Cipher Block Chaining (CBC): το κρυπτογράφημα του προηγούμενου τμήματος κρυπτοκειμένου γίνεται XOR με το τρέχον τμήμα αρχικού κειμένου πριν αυτό κρυπτογραφηθεί Χρησιμοποιείται Initial Vector (IV) για το πρώτο τμήμα CBC mode IV x: y: x: p 1 e k e k e k q 1 p 1 d k p 2 q 2 p 2 d k p 3 q 3 p 3 d k Σχολή ΗΜΜΥ ΕΜΠ 15 / 26

Τρόποι λειτουργίας του DES (operation modes) (και άλλων κρυπτοσυστημάτων τμήματος) CFB, OFB, CTR: δημιουργία κλειδοροής ( stream cipher) Cipher Feedback mode (CFB): δημιουργεί τμηματική κλειδοροή (keystream) που χρησιμοποιείται όπως σε stream cipher Το κλειδί που γίνεται XOR με το τρέχον τμήμα αρχικού κειμένου προκύπτει από κρυπτογράφηση του προηγούμενου τμήματος κρυπτοκειμένου χρησιμοποιείται IV για το πρώτο τμήμα CFB mode x: p 1 p 2 p 3 e k e k e k y: q 1 IV q 2 q 3 e k e x: p k e 1 p k 2 p 3 Σχολή ΗΜΜΥ ΕΜΠ 16 / 26

Τρόποι λειτουργίας του DES (operation modes) (και άλλων κρυπτοσυστημάτων τμήματος) CFB, OFB, CTR: δημιουργία κλειδοροής ( stream cipher) Output Feedback mode (OFB): δημιουργεί keystream όπως το CFB Το κλειδί που γίνεται XOR με το τρέχον τμήμα αρχικού κειμένου προκύπτει από κρυπτογράφηση του προηγούμενου κλειδιού χρησιμοποιείται IV για το πρώτο τμήμα OFB mode s1 x: p 1 y: q 1 e k s 2 y: q 1 x: p 1 e k p 2 q 2 s3 q 2 p 2 Σχολή ΗΜΜΥ ΕΜΠ 17 / 26

Τρόποι λειτουργίας του DES (operation modes) (και άλλων κρυπτοσυστημάτων τμήματος) CFB, OFB, CTR: δημιουργία κλειδοροής ( stream cipher) Counter mode (CTR): δημιουργεί keystream όπως και τα CFB, OFB Η διαφορά έγκειται στο ότι το κλειδί για το τρέχον τμήμα προκύπτει από την κρυπτογράφηση ενός μετρητή, που αυξάνεται από τμήμα σε τμήμα Χρήση με nonce CTR mode ctr ctr+1 ctr+2 ctr+t F k F k F k m 1 m 2 m t c 0 c 1 c 2 c t Σχολή ΗΜΜΥ ΕΜΠ 18 / 26

Τρόποι λειτουργίας του DES (operation modes) ECB, CBC: πλεονεκτήματα και αδυναμίες ECB (-): κάθε τμήμα κρυπτογραφείται με τον ίδιο τρόπο Εντοπισμός επαναλήψεων, στατιστικές επιθέσεις ΕCB (+): σε περίπτωση αλλοίωσης τμήματος κρυπτοκειμένου δεν επηρεάζεται η αποκρυπτογράφηση των υπολοίπων τμημάτων Σχολή ΗΜΜΥ ΕΜΠ 19 / 26

Τρόποι λειτουργίας του DES (operation modes) ECB, CBC: πλεονεκτήματα και αδυναμίες ECB (-): κάθε τμήμα κρυπτογραφείται με τον ίδιο τρόπο Εντοπισμός επαναλήψεων, στατιστικές επιθέσεις ΕCB (+): σε περίπτωση αλλοίωσης τμήματος κρυπτοκειμένου δεν επηρεάζεται η αποκρυπτογράφηση των υπολοίπων τμημάτων CBC (-): Με αλλοιώσεις bit του κρυπτοτμήματος y i προκύπτει αλλοίωση του αποτελέσματος x i+1 στις ίδιες θέσεις CBC (+): χρήση ως Message Authentication Code (MAC) Authenticated encryption Σε περίπτωση αλλοίωσης τμήματος κρυπτοκειμένου επηρεάζονται μόνο δύο τμήματα στην αποκρυπτογράφηση: Self-Recovery Το IV δεν είναι κρυφό x: p 1 p 2 p 3 e k e k e k IV y: q 1 q 2 q 3 d k d k d k CBC mode x: p 1 p 2 p 3 Σχολή ΗΜΜΥ ΕΜΠ 19 / 26

Τρόποι λειτουργίας του DES (operation modes) CFB, OFB, CTR: πλεονεκτήματα και αδυναμίες x: p 1 p 2 p 3 e k e k e k y: q 1 IV q 2 q 3 s1 e k e x: p k e 1 p k 2 p 3 CFB mode OFB mode x: p 1 y: q 1 e k s 2 y: q 1 x: p 1 e k p 2 q 2 s3 q 2 p 2 ctr CTRmode ctr+1 ctr+2 ct F k F k F m 1 m 2 m t c 0 c 1 c 2 CFB / OFB / CTR (-): σε όλα υπάρχει το πρόβλημα της αλλοίωσης της αποκρυπτογράφησης σε επιλεγμένες θέσεις CFB / OFB / CTR (+): Μπορούν να υλοποιηθούν παράλληλα Διαθέτουν self-recovery CFB (+): μπορεί να χρησιμοποιηθεί ως MAC Άσκηση: μπορούμε να έχουμε encryption και authentication σε ένα πέρασμα; CFB / OFB (+): χρήση και για block μικρότερα των 64 bit Σχολή ΗΜΜΥ ΕΜΠ 20 / 26

Και άλλοι πολλοί τρόποι λειτουργίας Για κρυπτογράφηση Για αυθεντικοποίηση / ακεραιότητα Και για τα δύο (authenticated encryption) Δείτε τη σχετική σελίδα του NIST: http://csrcnistgov/groups/st/toolkit/bcm/modes_developmenthtml Σχολή ΗΜΜΥ ΕΜΠ 21 / 26

AES Το 1997 το NIST (National Institute of Standards and Technology) ανακοίνωσε διαγωνισμό για την αντικάτασταση του DES 15 αλγόριθμοι προτάθηκαν από ομάδες από όλον τον κόσμο Οι προτάσεις εξετάστηκαν από μέλη του NIST, από άλλους κρυπτογράφους αλλά και κυρίως τις ίδιες τις ομάδες Δύο συνέδρια έγιναν το 1998 και 1999 για να αποφασιστεί ο καλύτερος Το 2000 αποφασίστηκε ο αλγόριθμος Rijndael (John Daemen, Vincent Rijmen - Belgium) Οι 5 φιναλίστ πληρούσαν το κριτήριο της ασφάλειας και ο νικητής κρίθηκε από την αποδοτικότητα, ευελιξία, ευκολία υλοποίησης κλπ Σχολή ΗΜΜΥ ΕΜΠ 22 / 26

AES Block cipher με μήκος block 128 bits Μήκος κλειδιού 128, 192, 256 bits Σε αντίθεση με το DES που είναι ένα δίκτυο Feistel, το AES είναι ένα δίκτυο αντικατάστασης-μετάθεσης Ένας 4 4 πίνακας από bytes, που λέγεται state, τροποποιείται σε κάθε γύρο Αρχικά το state αποτελείται από την είσοδο (128 bits = 16 bytes) 10, 12, 14 γύροι, για κλειδί 128, 192, 256 αντίστοιχα Στον τελευταίο γύρο το MixColumns αντικαθίσταται με ένα AddRoundKey (αποτροπή αντιστροφής των τελευταίων 3 σταδίων, που δεν εξαρτώνται από το κλειδί) Σχολή ΗΜΜΥ ΕΜΠ 23 / 26

Τα στάδια 1, 2 προκαλούν σύγχυση, ενώ τα 3, 4 διάχυση Σχολή ΗΜΜΥ ΕΜΠ 24 / 26 AES Τα παρακάτω τέσσερα στάδια εφαρμόζονται σε κάθε γύρο: Στάδιο 1-AddRoundKey: από το master key, παράγεται ένα 128-bit υποκλειδί, και το βλέπουμε σαν 4 4 πίνακα από bytes Ο πίνακας state ενημερώνεται με το XOR της τρέχουσας τιμής και του υποκλειδιού Στάδιο 2-SubBytes: κάθε byte του state αντικαθίσταται από ένα άλλο, με βάση ένα κουτί αντικατάστασης (S-box) Αυτός ο πίνακας είναι μια ένα-προς-ένα και επί συνάρτηση στο {0, 1} 8 Υπάρχει μόνο ένα S-box, και κάθε byte του state αλλάζει Στάδιο 3-ShiftRows: τα bytes κάθε γραμμής του state ολισθαίνουν κυκλικά προς τα αριστερά ως εξής: η πρώτη γραμμή δεν αλλάζει, η δεύτερη ολισθαίνει κατά μία θέση, η τρίτη κατά δύο, η τέταρτη κατά τρεις θέσεις Στάδιο 4-MixColumns: ένας αντιστρέψιμος μετασχηματισμός εφαρμόζεται σε κάθε στήλη Πολλαπλασιασμός κάθε στήλης με ένα κατάλληλο vector

Ασφάλεια του AES Γνωστές επιθέσεις: 1 6-γύρων AES με 128-bits κλειδί, με κρυπτογραφήσεις τάξης 2 72 2 8-γύρων AES με 192-bits κλειδί, με κρυπτογραφήσεις τάξης 2 188 3 8-γύρων AES με 256-bits κλειδί, με κρυπτογραφήσεις τάξης 2 204 Σχολή ΗΜΜΥ ΕΜΠ 25 / 26

Ασφάλεια του AES Γνωστές επιθέσεις: 1 6-γύρων AES με 128-bits κλειδί, με κρυπτογραφήσεις τάξης 2 72 2 8-γύρων AES με 192-bits κλειδί, με κρυπτογραφήσεις τάξης 2 188 3 8-γύρων AES με 256-bits κλειδί, με κρυπτογραφήσεις τάξης 2 204 Επιθέσεις σε AES περιορισμένων γύρων, ενώ σε πλήρες AES μέχρι σήμερα το καλύτερο που έχουμε είναι επιθέσεις εξαντλητικής αναζήτησης του κλειδιού Σχολή ΗΜΜΥ ΕΜΠ 25 / 26

Ασφάλεια του AES Γνωστές επιθέσεις: 1 6-γύρων AES με 128-bits κλειδί, με κρυπτογραφήσεις τάξης 2 72 2 8-γύρων AES με 192-bits κλειδί, με κρυπτογραφήσεις τάξης 2 188 3 8-γύρων AES με 256-bits κλειδί, με κρυπτογραφήσεις τάξης 2 204 Επιθέσεις σε AES περιορισμένων γύρων, ενώ σε πλήρες AES μέχρι σήμερα το καλύτερο που έχουμε είναι επιθέσεις εξαντλητικής αναζήτησης του κλειδιού Εξαιρετικό για κρυπτογραφία που χρειάζεται ψευδοτυχαίες μεταθέσεις Σχολή ΗΜΜΥ ΕΜΠ 25 / 26

Ασφάλεια του AES Γνωστές επιθέσεις: 1 6-γύρων AES με 128-bits κλειδί, με κρυπτογραφήσεις τάξης 2 72 2 8-γύρων AES με 192-bits κλειδί, με κρυπτογραφήσεις τάξης 2 188 3 8-γύρων AES με 256-bits κλειδί, με κρυπτογραφήσεις τάξης 2 204 Επιθέσεις σε AES περιορισμένων γύρων, ενώ σε πλήρες AES μέχρι σήμερα το καλύτερο που έχουμε είναι επιθέσεις εξαντλητικής αναζήτησης του κλειδιού Εξαιρετικό για κρυπτογραφία που χρειάζεται ψευδοτυχαίες μεταθέσεις Είναι ελεύθερο, αποδοτικό, προτυποποιήμενο και εξαιρετικά ασφαλές Σχολή ΗΜΜΥ ΕΜΠ 25 / 26

Block ciphers: σύνοψη Τα δύο πρότυπα: DES (παλαιότερα) και AES (τώρα) Έλλειψη αυστηρών εγγυήσεων ασφάλειας Σχολή ΗΜΜΥ ΕΜΠ 26 / 26

Block ciphers: σύνοψη Τα δύο πρότυπα: DES (παλαιότερα) και AES (τώρα) Έλλειψη αυστηρών εγγυήσεων ασφάλειας Ισχυρές ευριστικές μέθοδοι, αντοχή σε πλήθος επιθέσεων Η ασφάλειά τους βασίζεται σε ιδιότητες που άντεξαν στο τεστ του χρόνου Σχολή ΗΜΜΥ ΕΜΠ 26 / 26

Block ciphers: σύνοψη Τα δύο πρότυπα: DES (παλαιότερα) και AES (τώρα) Έλλειψη αυστηρών εγγυήσεων ασφάλειας Ισχυρές ευριστικές μέθοδοι, αντοχή σε πλήθος επιθέσεων Η ασφάλειά τους βασίζεται σε ιδιότητες που άντεξαν στο τεστ του χρόνου Χρήση και σε κρυπτοσυστήματα ροής (CFB, OFB, CTR modes) Σχολή ΗΜΜΥ ΕΜΠ 26 / 26