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

Σχετικά έγγραφα
ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κρυπτογραφία. Εργαστηριακό μάθημα 10 (Επαναληπτικές ασκήσεις)

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

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

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

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

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

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

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

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

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

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

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

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

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

Δ4. Θεωρία Πληροφορίας, Εντροπία και Πολυπλοκότητα. Κρυπτογραφία

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

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

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

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

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

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

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

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

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

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

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

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

Ψευδο-τυχαιότητα. Αριθµοί και String. Μονόδροµες Συναρτήσεις 30/05/2013

Θεωρία Πληροφορίας. Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 131: ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I ΕΡΓΑΣΙΑ 2

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

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

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

UP class. & DES και AES

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

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

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

El Gamal Αλγόριθμος. Κώστας Λιμνιώτης Κρυπτογραφία - Εργαστηριακό μάθημα 7 2

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

Κρυπτογραφία και Ηλεκτρονικοί Υπολογιστές. ΣΥΝΤΕΛΕΣΤΕΣ: Κραβαρίτης Αλέξανδρος Μαργώνη Αγγελική Χαλιμούρδα Κων/να

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

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

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

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

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

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

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

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

Transcript:

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο Οι Αλγόριθμοι Κρυπτογραφίας και οι Ιδιότητές τους Διδάσκων : Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής e-mail: pkitsos@teimes.gr, pkitsos@ieee.org Αντίρριο 2015

ΠΕΡΙΕΧΟΜΕΝΑ Αρχές Μέτρησης Κρυπτογραφικής Δύναμης Επιθέσεις σε ένα κρυπτοσύστημα Τα μέτρα του Shannon Μοντέλα αξιολόγησης ασφάλειας Κρυπταλγόριθμοι Ροής και Τμήματος Κατηγορίες Κρυπτογραφικών Πράξεων Ασκήσεις

ΠΕΡΙΣΣΕΙΑ ΓΛΩΣΣΑΣ Ο απόλυτος ρυθμός (Absolute rate) μιας γλώσσας ονομάζεται η ποσότητα όπου n είναι το πλήθος των γραμμάτων του αλφαβήτου. Το ελληνικό αλφάβητο αποτελείται από 24 γράμματα. Ο ελάχιστος αριθμός των bits που απαιτούνται για να αναπαραστήσουμε τα 24 γράμματα είναι Ο αριθμός μηνυμάτων μήκους m γραμμάτων είναι 2 Am Ο αριθμός των έγκυρων μηνυμάτων μήκους m γραμμάτων είναι 2 Rm Ως Περίσσεια (Redundancy) μιας γλώσσας εννοούμε το ποσοστό των συνδυασμών των γραμμάτων της γλώσσας αυτής που δεν οδηγούν σε μηνύματα τα οποία ανήκουν στη γλώσσα αυτή. Σε bits είναι ίση με D=A-R.

UNICITY DISTANCE Unicity Distance ονομάζεται η ποσότητα του κρυπτοκειμένου που απαιτείται για την ανάκτηση του απλού κειμένου. Θα πρέπει να θυμόμαστε ότι όσο μικρότερη είναι η περίσσεια της γλώσσας τόσο περισσότερο κρυπτοκείμενο απαιτείται για να εντοπιστεί το κλειδί

ΜΟΝΤΕΛΑ ΑΞΙΟΛΟΓΗΣΗΣ ΑΣΦΑΛΕΙΑΣ Ασφάλεια άνευ όρων (Unconditionally secure): Ένα σύστημα είναι άνευ όρων ασφαλές όταν το κρυπτοκείμενο δεν δίνει καμιά πληροφορία στον αντίπαλο σχετικά με το απλό κείμενο. Υπολογιστική ασφάλεια (Computationally secure): Ένα κρυπτοσύστημα είναι υπολογιστικά ασφαλές όταν προκειμένου να το παραβιάσει ο αντίπαλος απαιτείται υπολογιστική ισχύ πέραν των δυνατοτήτων του. Χρησιμοποιεί την εξαντλητική αναζήτηση (Exhaustive search) όπου ο αντίπαλος δοκιμάζει ένα προς ένα τα κλειδιά έως ότου ανακαλύψει το σωστό. Ο αναμενόμενος χρόνος ανακάλυψης του σωστού κλειδιού είναι ανάλογος του μισού του συνολικού αριθμού του κλειδιού. Ασφάλεια θεωρητικής πολυπλοκότητας (Complexity theoretic): Θεωρείται ότι ο αντίπαλος μπορεί να πραγματοποιήσει επίθεση στο κρυπτοσύστημα η οποία απαιτεί πολυωνυμική υπολογιστική ισχύ. Δηλαδή, οι παράμετροι ασφάλειας του κρυπτοσυστήματος μπορούν να εκφραστούν πολυωνυμικά ως προς το χρόνο και το χώρο. Αποδείξιμη ασφάλεια (Provable security): Ένα κρυπτοσύστημα είναι αποδείξιμα ασφαλές όταν μπορούμε να αποδείξουμε ότι η ασφάλεια του είναι ισοδύναμη κάποιου γνωστού και καλά μελετημένου προβλήματος που θεωρείται «δύσκολο».

ΕΠΙΘΕΣΕΙΣ ΣΕ ΕΝΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑ (1/6) Επίθεση στο κρυπτοκείμενο (Ciphertextonly attack): Ο αντίπαλος έχει πρόσβαση μόνο σε ορισμένα τμήματα του κρυπτοκειμένου και ο σκοπός του είναι να αποκρυπτογραφήσει το κρυπτοκείμενο αυτό, ή να ανακαλύψει το αντίστοιχο κλειδί

ΕΠΙΘΕΣΕΙΣ ΣΕ ΕΝΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑ (2/6) Επίθεση με γνωστό απλό κείμενο (Known-plaintext attack): Ο αντίπαλος γνωρίζει αντιστοιχίες κρυπτοκειμένου με απλό κείμενο και ο σκοπός του είναι η ανακάλυψη του αντίστοιχου κλειδιού

ΕΠΙΘΕΣΕΙΣ ΣΕ ΕΝΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑ (3/6) Επίθεση με επιλεγμένο απλό κείμενο (Chosen-plaintext attack): Ο αντίπαλος έχει τη δυνατότητα πρόσβασης στο κρυπτοσύστημα όπου δεν γνωρίζει το κλειδί και μπορεί να ζητά την κρυπτογράφηση μηνυμάτων. Με αυτό τον τρόπο μπορεί να ανακαλύψει την αντιστοιχία του απλού κειμένου με το άγνωστο κρυπτοκείμενο

ΕΠΙΘΕΣΕΙΣ ΣΕ ΕΝΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑ (4/6) Επίθεση προσαρμόσιμου επιλεγμένου απλού κειμένου (Adaptive chosen-plaintext attack): Ο αντίπαλος πραγματοποιεί επίθεση με επιλεγμένο απλό κείμενο. Επιπλέον εφαρμόζει μεθοδολογία σύμφωνα με την οποία η επόμενη επιλογή του απλού κειμένου εξαρτάται από τις προηγούμενες, προκειμένου να ανακαλύψει γρηγορότερα το κλειδί από μια εξαντλητική αναζήτηση (Exhaustive search)

ΕΠΙΘΕΣΕΙΣ ΣΕ ΕΝΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑ (5/6) Επίθεση με επιλεγμένο κρυπτοκείμενο (Chosen-ciphertext attack): Ο αντίπαλος έχει πρόσβαση στον αλγόριθμο αποκρυπτογράφησης. Ο σκοπός του είναι να ανακαλύψει το κλειδί αποκρυπτογράφησης ώστε στο μέλλον να αποκρυπτογραφεί τα νέα κρυπτοκείμενα όταν δεν θα έχει πρόσβαση στον αλγόριθμο αποκρυπτογράφησης

ΕΠΙΘΕΣΕΙΣ ΣΕ ΕΝΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑ (6/6) Επίθεση προσαρμόσιμου επιλεγμένου κρυπτοκειμένου (Adaptive chosen-ciphertext attack): Η επίθεση αυτή είναι αντίστοιχη του προσαρμόσιμου επιλεγμένου απλού κειμένου με την διαφορά ότι ο αντίπαλος έχει πρόσβαση στον αλγόριθμο αποκρυπτογράφησης

ΕΞΑΝΤΛΗΤΙΚΗ ΑΝΑΖΗΤΗΣΗ

ΣΥΓΧΥΧΗ και ΔΙΑΧΥΣΗ Σύγχυση (Confusion) είναι η ικανότητα του αλγορίθμου κρυπτογράφησης όπου ο αντίπαλος δεν είναι σε θέση να προβλέψει ποιες μεταβολές θα συμβούν στο κρυπτοκείμενο, δεδομένης μιας μεταβολής στο απλό κείμενο Δηλαδή ένας αλγόριθμος έχει υψηλή σύγχυση όταν οι σχέσεις μεταξύ του απλού κειμένου και του κρυπτοκειμένου είναι αρκετά πολύπλοκες, ώστε να χρειάζεται ο αντίπαλος να ξοδέψει σημαντικό χρόνο προκειμένου να τις προσδιορίσει Διάχυση (Diffusion) είναι η ικανότητα του αλγορίθμου κρυπτογράφησης όπου ένα τμήμα του απλού κειμένου έχει την ευκαιρία να επηρεάζει όσο το δυνατόν περισσότερα τμήματα του κρυπτοκειμένου Ένας αλγόριθμος έχει υψηλή διάχυση όταν ένα στοιχειώδεις τμήμα του απλού κειμένου έχει την δυνατότητα να επηρεάσει όλα τα τμήματα του κρυπτοκειμένου, ανεξάρτητα της τοποθεσίας του τμήματος αυτού στο απλό κείμενο

ΟΡΟΛΟΓΙΑ Έστω F είναι το σύνολο των συμβόλων που απαρτίζουν το απλό κείμενο P, δηλαδή P=[p 1 p 2...] όπου p i F για i=1, 2,...Όμοια έστω G το σύνολο των συμβόλων που απαρτίζουν το κτυπτοκείμενο C, όπου C=[c 1 c 2...], με c i G για i=1, 2,... Τότε το σύνολο όλων των δυνατών απλών κειμένων ονομάζεται χώρος των απλών κειμένων και συμβολίζεται με F* ενώ το σύνολο όλων των δυνατών κρυπτοκειμένων ονομάζεται χώρος των κρυπτοκειμένων και συμβολίζεται με G*. Κατά αντιστοιχία ορίζουμε σαν F n το σύνολο των απλών κειμένων μήκους n, και σαν G m το σύνολο των κρυπτοκειμένων μήκους m.

ΚΡΥΠΤΑΛΓΟΡΙΘΜΟΙ ΡΟΗΣ Απλό Κείμενο Κλειδί Γεννήτρια κλειδοροής k 1 k 2 k 3... Κρυπτοκείμενο p 1 p 2 p 3... c 1 c 2 c 3... Κλειδί Γεννήτρια κλειδοροής k 1 k 2 k 3... p 1 p 2 p 3... Απλό Κείμενο Οι κρυπταλγόριθμοι ροής (stream ciphers) ενεργούν σε ένα σύμβολο (bit) απλού κειμένου Βασικό συστατικό του κρυπταλγορίθμου ροής είναι η γεννήτρια της κλειδοροής Η κλειδοροή (keystream) είναι μια περιοδική ακολουθία κλειδιών Η γεννήτρια κλειδοροής θα πρέπει να παράγει την ίδια ακολουθία σε δύο διαφορετικές τοποθεσίες την ίδια χρονική στιγμή

ΒΑΣΙΣΜΕΝΟΙ ΣΕ LFSRs (Ι) Γεννήτρια Geffe Το κλειδί της γεννήτριας αποτελείται από τα τρία επιμέρους κλειδιά των LFSRs LFSR-1 LFSR-2 Πολυπλέκτης 2 σε 1 Κλειδοροή k(t) LFSR-3

ΒΑΣΙΣΜΕΝΟΙ ΣΕ LFSRs (ΙΙ) Γεννήτρια εναλλασσόμενου βήματος C(t) LFSR-1 Κλειδοροή k(t) LFSR-c LFSR-2

ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΜΕΙΟΝΕΚΤΗΜΑΤΑ Πλεονέκτημα: Μεγάλη ταχύτητα κρυπτογράφησης. Το κάθε σύμβολο του απλού κειμένου δεν εξαρτάται από τα υπόλοιπα και μπορεί όταν κρυπτογραφηθεί και να σταλεί την στιγμή που θα εισαχθεί στο κρυπτοσύστημα Μειονέκτημα: Ο συγχρονισμός των δύο γεννητριών κλειδοροής. Ένας αντίπαλος μπορεί να αποσυγχρονίσει το κρυπτοσύστημα παρεμβάλλοντας επιπλέον σύμβολα στο κρυπτοκείμενο, οπότε η αποκρυπτογράφηση θα οδηγεί σε απλό κείμενο διαφορετικό από το αρχικό

O RC4 ΑΛΓΟΡΙΘΜΟΣ ΡΟΗΣ Αποτελείται από δύο πίνακες, τον S[0,1,.., 255] και τον T[0,1,.., 255] Κάθε στοιχείο των πινάκων είναι 1 byte Γίνεται η αρχικοποίηση S[i]=i για 0<=i<=255 και T[i]=K[i mod k] για 0<=i<=255 με K[j] το j-οστο byte του κλειδιού και k το μέγεθος του κλειδιού Αντιμετάθεση των στοιχείων του πίνακα S με τον πίνακα του κλειδιού Τ j 0: αρχική τιμή j j+s[i]+t[i] mod 256 και S[i] S[j] για 0<=i<=255

O RC4 ΑΛΓΟΡΙΘΜΟΣ ΡΟΗΣ H κλειδοροή παράγεται από την παρακάτω διαδικασία ς φορ θεση αντιµετ έ n t S k j S i S t j S i S ά i S j j i i j i = + + + ] [ ]mod 256 [ ] [ ] [ ] [ : ]mod 256 [ 1mod 256 0 0,

ΚΡΥΠΤΑΛΓΟΡΙΘΜΟΙ ΤΜΗΜΑΤΟΣ Απλό Κείμενο Κρυπτοκείμενο m m Κλειδί n Aλγόριθμος Τμήματος Κλειδί n Aλγόριθμος Τμήματος m m Κρυπτοκείμενο Απλό Κείμενο Οι κρυπταλγόριθμοι τμήματος (block ciphers) ενεργούν σε μια ομάδα συμβόλων απλού κειμένου και παράγουν μια ομάδα συμβόλων κρυπτοκειμένου. Το απλό κείμενο έχει συνήθως αρκετά μεγάλο μήκος, χωρίζεται σε τμήματα όπου το κάθε τμήμα είναι η ομάδα που θα διοχετευθεί στον αλγόριθμο κρυπτογράφησης Το μήκος του τμήματος είναι σταθερό και συγκεκριμένο (m). Οπότε υπάρχει το ενδεχόμενο το τελευταίο τμήμα του απλού κειμένου να συμπληρωθεί από μηδενικά ώστε να έχει το απαιτούμενο μήκος

ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΜΕΙΟΝΕΚΤΗΜΑΤΑ Πλεονέκτημα: Έχουν υψηλή διάχυση λόγω του ομαδικού χειρισμού των συμβόλων του απλού κειμένου κατά την κρυπτογράφηση Ο αντίπαλος δεν μπορεί να παρεμβάλει επιπλέον σύμβολα στο κρυπτοκείμενο Μειονέκτημα: Πολύπλοκη η υλοποίησή τους.

ΜΕΓΙΣΤΗ ΔΙΑΧΥΣΗ και ΣΥΓΧΥΣΗ ΚΡΥΠΤΑΛΓΟΡΙΘΜΟΥ ΤΜΗΜΑΤΟΣ Έστω το κρυπτοσύστημα F (n) G (n) με F=G={0, 1} με κλειδοχώρο Κ και Ε, D που ορίζονται από κρυπταλγόριθμο τμήματος μήκους n-bit. Έστω P=[p 1 p 2...p n ] το τμήμα του απλού κειμένου και C=[c 1 c 2...c n ] το αντίστοιχο τμήμα του κρυπτοκειμένου. Για να υπάρχει μέγιστη διάχυση θα πρέπει να υπάρχει σχέση μεταξύ του κάθε συμβόλου του απλού κειμένου με όλα τα σύμβολα του κρυπτοκειμένου για οποιαδήποτε κλειδί. Για να υπάρχει μέγιστη σύγχυση θα πρέπει η πιθανότητα αντιστροφής ενός συμβόλου του κρυπτοκειμένου c i να είναι 0,5 εφόσον υπάρξει αντιστροφή του συμβόλου p j για όλα τα i, j.

ΚΡΥΠΤΑΛΓΟΡΙΘΜΟΙ ΡΟΗΣ με ΧΡΗΣΗ ΚΡΥΠΤΑΛΓΟΡΙΘΜΩΝ ΤΜΗΜΑΤΟΣ (1/2) Κλειδί Aλγόριθμος Τμήματος c 1 c 2 c 3... Επιλογή συμβόλου c i Απλό Κείμενο Κρυπτοκείμενο Εκμεταλλευόμαστε την υψηλή διάχυση και σύγχυση των κρυπταλγορίθμων τμήματος Κρυπτογράφηση ενός αρχικού απλού κειμένου, π.χ το [000...0]. Ανατροφοδότηση του κρυπτοκειμένου σαν απλό κείμενο Επιλογή του π.χ. πρώτου συμβόλου του κρυπτοκειμένου

ΚΡΥΠΤΑΛΓΟΡΙΘΜΟΙ ΡΟΗΣ με ΧΡΗΣΗ ΚΡΥΠΤΑΛΓΟΡΙΘΜΩΝ ΤΜΗΜΑΤΟΣ (2/2) Καταχωρητής Ολίσθησης n Καταχωρητής Ολίσθησης n Κλειδί Aλγόριθμος Τμήματος Κλειδί Aλγόριθμος Τμήματος c 1 c 2 c 3... c 1 c 2 c 3... Επιλογή συμβόλου c i Επιλογή συμβόλου c i Απλό Κείμενο Κρυπτοκείμενο Απλό Κείμενο Αυτοσυγχρονιζόμενος (Self-synchronizing) αλγόριθμος ροής Στην περίπτωση που υπάρξει κάποιο σφάλμα ή αυθαίρετη εισαγωγή κρυπτοκειμένου κατά την μετάδοση, η διαδικασία αποκρυπτογράφησης θα επανέλθει στη σωστή λειτουργία μετά από n αποκρυπτογραφήσεις από το τελευταίο σφάλμα.

QUIZ Mosquito: Selfsynchronizing stream cipher Moustique: Selfsynchronizing stream cipher

ΚΡΥΠΤΟΓΡΑΦΙΚΕΣ ΠΡΑΞΕΙΣ Αναδιάταξη (Transposition): Επιδρά αποκλειστικά στη θέση των συμβόλων του απλού κειμένου Αντικατάσταση (Substitution): Επιδρά στα σύμβολα του απλού κειμένου Μονοαλφαβητική Αντικατάσταση Πολυαλφαβητική Αντικατάσταση Κωδικοποιητής από n σε 2 n Αποκωδικοποιητής από 2 n σε n

ΑΝΑΔΙΑΤΑΞΗ Στην αναδιάταξη ισχύει F=G, δηλαδή τα σύμβολα του κρυπτοκειμένου είναι ίδια με τα σύμβολα του απλού κειμένου αφού η κρυπτογράφηση αναδιάταξης επιδρά μόνο στις θέσεις των συμβόλων του απλού κειμένου Παράδειγμα: Έστω τα σύνολα του απλού κειμένου και του κρυπτοκειμένου, F=G={α, β, γ, δ, ε, ζ, η, θ, ι, κ, λ, μ, ν, ξ, ο, π, ρ, σ, τ, υ, φ, χ, ψ, ω} Έστω το απλό κείμενο [αλλαγη] Έστω το κλειδί [261453]. Αυτό σημαίνει ότι το πρώτο γράμμα του απλού κειμένου θα εμφανιστεί στη δεύτερη θέση, το δεύτερο γράμμα στη έκτη, κ.ο.κ. Η κρυπτογράφηση του απλού κειμένου θα δώσει [λαηαγλ] Το κρυπτοκείμενο είναι αναγραμματισμός του απλού κειμένου

ΜΟΝΟΑΛΦΑΒΗΤΙΚΗ ΑΝΤΙΚΑΤΑΣΤΑΣΗ Μονοαλφαβητική αντικατάσταση είναι η κρυπτογραφική πράξη e i : F (n) G (m), όπου η e i παραμένει σταθερή σε όλη τη διάρκεια της κρυπτογραφηση ενός απλού κειμένου. Στην περίπτωση που έχουμε F (1) G ονομάζεται απλή αντικατάσταση όπου η κρυπτογραφική πράξη αντιστοιχίζει ένα σύμβολο του απλού κειμένου σε ένα σύμβολο του κρυπτοκειμένου. Κρυπταλγόριθμος μετατόπισης του Καίσαρα (The Shift (Caesar) Cipher) Γραμμικός Κρυπταλγόριθμος (The Affine Cipher)

ΚΡΥΠΤΑΛΓΟΡΙΘΜΟΣ ΜΕΤΑΤΟΠΙΣΗΣ του ΚΑΙΣΑΡΑ Ο κρυπταλγόριθμος μετατόπισης ορίζει το κρυπτοσύστημα F=G=K=Z n και με e k E, d k D, τέτοια ώστε c= e k (p)=p+k mod n και p= d k (c)=c-k mod n, για p F, c G και k K. Στο ελληνικό αλφάβητο έχουμε n=24 με α,α=0, β,β=1,...,ω,ω=23

ΓΡΑΜΜΙΚΟΣ ΚΡΥΠΤΑΛΓΟΡΙΘΜΟΣ Ο γραμμικός κρυπταλγόριθμος ορίζει το κρυπτοσύστημα F=G=K=Z n, Κ={(a, b) Z n xz n : gcd(a, n)=1} και με e k E, d k D, τέτοια ώστε c= e k (p)=ap+b mod n και p= d k (c)=a -1 (c-b) mod n, για p F, c G και k = (α, β) K. Για a=1 ο αλγόριθμος εκφυλίζεται στην περίπτωση του κρυπταλγορίθμου μετατόπισης.

ΠΟΛΥΑΛΦΑΒΗΤΙΚΗ ΑΝΤΙΚΑΤΑΣΤΑΣΗ Πολυαλφαβητική αντικατάσταση είναι η κρυπτογραφική πράξη e i : F (n) G (m), όπου το i παίρνει τουλάχιστον δύο διαφορετικές τιμές κατά την κρυπτογραφηση ενός απλού κειμένου. Σύνολο Αλφαβήτων V (m) Σύνολο Αλφαβήτων W (n) Σύνολο Αλφαβήτων V (m) Σύνολο Αλφαβήτων W (n) p 1 c 1 p 1 c 1 p 2 e k1 c 2 p 2 e k c 2 p 3 e k2 c 3 p 3 c 3.. e k3...... Απλό Κείμενο Κρυπτοκείμενο Απλό Κείμενο Κρυπτοκείμενο Πολυαλφαβητική Αντικατάσταση Μονοαλφαβητική Αντικατάσταση Κρυπταλγόριθμος Vigenere Κρυπταλγόριθμος του Hill

ΚΡΥΠΤΑΛΓΟΡΙΘΜΟΣ VIGENERE Ο κρυπταλγόριθμος Vigerere ορίζει το κρυπτοσύστημα F=G=K=Z n1 και με e k E 1, d k D 1 τέτοια ώστε c=e k (p)=(e k1 (p 1 ), e k2 (p 2 ),..., e kl (p l )) και p=d k (c)=(d k1 (c 1 ), d k2 (c 2 ),..., d kl (d l )) για p F, c G και k=(k 1, k 2,...k l ) K και όπου e k (p)=p+k mod n και d k (p)=p-k mod n Η κρυπτογραφική πράξη e k είναι αυτή του κρυπταλγορίθμου μετάθεσης. Η ποσότητα l προσδιορίζει το μήκος του κλειδιού καθώς και τον αριθμό των αλφάβητων που συμμετέχουν στην κρυπτογράφηση. Αν l=1 τότε εκφυλίζεται στο μονοαλφαβητικό κρυπταλγόριθμο μετάθεσης.

ΚΡΥΠΤΟΓΡΑΦΗΣΗ ΓΙΝΟΜΕΝΟΥ Περιγράφει την σύνθεση δύο η περισσοτέρων κρυπτογραφικών πράξεων για την δημιουργία ενός κρυπταλγορίθμου ο οποίος είναι κρυπτογραφικά δυνατότερος από τις δύο πράξεις. Έχει σαν αποτέλεσμα την σημαντική ενίσχυση των χαρακτηριστικών της σύγχυσης και της διάχυσης. Κρυπτογραφικό γινόμενο μπορεί να προκύψει και από ένα μόνο κρυπτοσύστημα όταν το απλό κείμενο κρυπτογραφείται και το αποτέλεσμα (κρυπτοκείμενο) επανακρυπτογραφείται με την ίδια πράξη. Σε αυτή την περίπτωση δεν θα πρέπει το κρυπτοσύστημα να αποτελεί ομάδα. Ένα κρυπτοσύστημα {F, G, E, D, K} αποτελεί ομάδα όταν: Υπάρχει κλειδί k K τέτοιο ώστε: e k (p)=e k1 (e k2 (p)), για κάθε k 1, k 2 K.

ΓΥΡΟΣ ΚΡΥΠΤΟΓΡΑΦΗΣΗΣ / ΓΕΝΝΗΤΡΙΑ ΚΛΕΙΔΙΩΝ Ένα κρυπτοσύστημα γινομένου του οποίου η πράξη κρυπτογράφησης επαναλαμβάνεται στη σειρά t φορές, λέμε ότι αποτελείται από t γύρους κρυπτογράφησης Σε κάθε γύρο κρυπτογράφησης το κλειδί είναι διαφορετικό. Η ακολουθία των κλειδιών {k 1, k 2,..., k 3 } ονομάζεται «πρόγραμμα» κλειδιών (key schedule) Η γεννήτρια προγράμματος κλειδιού (key schedule generator) αντιστοιχεί ένα κλειδί k K στο σύνολο των κλειδιών του γινομένου: s k :K K t. Ουσιαστικά παράγει το πρόγραμμα κλειδιού από το αρχικό κλειδί.

ΑΣΚΗΣΕΙΣ Άσκηση 1: Έστω ότι θέλετε να κρυπτογραφήσετε ένα μήνυμα με τον γραμμικό αλγόριθμο. Υποθέτουμε το λατινικό αλφάβητο για το οποίο θεωρούμε ότι a=0, b=1,..., z=25 καθώς επίσης και τα σύμβολα?=26, ;=27, =28 και!=29. Άρα χρησιμοποιούμε τον αλγόριθμο κρυπτογραφίας y αx+β (mod 30) για δύο ακέραιους α, β. Να δείξετε ότι υπάρχουν ακριβώς 8 πιθανές επιλογές για τον ακέραιο α, με 0<α<30, που μπορείτε να χρησιμοποιήσετε κατά την αποκρυπτογράφηση. Λύση: Αν ισχύει y=αx+β τότε x= α -1 (y-β). Για να υφίσταται η αποκρυπτογράφηση πρέπει να ισχύει gcd(α, 30)=1. Τότε οι πιθανές τιμές του α είναι οι 1, 7, 11, 13, 17, 19, 23, 29.

ΑΣΚΗΣΕΙΣ (1/2) Άσκηση 2: Έστω τρία σύνολα από χαρακτήρες. Σύνολο1={a, b,..., z}=26 χαρακτήρες Σύνολο2={a, b,..., z, Α, Β,..., Ζ}=52 χαρακτήρες Σύνολο3={a, b,..., z, Α, Β,..., Ζ, 0, 1,.., 9,!,,, &, #, $, *, (, ), [, ], {, }, <, >, ;, :}=78 χαρακτήρες Για κάθε σύνολο υπολογίστε τον αριθμό των κλειδιών με μέγεθος 3, 6 και 12 χαρακτήρες. Έστω ότι ο εισβολέας μπορεί να δοκιμάζει 10.000.000 κλειδιά ανά second υπολογίστε τον χρόνο που απαιτείται για να βρει το κλειδί από το κάθε σύνολο. Λύση: Ο αριθμός των κλειδιών είναι (n!/(k!(n-k)!))

ΑΣΚΗΣΕΙΣ (2/2) Ο μέγιστος χρόνος (σε second) που απαιτείται για να βρεθεί το κλειδί είναι ο συνολικός αριθμός των κλειδιών διαιρεμένος με τον αριθμό κλειδιών που μπορεί να ελεγχθεί σε ένα δευτερόλεπτο. (Ο μέσος χρόνος που λαμβάνεται είναι ο μισός μέγιστος χρόνος.) Για παράδειγμα, εάν το κλειδί έχει μήκος 3 γράμματα, μπορεί να βρεθεί πολύ γρήγορα, δεδομένου ότι όλα τα πιθανά κλειδιά μπορούν να εξεταστούν σε ένα λιγότερο από δευτερόλεπτο. Σε αντίθεση, ο χρόνος που απαιτείται για να ελέγξει όλα τα κλειδιά μήκους 12 που λαμβάνεται από το αλφάβητο των 26 χαρακτήρων, είναι περίπου 10 10 δευτερόλεπτα, το οποίο είναι περίπου 300 έτη.

ΑΣΚΗΣΕΙΣ (1/2) Άσκηση 3: Θεωρώντας το κρυπτοσύστημα Vigenere, αν το κλειδί, Κ, είναι η λέξη CIPHER βρείτε το κρυπτοκείμενο που αντιστοιχεί στο παρακάτω απλό κείμενο: this cryptosystem is not secure. Λύση: (Αλγόριθμος Vigenere e k (p)=p+k mod n) Το κλειδί είναι η λέξη Κ = CIPHER το οποίο μετατρέπεται σε αριθμούς στο εξής, Κ = (2, 8, 15, 7, 4, 17). Το μήκος του κλειδιού είναι 6. Άρα μετατρέπουμε το απλό κείμενο σε ομάδες των 6 χαρακτήρων. Έχουμε thiscr yptosy stemis notsec ure. Έπειτα το μετατρέπουμε και αυτό σε αριθμούς και προσθέτουμε το κλειδί στο πεδίο Z 26. Έτσι έχουμε τον παρακάτω πίνακα.

ΑΣΚΗΣΕΙΣ (2/2) Η τελευταία γραμμή του πίνακα δίνει το κρυπτοκείμενο που αντιστοιχεί το δοθέν απλό κείμενο.