Κρυπτογραφία. Κρυπτοσυστήματα τμήματος (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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Block Ciphers Modes. Ramki Thurimella

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Πανεπιστήμιο Πατρών Τμήμα Μηχανικών Η/Υ & Πληροφορικής

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

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

Transcript:

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

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 είναι παράμετροι (μας ενδιαφέρει συγκεκριμένη ασφάλεια, όχι ασυμπτωτική!)

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 είναι παράμετροι (μας ενδιαφέρει συγκεκριμένη ασφάλεια, όχι ασυμπτωτική!) Θέλουμε ο αντίπαλος να μπορεί να σπάσει το σύστημα μόνο με (σχεδόν) εξαντλητική αναζήτηση κλειδιού

Δίκτυα Feistel Δίκτυα Feistel [H Feistel 1973] Blowfish, Lucifer, DES, IDEA, RC5, SMS4, RC6, Κρυπτοσυστήματα τμήματος (block cryptosystems): το αρχικό κείμενο χωρίζεται σε block συγκεκριμένου μήκους (πχ για DES: 64 bits) Στο εξής θα ασχοληθούμε με την κρυπτογράφηση ενός μόνο τμήματος (block): Είσοδος: L0 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 k i : το κλειδί του γύρου i παράγεται από το αρχικό κλειδί, συνήθως με ολισθήσεις F: συνάρτηση που είναι η καρδιά του συστήματος: πρέπει να προκαλεί σύγχυση (confusion) και διάχυση (diffusion) Shannon ξανά!

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

Το κρυπτοσύστημα 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 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 δίνει το τελικό αποτέλεσμα

Το κρυπτοσύστημα DES S-boxes S 1 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 Είναι πίνακες 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

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

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

Το κρυπτοσύστημα 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

Το κρυπτοσύστημα 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

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

Το κρυπτοσύστημα 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,

Το κρυπτοσύστημα DES Άμυνα Μια πρώτη προσπάθεια: Double DES Πρόβλημα: meet-in-the middle (MITM) attack

Το κρυπτοσύστημα 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 Άμυνα Μια πρώτη προσπάθεια: 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 )

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

Τρόποι λειτουργίας του DES (operation modes) (και άλλων κρυπτοσυστημάτων τμήματος) ECB, CBC: το block cipher ενεργεί στο plaintext (άμεσα ή έμμεσα) Electronic Code Book (ECB): κάθε τμήμα κρυπτογραφείται χωριστά Cipher Block Chaining (CBC): το κρυπτογράφημα του προηγούμενου τμήματος κρυπτοκειμένου XOR-είται με το τρέχον τμήμα αρχικού κειμένου πριν αυτό κρυπτογραφηθεί Χρησιμοποιείται Initial Vector (IV) για το πρώτο τμήμα

Τρόποι λειτουργίας του DES (operation modes) (και άλλων κρυπτοσυστημάτων τμήματος) CFB, OFB, CTR: το block cipher δημιουργεί κλειδοροή ( stream cipher) Cipher Feedback mode (CFB): δημιουργεί τμηματική κλειδοροή (keystream) που χρησιμοποιείται όπως σε stream cipher Το κλειδί που XOR-είται με το τρέχον τμήμα αρχικού κειμένου προκύπτει από κρυπτογράφηση του προηγούμενου τμήματος κρυπτοκειμένου χρησιμοποιείται IV για το πρώτο τμήμα Output Feedback mode (OFB): δημιουργεί keystream όπως το CFB Το κλειδί που XOR-είται με το τρέχον τμήμα αρχικού κειμένου προκύπτει από κρυπτογράφηση του προηγούμενου κλειδιού χρησιμοποιείται IV για το πρώτο τμήμα

Τρόποι λειτουργίας του DES (operation modes) (και άλλων κρυπτοσυστημάτων τμήματος) CFB, OFB, CTR: το block cipher δημιουργεί κλειδοροή ( stream cipher) Cipher Feedback mode (CFB): δημιουργεί τμηματική κλειδοροή (keystream) που χρησιμοποιείται όπως σε stream cipher Το κλειδί που XOR-είται με το τρέχον τμήμα αρχικού κειμένου προκύπτει από κρυπτογράφηση του προηγούμενου τμήματος κρυπτοκειμένου χρησιμοποιείται IV για το πρώτο τμήμα Output Feedback mode (OFB): δημιουργεί keystream όπως το CFB Το κλειδί που XOR-είται με το τρέχον τμήμα αρχικού κειμένου προκύπτει από κρυπτογράφηση του προηγούμενου κλειδιού χρησιμοποιείται IV για το πρώτο τμήμα Counter mode (CTR): δημιουργεί keystream όπως και τα CFB, OFB Η διαφορά έγκειται στο ότι το κλειδί για το τρέχον τμήμα προκύπτει από την κρυπτογράφηση ενός μετρητή, που αυξάνεται από τμήμα σε τμήμα Χρήση με nonce

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

Τρόποι λειτουργίας του DES (operation modes) ECB, CBC: πλεονεκτήματα και αδυναμίες ECB (-): κάθε τμήμα κρυπτογραφείται με τον ίδιο τρόπο Εντοπισμός επαναλήψεων, στατιστικές επιθέσεις ΕCB (+): σε περίπτωση αλλοίωσης τμήματος κρυπτοκειμένου δεν επηρεάζεται η αποκρυπτογράφηση των υπολοίπων τμημάτων 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 CBC (-): Με αλλοιώσεις bit του κρυπτοτμήματος y i προκύπτει αλλοίωση του αποτελέσματος x i+1 στις ίδιες θέσεις CBC (+): χρήση ως Message Authentication Code (MAC) Authenticated encryption Σε περίπτωση αλλοίωσης τμήματος κρυπτοκειμένου επηρεάζονται μόνο δύο τμήματα στην αποκρυπτογράφηση: Self-Recovery Το IV δεν είναι κρυφό

Τρόποι λειτουργίας του 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 e k e x: p k e 1 p k 2 p 3 CFB mode s1 x: p 1 y: q 1 e k s 2 y: q 1 x: p 1 OFB mode CFB / OFB / CTR (-): σε όλα υπάρχει το πρόβλημα της αλλοίωσης της αποκρυπτογράφησης σε επιλεγμένες θέσεις e k p 2 q 2 s3 q 2 p 2 CFB / OFB / CTR (+): Μπορούν να υλοποιηθούν παράλληλα Διαθέτουν self-recovery CFB (+): μπορεί να χρησιμοποιηθεί ως MAC Άσκηση: μπορούμε να έχουμε encryption και authentication σε ένα πέρασμα; CFB / OFB (+): μπορούν να χρησιμοποιηθούν και για block μικρότερα των 64 bit

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 Σχήμα : CTR mode

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

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

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 σταδίων, που δεν εξαρτώνται από το κλειδί)

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: ένας αντιστρέψιμος μετασχηματισμός εφαρμόζεται σε κάθε στήλη Πολλαπλασιασμός κάθε στήλης με ένα κατάλληλο field Τα στάδια 1, 2 προκαλούν σύγχυση, ενώ τα 3, 4 διάχυση

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

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

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

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

Block ciphers: σύνοψη Τα δύο πρότυπα: DES (παλαιότερα) και AES (τώρα) Έλλειψη αυστηρών εγγυήσεων ασφάλειας

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

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