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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ψηφιακές Υπογραφές. Άρης Παγουρτζής Στάθης Ζάχος. Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

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

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

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

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

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

ρ. Κ. Σ. Χειλάς, ίκτυα Η/Υ ΙΙΙ, Τ.Ε.Ι. Σερρών, 2007

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

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

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

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

UP class. & DES και AES

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

Κεφάλαιο 8. Συναρτήσεις Σύνοψης. 8.1 Εισαγωγή

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

a = a a Z n. a = a mod n.

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

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων

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

Αριθµοθεωρητικοί Αλγόριθµοι και το. To Κρυπτοσύστηµα RSA

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

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

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

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

* * * ( ) mod p = (a p 1. 2 ) mod p.

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

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

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

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

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

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

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

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

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

Blum Blum Shub Generator

Υπολογιστικά & Διακριτά Μαθηματικά

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

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

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

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

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

KΕΦΑΛΑΙΟ 1 ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ. { 1,2,3,..., n,...

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

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

2ογελ ΣΥΚΕΩΝ 2ογελ ΣΥΚΕΩΝ ΠΟΛΥΩΝΥΜΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ Β Λυκει(ου ΠΟΛΥΩΝΥΜΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ

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

Κεφάλαιο 8. Ακεραιότητα και Αυθεντικότητα Μηνυμάτων

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

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

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

Ανάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου

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

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

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

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

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

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

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

project RSA και Rabin-Williams

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

ΠΑΡΑΔΕΙΓΜΑΤΑ ΘΕΜΑ Β. 2x 1. είναι Τότε έχουμε: » τον χρησιμοποιούμε κυρίως σε θεωρητικές ασκήσεις.

Ο Ρ Ι Ο & Σ Υ Ν Ε Χ Ε Ι Α Σ Υ Ν Α Ρ Τ Η Σ Η Σ Όριο Συνάρτησης

Υπολογιστικά & Διακριτά Μαθηματικά

Δομές Δεδομένων και Αλγόριθμοι

Transcript:

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

Περιεχόμενα 1 Μονόδρομες Συναρτήσεις 2 Συναρτήσεις σύνοψης (hash functions) 3 Δένδρα Merkle Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 2 / 31

Συναρτήσεις μονόδρομες ή μονής-κατεύθυνσης (one-way functions) Συνάρτηση που είναι εύκολο να υπολογιστεί, αλλά δύσκολο να αντιστραφεί Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 3 / 31

Συναρτήσεις μονόδρομες ή μονής-κατεύθυνσης (one-way functions) Συνάρτηση που είναι εύκολο να υπολογιστεί, αλλά δύσκολο να αντιστραφεί Απαραίτητη προϋπόθεση για κρυπτογραφία ιδιωτικού κλειδιού Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 3 / 31

Συναρτήσεις μονόδρομες ή μονής-κατεύθυνσης (one-way functions) Συνάρτηση που είναι εύκολο να υπολογιστεί, αλλά δύσκολο να αντιστραφεί Απαραίτητη προϋπόθεση για κρυπτογραφία ιδιωτικού κλειδιού Γεννήτριες ψευδοτυχαιότητας βασίζονται στην υπόθεση ύπαρξης μονόδρομων συναρτήσεων Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 3 / 31

Συναρτήσεις μονόδρομες ή μονής-κατεύθυνσης (one-way functions) Συνάρτηση που είναι εύκολο να υπολογιστεί, αλλά δύσκολο να αντιστραφεί Απαραίτητη προϋπόθεση για κρυπτογραφία ιδιωτικού κλειδιού Γεννήτριες ψευδοτυχαιότητας βασίζονται στην υπόθεση ύπαρξης μονόδρομων συναρτήσεων Με αμελητέα πιθανότητα μπορώ να αντιστρέψω μια μονόδρομη συνάρτηση Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 3 / 31

Συναρτήσεις μονόδρομες ή μονής-κατεύθυνσης (one-way functions) Συνάρτηση που είναι εύκολο να υπολογιστεί, αλλά δύσκολο να αντιστραφεί Απαραίτητη προϋπόθεση για κρυπτογραφία ιδιωτικού κλειδιού Γεννήτριες ψευδοτυχαιότητας βασίζονται στην υπόθεση ύπαρξης μονόδρομων συναρτήσεων Με αμελητέα πιθανότητα μπορώ να αντιστρέψω μια μονόδρομη συνάρτηση Με εξαντλητική αναζήτηση (εκθετικό χρόνο) μπορώ να αντιστρέψω μια μονόδρομη συνάρτηση Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 3 / 31

Μονόδρομες Συναρτήσεις Έστω συνάρτηση f : {0, 1} {0, 1} Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 4 / 31

Μονόδρομες Συναρτήσεις Έστω συνάρτηση f : {0, 1} {0, 1} Ορίζουμε για κάθε αλγόριθμο A και κάθε παράμετρο ασφαλείας n το Πείραμα αντιστρεψιμότητας Invert A,f (n) 1 Διάλεξε x {0, 1} n Υπολόγισε y = f(x) 2 Ο A με είσοδο το 1 n και το y επιστρέφει το x 3 Η έξοδος είναι 1, αν f(x ) = y, αλλιώς 0 Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 4 / 31

Μονόδρομες Συναρτήσεις Έστω συνάρτηση f : {0, 1} {0, 1} Ορίζουμε για κάθε αλγόριθμο A και κάθε παράμετρο ασφαλείας n το Πείραμα αντιστρεψιμότητας Invert A,f (n) 1 Διάλεξε x {0, 1} n Υπολόγισε y = f(x) 2 Ο A με είσοδο το 1 n και το y επιστρέφει το x 3 Η έξοδος είναι 1, αν f(x ) = y, αλλιώς 0 Παρατήρηση: Δε χρειάζεται να βρούμε το ίδιο το x, αλλά οποιαδήποτε x, τώ f(x ) = y = f(x) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 4 / 31

Μονόδρομες Συναρτήσεις Ορισμός Μία συνάρτηση f : {0, 1} {0, 1} είναι μονόδρομη συνάρτηση αν είναι: 1 (Εύκολα υπολογίσιμη) Υπάρχει πολυωνυμικού χρόνου αλγόριθμος M f που την υπολογίζει, δηλ M f (x) = f(x), x 2 (Δύσκολα αντιστρέψιμη) Για κάθε PPT αλγόριθμο A υπάρχει αμελητέα συνάρτηση ϵ έτσι ώστε: Pr[Invert A,f (n) = 1] ϵ(n) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 5 / 31

Μονόδρομες Συναρτήσεις Ορισμός Μία συνάρτηση f : {0, 1} {0, 1} είναι μονόδρομη συνάρτηση αν είναι: 1 (Εύκολα υπολογίσιμη) Υπάρχει πολυωνυμικού χρόνου αλγόριθμος M f που την υπολογίζει, δηλ M f (x) = f(x), x 2 (Δύσκολα αντιστρέψιμη) Για κάθε PPT αλγόριθμο A υπάρχει αμελητέα συνάρτηση ϵ έτσι ώστε: Pr[Invert A,f (n) = 1] ϵ(n) Πιο αναλυτικά, Pr x {0,1} n[a(1 n, f(x)) f 1 (f(x))] ϵ(n) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 5 / 31

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

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

Μονόδρομες Συναρτήσεις Παρατηρήσεις: 1 Μια συνάρτηση που δεν είναι μονόδρομη δεν είναι απαραίτητο να αντιστρέφεται πάντα εύκολα (ή συχνά ) Πχ αν υπάρχει αντίπαλος που αντιστρέφει μια συνάρτηση με πιθανότητα n 10 για όλους άρτιους n (αλλά αποτυγχάνει για τους μονούς), τότε δεν είναι μονόδρομη 2 Αν έχουμε εκθετικό χρόνο, τότε αν μας δίνεται ένα y και η παράμετρος ασφαλείας 1 n, τότε μπορούμε να δοκιμάσουμε όλα τα x {0, 1} n, μέχρι να βρούμε ένα x, τέτοιο ώστε f(x) = y Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 6 / 31

Μονόδρομες Μεταθέσεις Μια συνάρτηση λέμε ότι διατηρεί το μήκος αν f(x) = x, x Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 7 / 31

Μονόδρομες Μεταθέσεις Μια συνάρτηση λέμε ότι διατηρεί το μήκος αν f(x) = x, x Ορισμός Μια μονόδρομη συνάρτηση που διατηρεί το μήκος και είναι 1-1, είναι μια μονόδρομη μετάθεση Η τιμή y καθορίζει μοναδικά το x από το οποίο προήλθε Παρόλα αυτά είναι δύσκολο να βρούμε το x σε πολυωνυμικό χρόνο Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 7 / 31

Υποψήφιες μονόδρομες συναρτήσεις Υπάρχουν μονόδρομες συναρτήσεις με την προϋπόθεση πως κάποια προβλήματα είναι δύσκολα, πχ παραγοντοποίηση ακεραίων Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 8 / 31

Υποψήφιες μονόδρομες συναρτήσεις Υπάρχουν μονόδρομες συναρτήσεις με την προϋπόθεση πως κάποια προβλήματα είναι δύσκολα, πχ παραγοντοποίηση ακεραίων Παράδειγμα 1 f mult (x, y) = xy, Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 8 / 31

Υποψήφιες μονόδρομες συναρτήσεις Υπάρχουν μονόδρομες συναρτήσεις με την προϋπόθεση πως κάποια προβλήματα είναι δύσκολα, πχ παραγοντοποίηση ακεραίων Παράδειγμα 1 f mult (x, y) = xy, όμως με μεγάλη πιθανότητα, το αποτέλεσμα άρτιος, οπότε (2, xy/2) είναι ο αντίστροφος Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 8 / 31

Υποψήφιες μονόδρομες συναρτήσεις Υπάρχουν μονόδρομες συναρτήσεις με την προϋπόθεση πως κάποια προβλήματα είναι δύσκολα, πχ παραγοντοποίηση ακεραίων Παράδειγμα 1 f mult (x, y) = xy, όμως με μεγάλη πιθανότητα, το αποτέλεσμα άρτιος, οπότε (2, xy/2) είναι ο αντίστροφος Με περιορισμό, είναι μονόδρομη: Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 8 / 31

Υποψήφιες μονόδρομες συναρτήσεις Υπάρχουν μονόδρομες συναρτήσεις με την προϋπόθεση πως κάποια προβλήματα είναι δύσκολα, πχ παραγοντοποίηση ακεραίων Παράδειγμα 1 f mult (x, y) = xy, όμως με μεγάλη πιθανότητα, το αποτέλεσμα άρτιος, οπότε (2, xy/2) είναι ο αντίστροφος Με περιορισμό, είναι μονόδρομη: 1 f mult (x, y) = (xy, x, y ), (εναλλακτικά, x, y έχουν ίδιο μήκος) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 8 / 31

Υποψήφιες μονόδρομες συναρτήσεις Υπάρχουν μονόδρομες συναρτήσεις με την προϋπόθεση πως κάποια προβλήματα είναι δύσκολα, πχ παραγοντοποίηση ακεραίων Παράδειγμα 1 f mult (x, y) = xy, όμως με μεγάλη πιθανότητα, το αποτέλεσμα άρτιος, οπότε (2, xy/2) είναι ο αντίστροφος Με περιορισμό, είναι μονόδρομη: 1 f mult (x, y) = (xy, x, y ), (εναλλακτικά, x, y έχουν ίδιο μήκος) 2 x, y πρώτοι αριθμοί ίσου μήκους Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 8 / 31

Υποψήφιες μονόδρομες συναρτήσεις Υπάρχουν μονόδρομες συναρτήσεις με την προϋπόθεση πως κάποια προβλήματα είναι δύσκολα, πχ παραγοντοποίηση ακεραίων Παράδειγμα 1 f mult (x, y) = xy, όμως με μεγάλη πιθανότητα, το αποτέλεσμα άρτιος, οπότε (2, xy/2) είναι ο αντίστροφος Με περιορισμό, είναι μονόδρομη: 1 f mult (x, y) = (xy, x, y ), (εναλλακτικά, x, y έχουν ίδιο μήκος) 2 x, y πρώτοι αριθμοί ίσου μήκους Παράδειγμα 2 Η συνάρτηση f(x 1,, x n, J) = (x 1,, x n, j J x j), όπου κάθε x i είναι ένα ακέραιος και J {1, 2,, n} Εύρεση αντιστρόφου είναι το γνωστό N P-πλήρες πρόβλημα Subset Sum Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 8 / 31

Υποψήφιες μονόδρομες μεταθέσεις Παράδειγμα 3 Έστω ένας πρώτος αριθμός p μήκους n-bits και ένας γεννήτορας g Z p Έστω ένα στοιχείο x Z p Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 9 / 31

Υποψήφιες μονόδρομες μεταθέσεις Παράδειγμα 3 Έστω ένας πρώτος αριθμός p μήκους n-bits και ένας γεννήτορας g Z p Έστω ένα στοιχείο x Z p Ορίζουμε f p,g (x) = g x mod p Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 9 / 31

Υποψήφιες μονόδρομες μεταθέσεις Παράδειγμα 3 Έστω ένας πρώτος αριθμός p μήκους n-bits και ένας γεννήτορας g Z p Έστω ένα στοιχείο x Z p Ορίζουμε f p,g (x) = g x mod p Η συνάρτηση αυτή διατηρεί το μήκος και είναι 1-1, άρα μετάθεση Η δυσκολία αντιστροφής της βασίζεται στη δυσκολία του προβλήματος διακριτού λογάριθμου Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 9 / 31

Υποψήφιες μονόδρομες μεταθέσεις Παράδειγμα 3 Έστω ένας πρώτος αριθμός p μήκους n-bits και ένας γεννήτορας g Z p Έστω ένα στοιχείο x Z p Ορίζουμε f p,g (x) = g x mod p Η συνάρτηση αυτή διατηρεί το μήκος και είναι 1-1, άρα μετάθεση Η δυσκολία αντιστροφής της βασίζεται στη δυσκολία του προβλήματος διακριτού λογάριθμου Τα SHA-1 ή AES δίνουν μονόδρομες συναρτήσεις, με την υπόθεση ότι είναι ελεύθερες συγκρούσεων ή ψευδοτυχαίες μεταθέσεις Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 9 / 31

Μονόδρομες συναρτήσεις καταπακτής (Trapdoor one-way functions) Μονόδρομες συναρτήσεις που είναι δύσκολο να αντιστραφούν, εκτός και αν ξέρουμε κάποιο μυστικό, την καταπακτή (trapdoor) Παράδειγμα Έστω N = pq, όπου p, q μεγάλοι πρώτοι αριθμοί Η συνάρτηση f N (x) = x 2 mod N είναι μια μονόδρομη μετάθεση με καταπακτή Βασίζεται στην δυσκολία εύρεσης τετραγωνικών ριζών mod N, για σύνθετο N, εκτός και αν ξέρουμε την παραγοντοποίηση του Γνωστή ως μονόδρομη μετάθεση Rabin (κρυπτοσύστημα) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 10 / 31

Συναρτήσεις σύνοψης (hash functions) Γνωστές και ως συναρτήσεις κατακερματισμού Σημαντικές ιδιότητες: Συμπίεση h : X Y, Y < X Συνήθως X = Σ, Y = Σ n, δηλαδή η h(x) έχει συγκεκριμένο μήκος για οποιαδήποτε είσοδο x Ευκολία Υπολογισμού Ο υπολογισμός της τιμής h(x) για κάποιο x γίνεται εύκολα Δηλαδή υπάρχει αλγόριθμος A πολυωνυμικού χρόνου, έτσι ώστε για κάθε x να ισχύει h(x) = A(x) Μια συνάρτηση σύνοψης ορίζει σχέση ισοδυναμίας: x x : h(x) = h(x ) Δύο στοιχεία στην ίδια κλάση ισοδυναμίας λέμε ότι προκαλούν σύγκρουση (collision) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 11 / 31

Συναρτήσεις σύνοψης (hash functions): επιθυμητές ιδιότητες Έστω hash function h : X Y Η h έχει: 1 Αντίσταση πρώτου ορίσματος (preimage resistance), αν για y Y είναι υπολογιστικά δύσκολο να βρεθεί x X τώ h(x) = y 2 Αντίσταση δεύτερου ορίσματος (2nd preimage resistance), αν για x X είναι υπολογιστικά δύσκολο να βρεθεί x X τώ x x και h(x) = h(x ) 3 Δυσκολία εύρεσης συγκρούσεων (collision resistance / freeness), αν είναι υπολογιστικά δύσκολο να βρεθούν x, x X έτσι ώστε h(x) = h(x ) Άλλα ονόματα: για το (2) weak collision freeness, για το (1) non-invertibility Σειρά ισχύος: (3) (2) (1) (υπό προϋποθέσεις) One-way hash functions (OWHFs): (1) & (2) Collision-resistant hash functions (CRHFs): (1) & (2) & (3) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 12 / 31

Συναρτήσεις σύνοψης (hash functions): παραδείγματα 1 f(x) = (x 2 c) mod p: δεν είναι μονής κατεύθυνσης αφού η εύρεση τετραγωνικών ριζών στο Z p είναι δυνατή σε πολυωνυμικό χρόνο 2 g(x) = x 2 mod n, n = pq, p, q κρυφοί: αντίσταση πρώτου ορίσματος, αλλά όχι αντίσταση δεύτερου ορίσματος (γιατί;), επομένως δεν είναι CRHF 3 h : Z 2 q Z p, h(x 1, x 2 ) = α x 1 β x 2 mod p, p, q πρώτοι, p = 2q + 1, α, β γεννήτορες του Z p Είναι γνωστή ως συνάρτηση σύνοψης Chaum-van Heijst-Pfitzman και είναι CRHF αν ισχύει η Υπόθεση Διακριτού Λογαρίθμου στη Z p Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 13 / 31

Επίθεση τετραγωνικής ρίζας (Παράδοξο Γενεθλίων) Θεώρημα Έστω συνάρτηση σύνοψης h : X Y και η h(x) Y ακολουθεί ομοιόμορφη κατανομή πιθανότητας όταν η x X ακολουθεί ομοιόμορφη κατανομή Η πιθανότητα να βρεθεί σύγκρουση μετά από τυχαία επιλογή x 1, x 2,, x k είναι περίπου 1 2 όταν k = 117 n, όπου n = Y Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 14 / 31

Επίθεση τετραγωνικής ρίζας (Παράδοξο Γενεθλίων) Θεώρημα Έστω συνάρτηση σύνοψης h : X Y και η h(x) Y ακολουθεί ομοιόμορφη κατανομή πιθανότητας όταν η x X ακολουθεί ομοιόμορφη κατανομή Η πιθανότητα να βρεθεί σύγκρουση μετά από τυχαία επιλογή x 1, x 2,, x k είναι περίπου 1 2 όταν k = 117 n, όπου n = Y Απόδειξη NoColl i : δεν έχουμε σύγκρουση στα {y 1, y 2,, y i } Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 14 / 31

Επίθεση τετραγωνικής ρίζας (Παράδοξο Γενεθλίων) Θεώρημα Έστω συνάρτηση σύνοψης h : X Y και η h(x) Y ακολουθεί ομοιόμορφη κατανομή πιθανότητας όταν η x X ακολουθεί ομοιόμορφη κατανομή Η πιθανότητα να βρεθεί σύγκρουση μετά από τυχαία επιλογή x 1, x 2,, x k είναι περίπου 1 2 όταν k = 117 n, όπου n = Y Απόδειξη NoColl i : δεν έχουμε σύγκρουση στα {y 1, y 2,, y i } Έχουμε NoColl k αν NoColl i για όλα τα i k, δηλαδή Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 14 / 31

Επίθεση τετραγωνικής ρίζας (Παράδοξο Γενεθλίων) Θεώρημα Έστω συνάρτηση σύνοψης h : X Y και η h(x) Y ακολουθεί ομοιόμορφη κατανομή πιθανότητας όταν η x X ακολουθεί ομοιόμορφη κατανομή Η πιθανότητα να βρεθεί σύγκρουση μετά από τυχαία επιλογή x 1, x 2,, x k είναι περίπου 1 2 όταν k = 117 n, όπου n = Y Απόδειξη NoColl i : δεν έχουμε σύγκρουση στα {y 1, y 2,, y i } Έχουμε NoColl k αν NoColl i για όλα τα i k, δηλαδή Pr[NoColl k ] = Pr[NoColl 1 ]Pr[NoColl 2 NoColl 1 ] Pr[NoColl k NoColl k 1 ] Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 14 / 31

Επίθεση τετραγωνικής ρίζας (Παράδοξο Γενεθλίων) Θεώρημα Έστω συνάρτηση σύνοψης h : X Y και η h(x) Y ακολουθεί ομοιόμορφη κατανομή πιθανότητας όταν η x X ακολουθεί ομοιόμορφη κατανομή Η πιθανότητα να βρεθεί σύγκρουση μετά από τυχαία επιλογή x 1, x 2,, x k είναι περίπου 1 2 όταν k = 117 n, όπου n = Y Απόδειξη NoColl i : δεν έχουμε σύγκρουση στα {y 1, y 2,, y i } Έχουμε NoColl k αν NoColl i για όλα τα i k, δηλαδή Pr[NoColl k ] = Pr[NoColl 1 ]Pr[NoColl 2 NoColl 1 ] Pr[NoColl k NoColl k 1 ] Pr[NoColl 1 ] = 1 Αν συμβαίνει το NoColl i, τότε η πιθανότητα να συγκρουστεί το y i+1 με τα προηγούμενα είναι i n Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 14 / 31

Επίθεση τετραγωνικής ρίζας (Παράδοξο Γενεθλίων) απόδειξη συν Pr[NoColl k ] = k 1 n(n 1) (n k + 1) n k = (1 i n ) i=1 Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 15 / 31

Επίθεση τετραγωνικής ρίζας (Παράδοξο Γενεθλίων) απόδειξη συν Pr[NoColl k ] = k 1 n(n 1) (n k + 1) n k = (1 i n ) i=1 Ισχύει x R, 1 + x e x, οπότε: Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 15 / 31

Επίθεση τετραγωνικής ρίζας (Παράδοξο Γενεθλίων) απόδειξη συν Pr[NoColl k ] = k 1 n(n 1) (n k + 1) n k = (1 i n ) i=1 Ισχύει x R, 1 + x e x, οπότε: k 1 i=1 (1 i n ) k 1 i=1 e i n = e k 1 i=1 i n = e k(k 1) 2n Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 15 / 31

Επίθεση τετραγωνικής ρίζας (Παράδοξο Γενεθλίων) απόδειξη συν Pr[NoColl k ] = k 1 n(n 1) (n k + 1) n k = (1 i n ) i=1 Ισχύει x R, 1 + x e x, οπότε: k 1 i=1 (1 i n ) k 1 i=1 e i n = e k 1 i=1 i n Pr[Coll k ] 1 e k(k 1) 2n = e k(k 1) 2n Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 15 / 31

Επίθεση τετραγωνικής ρίζας (Παράδοξο Γενεθλίων) απόδειξη συν Pr[Coll k ] 1 e k(k 1) 2n Για να είναι επομένως η πιθανότητα σύγκρουσης τουλάχιστον p αρκεί: Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 16 / 31

Επίθεση τετραγωνικής ρίζας (Παράδοξο Γενεθλίων) απόδειξη συν Pr[Coll k ] 1 e k(k 1) 2n Για να είναι επομένως η πιθανότητα σύγκρουσης τουλάχιστον p αρκεί: 1 e k(k 1) 2n p ln(1 p) k(k 1) 2n k 2 k 2n ln 1 1 p 0 Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 16 / 31

Επίθεση τετραγωνικής ρίζας (Παράδοξο Γενεθλίων) απόδειξη συν Pr[Coll k ] 1 e k(k 1) 2n Για να είναι επομένως η πιθανότητα σύγκρουσης τουλάχιστον p αρκεί: 1 e k(k 1) 2n p ln(1 p) k(k 1) 2n k 2 k 2n ln 1 1 p 0 Λύνοντας ως προς k: k 1 + 2n ln 1 1 p Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 16 / 31

Επίθεση τετραγωνικής ρίζας (Παράδοξο Γενεθλίων) απόδειξη συν Pr[Coll k ] 1 e k(k 1) 2n Για να είναι επομένως η πιθανότητα σύγκρουσης τουλάχιστον p αρκεί: 1 e k(k 1) 2n p ln(1 p) k(k 1) 2n k 2 k 2n ln 1 1 p 0 Λύνοντας ως προς k: k 1 + 2n ln 1 1 p Για p = 1 2 προκύπτει k 117 n + 1 Για n = 365, k 23 Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 16 / 31

Επίθεση τετραγωνικής ρίζας (Παράδοξο Γενεθλίων) απόδειξη συν Pr[Coll k ] 1 e k(k 1) 2n Για να είναι επομένως η πιθανότητα σύγκρουσης τουλάχιστον p αρκεί: 1 e k(k 1) 2n p ln(1 p) k(k 1) 2n k 2 k 2n ln 1 1 p 0 Λύνοντας ως προς k: k 1 + 2n ln 1 1 p Για p = 1 2 προκύπτει k 117 n + 1 Για n = 365, k 23 Σημαντική εφαρμογή (μεταξύ άλλων): μέθοδος παραγοντοποίησης ρ Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 16 / 31

Επιθέσεις γενεθλίων Συμπέρασμα, αν h : {0, 1} {0, 1} l, τότε αν πάρω k = O(2 l/2 ) τυχαία στοιχεία από το {0, 1}, η πιθανότητα να έχω σύγκρουση είναι 1/2 Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 17 / 31

Επιθέσεις γενεθλίων Συμπέρασμα, αν h : {0, 1} {0, 1} l, τότε αν πάρω k = O(2 l/2 ) τυχαία στοιχεία από το {0, 1}, η πιθανότητα να έχω σύγκρουση είναι 1/2 Ως προς ασυμπτωτική πολυπλοκότητα, 2 l, 2 l/2 το ίδιο, όχι όμως στην πράξη (αν θέλω ασφάλεια 128 bits, πρέπει η συνάρτηση hash να δίνει έξοδο 256 bits) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 17 / 31

Επιθέσεις γενεθλίων Συμπέρασμα, αν h : {0, 1} {0, 1} l, τότε αν πάρω k = O(2 l/2 ) τυχαία στοιχεία από το {0, 1}, η πιθανότητα να έχω σύγκρουση είναι 1/2 Ως προς ασυμπτωτική πολυπλοκότητα, 2 l, 2 l/2 το ίδιο, όχι όμως στην πράξη (αν θέλω ασφάλεια 128 bits, πρέπει η συνάρτηση hash να δίνει έξοδο 256 bits) Η προσέγγιση αυτή έχει δύο αδυναμίες: 1 τυχαίες τιμές εισόδου 2 μεγάλος χώρος Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 17 / 31

Επιθέσεις γενεθλίων με επιλεγμένα μηνύματα Επιλογή των μηνυμάτων: Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 18 / 31

Επιθέσεις γενεθλίων με επιλεγμένα μηνύματα Επιλογή των μηνυμάτων: Οι τιμές που δίνουμε για να πετύχουμε σύγκρουση, μπορούν να έχουν σχέση μεταξύ τους πχ η Alice απολύεται και θέλει να βρει δύο μηνύματα x και x έτσι ώστε H(x) = H(x ), όπου το πρώτο λέει τους λόγους της απόλυσής της, ενώ το δεύτερο κολακευτικά λόγια Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 18 / 31

Επιθέσεις γενεθλίων με επιλεγμένα μηνύματα Επιλογή των μηνυμάτων: Οι τιμές που δίνουμε για να πετύχουμε σύγκρουση, μπορούν να έχουν σχέση μεταξύ τους πχ η Alice απολύεται και θέλει να βρει δύο μηνύματα x και x έτσι ώστε H(x) = H(x ), όπου το πρώτο λέει τους λόγους της απόλυσής της, ενώ το δεύτερο κολακευτικά λόγια Φτιάχνουμε k = Θ(2 l/2 ) μηνύματα από τον πρώτο τύπο και άλλα τόσα από το δεύτερο και τις εικόνες τους Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 18 / 31

Επιθέσεις γενεθλίων με επιλεγμένα μηνύματα Επιλογή των μηνυμάτων: Οι τιμές που δίνουμε για να πετύχουμε σύγκρουση, μπορούν να έχουν σχέση μεταξύ τους πχ η Alice απολύεται και θέλει να βρει δύο μηνύματα x και x έτσι ώστε H(x) = H(x ), όπου το πρώτο λέει τους λόγους της απόλυσής της, ενώ το δεύτερο κολακευτικά λόγια Φτιάχνουμε k = Θ(2 l/2 ) μηνύματα από τον πρώτο τύπο και άλλα τόσα από το δεύτερο και τις εικόνες τους Είναι δύσκολο/απίθανο να βρεις μια τόσο καλή/εργατική/φιλότιμη υπάλληλο σαν την Alice Η δουλειά της είναι καταπληκτική/ασύγκριτη Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 18 / 31

Επιθέσεις γενεθλίων με επιλεγμένα μηνύματα Επιλογή των μηνυμάτων: Οι τιμές που δίνουμε για να πετύχουμε σύγκρουση, μπορούν να έχουν σχέση μεταξύ τους πχ η Alice απολύεται και θέλει να βρει δύο μηνύματα x και x έτσι ώστε H(x) = H(x ), όπου το πρώτο λέει τους λόγους της απόλυσής της, ενώ το δεύτερο κολακευτικά λόγια Φτιάχνουμε k = Θ(2 l/2 ) μηνύματα από τον πρώτο τύπο και άλλα τόσα από το δεύτερο και τις εικόνες τους Είναι δύσκολο/απίθανο να βρεις μια τόσο καλή/εργατική/φιλότιμη υπάλληλο σαν την Alice Η δουλειά της είναι καταπληκτική/ασύγκριτη Από παράδοξο γενεθλίων έχουμε καλή πιθανότητα να πετύχουμε σύγκρουση μεταξύ μηνυμάτων των δύο τύπων Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 18 / 31

Επιθέσεις γενεθλίων με επιλεγμένα μηνύματα Επιλογή των μηνυμάτων: Οι τιμές που δίνουμε για να πετύχουμε σύγκρουση, μπορούν να έχουν σχέση μεταξύ τους πχ η Alice απολύεται και θέλει να βρει δύο μηνύματα x και x έτσι ώστε H(x) = H(x ), όπου το πρώτο λέει τους λόγους της απόλυσής της, ενώ το δεύτερο κολακευτικά λόγια Φτιάχνουμε k = Θ(2 l/2 ) μηνύματα από τον πρώτο τύπο και άλλα τόσα από το δεύτερο και τις εικόνες τους Είναι δύσκολο/απίθανο να βρεις μια τόσο καλή/εργατική/φιλότιμη υπάλληλο σαν την Alice Η δουλειά της είναι καταπληκτική/ασύγκριτη Από παράδοξο γενεθλίων έχουμε καλή πιθανότητα να πετύχουμε σύγκρουση μεταξύ μηνυμάτων των δύο τύπων Μειονέκτημα: Θέλει πολύ χώρο Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 18 / 31

Βελτιωμένες επιθέσεις γενεθλίων 1 Πάρε τυχαία αρχική τιμή x 0 και για i > 0 υπολόγισε x i = H(x i 1 ) και x 2i = H(H(x 2(i 1) )) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 19 / 31

Βελτιωμένες επιθέσεις γενεθλίων 1 Πάρε τυχαία αρχική τιμή x 0 και για i > 0 υπολόγισε x i = H(x i 1 ) και x 2i = H(H(x 2(i 1) )) 2 Σε κάθε επανάληψη x i? = x2i Εάν ίσα, τότε ψάξε από το x 0 έως το x 2i 1 για σύγκρουση Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 19 / 31

Βελτιωμένες επιθέσεις γενεθλίων 1 Πάρε τυχαία αρχική τιμή x 0 και για i > 0 υπολόγισε x i = H(x i 1 ) και x 2i = H(H(x 2(i 1) )) 2 Σε κάθε επανάληψη x i? = x2i Εάν ίσα, τότε ψάξε από το x 0 έως το x 2i 1 για σύγκρουση 3 Βρίσκει το μικρότερο j ώστε x j = x j+i και τυπώνει τα x j 1, x j+i 1 Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 19 / 31

Βελτιωμένες επιθέσεις γενεθλίων Αλγόριθμος Επίθεσης Γενεθλίων Μικρού Χώρου Είσοδος: Συνάρτηση σύνοψης H : {0, 1} {0, 1} l Έξοδος: x x, με H(x) = H(x ) x 0 {0, 1} l+1, x = x = x 0 for i = 1, 2, do : x = H(x) x = H(H(x )) // τώρα x = H (i) (x 0 ) και x = H (2i) (x 0 ) if x = x break x = x, x = x 0 for j = 1 i do : if H(x) == H(x ) return x, x else x = H(x ), x = H(x ) // τώρα x = H (j) (x 0 ) και x = H (i+j) (x 0 ) Σταθερός χώρος: δύο στοιχεία x i, x 2i Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 20 / 31

Βελτιωμένες επιθέσεις γενεθλίων Αλγόριθμος Επίθεσης Γενεθλίων Μικρού Χώρου Είσοδος: Συνάρτηση σύνοψης H : {0, 1} {0, 1} l Έξοδος: x x, με H(x) = H(x ) x 0 {0, 1} l+1, x = x = x 0 for i = 1, 2, do : x = H(x) x = H(H(x )) // τώρα x = H (i) (x 0 ) και x = H (2i) (x 0 ) if x = x break x = x, x = x 0 for j = 1 i do : if H(x) == H(x ) return x, x else x = H(x ), x = H(x ) // τώρα x = H (j) (x 0 ) και x = H (i+j) (x 0 ) Σταθερός χώρος: δύο στοιχεία x i, x 2i Επιτυχία 1/2 σε Θ(2 l/2 ) βήματα Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 20 / 31

Βελτιωμένες επιθέσεις γενεθλίων Λήμμα Έστω x 1,, x q η ακολουθία τιμών με x m = H(x m 1 ) Αν x I = x J, με 1 I < J q, τότε υπάρχει ένα i < J τέτοιο ώστε x i = x 2i Απόδειξη Η ακολουθία x I, x I+1, επαναλαμβάνεται με περίοδο = J I Δηλ για κάθε i I και k = 0, 1,, έχουμε x i = x i+k Έστω i το μικρότερο πολλαπλάσιο του που είναι μεγαλύτερο ή ίσο του I Έχουμε i < J (γιατί;) Επειδή i I, το 2i είναι πολλαπλάσιο του, έχουμε x i = x 2i Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 21 / 31

Βελτιωμένες επιθέσεις γενεθλίων με επιλεγμένα μηνύματα Όρισε g: {0, 1} l {0, 1}, όπου το τελευταίο bit δείχνει ποιά πρόταση θα επιλεγεί και τα υπόλοιπα ποιά λέξη Παράδειγμα 0: Bob is a good/hardworking and honest/trustworthy worker/employee 1: Bob is a difficult/problematic and taxing/irritating worker/employee g(0000) = Bob is a good and honest worker g(1011) = Bob is a problematic and taxing employee Ορίζουμε f(x) = H(g(x)) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 22 / 31

Βελτιωμένες επιθέσεις γενεθλίων με επιλεγμένα μηνύματα Όρισε g: {0, 1} l {0, 1}, όπου το τελευταίο bit δείχνει ποιά πρόταση θα επιλεγεί και τα υπόλοιπα ποιά λέξη Παράδειγμα 0: Bob is a good/hardworking and honest/trustworthy worker/employee 1: Bob is a difficult/problematic and taxing/irritating worker/employee g(0000) = Bob is a good and honest worker g(1011) = Bob is a problematic and taxing employee Ορίζουμε f(x) = H(g(x)) Οποιαδήποτε σύγκρουση x, x στην f δίνει δύο μηνύματα g(x), g(x ) που συγκρούονται Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 22 / 31

Βελτιωμένες επιθέσεις γενεθλίων με επιλεγμένα μηνύματα Όρισε g: {0, 1} l {0, 1}, όπου το τελευταίο bit δείχνει ποιά πρόταση θα επιλεγεί και τα υπόλοιπα ποιά λέξη Παράδειγμα 0: Bob is a good/hardworking and honest/trustworthy worker/employee 1: Bob is a difficult/problematic and taxing/irritating worker/employee g(0000) = Bob is a good and honest worker g(1011) = Bob is a problematic and taxing employee Ορίζουμε f(x) = H(g(x)) Οποιαδήποτε σύγκρουση x, x στην f δίνει δύο μηνύματα g(x), g(x ) που συγκρούονται Η πιθανότητα να είναι μηνύματα διαφορετικού τύπου είναι 1/2 Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 22 / 31

Βελτιωμένες επιθέσεις γενεθλίων με επιλεγμένα μηνύματα Όρισε g: {0, 1} l {0, 1}, όπου το τελευταίο bit δείχνει ποιά πρόταση θα επιλεγεί και τα υπόλοιπα ποιά λέξη Παράδειγμα 0: Bob is a good/hardworking and honest/trustworthy worker/employee 1: Bob is a difficult/problematic and taxing/irritating worker/employee g(0000) = Bob is a good and honest worker g(1011) = Bob is a problematic and taxing employee Ορίζουμε f(x) = H(g(x)) Οποιαδήποτε σύγκρουση x, x στην f δίνει δύο μηνύματα g(x), g(x ) που συγκρούονται Η πιθανότητα να είναι μηνύματα διαφορετικού τύπου είναι 1/2 Αν είναι ίδιου τύπου, επαναλαμβάνουμε Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 22 / 31

Επέκταση συναρτήσεων σύνοψης Merkle-Damgård Hash Function Extension Έστω h μια συνάρτηση σύνοψης που απεικονίζει είσοδο μήκους 2n σε έξοδο μήκους n Κατασκευάζουμε μια συνάρτηση σύνοψης H μεταβλητού μήκους ως εξής: H: με είσοδο ένα string x {0, 1} μήκους L 2 n : 1 Θέσε B = L n (πλήθος block του x) Πρόσθεσε μηδενικά στο x ώστε το μήκος να είναι πολλαπλάσιο του n (x = x 1,, x B ) Θέσε x B+1 = L (το L κωδικοποιημένο δυαδικά) 2 Θέσε z 0 = 0 n (Initialization vector) 3 Για i = 1,, B + 1, υπολόγισε το z i = h(z i 1 x i ) 4 Έξοδος: z B+1 Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 23 / 31

Κατασκευή Merkle-Damgård x 1 x 2 x B x B+1 = L z 0 = IV z 1 h s z 2 h s z B h s H s h s (x) Σχήμα : Merkle-Damgård Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 24 / 31

Επέκταση συναρτήσεων σύνοψης Θεώρημα Αν η συνάρτηση σύνοψης h είναι collision resistant, τότε και η H που κατασκευάζεται με τη μέθοδο Merkle-Damgård είναι επίσης collision resistant Απόδειξη Έστω x = x 1 x B x = x 1 x B : x B +1 = L, x B+1 = L, με H(x) = H(x ) Τότε έχουμε δύο περιπτώσεις: 1 L L, οπότε στο τελευταίο βήμα είναι z B+1 = h(z B L) και z B +1 = h(z B L ), άρα σύγκρουση στην h, αφού τα strings z B L και z B L είναι διαφορετικά 2 L = L, οπότε B = B Έστω z 0,, z B+1 οι τιμές που παράγονται από την H(x), και I i = z i 1 x i, I B+2 = z B+1 Έστω N ο μεγαλύτερος δείκτης, ώστε I N I N (υπάρχει;) Αφού ο N μέγιστος, έχουμε I N+1 = I N+1 (ειδικά z N = z N ) Αλλά τότε τα I N, I N είναι σύγκρουση στην h Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 25 / 31

Συναρτήσεις σύνοψης: μερικές ακόμη παρατηρήσεις Οι πιο διάσημες συναρτήσεις, MD5 και SHA-1 στηρίζονται σε πράξεις που θυμίζουν συμμετρική κρυπτογραφία (rotation, XOR, πρόσθεση mod2 32, δυαδικές πράξεις) και στην κατασκευή Merkle-Damgård Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 26 / 31

Συναρτήσεις σύνοψης: μερικές ακόμη παρατηρήσεις Οι πιο διάσημες συναρτήσεις, MD5 και SHA-1 στηρίζονται σε πράξεις που θυμίζουν συμμετρική κρυπτογραφία (rotation, XOR, πρόσθεση mod2 32, δυαδικές πράξεις) και στην κατασκευή Merkle-Damgård Υπέστησαν εντατικές επιθέσεις (επίθεση γενεθλίων κά) Η MD5 δεν θεωρείται πλέον ασφαλής, η SHA-1 αντικαταστάθηκε από την (οικογένεια) SHA-2, ενώ έχει αναπτυχθεί και η SHA-3 (Keccak) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 26 / 31

Δένδρα Merkle Ένας χρήστης θέλει να ανεβάσει αρχείο x σε έναν server Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 27 / 31

Δένδρα Merkle Ένας χρήστης θέλει να ανεβάσει αρχείο x σε έναν server Όταν το κατεβάσει, θέλει να ελέγξει αν είναι το ίδιο Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 27 / 31

Δένδρα Merkle Ένας χρήστης θέλει να ανεβάσει αρχείο x σε έναν server Όταν το κατεβάσει, θέλει να ελέγξει αν είναι το ίδιο Λύση: αποθηκεύει τοπικά το h = H(x), και όταν καταβάζει το ζητούμενο αρχείο x ελέγχει H(x ) =? h Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 27 / 31

Δένδρα Merkle Ένας χρήστης θέλει να ανεβάσει αρχείο x σε έναν server Όταν το κατεβάσει, θέλει να ελέγξει αν είναι το ίδιο Λύση: αποθηκεύει τοπικά το h = H(x), και όταν καταβάζει το ζητούμενο αρχείο x ελέγχει H(x ) =? h Αν έχει πολλά αρχεία; Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 27 / 31

Δένδρα Merkle Ένας χρήστης θέλει να ανεβάσει αρχείο x σε έναν server Όταν το κατεβάσει, θέλει να ελέγξει αν είναι το ίδιο Λύση: αποθηκεύει τοπικά το h = H(x), και όταν καταβάζει το ζητούμενο αρχείο x ελέγχει H(x ) =? h Αν έχει πολλά αρχεία; Υπάρχουν διάφορες λύσεις Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 27 / 31

Δένδρα Merkle Δένδρο Merkle με είσοδο x 1, x 2,, x t : Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 28 / 31

Δένδρα Merkle Δένδρο Merkle με είσοδο x 1, x 2,, x t : ένα δυαδικό δένδρο με φύλλα τα x 1,, x t και εσωτερικούς κόμβους τις τιμές σύνοψης των παιδιών του Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 28 / 31

Δένδρα Merkle Δένδρο Merkle με είσοδο x 1, x 2,, x t : ένα δυαδικό δένδρο με φύλλα τα x 1,, x t και εσωτερικούς κόμβους τις τιμές σύνοψης των παιδιών του Σχήμα : Δένδρο Merkle Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 28 / 31

Δένδρα Merkle Δένδρο Merkle με είσοδο x 1, x 2,, x t : ένα δυαδικό δένδρο με φύλλα τα x 1,, x t και εσωτερικούς κόμβους τις τιμές σύνοψης των παιδιών του Σχήμα : Δένδρο Merkle Για δοσμένη συνάρτηση σύνοψης H, συμβολίζουμε με MT t τη συνάρτηση που με είσοδο τα x 1,, x t, υπολογίζει το δένδρο Merkle και τη ρίζα του δένδρου Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 28 / 31

Δένδρα Merkle Δένδρο Merkle με είσοδο x 1, x 2,, x t : ένα δυαδικό δένδρο με φύλλα τα x 1,, x t και εσωτερικούς κόμβους τις τιμές σύνοψης των παιδιών του Σχήμα : Δένδρο Merkle Για δοσμένη συνάρτηση σύνοψης H, συμβολίζουμε με MT t τη συνάρτηση που με είσοδο τα x 1,, x t, υπολογίζει το δένδρο Merkle και τη ρίζα του δένδρου Θεώρημα Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 28 / 31

Δένδρα Merkle Ο χρήστης υπολογίζει το h = MT t (x 1,, x t ), ανεβάζει τα x 1,, x t στον server και φυλάει το h (και το t) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 29 / 31

Δένδρα Merkle Ο χρήστης υπολογίζει το h = MT t (x 1,, x t ), ανεβάζει τα x 1,, x t στον server και φυλάει το h (και το t) Όταν ο χρήστης θέλει το i-οστό αρχείο, ο server του στέλνει το x i μαζί με μια απόδειξη π i ότι είναι το σωστό αρχείο Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 29 / 31

Δένδρα Merkle Ο χρήστης υπολογίζει το h = MT t (x 1,, x t ), ανεβάζει τα x 1,, x t στον server και φυλάει το h (και το t) Όταν ο χρήστης θέλει το i-οστό αρχείο, ο server του στέλνει το x i μαζί με μια απόδειξη π i ότι είναι το σωστό αρχείο Η απόδειξη αποτελείται από τις τιμές που είναι γειτονικές στο μονοπάτι από το x i προς τη ρίζα Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 29 / 31

Δένδρα Merkle Ο χρήστης υπολογίζει το h = MT t (x 1,, x t ), ανεβάζει τα x 1,, x t στον server και φυλάει το h (και το t) Όταν ο χρήστης θέλει το i-οστό αρχείο, ο server του στέλνει το x i μαζί με μια απόδειξη π i ότι είναι το σωστό αρχείο Η απόδειξη αποτελείται από τις τιμές που είναι γειτονικές στο μονοπάτι από το x i προς τη ρίζα Παράδειγμα Έστω ότι ζητάει το x 3 Τότε ο server του στέλνει το x 3 μαζί και τα x 4, h 12, h 58 Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 29 / 31

Δένδρα Merkle Αν η H είναι ελεύθερη συγκρούσεων, τότε είναι αδύνατο ο server να στείλει ψεύτικο αρχείο (και απόδειξη) που να επαληθεύεται Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 30 / 31

Δένδρα Merkle Αν η H είναι ελεύθερη συγκρούσεων, τότε είναι αδύνατο ο server να στείλει ψεύτικο αρχείο (και απόδειξη) που να επαληθεύεται Ο χρήστης χρειάζεται σταθερό χώρο και O(log t) επικοινωνία με τον server για να πάρει το αρχείο Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 30 / 31

Χρήσεις συναρτήσεων σύνοψης Ψηφιακές υπογραφές Σε συνδυασμό με αλγόριθμο υπογραφής, για επιτάχυνση της διαδικασίας Παραδείγματα: MD5, που χρησιμοποιείται με RSA στο PGP, SHA-1 (τώρα SHA-2), που χρησιμοποιείται στο DSS (Digital Signature Standard), κά Έλεγχος γνησιότητας μηνύματος αυθεντικοποίηση (με συμμετρικό κλειδί): keyed hash functions, πχ HMAC Ακεραιότητα δεδομένων (με ή χωρίς κλειδί) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 31 / 31

Χρήσεις συναρτήσεων σύνοψης Ψηφιακές υπογραφές Σε συνδυασμό με αλγόριθμο υπογραφής, για επιτάχυνση της διαδικασίας Παραδείγματα: MD5, που χρησιμοποιείται με RSA στο PGP, SHA-1 (τώρα SHA-2), που χρησιμοποιείται στο DSS (Digital Signature Standard), κά Έλεγχος γνησιότητας μηνύματος αυθεντικοποίηση (με συμμετρικό κλειδί): keyed hash functions, πχ HMAC Ακεραιότητα δεδομένων (με ή χωρίς κλειδί) Bitcoin: blockchain, proof of work, Merkle trees Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 31 / 31

Χρήσεις συναρτήσεων σύνοψης Ψηφιακές υπογραφές Σε συνδυασμό με αλγόριθμο υπογραφής, για επιτάχυνση της διαδικασίας Παραδείγματα: MD5, που χρησιμοποιείται με RSA στο PGP, SHA-1 (τώρα SHA-2), που χρησιμοποιείται στο DSS (Digital Signature Standard), κά Έλεγχος γνησιότητας μηνύματος αυθεντικοποίηση (με συμμετρικό κλειδί): keyed hash functions, πχ HMAC Ακεραιότητα δεδομένων (με ή χωρίς κλειδί) Bitcoin: blockchain, proof of work, Merkle trees Γεννήτριες ψευδοτυχαίων αριθμών (με random seed + counter) Stream ciphers, αλλά και block ciphers (SHACAL) Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία 31 / 31