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



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

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

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

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

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

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

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

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

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

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

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

Κρυπτογραφία. Έλεγχος πρώτων αριθών-παραγοντοποίηση. Διαφάνειες: Άρης Παγουρτζής Πέτρος Ποτίκας

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

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

Blum Blum Shub Generator

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

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

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

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

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

Κρυπτογραφία. Μονόδρομες συναρτήσεις - Συναρτήσεις σύνοψης. Άρης Παγουρτζής - Πέτρος Ποτίκας

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

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

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

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

Κρυπτογραφία. Συναρτήσεις μονής κατεύθυνσης - Συναρτήσεις κατακερματισμού. Άρης Παγουρτζής - Πέτρος Ποτίκας

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

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

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

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

Διαλογικά Συσ τήματα Αποδείξεων Διαλογικά Συστήματα Αποδείξεων Αντώνης Αντωνόπουλος Κρυπτογραφία & Πολυπλοκότητα 17/2/2012

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

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

PSEUDORANDOM GENERATORS- PREDICATES & ZK PROOFS

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

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

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

Παύλος Εφραιμίδης. Βασικές Έννοιες Κρυπτογραφίας. Ασφ Υπολ Συστ

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

Μοντέλα και Αποδείξεις Ασφάλειας στην Κρυπτογραφία

1 Diffie-Hellman Key Exchange Protocol

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

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

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

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

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

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

ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ 2 ΕΠΙΜΕΛΕΙΑ :ΣΤΟΥΚΑ ΑΙΚΑΤΕΡΙΝΗ-ΠΑΝΑΓΙΩΤΑ ΜΕΤΑΠΤΥΧΙΑΚΟ:ΜΠΛΑ

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

Αριθμοθεωρητικοί Αλγόριθμοι

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

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

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

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

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

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

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

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

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

Εθνικό Μετσόβιο Πολυτεχνείο

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

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

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

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

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

KΕΦΑΛΑΙΟ 5 ΨΗΦΙΑΚΕΣ ΥΠΟΓΡΑΦΕΣ

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

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

Κατανεμημένα Συστήματα Ι

project RSA και Rabin-Williams

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

Πιθανοτικοί Αλγόριθμοι

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

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

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

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

Τυχαιότητα (Randomness) I

Κεφάλαιο 21. Κρυπτογραφία δημόσιου κλειδιού και πιστοποίηση ταυτότητας μηνυμάτων

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

W i. Subset Sum Μια παραλλαγή του προβλήματος knapsack είναι το πρόβλημα Subset Sum, το οποίο δεν λαμβάνει υπόψιν την αξία των αντικειμένων:

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

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

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

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

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

ΥΠΟΛΟΓΙΣΤΙΚΗ ΚΡΥΠΤΟΓΡΑΦΙΑ

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

1 Ψηφιακές Υπογραφές. 1.1 Η συνάρτηση RSA : Η ύψωση στην e-οστή δύναμη στο Z n. Κρυπτογραφία: Αρχές και πρωτόκολλα Διάλεξη 6. Καθηγητής Α.

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

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

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

Μοντέλα και Αποδείξεις Ασφάλειας στην Κρυπτογραφία - Ανταλλαγή Κλειδιού Diffie Hellman

Τεχνικές Αποδείξεις Κάτω Φραγμάτων

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

ΚΕΦΑΛΑΙΟ 4ο ΔΕΙΓΜΑΤΟΛΗΨΙΑ ΑΠΟ ΣΥΝΕΧΕΙΣ ΚΑΙ ΔΙΑΚΡΙΤΕΣ ΚΑΤΑΝΟΜΕΣ

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

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

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

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

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

Transcript:

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

Περιεχόμενα 1 Εισαγωγή 2 Υπολογιστική ασφάλεια/σημασιολογική ασφάλεια 3 Ψευδοτυχαιότητα 4 Blum-Blum-Shub 5 RC4 6 Πραγματικά κρυπτοσυστήματα ροής Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 2 / 22

Εισαγωγή Ένα καλό σύστημα κρυπτογράφησης: One Time Pad (OTP): M = K = C = {0, 1} n, Enc k (m) = k m, Dec k (c) = k c KEY PLAINTEXT CIPHER Το OTP έχει τέλεια μυστικότητα, αλλά πρέπει key plaintext Μη ρεαλιστικό! Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 3 / 22

Κρυπτοσυστήματα ροής Ιδέα: από ένα μικρό, πραγματικά τυχαίο κλειδί, σπόρο (seed) φτιάχνω ένα μεγάλο, ψευδοτυχαίο κλειδί και έτσι κρυπτογραφώ μεγάλου μεγέθους δεδομένα: KEY G(KEY) PLAINTEXT CIPHER c = Enc k (m) = m G(k) m = Dec k (c) = c G(k) Πώς; Με γεννήτριες ψευδοτυχαιότητας Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 4 / 22

Υπολογιστική ασφάλεια Τι είναι ασφαλές; Σύγχρονη προσέγγιση: Υπολογιστική μυστικότητα έναντι τέλειας μυστικότητας Χαλάρωση απαιτήσεων: αντίπαλος πολυωνυμικά περιορισμένος και με μικρή πιθανότητα σπάει το σύστημα 1 Η μυστικότητα διατηρείται για αποδοτικούς αντιπάλους που διαθέτουν εφικτό χρόνο 2 Οι αντίπαλοι μπορούν να πετύχουν μόνο με πολύ μικρή πιθανότητα (σχεδόν απίθανο να συμβεί) Στηρίζεται σε μη αποδεδειγμένες υποθέσεις (προβλήματα για τα οποία δεν έχουμε αποδοτικούς αλγορίθμους μέχρι σήμερα πχ διακριτός λογάριθμος, παραγοντοποίηση ακεραίων σε πρώτους αριθμούς) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 5 / 22

Παίκτες και αντίπαλος χρησιμοποιούν πιθανοτικούς αλγορίθμους πολυωνυμικού χρόνου ως προς την παράμετρο ασφαλείας n (οι αντίπαλοι έχουν πολύ μεγαλύτερη δύναμη) Αντίπαλος μπορεί να πετύχει με μικρή πιθανότητα (αμελητέα συνάρτηση: για κάθε σταθερά c, η πιθανότητα επιτυχίας του αντιπάλου μικρότερη από n c, για αρκετά μεγάλες τιμές του n) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 6 / 22

Κρυπτογραφία ιδιωτικού κλειδιού Ορισμός Ένα σχήμα κρυπτογράφησης ιδιωτικού-κλειδιού (private-key encryprtion scheme) είναι μια πλειάδα πιθανοτικών αλγορίθμων πολυωνυμικού χρόνου (Gen, Enc, Dec) έτσι ώστε: 1 Gen ο αλγόριθμος παραγωγής κλειδιού: k Gen(1 n ), όπου 1 n η παράμετρος ασφάλειας 2 Enc ο αλγόριθμος κρυπτογράφησης: c Enc k (m), όπου m {0, 1} 3 Dec ο αλγόριθμος αποκρυπτογράφησης Dec: m = Dec k (c) Για κάθε n, κάθε κλειδί k Gen(1 n ) και κάθε m {0, 1}, πρέπει Dec k (Enc k (m)) = m Οι Gen, Enc, Dec είναι γνωστοί, μυστικό μόνο το κλειδί Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 7 / 22

Γεννήτορας ψευδοτυχαίων συμβολοσειρών διαισθητικά Ιδέα: κάτι που μοιάζει με τυχαίο, αλλά δεν είναι πραγματικά Δε ξεχωρίζει ένα τυχαίο string από ένα που δημιουργείται από τη γεννήτρια ψευδοτυχαιότητας Εφαρμογή ψευδοτυχαιότητας και αλλού όπως πχ παίγνια, δειγματοληψία Θα την χρησιμοποιήσουμε για να αποδείξουμε την ασφάλεια σχημάτων κρυπτογράφησης ιδιωτικού κλειδιού Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 8 / 22

Δημιουργία τυχαιότητας υλικό, φυσικά φαινόμενα πχ θερμικός ή ηλεκτρικός θόρυβος λογισμικό πχ πάτημα πλήκτρων πληκτρολογίου, κίνηση του ποντικιού Γενικού σκοπού γεννήτριες τυχαίων αριθμών, μη κατάλληλες για κρυπτογραφία πχ random() της C Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 9 / 22

Μια κατανομή πιθανοτήτων D είναι ψευδοτυχαία αν κανένας διαχωριστής πολυωνυμικού χρόνου δεν μπορεί να καταλάβει αν του έχει δοθεί ένα δείγμα της D ή από ένα string επιλεγμένο ομοιόμορφα τυχαία Ορισμός Έστω l( ) ένα πολυώνυμο και G ένας ντετερμινιστικός αλγόριθμος πολυωνυμικού χρόνου τέτοιος ώστε για κάθε είσοδο s {0, 1} n, ο αλγόριθμος δίνει έξοδο μια συμβολοσειρά μήκους l(n) Λέμε ότι ο G είναι γεννήτορας ψευδοτυχαιότητας αν ισχύουν τα ακόλουθα: 1 (Επέκταση) Για κάθε n ισχύει l(n) > n 2 (Ψευδοτυχαιότητα) Για όλους τους πιθανοτικούς διαχωριστές πολυωνυμικού χρόνου D, υπάρχει μια αμελητέα συνάρτηση negl έτσι ώστε: Pr [D(r) = 1] Pr R r {0,1} l(n) s {0,1} R n[d(g(s)) = 1] negl(n) l: παράγοντας επέκτασης Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 10 / 22

Παρατηρήσεις: ντετερμινιστικός και αποδοτικός (πολυωνυμικός) αλγόριθμος Είναι τυχαίο; Καθόλου! αν l(n) = 2n, τότε η ομοιόμορφη κατανομή στο {0, 1} 2n, έχει χώρο 2 2n, άρα η πιθανότητα να επιλέγει μια συμβολοσειρά είναι 2 2n, dom(g) = 2 n, range(g) = 2 2n, άρα πιθανότητα μια συμβολοσειρά μήκους 2n να επιλέγει είναι 2 n /2 2n = 2 n Αν ο διαχωριστής είναι εκθετικού χρόνου, τότε με εξαντλητική αναζήτηση μπορεί να ξεχωρίσει ένα ψευδοτυχαίο string από ένα τυχαίο Ο σπόρος πρέπει να μείνει μυστικός και αρκετά μεγάλος, ώστε να μη μπορεί ο διαχωριστής να δοκιμάσει όλους τους δυνατούς σπόρους (αύξηση του μήκους κλειδιού, αν χρειαστεί) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 11 / 22

Υπάρχουν αποδεδειγμένα ασφαλείς γεννήτριες ψευδοτυχαιότητας; Άγνωστο Υπάρχουν όμως υποψήφιες Στηρίζεται στην υπόθεση ύπαρξης συναρτήσεων μονής κατεύθυνσης (one-way functions) Ισχύει: G γεννήτρια ψευδοτυχαιότητας ανν G μη προβλέψιμη Ορισμός (Μη προβλέψιμη) Υπάρχει πολυωνυμικός αλγόριθμος A τέτοιος ώστε: για μη αμελητέο ϵ Pr[A(G(K) 1i ) = G(K) i+1 ] > 1 2 + ϵ Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 12 / 22

Ασφαλές σχήμα κρυπτογράφησης Ορισμός Έστω G ένας ψευδοτυχαίος γεννήτορας με παράγοντα επέκτασης l έτσι ώστε: 1 Gen: k R {0, 1} n 2 Enc: c = m Gen(k), όπου m {0, 1} l(n) 3 Dec: m = c Gen(k) Ντετερμινιστικοί Enc, Dec Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 13 / 22

Με βάση τη μη διακρισιμότητα και το IND-EAV της προηγούμενης διάλεξης, έχουμε: Θεώρημα Αν G είναι ένας γεννήτορας ψευδοτυχαιότητας, τότε το παραπάνω σχήμα κρυπτογράφησης έχει μη διακρίσιμες κρυπτογραφήσεις στο μοντέλο παθητικού αντιπάλου (IND-EAV) Απόδειξη (Ιδέα) Με αναγωγή: Απόδειξη βασισμένη στην υπόθεση της ασφάλειας του γεννήτορα Υποθέτουμε ότι έχουμε αντίπαλο A ο οποίος διακρίνει τις κρυπτογραφήσεις Χρησιμοποιώντας τον A μπορούμε να διακρίνουμε την έξοδο του G από ένα πραγματικά τυχαίο Το συγκρίνουμε με το OTP Καταλήγουμε σε άτοπο Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 14 / 22

Πιθανοτική κρυπτογράφηση Μη ασφαλές για πολλαπλά μηνύματα: Two Time Pad Ανάγκη για πιθανοτική κρυπτογράφηση Θεώρημα Έστω Π = (Gen, Enc, Dec) ένα σχήμα κρυπτογράφησης όπου Enc είναι ντετεριμινιστικό Τότε το Π δεν έχει μη διακρίσιμες πολλαπλές κρυπτογραφήσεις στο μοντέλο παθητικού αντιπάλου Απόδειξη Ạ στέλνει τα M 0 = (0 n, 0 n ) και M 1 = (0 n, 1 n ) και παίρνει C = (c 1, c 2 ) Λανθασμένη χρήση στα MS Word, Excel (το ίδιο διάνυσμα αρχικοποίησης/κλειδί χρησιμοποιείται όταν τροποποιείται ένα αρχείο) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 15 / 22

Blum-Blum-Shub (1986) Αλγόριθμος Πάρε δύο μεγάλους πρώτους p, q, με p q 3( mod 4), και θέσε n = pq Επίλεξε τυχαία ένα s 0 σχετικά πρώτο με το n Για 1 i l όρισε z i+1 = (s 2i 0 mod n) mod 2 Παρατήρηση: σχετικά αργό, αλλά ασφαλές με την υπόθεση ότι η παραγοντοποίηση του n σε πρώτους παράγοντες είναι δύσκολη Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 16 / 22

Παράδειγμα BBS Έστω n = 192649 = 383 503 και s 0 = 101355 2 πρώτα 5 bits που παράγονται από τον BBS είναι mod n = 20749 Τα 11001 και προκύπτουν: i s i z i 0 20749 1 143135 1 2 177671 1 3 97048 0 4 89992 0 5 174051 1 Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 17 / 22

H γεννήτρια ψευδοτυχαίων RC4 Συστατικά: 2 arrays of bytes: Μετάθεση P[0255] Αρχικοποίηση: for all i {0255} do : P[i] i Κλειδί K[0keylen 1], keylen 256 συνήθως keylen [58] Επιλέγεται από χρήστη Δημιουργία σειράς κλειδιών (key-scheduling algorithm KSA) Η αρχική (ταυτοτική) μετάθεση P μετατρέπεται μέσω μιας σειράς ανταλλαγών (swap) σε μια (φαινομενικά τυχαία) μετάθεση Το ανακάτεμα επηρεάζεται από το αρχικό κλειδί K Παραγωγή ψευδοτυχαίων bytes (pseudorandom generation algorithm PRGA) Επαναληπτικός βρόχος Σε κάθε επανάληψη επιλέγεται κάποιο byte της P ως κλειδί εξόδου με τρόπο που καθορίζεται από τα τρέχοντα περιεχόμενα της P Οι επαναλήψεις συνεχίζονται για όσο χρειάζεται (δηλ μέχρι να τελειώσει το stream) Σε κάθε επανάληψη γίνεται και ένα νέο swap Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 18 / 22

H γεννήτρια ψευδοτυχαίων RC4 Περιγραφή KSA, PRGA Δημιουργία σειράς κλειδιών (KSA) j 0 for i 0 to 255 do : j (j + P[i] + K[i mod keylen]) mod 256 swap(p[i], P[j]) Παραγωγή ψευδοτυχαίων bytes (PRGA) i 0; j 0 while next key needed : i (i + 1) mod 256 ; j (j + P[i]) mod 256 swap(p[i], P[j]) K o P[(P[i] + P[j]) mod 256] output K o Κάθε κλειδί εξόδου K o χρησιμοποιείται για την κρυπτογράφηση ενός byte αρχικού κειμένου Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 19 / 22

H γεννήτρια ψευδοτυχαίων RC4 Παρατηρήσεις Με ίδιο αρχικό κλειδί K προκύπτει η ίδια σειρά κλειδιών εξόδου Απλή και γρήγορη στην υλοποίηση με software (σε αντίθεση με άλλα stream cipher, πχ αυτά που βασίζονται σε LFSRs) Χρήση σε πολύ διαδεδομένα πρωτόκολλα: TSL, WEP, WPA Η ασφάλεια της γεννήτριας RC4 έχει αμφισβητηθεί έντονα Κάποιοι τρόποι χρήσης ιδιαίτερα ανασφαλείς (πχ WEP) επίθεση Fluhrer, Mantin, Shamir (2001) Άμυνα: απόρριψη αρχικού τμήματος κλειδοροής (RCA4-drop[n]), ενδεικτικά: n = 768 bytes, συστήνεται ακόμη και n = 3072 Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 20 / 22

Πραγματικά συστήματα LFSR (linear feedback shift register): εύκολο στο hardware, κακό γιατί είναι γραμμικό Χρήση: 1 DVD κρυπτογράφηση (CSS): 2 LFSRs 2 GSM (A5/1,2): 3 LFSRs 3 Bluetooth (E0): 4 LFSRs Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 21 / 22

Μοντέρνα κρυπτοσυστήματα ροής Μοντέρνα κρυπτοσυστήματα ροής: estream (2008) G : {0, 1} s R {0, 1} n όπου το R: nonce, δεν επαναλαμβάνεται για το ίδιο κλειδί Enc k (m, k; r) = m G(k, r) Ιδέα: επαναχρησιμοποίηση ίδιου κλειδιού k καθώς το (k, r) αλλάζει Salsa20, Sosemanuk Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 22 / 22