58
Κρυπτογραφία Εντροπία & Τυχαιότητα, Γεννήτορες (Ψευδο-)Τυχαιότητας Κέρκυρα, 2012 Δρ. Ε. Μάγκος

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

Embed Size (px)

DESCRIPTION

Κρυπτογραφία. Εντροπία & Τυχαιότητα, Γεννήτορες (Ψευδο-)Τυχαιότητας. Κέρκυρα, 201 2 Δρ. Ε. Μάγκος. Syllabus. Η Εντροπία ως μέτρο πληροφορίας και ως μέτρο αβεβαιότητας Πλεονασμός φυσικής γλώσσας και Εντροπία Εντροπία και Ασφάλεια Κρυπτοσυστήματος - PowerPoint PPT Presentation

Citation preview

Page 1: Κρυπτογραφία

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

Εντροπία & Τυχαιότητα,

Γεννήτορες (Ψευδο-)Τυχαιότητας

Κέρκυρα, 2012Δρ. Ε. Μάγκος

Page 2: Κρυπτογραφία

Syllabus

1. Η Εντροπία ως μέτρο πληροφορίας και ως μέτρο

αβεβαιότητας

2. Πλεονασμός φυσικής γλώσσας και Εντροπία

3. Εντροπία και Ασφάλεια Κρυπτοσυστήματος

4. Πού χρειαζόμαστε την Τυχαιότητα – Εφαρμοσμένη

Τυχαιότητα

5. Γεννήτορες Τυχαιότητας και Ψευδοτυχαιότητας

6. Κρυπτογραφικώς Ασφαλείς Γεννήτορες Ψευδοτυχαιότητας

Page 3: Κρυπτογραφία

Θεωρία της Πληροφορίας και ΚρυπτολογίαClaude Shannon

C.E. Shannon, "A Mathematical Theory of Communication", Bell System Technical Journal, vol. 27, pp. 379-423, 623-656, July, October, 1948

Θεωρία Πληροφορίας

και Κρυπτολογία Κρυπτανάλυση και

πλεονασμός φυσικής

γλώσσας

Εντροπία και

ασφάλεια

κρυπτοσυστημάτων

Θεωρία Πληροφορίας

(Information Theory) Πώς οι μαθηματικοί

νόμοι διέπουν τα

συστήματα

επικοινωνίας

C.E. Shannon, “Communication Theory of Secrecy Systems”, Bell Systems Technical Journal,. Vol. 28, pp. 656–715, 1948.

* *

Page 4: Κρυπτογραφία

Ποσότητα Πληροφορίας, Εντροπία και Αβεβαιότητα

Ποσότητα πληροφορίας

(Amount of information) : O ελάχιστος αριθμός bit

για την κωδικοποίηση

όλων των πιθανών

νοημάτων που μπορεί να

έχει ένα μήνυμα

Εντροπία Μηνύματος Μέτρο της ποσότητας

πληροφορίας ενός

μηνύματος

Εντροπία = Αβεβαιότητα Πόσα είναι τα bit

αβεβαιότητας του

κρυπταναλυτή όταν το

μήνυμα είναι

κρυπτογραφημένο

Schneier, Bruce. Applied

Cryptography. John Wiley & Sons,

Inc., 2nd edition, 1996.

nMH 2log)(

n – o αριθμός των πιθανών

τιμών του μηνύματος Μ

Θεωρούμε ότι και οι n τιμές είναι ισοπίθανες

Mao, W. Modern Cryptography:

Theory and Practice. Prentice Hall,

2003

Page 5: Κρυπτογραφία

Πλεονασμός, Εντροπία και Αβεβαιότητα

John Hershey. Cryptography Demystified.

McGraw-Hill Professional, 2003

Ένας γεννήτορας bit παράγει 60 bit πληροφορίας (από αριστερά προς δεξιά):Ένας γεννήτορας bit παράγει 60 bit πληροφορίας (από αριστερά προς δεξιά):

Η παραπάνω συμβολοσειρά εμφανίζει πλεονασμό (redundancy). Μπορείτε να τον εντοπίσετε;Η παραπάνω συμβολοσειρά εμφανίζει πλεονασμό (redundancy). Μπορείτε να τον εντοπίσετε;

Πόσα bit πραγματικής πληροφορίας (εντροπία) αντιπροσωπεύουν τα 60 bit της εικόνας;Πόσα bit πραγματικής πληροφορίας (εντροπία) αντιπροσωπεύουν τα 60 bit της εικόνας;

Page 6: Κρυπτογραφία

H Εντροπία ως μέτρο αβεβαιότητας

Πείραμα: μια τυχαία μεταβλητή

X παίρνει τιμές σύμφωνα με μια

κατανομή πιθανότητας

1. Ποια η ποσότητα πληροφορίας

(σε bit) που κερδίζουμε

παρατηρώντας την Χ;

2. Αλλιώς: Πόσα (ελάχιστα) bit

χρειαζόμαστε για να κωδικοποι-

ήσουμε κάθε πιθανή τιμή της Χ;

3. Αλλιώς: Ποια η αβεβαιότητα (σε

bit) για την έξοδο του

πειράματος (πριν το

παρατηρήσουμε);

Stinson, D. Cryptography:

Theory and Practice. Third

Edition, CRC, 2005

π.χ. Ρίξιμο νομίσματος

Πιθ(κορώνα) = ½Πιθ(γράμματα) = ½

Ρίξιμο n νομίσμάτων

Πληροφορία = 1 bit

Πιθ(κορώνα) = ½Πιθ(γράμματα) = ½ Πληροφορία = n bit

Menezes, Oorschot, Vanstone, Handbook

of Applied Cryptography, CRC, 2001

Page 7: Κρυπτογραφία

H Εντροπία ως μέτρο αβεβαιότηταςΤυπικός Ορισμός

Menezes, Oorschot, Vanstone, Handbook

of Applied Cryptography, CRC, 2001

Λογάριθμος: με βάση το 2*

Page 8: Κρυπτογραφία

H Εντροπία ως μέτρο αβεβαιότητας

Πλήρης Βεβαιότητα Έστω ότι μια Πηγή S

παράγει μια τιμή με πλήρη

βεβαιότητα – πιθανότητα 1

Ποια η εντροπία της

πηγής;

Εάν είμαστε βέβαιοι για ένα

ενδεχόμενο, ποιο το νόημα να

«ξοδέψουμε» bit για να το

καταγράψουμε;

Mao, W. Modern Cryptography: Theory

and Practice. Prentice Hall,2003

0)( SH

Πλήρης Αβεβαιότητα Έστω ότι μια πηγή S

παράγει μια τιμή με πλήρη

αβεβαιότητα – (ομοιόμορφη

κατανομή: κάθε τιμή έχει

πιθανότητα 1/n)

Ποια η εντροπία της πηγής;

Εάν είμαστε αβέβαιοι για ένα

ενδεχόμενο, θα χρειαστούμε

τόσα bits ώστε να

καταγράψουμε κάθε πιθανή

τιμή που θα προκύψει !

nSH log)(

Page 9: Κρυπτογραφία

Ποια είναι η εντροπία της “πηγής” Alice:

Αν η Alice και ο Bob εκτελέσουν το παραπάνω πρωτόκολλο n φορές, μπορούν να συμφωνήσουν σε μια ακολουθία αυθεντικής τυχαιότητας μήκους n-bit ! (Γιατί;)

Mao, W. Modern Cryptography: Theory

and Practice. Prentice Hall, 2003

Page 10: Κρυπτογραφία

H Εντροπία ως μέτρο αβεβαιότητας

Έστω επιλέγουμε ένα

κρυπτογραφικό κλειδί n bit

Αν τα κλειδιά είναι ισοπίθανα,

(πιθανότητα 2-n) η εντροπία του

πειράματος θα είναι μέγιστη:

Εντροπία = μέτρο τυχαιότητας

Τι θα γινόταν εάν κάποια

κλειδιά ήταν «περισσότερο»

πιθανά; Η εντροπία θα μειωνόταν !

Stinson, D. Cryptography: Theory and

Practice. Third Edition, CRC, 2005

nKH n 2log)( 2

Έστω η Χ παίρνει τιμές στο

σύνολο {x1, x2, x3, ..., x8} με

πιθανότητες {1/2, 1/8,1/16,…,

1/16} αντίστοιχα.

Ποια είναι η πληροφορία (σε

bit) στην έξοδο του

πειράματος;

Ποια η μέγιστη εντροπία αν όλα

τα xi είναι ισοπίθανα: Log28 =3

375.28

19

8

12

8

3

2

1

16log16

68log

8

12log

2

1

))16

1log

16

1(6

8

1log

8

1

2

1log

2

1()(

XH

Page 11: Κρυπτογραφία

Ιδιότητες Εντροπίας

Menezes, Oorschot, Vanstone, Handbook

of Applied Cryptography, CRC, 2001

Η ποσότητα Η(Χ|Υ) αποδίδει το μέγεθος της αβεβαιότητας που απομένει για την Χ, μετά από την παρατήρηση της Υ ! (για απόλυτη ασφάλεια, η τιμή θα πρέπει να είναι η μέγιστη – γιατί;)

Stinson, D. Cryptography:

Theory and Practice. CRC, 2005

Page 12: Κρυπτογραφία

H Εντροπία ως μέτρο αβεβαιότητας

Stinson, D. Cryptography: Theory and

Practice. Third Edition, CRC, 2005

Page 13: Κρυπτογραφία

H Εντροπία ως μέτρο αβεβαιότητας

Stinson, D. Cryptography: Theory and

Practice. Third Edition, CRC, 2005

Τι παρατηρείτε;

Page 14: Κρυπτογραφία

Εντροπία και Ασφάλεια Κρυπτοσυστήματος

Κρυπτοσύστημα

1. Μήνυμα m. Παίρνει τιμές από

μια τυχαία μεταβλητή Μ

(σύμφωνα με μια κατανομή

πιθανότητας)

2. Κλειδί k. Παίρνει τιμές από

μια τυχαία μεταβλητή Κ

(σύμφωνα με μια κατανομή

πιθανότητας)

3. Κρυπτογράφημα c. Τιμές από

μια τυχαία μεταβλητή C

(σύμφωνα με μια κατανομή

πιθανότητας)

Στο παράδειγμα μας:

Ομοίως, υπολογίζουμε:

Stinson, D. Cryptography: Theory and

Practice. Third Edition, CRC, 2005

Άρα μπορούμε να υπολογίσουμε την εντροπία τους!

81.0

)3(log4

32

)23(log4

3)2(

4

1

4

3log

4

3

4

1log

4

1)(

2

2

22

MH

85.1H(C) ,5.1)( KH

*

Page 15: Κρυπτογραφία

Εντροπία και Ασφάλεια Κρυπτοσυστήματος85.1H(C) ,5.1)( ,81.0)( KHMH

Page 16: Κρυπτογραφία

Πλεονασμός Φυσικής Γλώσσας και Εντροπία

Απόλυτος Ρυθμός Γλώσσας

(Absolute Rate): Η εντροπία ανά χαρακτήρα

(για ισοπίθανους

χαρακτήρες).

Για μια τυχαία γλώσσα L

με 26 χαρακτήρες, R ≈

4.70

Για την Αγγλική γλώσσα, η

εντροπία ανά χαρακτήρα

Ρυθμός Γλώσσας (Rate): Έστω μια πηγή εξάγει λέξεις

μήκους n μιας φυσικής γλώσσας

L

Ρυθμός r της L: Η εντροπία ανά

χαρακτήρα της γλώσσας

(λαμβάνοντας υπόψη συσχετίσεις

και τον πλεονασμό της γλώσσας)

π.χ. ο Shannon υπολόγισε:

Schneier, Bruce. Applied

Cryptography. John Wiley & Sons,

Inc., 2nd edition, 1996.

||log)( 2 LLHR

1.0 < r(αγγλικά) < 1.5 bit/γράμμα

Menezes, Oorschot, Vanstone,

Handbook of Applied

Cryptography, CRC, 2001

n

LHr

n

n

)(lim

Mao, W. Modern

Cryptography: Theory and

Practice. Prentice Hall, 2003

*

Stinson, D. Cryptography:

Theory and Practice. Third

Edition, CRC, 2005

χρησιμοποιώντας

τον πίνακα:

19.4)( LHR

Page 17: Κρυπτογραφία

Πλεονασμός Φυσικής Γλώσσας και Εντροπία

Πλεονασμός Γλώσσας (Redundancy) Ο αριθμός των bit ανά χαρακτήρα που

«περισσεύουν» (δηλαδή, δεν συνεισφέρουν στην

εντροπία)

Πλεονασμός = Απόλυτος ρυθμός - Ρυθμός

Στα Αγγλικά, και για r = 1.25:

Ποσοστό πλεονασμού: 3.45/4.70 ≈ 75%

D = 4.70-1.25 = 3.45 bit/χαρακτήρα

rRD

Schneier, Bruce. Applied

Cryptography. John Wiley & Sons,

Inc., 2nd edition, 1996.

Menezes, Oorschot, Vanstone,

Handbook of Applied

Cryptography, CRC, 2001

Mao, W. Modern

Cryptography: Theory and

Practice. Prentice Hall, 2003

Stinson, D. Cryptography:

Theory and Practice. Third

Edition, CRC, 2005

Page 18: Κρυπτογραφία

Πλεονασμός Φυσικής Γλώσσας

Πλεονασμός (Redundancy) Σε ένα μήνυμα υπάρχουν

περισσότερα σύμβολα από

αυτά που πραγματικά

χρειάζονται για τη μετάδοση

της πληροφορίας

Που οφείλεται ο πλεονασμός σε μια φυσική γλώσσα;

Γραμματική, συντακτικό, φωνητική, ιδιώματα, ετυμολογία, κουλτούρα,...

Η Αγγλική γλώσσα εμφανίζει πλεονασμό ≈ 75%

David. Kahn. The Codebreakers.

Scribner, 1996.

Παράδειγμα 1: Το γράμμα “u” που ακολουθεί το q είναι περιττόΠαράδειγμα 2: Το “the” αυξάνει τον πλεονασμό του κειμένου

“Officer present on active duty for an indefinite period”

“Off pres on AD fr indef period”

Page 19: Κρυπτογραφία

Πλεονασμός Φυσικής Γλώσσας

Κάθε φυσική γλώσσα εμφανίζει «πλεονασμό» (redundancy) Συχνότητες εμφάνισης χαρακτήρων

Συχνότητες εμφάνισης διγράμμων, τριγράμμων

Συχνότητες εμφάνισης λέξεων, εκφράσεων κλπ

John Hershey. Cryptography

Demystified. McGraw-Hill

Professional, 2003

Page 20: Κρυπτογραφία

Πλεονασμός Φυσικής Γλώσσας

Ποιο κείμενο εμφανίζει το

μεγαλύτερο πλεονασμό; Όσο μικρότερος είναι ο

πλεονασμός, τόσο πιο

δύσκολη γίνεται η

κρυπτανάλυση ενός

κρυπτογράμματος

Επομένως, τόσο μεγαλύτερη

γίνεται η ποσότητα

κρυπτογραφήματος που

πρέπει να αποκτήσει ο

κρυπταναλυτής (ciphertext-

only)

David. Kahn. The Codebreakers.

Scribner, 1996.

“End here. Us then. Finn, again! Take. Bussoftlee, mememormee! Till thousendsthee. Lps. The keys to. Given! A way a lone a last a loved a long the.”

“ And the disciples were full of wonder at his words. But Jesus said to them again, Children, how hard it is for those who put faith in wealth to come into the kingdom of God”

Page 21: Κρυπτογραφία

Πλεονασμός Φυσικής Γλώσσας

David. Kahn. The Codebreakers.

Scribner, 1996.

Page 22: Κρυπτογραφία

Εντροπία και Ασφάλεια Κρυπτοσυστήματος Απόσταση Μοναδικότητας (Unicity Distance)

Page 23: Κρυπτογραφία

Εντροπία και Ασφάλεια Κρυπτοσυστήματος Απόσταση Μοναδικότητας (Unicity Distance)

Απόσταση Μοναδικότητας

(U - unicity distance) Ποσότητα

κρυπτογραφημένου

κειμένου που απαιτείται

ώστε ένας κρυπταναλυτής

δοκιμάζοντας όλα τα

πιθανά κλειδιά (brute

force), να οδηγηθεί σε ένα

μόνον αρχικό μήνυμα που

να βγάζει νόημα

Schneier, Bruce. Applied Cryptography.

John Wiley & Sons, Inc., 2nd edition, 1996.

Communication Theory of Secrecy Systems, Bell Systems Technical Journal,. Vol. 28, pp. 656–715, 1948. c Eli Biham

Ευθέως ανάλογη της εντροπίας

Η(Κ) του κρυπτοσυστήματος…

Αντιστρόφως ανάλογη του

πλεονασμού D (bit ανά

χαρακτήρα) της γλώσσας…

Page 24: Κρυπτογραφία

Εντροπία και Ασφάλεια Κρυπτοσυστήματος Απόσταση Μοναδικότητας (Unicity Distance)

Ποια η απόσταση U αλγόριθμου

Αντιμετάθεσης (αγγλικό

κείμενο) με περίοδο t = 12

Δηλαδή, θεωρητικά, ένα

κρυπτο-κείμενο 9 χαρ. είναι

αρκετό για να κρυπταναλυθεί

(μοναδικά)

Ποια είναι η απόσταση U του

αλγορίθμου Αντικατάστασης

(αγγλικό κείμενο);

Δηλαδή, θεωρητικά, ένα

κρυπτο-κείμενο 29 χαρ. είναι

αρκετό για να κρυπταναλυθεί

(μοναδικά)

Menezes, Oorschot, Vanstone, Handbook

of Applied Cryptography, CRC, 2001

945.3/)!lg(/)( tDKH

2645.3/4.88

45.3/)!26lg(/)(

DKH

Page 25: Κρυπτογραφία

Εντροπία και Ασφάλεια Κρυπτοσυστήματος Κρυπτογραφία και Συμπίεση

Συμπίεση (Compression) Προσπαθεί να αφαιρέσει τον πλεονασμό (redundancy) από ένα μήνυμα

Schneier, Bruce. Applied Cryptography. John

Wiley & Sons, Inc., 2nd edition, 1996.

Όσο μεγαλύτερος είναι ο πλεονασμός, τόσο μικρότερη είναι η ποσότητα που (θεωρητικά) χρειάζεται ο κρυπταναλυτής

Page 26: Κρυπτογραφία

Εντροπία και Ασφάλεια Κρυπτοσυστήματος Σύγχυση και Διάχυση

Σύγχυση (Confusion) Αποκρύπτουμε τη σχέση

μεταξύ κρυπτογραφημένου

κειμένου και κλειδιού

π.χ. επαναλαμβανόμενες

αντικαταταστάσεις &

αναδιατάξεις

Διάχυση (Diffusion) O πλεονασμός του αρχικού

κειμένου κατανέμεται

«ομοιόμορφα» στο

κρυπτογραφημένο κείμενο

Φαινόμενο Χιονοστιβάδας &

αλγόριθμοι ομάδας (DES, AES)

Schneier, Bruce. Applied Cryptography. John

Wiley & Sons, Inc., 2nd edition, 1996.

Από μόνες τους, οι τεχνικές αντικατάστασης και αναδιάταξης εμφανίζουν (τις γνωστές) αδυναμίες. Ωστόσο, αν συνδυαστούν, μπορούν υπό προϋποθέσεις να οδηγήσουν στη δημιουργία «ισχυρών» συμμετρικών αλγορίθμων !!!

Page 27: Κρυπτογραφία

Διάχυση - ΠαράδειγμαΕπαναλαμβανόμενοι Αλγόριθμοι Ομάδας – Δίκτυα SPN

J. Katz, Y. Lindell. Introduction to Modern

Cryptography. Chapman & Hall/CRC, 2008.

Για να ισχύει το φαινόμενο της

χιονοστιβάδας, θα πρέπει:

1. Κάθε S-box σχεδιάζεται ώστε

αλλάζοντας 1 bit εισόδου επηρεάζει

τουλάχιστον 2 bit εξόδου του S-box

2. Οι αναδιατάξεις (mixes)

σχεδιάζονται ώστε τα bit εξόδου

κάθε S-box διαχέονται σε

διαφορετικά S-box κατά τον

επόμενο γύρο.

Επιπλέον, θέλω όλα τα bit κλειδιού

να επηρεάζουν όλα τα bit

εξόδου !!!

Stinson, D. Cryptography: Theory and

Practice. Third Edition, CRC, 2005

Τυπικά λοιπόν, θα πρέπει να

εκτελούνται τουλάχιστον 7 γύροι

(rounds)

Page 28: Κρυπτογραφία

Εφαρμοσμένη ΤυχαιότηταΠαραγωγή τυχαιότητας για Κρυπτογραφικά Πρωτόκολλα

N. Ferguson, B. Schneier.

Practical Cryptography.

Wiley, 2003.

π.χ. Η Eve για να «σπάσει» το

πρωτόκολλο, αρκεί να

«σπάσει» τον γεννήτορα

τυχαιότητας

Που χρειαζόμαστε τυχαιότητα;

Δημιουργία κρυπτογραφικών

κλειδιών:

Κλειδί AES, DES κ.λπ

Πρώτοι αριθμοί (π.χ. RSA)

Κλειδιά ψηφιακής υπογραφής

Αλγόριθμος One-time pad

Τυχαιότητα σε πρωτόκολλα

πρόκλησης-απάντησης

(challenge-response)

Page 29: Κρυπτογραφία

Εφαρμοσμένη ΤυχαιότηταΠαραγωγή τυχαιότητας για Κρυπτογραφικά Πρωτόκολλα

Η. Mel, D. Baker.

Cryptography Decrypted.

Addison-Wesley, 2001

Σενάριο: O Mallory, υποκλέπτει 2

εκτελέσεις, και μαντεύει την επόμενη

«τυχαιότητα». Στη συνέχεια,

1. Πλαστοπροσωπεί (με κάποιο τρόπο)

τον Bob στην Alice, αποστέλει την

πρόκληση C=2236067977499 και

λαμβάνει πίσω το EK(C)

2. Αποδεικνύει στον Bob ότι είναι η Alice

Οι αριθμοί

σας φαίνονται τυχαίοι;

Ένα πρωτόκολλο ταυτοποίησης της Alice (Challenge-Response)

1.414213562373

ΕΚ[1.414213562373

]

Page 30: Κρυπτογραφία

Εφαρμοσμένη ΤυχαιότηταΠαραγωγή Κλειδιού

Η. Mel, D. Baker.

Cryptography Decrypted.

Addison-Wesley, 2001

Κάθε λογισμικό

κρυπτογράφησης χρειάζεται

ένα κλειδί Κλειδί = σειρά αριθμών

Πόσο τυχαίο μπορεί να

θεωρηθεί αυτό το κλειδί; Μια επίθεση λεξικού δοκιμάζει

αρχικά τα πλέον πιθανά κλειδιά

1. Χρειαζόμαστε ένα κλειδί 128 bit

2. Δημιουργούμε το κλειδί πληκτρο-λογώντας 16 «τυχαίους» χαρακτήρες

π.χ

http://michelemiller.blogs.com/marketing_to_women/think_cartoon.gif

Page 31: Κρυπτογραφία

Εφαρμοσμένη ΤυχαιότηταΠαραγωγή Κλειδιού

Menezes, Oorschot, Vanstone,

Handbook of Applied

Cryptography, CRC, 2001

Έστω χρειαζόμαστε ένα κλειδί

128 bit για τον αλγόριθμο AES

Εάν το κλειδί επιλεγεί με έναν

γεννήτορα (αληθινής)

τυχαιότητας, τότε η Eve θα

χρειαστεί κατά μέσο όρο 2127

υπολογισμούς για να το

«σπάσει»

Τι θα γίνει εάν ένα seed 16-bit

δοθεί ως είσοδος σε μια π.χ.

συνάρτηση hash, δίνοντας στην

έξοδο 128 bit «τυχαιότητας»;

Περίπτωση

Η Eve θα χρειαστεί

κατά μέσο όρο 215

υπολογισμούς !!Υποθέτουμε

ότι ο αλγόριθμος hash είναι γνωστός

Page 32: Κρυπτογραφία

Τυχαιότητα και ΨευδοτυχαιότηταΠαράδειγμα: Πηγή Δεδομένων Bernoulli

Τυχαιότητα Πηγής -

Συνίσταται στα εξής:

1. Ισοπίθανα bit (Balanced)

Η πιθανότητα ένα bit

να είναι 0 (ή 1) είναι ½

2. Αμνήμονα Πηγή:

(memoryless)

Η γνώση των bit έως τον

χρόνο t, δεν βοηθά τον

κρυπταναλυτή να προβλέψει

το bit στον χρόνο t+1

Παράδειγμα Η Ρουλέτα στο Καζίνο

John Hershey. Cryptography

Demystified. McGraw-Hill

Professional, 2003

Πόσο τυχαία σας φαίνεται η

ακολουθία :

Πόσο τυχαία σας φαίνεται η

συμβολοσειρά :

Page 33: Κρυπτογραφία

Τυχαιότητα και ΨευδοτυχαιότηταΠαράδειγμα: Πηγή Δεδομένων Bernoulli

John Hershey.

Cryptography

Demystified. McGraw-Hill

Professional, 2003

Οι ακολουθίες 3-bit δεν

φαίνονται και τόσο τυχαίες…

Πόσο τυχαία σας φαίνεται η συμβολοσειρά;

Page 34: Κρυπτογραφία

Γεννήτορες Τυχαιότητας

Schneier, Bruce. Applied

Cryptography. John Wiley

& Sons, Inc., 2nd edition,

1996

Δυσκολία-Αδυναμία παραγωγής

τυχαιότητας από έναν Η/Υ

Πεπερασμένος αριθμός

καταστάσεων στις οποίες μπορεί

να βρεθεί ένας Η/Υ

Μεγάλος αριθμός μεν,

πεπερασμένος δε.

Οι Η/Υ είναι ντετερμινιστικά

όντα

π.χ. Όλοι οι γεννήτορες

αριθμών είναι περιοδικοί

Ο,τιδήποτε είναι περιοδικό,

είναι προβλέψιμο ( = μη τυχαίο)

!

Ένας γεννήτορας τυχαίων

αριθμών απαιτεί τυχαία

είσοδο (random input)

Ένας Η/Υ δεν (?) μπορεί να

δημιουργήσει τυχαία

δεδομένα…“Anyone who considers arithmetical methods of producing random digits is, of course, in a state of sin“

Donald Knuth

Page 35: Κρυπτογραφία

Γεννητόρες ΤυχαιότηταςΚατηγοριοποιήσεις

Α. Γεννήτορες τυχαιότητας

(HW)

Συσκευές που αξιοποιούν την

μη προβλεψιμότητα φυσικών

φαινομέ-νων για παραγωγή bit

τυχαιότητας Ραδιενεργός διάσπαση

(radioactive decay),

Θερμικός θόρυβος (thermal

noise) από ημιαγωγό ή

αντίσταση,

Χρόνος πρόσβασης στο σκληρό

δίσκο

Συχνά, τα bit που εξάγονται από

φυσικά φαινόμενα ενδέχεται να: Είναι πολωμένα (biased)

π.χ. H πιθανότητα η πηγή να

εξάγει 1 δεν είναι ½

Αυτοσυσχετιζόμενα (correlated) π.χ. H πιθανότητα η πηγή να

εξάγει 1 εξαρτάται από την

τιμή προηγούμενου (-ων) bit

Συχνά, τα bit που εξάγονται από

φυσικές πηγές υποβάλλονται σε Τεχνικές διόρθωσης (de-skewing)

Menezes, Oorschot, Vanstone,

Handbook of Applied

Cryptography, CRC, 2001

*

Page 36: Κρυπτογραφία

B. Γεννήτορες τυχαιότητας

(SW)

O γεννήτορας σχεδιάζεται εξ’

ολοκλήρου σε λογισμικό και

εξάγει εντροπία από (π.χ.): Το ρολόι συστήματος

Χρόνος-ταχύτητα

πληκτρολόγησης και κίνηση

ποντικιού

Περιεχόμενα θέσεων μνήμης και

I/O buffers

Είσοδος από τον χρήστη

Παράμετροι Λ.Σ. π.χ. φόρτος διεργασιών, δεδομένα δικτύου

κ.λ.π

Γεννητόρες ΤυχαιότηταςΚατηγοριοποιήσεις

Οι γεννήτορες αυτής της

κατηγορίας θεωρούνται

χαμηλής εντροπίας Μπορούν να επηρεαστούν από

παράγοντες όπως π.χ. η

υπολογιστική πλατφόρμα

Ο εχθρός μπορεί να επιδράσει

ή να παρατηρήσει τις

διεργασίες…

Πολλές τέτοιες πηγές

μπορούν να συνδυαστούν

(pooling).

Menezes, Oorschot, Vanstone,

Handbook of Applied

Cryptography, CRC, 2001

Page 37: Κρυπτογραφία

Γεννητόρες ΤυχαιότηταςΑπόσταξη Τυχαιότητας (Distilling Randomness)

Συλλογή και Εξαγωγή τυχαιότητας (distilling randomness)

1. Καταγραφή πολλών «τυχαίων» γεγονότων, και εξαγωγή bit

τυχαιότητας

2. Διατήρηση των bit σε μια δεξαμενή τυχαιότητας (randomness

pool)

3. Χρήση μιας συνάρτησης one-way hash για την εξαγωγή των bit

τυχαιότητας που τελικά θα χρησιμοποιηθούν

Schneier, Bruce. Applied

Cryptography. John Wiley & Sons,

Inc., 2nd edition, 1996

Page 38: Κρυπτογραφία

Γεννητόρες ΤυχαιότηταςΑπόσταξη Τυχαιότητας (Distilling Randomness)

A. Young, M. Yung. Malicious

Cryptography – Exploring

CryptoVirology. Wiley, 2004

Συνδυάζοντας πολλές πηγές

τυχαιότητας Σε κάθε πηγή μπορούν να

εφαρμοστούν τεχνικές

διόρθωσης

Στη συνέχεια όλες οι

ακολουθίες γίνονται XOR

Page 39: Κρυπτογραφία

Γεννητόρες ΤυχαιότηταςΑπόσταξη Τυχαιότητας (Distilling Randomness)

Page 40: Κρυπτογραφία

Γεννήτορες Τυχαιότητας... στην πράξη: ένας τρόπος να παράξεις το αρχικό seed

Η. Mel, D. Baker.

Cryptography Decrypted.

Addison-Wesley, 2001

Page 41: Κρυπτογραφία

Γεννητόρες ΤυχαιότηταςΑπόσταξη Τυχαιότητας (Distilling Randomness)

John Hershey. Cryptography

Demystified. McGraw-Hill

Professional, 2003

Page 42: Κρυπτογραφία

Γεννήτορες ΤυχαιότηταςΤεχνικές Διόρθωσης (de-skewing, unbiasing, entropy extractors)

Έστω έχουμε στη διάθεση μας ένα «πολωμένο» (biased) νόμισμα

Μπορώ από ένα «πολωμένο» νόμισμα να πάρω μια ακολουθία

τυχαίων bit; Ο αλγόριθμος του Von Neumann

A. Young, M. Yung. Malicious Cryptography –

Exploring CryptoVirology. Wiley, 2004

Πιθανότητα [Κορώνα] = 5/8Πιθανότητα [Γράμματα] = 3/8

1

2P1=P2

Page 43: Κρυπτογραφία

Τυχαιότητα vs Ψευδοτυχαιότητα

1. Ιδανικά, η τυχαιότητα που δίνεται

ως είσοδος σε κρυπτογραφικούς

αλγορίθμους είναι αληθινή

2. Σε αυτή την περίπτωση & εφόσον

τηρούνται “τα πρέποντα”, π.χ.: |K|=|M|

Όχι επαναχρησιμοποίηση κλειδιού

3. … έχω απόλυτη ασφάλεια έναντι

εχθρού με “άπειρους

υπολογιστικούς πόρους” Σχετιζόμενοι όροι: Perfect Secrecy,

Unconditional security, information-

theoretic security

1. Στην πράξη, σε έναν κρυπτογραφικό αλγόριθμο δίνεται ως είσοδος μια ψευδο-τυχαία ακολουθία “Μοιάζει” να είναι τυχαία

2. & Επειδή δε τηρούνται τα “πρέποντα”: |Κ|<<|Μ| Επαναχρησιμοποίηση κλειδιών

3. .. θέλω υπολογιστική ασφάλεια έναντι ενός πολυωνυμικού εχθρού Στην πράξη, ο εχθρός έχει μικρή

(αμελητέα) πιθανότητα επιτυχίας Μετά από “αρκετό χρόνο”, το σχήμα

θα σπάσει οπωσδήποτε (π.χ. Brute force σε επίθεση known-plaintext)

Ωστόσο ο χρόνος είναι “πολύς” !

J. Katz, Y. Lindell. Introduction to Modern

Cryptography. Chapman & Hall/CRC, 2008.

Page 44: Κρυπτογραφία

Γεννήτορες Ψευδο-Τυχαιότητας(Pseudo-Random Number Generator - PRNG)

Η. Mel, D. Baker.

Cryptography Decrypted.

Addison-Wesley, 2001

PRNG: αλγόριθμος που

παράγει ακολουθίες αριθμών

που «μοιάζουν» τυχαίες Indistinguishability: «δύσκολο»

να διακρίνει κάποιος μια

τυχαία από μια ψευδοτυχαία

συμβολοσειρά

Ωστόσο, ο αλγόριθμος είναι

ντετερμινιστικός Αν δώσουμε την ίδια είσοδο, ο

αλγόριθμος δίνει ίδιο

αποτέλεσμα !

Στην είσοδο δέχεται μια

(αληθινά) τυχαία ακολουθία bit

μήκους k

Το «seed» (σπόρος) του

αλγορίθμου

Στην έξοδο, δίνει μια «ψευδο-

τυχαία» ακολουθία bit μήκους L

>> k

Page 45: Κρυπτογραφία

Γεννήτορες Ψευδο-Τυχαιότητας(Pseudo-Random Number Generator - PRNG)

O. Goldreigh. Foundations

of Cryptography, Vol I

Basic Tools, CUP, 2004.

Page 46: Κρυπτογραφία

Γεννήτορες Ψευδο-ΤυχαιότηταςΑσφάλεια Γεννητόρων PRNG

Schneier, Bruce. Applied Cryptography.

John Wiley & Sons, Inc., 2nd edition, 1996

Συνέπεια του Β: Ο γεννήτορας

εμφανίζει «μεγάλη» περίοδο

π.χ. Αν απαιτούμε 1 δισ. bit,

μια ακολουθία με περίοδο 16

χιλ. bit δεν είναι ασφαλής ! π.χ περίοδος 2128

Ιδιότητες ακολουθίας

ασφαλών Γεννητόρων PRNG

A. «Μοιάζει» να είναι τυχαία

Δηλαδή, οι ακολουθίες που

παράγει περνούν με επιτυχία

όλα τα στατιστικά τεστ

τυχαιότητας

B. Μη προβλεψιμότητα

Υπολογιστικά αδύνατο για

την Eve να προβλέψει (με

πιθανότητα μη αμελητέα) το

επόμενο bit

Page 47: Κρυπτογραφία

Γεννήτορες Ψευδο-ΤυχαιότηταςΑ. Στατιστικοί Έλεγχοι

Schneier, Bruce. Applied

Cryptography. John Wiley

& Sons, Inc., 2nd edition,

1996

A. Στατιστικά τεστ «αξιολόγησης»

(ψευδο-) τυχαιότητας

1. «περίπου» ίδιος αριθμός 0 και 1

2. «περίπου» οι μισές εκτελέσεις

ακολουθούνται από διαφορετικό

bit (π.χ. 0,1 ή 1,0)

3. Κάθε πιθανή ακολουθία δύο bit θα

πρέπει να εμφανίζεται στο ¼

περίπου των εκτελέσεων

4. Κάθε πιθανή ακολουθία τριών bit

θα πρέπει να εμφανίζεται στο 1/8

περίπου των εκτελέσεων

Page 48: Κρυπτογραφία

Γεννήτορες Ψευδο-ΤυχαιότηταςΑ. Στατιστικοί Έλεγχοι

Η. Mel, D. Baker.

Cryptography Decrypted.

Addison-Wesley, 2001

Πόσο τυχαία μπορεί να είναι η

ακολουθία:

Page 49: Κρυπτογραφία

Γεννήτορες Ψευδο-ΤυχαιότηταςΑ. Στατιστικοί Έλεγχοι

John Hershey.

Cryptography

Demystified. McGraw-Hill

Professional, 2003

Έστω ο γεννήτορας (ψευδο)

τυχαιότητας που ορίζεται από

τη σχέση:

Ο γεννήτορας αυτός έχει πολύ

μικρή περίοδο (18) Δεν είναι ασφαλής !!!

Page 50: Κρυπτογραφία

Γεννήτορες Ψευδο-ΤυχαιότηταςΑ. Στατιστικοί Έλεγχοι

Menezes, Oorschot,

Vanstone, Handbook of

Applied Cryptography,

CRC, 2001

Η ποιότητα ενός γεννήτορα

μπορεί να αξιολογηθεί με

στατιστικά τεστ

Τα τεστ εντοπίζουν αν μια

ακολουθία έχει χαρακτηριστικά

που συναντώνται σε ακολουθίες

(αληθινά) τυχαίων αριθμών

Ένα τεστ μπορεί να αποφανθεί

εάν η συγκεκριμένη ακολουθία

«μοιάζει» τυχαία …

Κανένα τεστ ωστόσο δεν

μπορεί να αποδείξει ότι μια

ακολουθία είναι τυχαία !!

Η διεξαγωγή στατιστικών τεστ είναι λοιπόν αναγκαία αλλά όχι και ικανή συνθήκη για την ασφάλεια ενός γεννήτορα ψευδοτυχαιότητας

Page 51: Κρυπτογραφία

Γεννήτορες Ψευδο-ΤυχαιότηταςΒ. Μη Προβλεψιμότητα

Schneier, Bruce. Applied

Cryptography. John Wiley &

Sons, Inc., 2nd edition, 1996

Ένας αλγόριθμος PRNG δέχεται

συνήθως ως είσοδο ένα seed

To seed καθορίζει την αρχική

κατάσταση (state) του γεννήτορα

Ασφάλεια (υπολογιστική): Δυσκολία

εύρεσης του seed από την Eve

Ιδανικά, για τη δημιουργία του seed

η Alice χρειάζεται αληθινή

τυχαιότητα !!

Το μήκος k του seed πρέπει να είναι

επαρκώς μεγάλο ώστε να

ανθίσταται έναντι επιθέσεων brute

force Τουλάχιστον 128 bit εντροπίας

B. Μη προβλεψιμότητα

(unpredictability)

Στόχος:

Η eve έχει πλήρη γνώση των:

- Αλγόριθμος παραγωγής

- «Υλικό» που χρησιμοποιείται

- Όλα τα bit έως τη στιγμή tΕίναι υπολογιστικά αδύνατο για την Eve να προβλέψει ποιο θα είναι το επόμενο bit (με πιθανότητα > ½ )

N. Ferguson, B. Schneier.

Practical Cryptography.

Wiley, 2003.

Page 52: Κρυπτογραφία

Γεννήτορες Ψευδο-ΤυχαιότηταςΚρυπτογραφικοί Αλγόριθμοι Παραγωγής Ψευδοτυχαιότητας

O αλγόριθμος εξαγωγής συχνά

χρησιμοποιεί μια μονόδρομη

κρυπτογραφική συνάρτηση hash

1. Μονόδρομη (one-way)

2. Κρυπτογραφική:

Σύγχυση: Απόκρυψη σχέσης

μεταξύ εξόδου / εισόδου,

Διάχυση: Φαινόμενο

χιονοστιβάδας

Στόχοι Ασφάλειας

1. Προστασία του seed

2. Στατιστικά τεστ

3. Μη προβλεψιμότητα

Περίπτωση

1. To seed προστατεύεται

2. θα περάσει τα στατιστικά test

3. ΑΛΛΑ: Γνωρίζοντας κάποιο

state π.χ. τo C3, o κακός μπορεί

να φτιάξει όλα τα Ci, για i>3.

C. Kaufman, et al. Network Security – Private

Communication in a Public World. Prentice Hall, 2002

Πόσο ασφαλές σας φαίνεται το PRNG που χρησιμοποιεί τη συνάρτηση (hash) H;

Page 53: Κρυπτογραφία

Γεννήτορες Ψευδο-ΤυχαιότηταςΚρυπτογραφικοί Αλγόριθμοι Παραγωγής Ψευδοτυχαιότητας

ΛΥΣΗ: Σε κάθε βήμα, κάνουμε hash το

προηγούμενο state μαζί με το seed του

αλγορίθμου

C. Kaufman, et al. Network Security – Private

Communication in a Public World. Prentice Hall, 2002

Page 54: Κρυπτογραφία

Γεννήτορες Ψευδο-ΤυχαιότηταςΚρυπτογραφικώς Ασφαλείς Αλγόριθμοι Παραγωγής Ψευδοτυχαιότητας

Ασφάλεια Κρυπτογραφικώς Ασφαλών Αλγορίθμων PRNG Μπορεί να αναχθεί στη δυσκολία επίλυσης ενός «δύσκολου» προβλήματος

(π.χ. πρόβλημα παραγοντοποίησης μεγάλων αριθμών) Η ασφάλεια αποδεικνύεται με μαθηματικό τρόπο Ωστόσο. οι PRNG της κατηγορίας είναι λιγότερο αποδοτικοί

από τις κοινές (ad hoc) υλοποιήσεις

Menezes, Oorschot, Vanstone,

Handbook of Applied

Cryptography, CRC, 2001

Page 55: Κρυπτογραφία

Γεννήτορες Ψευδο-ΤυχαιότηταςΚρυπτογραφικώς Ασφαλείς Αλγόριθμοι Παραγωγής Ψευδοτυχαιότητας

Menezes, Oorschot, Vanstone,

Handbook of Applied

Cryptography, CRC, 2001

Page 56: Κρυπτογραφία

Γεννήτορες Ψευδο-ΤυχαιότηταςΕφαρμογή: Αλγόριθμοι Ροής (Stream Ciphers)

Στην πράξη, οι γεννήτορες PRNG χρησιμοποιούνται για την

παραγωγή ψευδοτυχαιότητας που θα χρησιμοποιηθεί ως

κλειδί σε συμμετρικούς αλγόριθμους ροής (stream ciphers)

O. Goldreigh. Foundations of Cryptography,

Vol I Basic Tools, CUP, 2004.

Page 57: Κρυπτογραφία

Γεννήτορες Ψευδο-ΤυχαιότηταςΕφαρμογή: Αλγόριθμοι Ροής (Stream Ciphers)

N. Ferguson, B. Schneier. Practical

Cryptography. Wiley, 2003.

Ασφάλεια Αλγορίθμου Αν |Μ|>|seed| δεν έχουμε

απόλυτη ασφάλεια

(unconditional-perfect

secrecy), αλλά υπολογιστική

(computational security) π.χ. Ασφάλεια 128-bit

1. H Alice και o Bob ανταλλάσουν

μέσω ενός ασφαλούς καναλιού,

ένα τυχαίο seed κατάλληλου

μήκους

Π.χ. 128 bit τυχαιότητας

2. Εισάγουν και οι δύο ως είσοδο

το seed σε ένα γεννήτορα

PRNG

3. Κρυπτογραφούν τα μηνύματα

τους (XOR με την ακολουθία

που παράγει ο PRNG)

[Seed]

P XOR K

Page 58: Κρυπτογραφία

Βιβλιογραφία Διάλεξης

Schneier, Bruce. Applied Cryptography. John Wiley & Sons, Inc., 2nd edition, 1996.

Η. Mel, D. Baker. Cryptography Decrypted. Addison-Wesley, 2001

John Hershey. Cryptography Demystified. McGraw-Hill Professional, 2003

Menezes, Oorschot, Vanstone, Handbook of Applied Cryptography, CRC, 2001

N. Ferguson, B. Schneier. Practical Cryptography. Wiley, 2003.

Mao, W. Modern Cryptography: Theory and Practice. Prentice Hall, 2003

Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005

A. Young, M. Yung. Malicious Cryptography – Exploring CryptoVirology. Wiley, 2004

David. Kahn. The Codebreakers. Scribner, 1996.

J. Katz, Y. Lindell. Introduction to Modern Cryptography. Chapman & Hall/CRC, 2008.

O. Goldreigh. Foundations of Cryptography, Vol I Basic Tools, CUP, 2004.

C. Kaufman, R. Perlman, M. Speciner. Network Security – Private Communication in a

Public World. 2nd edition, Prentice Hall, 2002.