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

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

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

Κινητές επικοινωνίες. Κεφάλαιο 6 Τεχνικές πoλυπλεξίας - CDMA

Τηλεπικοινωνιακά Συστήματα ΙΙ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Στοιχεία Θεωρίας Αριθμών Και Εφαρμογές Στην Κρυπτογραφία. Linux Random Number Generator

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

ΠΑΡΑ ΕΙΓΜΑ 8 ΓΕΝΝΗΤΡΙΑ ΨΕΥ ΟΤΥΧΑΙΩΝ ΑΡΙΘΜΩΝ (PSEUDORANDOM GENERATOR) 8.0 ΓΕΝΙΚΑ

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

UP class. & DES και AES

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

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

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

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

Symmetric Cryptography. Dimitris Mitropoulos

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Πράξεις με δυαδικούς αριθμούς

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

Σωστή απάντηση το: Γ. Απάντηση

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

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

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

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

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

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

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

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

Εισαγωγή στην Κρυπτολογία 3. Ασφάλεια Τηλεπικοινωνιακών Συστημάτων Κωδικός DIΤ114 Σταύρος ΝΙΚΟΛΟΠΟΥΛΟΣ

ΘΕΜΑΤΑ & ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ

Λύσεις Ασκήσεων ΣΕΙΡΑ 1 η. Πρόσημο και μέγεθος

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

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

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

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

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΟΙ ΚΑΤΑΧΩΡΗΤΕΣ ΚΑΙ Η ΥΛΟΠΟΙΗΣΗ ΤΟΥΣ ΜΕ FLIP-FLOP ΚΑΙ ΠΥΛΕΣ

7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κρυπτογραφία. Εργαστηριακό μάθημα 9 (Πρωτόκολλα πιστοποίησης ταυτότητας μηδενικής γνώσης Fiat-Shamir)

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

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

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

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

Προγραμματισμός Ι (ΗΥ120)

Συμπίεση Δεδομένων Δοκιμής (Test Data Compression) Νικολός Δημήτριος, Τμήμα Μηχ. Ηλεκτρονικών Υπολογιστών & Πληροφορικής, Παν Πατρών

Τεχνικές διόρθωσης και ανίχνευσης σφαλµάτων

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

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

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

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Καταχωρητές 1

ΕΡΓΑΣΤΗΡΙΟ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Διαδικασιακός Προγραμματισμός

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

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

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers)

Λειτουργικά Συστήματα (ΗΥ321)

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων

Transcript:

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

Γενικά χαρακτηριστικά των stream ciphers Keystream Generator K i P i C i Δουλεύουν πάνω σε ένα ρεύμα από bits (ή bytes) Απαιτούν μία γεννήτρια ψευδοτυχαίας ακολουθίας bits (keystream generator) αυτή η ακολουθία που παράγεται λέγεται κλειδοροή (keystream) Τα bits του κλειδιού γίνονται XOR με τα bits του μηνύματος για να προκύψει έτσι το κρυπτόγραμμα, δηλαδή ci= pi ki Η αποκρυπτογράφηση γίνεται με τον ίδιο τρόπο (ο παραλήπτης έχει την ίδια γεννήτρια κλειδοροής, και κάνει XOR το κάθε bit κρυπτογράμματος με το αντίστοιχο bit της κλειδοροής) pi= ci ki Η περίοδος της κλειδοροής πρέπει να είναι όσο γίνεται πιο μεγάλη Κώστας Λιμνιώτης Κρυπτανάλυση στους stream ciphers 2

Παράδειγμα λειτουργία stream ciphers 0 1 1 1 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 0 Κλειδοροή plaintext 1 0 1 1 0 1 0 1 1 0 0 CIPHERTEXT Σημείωση: Λειτουργία του τελεστή XOR : a b = 0 αν τα a,b είναι ίδια, a b = 1 αν τα a,b είναι διαφορετικά. Αντίστοιχα, για πολλές μεταβλητές (π.χ. a b c..), αν άρτιος αριθμός από αυτές είναι 1 τότε το αποτέλεσμα είναι 1, αλλιώς το αποτέλεσμα είναι 0. Κώστας Λιμνιώτης Κρυπτανάλυση στους stream ciphers 3

Τι είναι τα συστήματα παραγωγής κλειδοροής στην πράξη? Ως γεννήτρια ψευδοτυχαίων bits χρησιμοποιήθηκε αρχικά ένας γραμμικός καταχωρητής ολίσθησης με ανάδραση (LFSR) Έχουν καλή μαθηματική περιγραφή και οι ιδιότητές τους αναλύονται εύκολα Message stream Xor Shift register Cipher stream Key stream Κώστας Λιμνιώτης Κρυπτανάλυση στους stream ciphers 4

Λειτουργία ενός LFSR Αποτελείται από N βαθμίδες (θέσεις μνήμης): το περιεχόμενο κάθε μιας είναι είτε 0 είτε 1. Κάποιες από τις βαθμίδες αυτές γίνονται xor και το αποτέλεσμα πηγαίνει πίσω στην πρώτη βαθμίδα. Αν ο LFSR βρίσκεται σε μία κατάσταση (δηλαδή οι βαθμίδες του έχουν μία συγκεκριμένη τιμή), τότε η επόμενη κατάστασή του προσδιορίζεται εύκολα από τον ακόλουθο κανόνα: Όλες οι βαθμίδες (η τιμή τους δηλαδή) ολισθαίνουν κατά μία θέση δεξιά Η νέα τιμή για την πρώτη βαθμίδα είναι το αποτέλεσμα της παραπάνω XOR πράξης Κώστας Λιμνιώτης Κρυπτανάλυση στους stream ciphers 5

Σχηματική αναπαράσταση της λειτουργίας ενός LFSR Παράδειγμα: LFSR τριών βαθμίδων Έξοδος Αν η αρχική κατάσταση είναι 001, τότε η έξοδος είναι 1 (η δεξιότερηβαθμίδα). Την επόμενη χρονική στιγμή, η κατάσταση θα είναι 100 και η έξοδος 0. Το 100 προκύπτει ως εξής: το «1» είναι το XOR που είχαν αρχικά η δεύτερη και η τρίτη βαθμίδα (που ήταν 0 και 1 αντίστοιχα), ενώ το «00» είναι απλά ολισθημένες οι τιμές που είχαν αρχικά η πρώτη με τη δεύτερη βαθμίδα. Κώστας Λιμνιώτης Κρυπτανάλυση στους stream ciphers 6

Σχηματική αναπαράσταση της λειτουργίας ενός LFSR (II) Στον προηγούμενο LFSR, αν θεωρήσουμε ότι η αρχική κατάσταση είναι η 001, οι διαδοχικές καταστάσεις από τις οποίες περνάει (και η αντίστοιχη έξοδος που παράγεται) είναι: Κατάσταση Έξοδος 001 1 100 0 010 0 101 1 110 0 111 1 011 1 001 1 Η 001 έχει ξαναεμφανιστεί, οπότε οι καταστάσεις επαναλαμβάνονται. Άρα, ο συγκεκριμένος LFSR παράγει την ακολουθία 1001011, η οποία επαναλαμβάνεται περιοδικά Κώστας Λιμνιώτης Κρυπτανάλυση στους stream ciphers 7

Ιδιότητες LFSRs Ένα LFSR μήκους L μπορεί να περάσει από 2 L -1 διαφορετικές καταστάσεις, άραμπορείναγεννήσει ακολουθίες με μέγιστη περίοδο 2 L -1. Γενικά, η ακολουθία εξόδου ενός LFSR εξαρτάται τόσο από την ανάδρασή του όσο και από την αρχική του κατάσταση. Στην πράξη προτιμούμε LFSRs που περνάνε από όλες τις καταστάσεις, έτσι ώστε η παραγόμενη κλειδοροή να έχει τη μέγιστη δυνατή περίοδο. Σημαντική ιδιότητα: ακολουθίες περιόδου 2 L -1 που παράγονται από LFSRs μήκους L (για οποιαδήποτε τιμή του L) παρουσιάζουν πολύ καλά χαρακτηριστικά ψευδοτυχαιότητας (εκτός από τη μεγάλη περίοδο) άρα, αυτοί οι LFSRs δείχνουν να είναι ιδανική επιλογή Κώστας Λιμνιώτης Κρυπτανάλυση στους stream ciphers 8

Berlekamp Massey αλγόριθμος (κρυπτανάλυση) Ο ελάχιστος LFSR που μπορεί να παράγει μία δοθείσα ακολουθία υπολογίζεται γρήγορα με τον αλγόριθμο Berlekamp-Massey. Αν το μήκος του μικρότερου LFSR που παράγει μία ακολουθία είναι L, τότε ο Berlekamp-Massey χρειάζεται μόνο 2L διαδοχικά bits της ακολουθίας για να υπολογίσει αυτόν τον ελάχιστο LFSR!! Συμπέρασμα: Οι ακολουθίες που παράγονται από LFSRs μπορούν εύκολα να προβλεφτούν!! Παράδειγμα: Έστω L=128. Τότε, παράγουμε μία ακολουθία περιόδου 2 128-1 (που είναι πολύ μεγάλη). Ωστόσο, αν ξέρουμε μόνο 256 διαδοχικά bits της ακολουθίας τότε βρίσκουμε επακριβώς τον LFSR αυτόν άρα, ολόκληρη την ακολουθία! Μπορούμε να γνωρίζουμε ποτέ ένα τμήμα της κλειδοροής, έτσι ώστε κάνοντας χρήση του Berlekamp-Massey να τη βρίσκουμε ολόκληρη? Ναι!! Αν ξέρουμε ένα μικρό τμήμα του μηνύματος, τότε ουσιαστικά ξέρουμε το αντίστοιχο τμήμα της κλειδοροής!! Κώστας Λιμνιώτης Κρυπτανάλυση στους stream ciphers 9

Berlekamp Massey αλγόριθμος (Περιγραφή) Κώστας Λιμνιώτης Κρυπτανάλυση στους stream ciphers 10

Berlekamp Massey αλγόριθμος (Παράδειγμα) Πηγή: : http://www1.cs.columbia.edu/~tal/4995/ Κώστας Λιμνιώτης Κρυπτανάλυση στους stream ciphers 11