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

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

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

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

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

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

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

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

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

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

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

UP class. & DES και AES

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

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

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

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

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

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

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

Symmetric Cryptography. Dimitris Mitropoulos

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Block Ciphers Modes. Ramki Thurimella

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Transcript:

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

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

Δίκτυα 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 Κατασκευή μετάθεσης F μεγάλου block cipher από μικρότερες μεταθέσεις {f i } Σύγχυση Θέλουμε F να είναι μήκους 128 bits Το κλειδί k θα ορίσει 16 τυχαίες μεταθέσεις f 1, f 2,, f 16 με μήκος block 8 bits καθεμιά Με είσοδο x {0, 1} 128 bits, το αναλύουμε σε 16 τμήματα μήκους 8 bits το καθένα x 1 x 16 και θέτουμε F k (x) = f 1 (x 1 ) f 16 (x 16 ) Οι f i δημιουργούν σύγχυση Διάχυση Αν δύο είσοδοι διαφέρουν σε ένα μόνο bit, τότε η έξοδος θα διαφέρει σε ένα μόνο byte Χρειάζονται δύο πράγματα: (1) ανακάτεμα των bits της εξόδου και (2) επανάληψη των confusion/diffusion - γύρος - πολλές φορές

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

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

Το κρυπτοσύστημα 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 δοκιμές με επιλεγμένα κρυπτοκείμενα Βασίζεται στους πίνακες κατανομής των input-xor και output-xor των S-boxes Η μη ομοιομορφία στις κατανομές επιτρέπει περιορισμό του συνόλου των πιθανών κλειδιών Γραμμική κρυπτανάλυση (linear cryptanalysis) [Matsui, 1993]: 2 43 δοκιμές με γνωστά κρυπτοκείμενα Προσέγγιση της λειτουργίας του αλγορίθμου με γραμμικές συναρτήσεις Στα τέλη του 90 θεωρήθηκε μη ασφαλές (EFF DES cracker, 1998) και το NIST πρότεινε την αντικατάστασή του, διαδικασία που οδήγησε στην ανάπτυξη και υιοθέτηση του AES

Το κρυπτοσύστημα 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): κάθε τμήμα κρυπτογραφείται χωριστά 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 για το πρώτο τμήμα Counter mode (CTR): δημιουργεί keystream όπως και τα CFB, OFB Η διαφορά έγκειται στο ότι το κλειδί για το τρέχον τμήμα προκύπτει από την κρυπτογράφηση ενός μετρητή, που αυξάνεται από τμήμα σε τμήμα Χρήση με nonce

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

Τα στάδια 1, 2 προκαλούν σύγχυση, ενώ τα 3, 4 διάχυση 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

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