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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

UP class. & DES και AES

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 6. Κρυπταλγόριθμοι Ροής. 6.1 Εισαγωγή. Πίνακας Περιεχομένων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4 ΚΡΥΠΤΟΓΡΑΦΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ

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

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

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

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

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

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

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

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

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

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

Κεφάλαια 2&21. Συναρτήσεις κατακερματισμού Πιστοποίηση ταυτότητας μηνυμάτων

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

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

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

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

Symmetric Cryptography. Dimitris Mitropoulos

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

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

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

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

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

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

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

1.1. Ορισμοί και ορολογία

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

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ

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

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

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

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

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Τμήμα Τηλεπληροφορικής & Διοίκησης

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

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

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

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

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

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

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

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

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

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

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

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

Transcript:

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

Χρονολογείται από την Αρχαία Αίγυπτο Η πλειοψηφία των συμμετρικών κρυπτοαλγορίθμων είναι κρυπτοαλγόριθμοι τμήματος Σχετικά μεγαλύτερη ασφάλεια από τους κρυπτοαλγόριθμους ροής Χαμηλότερη ταχύτητα Ένας κρυπτοαλγόριθμος τμήματος είναι: Μια επαναληπτική εφαρμογή μιας κρυπτογραφικής πράξης Η πράξη αποτελείται από μία η περισσότερες κρυπτογραφικές συναρτήσεις Η διάταξη είναι τέτοια ώστε επιτρέπεται η σύνδεση της πράξης με τον εαυτό της ή άλλες πράξεις 2

Κρυπτοαλγόριθμος τμήματος Σε κάθε γύρο τροφοδοτείται το αποτέλεσμα του προηγούμενου και το αντίστοιχο κλειδί Η ακολουθία των κλειδιών αποτελεί το πρόγραμμα κλειδιών Προκύπτει από το αρχικό κλειδί Στον πρώτο γύρο τροφοδοτείται το απλό κείμενο Το αποτέλεσμα του τελευταίου γύρου κρυπτοκείμενο Ο αριθμός των γύρων εξαρτάται από τη κρυπτογραφική δύναμη κάθε γύρου Το κρυπτογραφικό γινόμενο δύο σχετικά αδύναμων πράξεων με μια κρυπτογραφική πράξη δυνατότερη από τις επιμέρους Φαινόμενο χιονοστοιβάδας (σύγχυση διάχυση) 3

Κρυπτοαλγόριθμος τμήματος Τρόποι λειτουργίας διασύνδεση κρυπτοαλγορίθμου Στόχος: αύξηση της κρυπτογραφικής δύναμης Τέσσερις τυποποιημένοι τρόποι λειτουργίας Ηλεκτρονικό κωδικοβιβλίο (electronic codebook ECB) Κρυπτοαλγόριθμος αλυσιδωτού τμήματος (cipher block chaining CBC) Ανάδραση κρυπτοαλγορίθμου (cipher feedback, CFB) Ανάδραση εξόδου (output feedback OFB) 4

Ηλεκτρονικό κωδικοβιβλίο (electronic codebook ECB) Το απλό κείμενο χωρίζεται σε τμήματα P=[p1, p2, pl] μήκους n το κάθε ένα C i = e k (p i ) Η κατάτμηση του απλού κειμένου είναι μειονέκτημα του ECB Για όμοια τμήματα του απλού κειμένου όμοια κρυπτοκείμενα Ακατάλληλο για εφαρμογές με επαναλαμβανόμενα μοτίβα δεδομένων Ο αντίπαλος είναι σε θέση να αναγνωρίσει Τα επαναλαμβανόμενα τμήματα του απλού κειμένου Τις ανταλλαγές κλειδιών 5

Ηλεκτρονικό κωδικοβιβλίο (electronic codebook ECB) Ακαταληλλοτητα χρήσης για κρυπτογράφηση εικόνων όπου υπάρχει μεγάλη ποσότητα επαναλαμβανόμενων μοτίβων Κρυπτογράφηση με ECB Κάθε τμήμα κρυπτογραφείται ανεξάρτητα (DES) 6

Κρυπτοαλγόριθμος αλυσιδωτού τμήματος CBC Η κρυπτογράφηση ενός τμήματος του απλού κειμένου p i εξαρτάται από το προηγούμενο τμήμα p i-1 c i = e k (c i-1 p i ) p i = d k (c i ) c i-1 Η ορθότητα της σχέσης κρυπτογράφησης/αποκρυπτογράφησης p i = d k (c i ) c i-1 = c i-1 p i c i-1 = (c i-1 c i-1 ) p i 7

Κρυπτοαλγόριθμος αλυσιδωτού τμήματος CBC Η εικόνα κρυπτογραφημένη με τον ίδιο κρυπταλγόριθμο DES, αλλά σε λειτουργία CBC Τα επαναλαμβανόμενα μοτίβα που υπάρχουν στο απλό κείμενο δεν είναι πλέον φανερά στο κρυπτοκείμενο http://cui.unige.ch/tcs/cours/crypto/crypto5/ 8

Κρυπτοαλγόριθμος αλυσιδωτού τμήματος CBC Η κρυπτογράφηση του πρώτου τμήματος απαιτεί τον ορισμό του c 0 (διάνυσμα αρχικοποίησης) c 1 = e k (c 0 p 1 ) Αν το τελευταίο τμήμα < n padding Διάδοση σφαλμάτων στη λειτουργία CBC Έστω ότι έχουμε στο τμήμα c i λόγω μετάδοσης ή παρεμβολής Το σφάλμα θα επηρεάσει την αποκρυπτογράφηση του c i & c i+1 9

Κρυπτοαλγόριθμος αλυσιδωτού τμήματος CBC Αν το σφάλμα έχει σαν αποτέλεσμα την αύξηση του μεγέθους του κρυπτοκειμένου Απώλεια συγχρονισμού το σύστημα δεν μπορεί να αναρρώσει Στην περίπτωση που υπάρχει σφάλμα στο απλό κείμενο όλα τα επόμενα κρυπτοκείμενα είναι εσφαλμένα Η λειτουργία του CBC μπορεί να χρησιμοποιηθεί ως MAC Ο αποστολέας κρυπτογραφεί με CBC Επισυνάπτει το τελευταίο τμήμα του κρυπτοκειμένου στο απλό κείμενο 10

Ανάδραση κρυπτοαλγορίθμου, CFB Το κρυπτοκείμενο προκύπτει: Από την επακρυπτογράφηση του προηγούμενου κρυπτοκειμένου Συνδυασμένο με αποκλειστική διάζευξη με το απλό κείμενο c i = e k (c i-1 ) p i p i = e k (c i-1 ) c i Η λειτουργία του CFB μπορεί να θεωρηθεί ως κρυπτοαλγόριθμος ροής Απαιτείται δυάνυσμα αρχικοποίησης, μπορεί να είναι το 000...0 11

Ανάδραση κρυπτοαλγορίθμου, CFB Παραλλαγές της CFB, λειτουργία m-bit, 0 < m n Κατά την κρυπτογράφηση του pi επιλέγονται τα πρώτα m bits από το σύνολο των n Για m = 1? Για m = n? 12

Ανάδραση κρυπτοαλγορίθμου, CFB Παραλλαγές της CFB, λειτουργία m-bit, 0 < m n Διάδοση σφαλμάτων στη λειτουργία CBC Έστω ότι έχουμε σφάλμα στο τμήμα c i λόγω μετάδοσης ή παρεμβολής Το σφάλμα θα επηρεάσει την αποκρυπτογράφηση του c i όσο και τα επόμενα έως ότου αποβληθεί από τον καταχωρητή ολίσθησης Το c i θα υπάρχει στον καταχωρητή Αν το σφάλμα είναι στην αρχή του c i Αν είναι στο τέλος τότε +1 n / m 13

Ανάδραση εξόδου OFB Μια προσέγγιση του κρυπταλγόριθμου Vernam Η διαδικασία δημιουργίας της κλειδοροής είναι ανεξάρτητη από το απλό κείμενο και το κρυπτοκείμενο Ποιο το επίπεδο ασφάλειας της OFB σε σχέση με τα CBC, CFB & m-bit CFB?? 14

Ανάδραση εξόδου OFB H ασφάλεια της OFB είναι μικρότερη από τα CBC, CFB & m-bit CFB Ο μόνος τρόπος διασύνδεσης του απλού κειμένου και του κρυπτοκειμένου είναι η πράξη της αποκλειστικής διάζευξης Η γεννήτρια της κλειδοροής είναι μηχανή πεπερασμένων καταστάσεων Η κλειδοροή που παράγει θα είναι περιοδική Αν ο αντίπαλος εντοπίσει την αρχή της περιόδου, Μπορεί να απομακρύνει την κλειδοροή από το κρυπτοκείμενο 15

Ανάδραση εξόδου OFB Απομάκρυνση της κλειδοροής Έστω τα τμήματα του κρυπτοκειμένου ci και cj Προκύπτουν από την εφαρμογή ιδίων τμημάτων της κλειδοροής Τότε αν Η κλειδοροή έχει εξαλειφθεί!!!! Αν το απλό κείμενο είναι κάποια φυσική γλώσσα (περίσσεια) Ο αντίπαλος μπορεί να εντοπίσει την περίοδο με στατιστικές μεθόδους Μπορεί να συνδυάζει με αποκλειστική διάζευξη απλά κείμενα της γλώσσας να ξεχωρίσει τα pi και pj 16

Ανάδραση εξόδου OFB Ο κρυπταλγόριθμος τμήματος θα πρέπει: Να έχει μεγάλη περίοδο Να αλλάζει το κλειδί προτού ξεπεραστεί η περίοδος Η γεννήτρια κλειδοροής να μεταπίπτει σε άλλη ακολουθία κλειδοροής Διάδοση σφαλμάτων στη λειτουργία OFB Ελάχιστη δυνατή διάδοση των σφαλμάτων Ένα σφάλμα στο κρυπτοκείμενο θα επηρεάσει μόνον το αντίστοιχο απλό κείμενο. Κατάλληλη για κρυπτογράφηση δορυφορικών ζεύξεων (θόρυβος) 17

Μη τυποποιημένοι τρόποι λειτουργίας Τοποθέτηση της ανάδρασης Η ανάδραση είναι ένα δυνατό εργαλείο απόκρυψης των επαναλαμβανόμενων μοτίβων του απλού κειμένου Στο (α) δημιουργούνται μονοπάτια τα οποία «κόβουν δρόμο» Το (β) θεωρείται πιο δυνατό από το κρυπτοσύστημα (α) Μπορούν να χρησιμοποιηθούν διαφορετικοί κρυπταλγόριθμοι ek Στο (β) ο πιο ασθενής κρυπταλγόριθμος προστατεύεται από τον πιο ισχυρό 18

Μη τυποποιημένοι τρόποι λειτουργίας Τοποθέτηση της ανάδρασης Στο (α) ο αντίπαλος θα έχει τη δυνατότητα να επιτεθεί στον πιο αδύναμο κρυπταλγόριθμο Μπορεί να ανακαλύψει το κλειδί του ασθενούς κρυπταλγόριθμου Στη συνέχεια θα επιτεθεί στο πρόγραμμα κλειδιών θα ανακαλύψει το κλειδί του ισχυρού κρυπταλγόριθμου Στο (α) δεν επιτρέπεται η χρήση του ίδιου κλειδιού 19

Πιθανές ασφαλείς κατασκευές, Biham (1996) Κάθε κρυπταλγόριθμος έχει διαφορετικό κλειδί 20

Διπλή κρυπτογράφηση Έστω ένα κρυπτοσύστημα το οποίο αποτελείται από το κρυπτογραφικό γινόμενο: e k2 (e k1 ), k1, k2 κλειδιά μήκους k Για ασφαλή κρυπταλγόριθμο η μόνη γνωστή επίθεση είναι η εξαντλητική αναζήτηση κλειδοχώρος αναζήτησης = 2 2k επιτρεπτά κλειδιά είναι 2 k 2 k στην πραγματικότητα η αύξηση του κλειδοχώρου είναι ελάχιστη η εξαντλητική αναζήτηση αρκεί να εφαρμοστεί μόνον σε 2 k+1 κλειδιά 21

Διπλή κρυπτογράφηση επίθεση της συνάντησης στο ενδιάμεσο (meet in the middle attack) Προϋποθέσεις για τον αντίπαλο Αποθηκεύει όλες τις κρυπτογραφήσεις που εκτελεί με τα διαφορετικά κλειδιά. Έχει στην κατοχή του ένα ζευγάρι απλού κειμένου και του αντίστοιχου κρυπτοκειμένου (επίθεση με γνωστό απλό κείμενο) Η κρυπτογράφηση <==> με την αποκρυπτογράφηση Κρυπτογραφεί το απλό κείμενο εφαρμόζοντας μια μόνο φορά τον κρυπταλγόριθμο, με όλα τα δυνατά κλειδιά Αποθηκεύει τα κρυπτοκείμενα ώστε να γνωρίζει το κλειδί Αποκρυπτογραφεί το αρχικό κρυπτοκείμενο με διαφορετικά κλειδιά 22

Διπλή κρυπτογράφηση επίθεσης της συνάντησης στο ενδιάμεσο (meet in the middle attack) Για κάθε απλό κείμενο (αποκρυπτογράφηση) Ελέγχει εάν βρίσκεται με τη μορφή κρυπτοκειμένου στη λίστα των κρυπτοκειμένων. Εάν ναι καταγράφονται τα δύο κλειδιά: Το κλειδί της λίστας που αντιστοιχεί στο κλειδί της πρώτης κρυπτογράφησης Ενώ το κλειδί της αποκρυπτογράφησης αντιστοιχεί στο κλειδί της δεύτερης κρυπτογράφησης Εάν βρεθούν παραπάνω από μια ισοδυναμίες απαιτείται και δεύτερο γνωστό απλό κείμενο. 23

Διπλή/τριπλή κρυπτογράφηση επίθεσης της συνάντησης στο ενδιάμεσο (meet in the middle attack) Ο αριθμός των κρυπτο/αποκρυπτογραφήσεων = 2 2 k. Δεν αυξάνει σημαντικά την ασφάλεια. Το πραγματικό κλειδί = 2 k bits, το ενεργό κλειδί = k +1 bits Επαγωγικά, στην τριπλή κρυπτογράφηση (τρία κλειδιά) το ενεργό κλειδί = 2k+1 bits ενδιάμεσο θεωρείται το σημείο μετά την πρώτη, ή τη δεύτερη κρυπτογράφηση η τριπλή κρυπτογράφηση ορίζεται ως: c = e k1 (d k2 (e k1 ( p ))) 24

Ο κρυπταλγόριθμος DES (Data Encryption Standard) Κρυπταλγόριθμος τμήματος με F = G = {0, 1} 64 και Κ = {0, 1} 56 Tο κλειδί έχει μέγεθος 64 bits, μόνον τα 56 συμμετέχουν (parity bits). Αποτελείται από 18 κρυπτογραφικές πράξεις: μια αρχική μετάθεση του απλού κειμένου ένα ισορροπημένο δίκτυο Feistel 16 γύρων μια μετάθεση του κειμένου (τελευταίος γύρος) Σε κάθε γύρο του Feistel συμμετέχουν 48 bits του κλειδιού 25

Ο κρυπταλγόριθμος DES 26

Ο κρυπταλγόριθμος DES Σχεδιάσθηκε με κριτήρια (1972), ΗΠΑ (1977) υψηλό επίπεδο ασφάλειας, πλήρεις και διαφανείς προδιαγραφές η ασφάλεια δεν θα πρέπει να εξαρτάται από τη μυστικότητα του κρυπταλγόριθμου, διαθέσιμος, και προσβάσιμος από, όλους τους χρήστες, κατάλληλο για ποικιλία εφαρμογών, χαμηλό κόστος υλοποίησης, είναι επιτρεπτή η εξαγωγή του, είναι δυνατή η αξιολόγησή του 27

Ο κρυπταλγόριθμος DES Έχει μικρότερο κλειδί από τον προκατόχου του (Lucifer) DES (2 56 72 10 15 κλειδιά), Lucifer (2 128 34 10 37 κλειδιά) Τα κριτήρια σχεδιασμού των κουτιών αντικατάστασης του DES αποκαλύφθηκαν στα μέσα του 90 Η διαφορική κρυπτανάλυσης που ανακαλύφθηκε επίσημα στις αρχές του 90, ήταν γνωστή 15 χρόνια πριν. 28

Ο κρυπταλγόριθμος DES Η συνάρτηση γύρου f αποτελείται από: Μια συνάρτηση επέκτασης E:{0,1} 32 {0,1} 48 Οκτώ κουτιά αντικατάστασης S i :{0,1} 6 {0,1} 4 Μια τελική συνάρτηση μετάθεσης P των 32 bits 29

Ο κρυπταλγόριθμος DES - συνάρτηση γύρου f Η συνάρτηση επέκτασης E:{0,1} 32 {0,1} 48 Μια μετάθεση στην οποία ορισμένα bits της εισόδου εμφανίζονται σε περισσότερες από μια θέσεις στην έξοδο υπάρχει γραμμική σχέση μεταξύ των bits της εισόδου και των bits της εξόδου της συνάρτησης 30

Ο κρυπταλγόριθμος DES Κουτιά αντικατάστασης Εισάγουν μη γραμμικότητα - συνάρτηση γύρου f Βασίζεται η κρυπτογραφική δύναμη του κρυπταλγόριθμου Τα κριτήρια σχεδιασμού των κουτιών έγιναν γνωστά το 1994: Κάθε κουτί έχει είσοδο των 6 bits και έξοδο των 4 bits. Κανένα από τα bits της εξόδου δεν θα πρέπει να βρίσκεται σε γραμμική σχέση με οποιοδήποτε από το bits της εισόδου. Αν τα δύο πρώτα bits και τα δύο τελευταία bits της εισόδου είναι σταθερά ενώ τα ενδιάμεσα bits αλλάζουν, οι έξοδοι που προκύπτουν θα πρέπει να είναι μοναδικές. Αν η απόσταση Hamming δύο εισόδων είναι ίση με 1, τότε η απόσταση Hamming των αντίστοιχων εξόδων θα πρέπει να είναι το λιγότερο ίση με 2 31

Ο κρυπταλγόριθμος DES - συνάρτηση γύρου f Κουτιά αντικατάστασης - κριτήρια σχεδιασμού: Αν δύο είσοδοι διαφέρουν στα δύο μεσαία bits, τότε οι αντίστοιχες έξοδοι θα πρέπει να διαφέρουν το λιγότερο σε 2 bits Αν δύο είσοδοι έχουν τα δύο πρώτα bits διαφορετικά ενώ τα δύο τελευταία bits είναι ίδια, τότε οι αντίστοιχες έξοδοι θα πρέπει να είναι διαφορετικές. Για οποιαδήποτε μη μηδενική διαφορά των 6 bits της εισόδου, θα πρέπει το πολύ 8 από τα 32 ζευγάρια να προκαλούν την ίδια διαφορά εξόδου Όμοια με το παραπάνω κριτήριο, αλλά θα πρέπει να εφαρμόζεται συγχρόνως σε οποιαδήποτε 3 από τα 8 κουτιά αντικατάστασης. 32

Ο κρυπταλγόριθμος DES Σε κάθε γύρο το κλειδί προκύπτει από το πρόγραμμα κλειδιού Δύο συναρτήσεις μετάθεσης επιλογής (permuted choice), PC-1:{0,1} 64 {0,1} 56 Το 8 ο κάθε οκτάδας αγνοείται PC-2: {0,1} 56 {0,1} 48 Καταχωρητές ολίσθησης 33

Ασφάλεια του DES Εχει μελετηθεί περισσότερο από κάθε άλλο αλγόριθμο Πορίσματα μετατράπηκαν σε αρχές σχεδιασμού συμμετρικών αλγόριθμων τμήματος τύπου DES Ο κλειδοχώρος του DES ήταν πάντα περιορισμένος Το 80 ήταν οικονομικά επιτρεπτό σε μια κυβέρνηση να σπάσει το κρυπτοσύστημα με εξαντλητική αναζήτηση Σήμερα, η κατανεμημένη υπολογιστική επιτρέπει τη συνεργασία μελών κοινότητας του Διαδικτύου Η κοινότητα distributed.net (1999, εξαντλητική αναζήτηση) Το κλειδί βρέθηκε μετά από 22 ώρες και 15 λεπτά Συμμετείχαν 100.000 Η/Υ 245 δισεκατομμύρια κλειδιά/sec 34

Ασφάλεια του DES Με υπολογιστικής ισχύ 2003 (100.000 Η/Υ) 8 ώρες και 30 λεπτά Τα κουτιά αντικατάστασης έχουν περιορισμένο μέγεθος Η διαδικασία καθορισμού των κουτιών αντικατάστασης ήταν κρυφή για αρκετά χρόνια Δημιούργησε υποψίες ύπαρξης «μυστικής πόρτας» Η ανάλυση των κουτιών έδειξε ότι η επιλογή τους έγινε με ιδιαίτερη προσοχή 35

Ασφάλεια του DES Αδύναμα κλειδιά Υπάρχουν κλειδιά τα οποία παράγουν το ίδιο πρόγραμμα κλειδιού κατά την κρυπτογράφηση / αποκρυπτογράφηση Κανονικά, το πρόγραμμα κλειδιού της αποκρυπτογράφησης έχει αντίστροφη σειρά αυτού της κρυπτογράφησης Στην περίπτωση που ένα σύστημα χρησιμοποιεί διπλή κρυπτογράφηση το κρυπτοκείμενο που προκύπτει θα είναι ίδιο με το απλό κείμενο 36

Ασφάλεια του DES Ημιαδύναμα κλειδιά (εμφανίζονται σε ζευγάρια) Το πρόγραμμα κλειδιού του ενός είναι ισοδύναμο με το πρόγραμμα κλειδιού του άλλου, με αντίστροφη σειρά. Η κρυπτογράφηση του ενός κλειδιού ακολουθούμενη από την κρυπτογράφηση του δεύτερου κλειδιού (ζευγάρι) το κρυπτοκείμενο να είναι ίσο με το αρχικό απλό κείμενο Η ύπαρξη αδύναμων και ημιαδύναμων κλειδιών οφείλεται στην απλοϊκή κατασκευή του αλγόριθμου του προγράμματος κλειδιών 37

Ο κρυπταλγόριθμος AES (Advanced Encryption Standard) Αντικατάσταση του DES (1997) (National Institute of Standards and Technology, NIST) Παγκόσμια συμμετοχή Υποβλήθηκαν 21 κρυπταλγόριθμοι 15 βρέθηκαν να πληρούν τα απαραίτητα κριτήρια. επιλέχθηκαν 5 στις 2 Οκτωβρίου του 2000 κατοχυρώθηκε ο Rijndael ως ο AES η διαδικασία δημιουργίας του AES πληρούσε το κριτήριο του Kerchoff 38

Ο κρυπταλγόριθμος AES Τα κριτήρια αξιολόγησης του AES : Ασφάλεια (μεγαλύτερο βάρος) Κόστος υπολογιστική πολυπλοκότητα του αλγορίθμου απαιτήσεις μνήμης. οι υλοποιήσεις συμπεριέλαβαν έξυπνες κάρτες. χαρακτηριστικά υλοποίησης του κρυπταλγόριθμου απλότητα και ευκαμψία (flexibility) του αλγορίθμου, μέγεθος του απλού κειμένου, του κρυπτοκειμένου και του κλειδιού. 39

Ο κρυπταλγόριθμος AES Ο AES είναι ένας κρυπταλγόριθμος τμήματος F = G = {0, 1} 128 Το κλειδί έχει μεταβλητό μέγεθος: 128, 192 ή 256 bits. μεγάλος κλειδοχώρος πρακτικά αδύνατη η εξαντλητική αναζήτηση. Επαναληπτικός κρυπταλγόριθμος που βασίζεται σε κρυπτογράφηση γινομένου. Ο αριθμός των γύρων r εξαρτάται από το μέγεθος του κλειδιού. r 128 = 10, r 192 = 12 ή r 256 = 14 Η δομή του δεν είναι δίκτυο Feistel Στο Feistel κρυπτογραφείται ένα μέρος της εισόδου - DES Σε κάθε γύρο του AES κρυπτογραφείται όλη η είσοδος αποτέλεσμα να απαιτούνται μικρότερος αριθμός γύρων 40

Τα βασικά συστατικά του κρυπταλγόριθμου AES Ο βασικός αποθηκευτικός χώρος συμβολίζεται με state Αρχικά περιέχει το απλό κείμενο Στο τέλος περιέχει το κρυπτοκείμενο Ο AES περιγράφεται με τη μορφή στρωμάτων κάθε στρώμα αντιστοιχεί σε ένα συγκεκριμένο μετασχηματισμό του state 41

Kρυπταλγόριθμος AES Στρώμα σύγχυσης - sub_bytes Υπεύθυνο για την αύξηση της σύγχυσης. Αντιστοιχεί με κουτί αντικατάστασης και εκτελεί τον μη γραμμικό μετασχηματισμό του AES Η είσοδος χωρίζεται σε 16 δυαδικές λέξεις των 8 bits Η μη γραμμικότητα εφαρμόζεται στην κάθε λέξη χωριστά Τα οκτώ bits μιας δυαδικής λέξης εισόδου (a0 a1a2a3a4a5a6a7 ) εκφράζονται με το πολυώνυμο: 42

Kρυπταλγόριθμος AES Το στρώμα σύγχυσης εκτελεί τα ακόλουθα βήματα Αρχικά υπολογίζεται το B(x): όπου P(x): Εφαρμόζεται ο γραμμικός μετασχηματισμός C(x) το αποτέλεσμα της διαδικασίας sub_bytes Η διαδικασία είναι η ίδια για τις 16 δυαδικές λέξεις της εισόδου 43

Kρυπταλγόριθμος AES Στρώμα διάχυσης αποτελείται από δύο υποστρώματα: shift_rows και mix_columns shift_rows: η είσοδος απεικονίζεται με 16 δυαδικές λέξεις (s0s1 s15), (8 bits κάθε λέξη), Οι λέξεις διατάσσονται σε πίνακα 4x4 Στη συνέχεια, πραγματοποιείται ολίσθηση των λέξεων 44

Kρυπταλγόριθμος AES Στρώμα διάχυσης Η έξοδος της διαδικασίας shift_rows: Η διαδικασία mix_columns δέχεται τις λέξεις ανά τετράδες Εφαρμόζεται ο ακόλουθος μετασχηματισμός όπου (i, j, k, l) є {(0, 5, 10, 15), (4, 9, 14, 3), (8, 13, 2, 7), (12, 1, 6, 11)} Η έξοδος της διαδικασίας 45

Kρυπταλγόριθμος AES Το πρόγραμμα κλειδιού Οι πράξεις εκτελούνται σε λέξεις των 32 bit (wi ) Στόχος η δημιουργία μιας ακολουθίας εκτεταμένου κλειδιού (expanded key) μεγέθους 44 32 = 1408 bits Οι τέσσερις πρώτες λέξεις φορτώνονται με τα 128 bits του κλειδιού 46

Kρυπταλγόριθμος AES Το πρόγραμμα κλειδιού Στη συνέχεια, ακολουθεί η διαδικασία που επαναλαμβάνεται 40 φορές για να καθορισθούν οι λέξεις w4 έως w43 47

Kρυπταλγόριθμος AES Το πρόγραμμα κλειδιού (40 φορές η διαδικασία) Η κυκλική ολίσθηση εκτελεί μια μετατόπιση της εισόδου για 8 θέσεις προς τα αριστερά. Π.Χ. η κυκλική ολίσθηση της w3 : (k14k15k16k13 ) Οι ποσότητες όπου συμβολίζεται το ακέραιο μέρος του πηλίκου i/4 είναι σε δακαεξαδική μορφή Η διαδικασία sub_bytes εισάγει μη γραμμικότητα στο πρόγραμμα κλειδιού 48

Kρυπταλγόριθμος AES Το πρόγραμμα κλειδιού Παράγει 44 λέξεις Χρησιμοποιούνται ανά τέσσερις από τη διαδικασία add_round_key αποκλειστική διάζευξη των δεδομένων με το κλειδί 49

Κρυπταλγόριθμοι ροής Κρυπτογραφικά κριτήρια: Η περίοδος της κλειδοροής θα πρέπει να είναι όσο το δυνατόν μεγαλύτερη Το πλεονέκτημα του αντιπάλου συσχετίζεται αντίστροφα με το μέγεθος της περιόδου Η ακολουθία της κλειδοροής θα πρέπει να ικανοποιεί τους ελέγχους περί τυχαιότητας Η μίξη της κλειδοροής με το απλό κείμενο έχει σαν αποτέλεσμα τη δημιουργία μιας ψευδοτυχαίας ακολουθίας Η κρυπτανάλυσή της είναι δύσκολη. Το κλειδί του κρυπταλγόριθμου ροής καθορίζει την αρχική κατάσταση της γεννήτριας της κλειδοροής 50

Κλειδοροές βασισμένες σε καταχωρητές ολίσθησης με γραμμική ανάδραση LFSR (Linear Feedback Shift Register) Δημιουργία κλειδοροής με μέγιστη περίοδο Αδυναμία: αν αποκαλυφθεί μέρος του απλού κειμένου μπορούν να κρυπτοαναλυθεί με σχετικά μεγάλη ευκολία Έτσι ένας LFSR δεν χρησιμοποιείται αυτούσιος Αλλά σε συνδυασμό με κάποια βαθμίδα απομόνωσης Παρεμβάλλεται μεταξύ της κλειδοροής του LFSR και των δεδομένων του απλού κειμένου 51

LFSR (Linear Feedback Shift Register) Γεννήτρια Geffe Αποτελείται από τρεις LFSR, και έναν πολυπλέκτη 2-σε-1 Η είσοδος ελέγχου «αποφασίζει» για το ποια από τις εισόδους θα εμφανισθεί στην έξοδο LFSR-c = 1, η έξοδος του LFSR-1, αλλιώς η έξοδος του LFSR-2 Το κλειδί της γεννήτριας αποτελείται από τις αρχικές καταστάσεις των LFSR ή τα χαρακτηριστικά πολυώνυμα των γραμμικών συναρτήσεων ανάδρασης 52

LFSR (Linear Feedback Shift Register) Γεννήτρια Geffe Είναι κρυπτογραφικά αδύναμη γιατί δεν παρέχει ουσιαστική απομόνωση μεταξύ της εξόδου της γεννήτριας και των LFSR-1 και LFSR-2. Μπορούμε να υπολογίσουμε την πιθανότητα το bit της εξόδου να είναι ίσο με το bit της ακολουθίας που παράγεται από τον LFSR-1 Pr{k(t) = x1(t)} = Pr{xc(t) = 1} + Pr{xc(t) = o} * Pr{x2(t) = x1(t)} = ½ + ½ ½ = ¾ 53

Ο κρυπταλγόριθμος RC4 (stream cipher) Aπό τους πιο διαδεδομένους κρυπταλγόριθμους ροής (SSL) θεωρείται ασφαλής για μεγάλο μήκος κλειδιού 128 Το αλφάβητο του απλού κειμένου αποτελείται από τα γράμματα του συνόλου {0, 1} 8 Οι αποθηκευτικός χώρος πίνακας S[0..255] κάθε στοιχείο του πίνακα αντιστοιχεί σε δυαδική λέξη των 8 bits. 54

Ο κρυπταλγόριθμος RC4 //ο πίνακας αρχικοποιείται for i from 0 to 255 S[i] := i endfor //μια αντιμετάθεση των στοιχείων του S, ελεγχόμενη από το κλειδί j := 0 for i from 0 to 255 j := (j + S[i] + key[i mod keylength]) mod 256 swap(s[i],s[j]) endfor 55

Ο κρυπταλγόριθμος RC4 //η κυρίως διαδικασία που παράγει την ακολουθία της κλειδοροής i := 0 j := 0 while GeneratingOutput: i := (i + 1) mod 256 j := (j + S[i]) mod 256 swap(s[i],s[j]) output S[(S[i] + S[j]) mod 256] endwhile 56