Post on 02-Jan-2016
description
Κρυπτογραφία
Εντροπία & Τυχαιότητα,
Γεννήτορες (Ψευδο-)Τυχαιότητας
Κέρκυρα, 2012Δρ. Ε. Μάγκος
Syllabus
1. Η Εντροπία ως μέτρο πληροφορίας και ως μέτρο
αβεβαιότητας
2. Πλεονασμός φυσικής γλώσσας και Εντροπία
3. Εντροπία και Ασφάλεια Κρυπτοσυστήματος
4. Πού χρειαζόμαστε την Τυχαιότητα – Εφαρμοσμένη
Τυχαιότητα
5. Γεννήτορες Τυχαιότητας και Ψευδοτυχαιότητας
6. Κρυπτογραφικώς Ασφαλείς Γεννήτορες Ψευδοτυχαιότητας
Θεωρία της Πληροφορίας και Κρυπτολογία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.
* *
Ποσότητα Πληροφορίας, Εντροπία και Αβεβαιότητα
Ποσότητα πληροφορίας
(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
Πλεονασμός, Εντροπία και Αβεβαιότητα
John Hershey. Cryptography Demystified.
McGraw-Hill Professional, 2003
Ένας γεννήτορας bit παράγει 60 bit πληροφορίας (από αριστερά προς δεξιά):Ένας γεννήτορας bit παράγει 60 bit πληροφορίας (από αριστερά προς δεξιά):
Η παραπάνω συμβολοσειρά εμφανίζει πλεονασμό (redundancy). Μπορείτε να τον εντοπίσετε;Η παραπάνω συμβολοσειρά εμφανίζει πλεονασμό (redundancy). Μπορείτε να τον εντοπίσετε;
Πόσα bit πραγματικής πληροφορίας (εντροπία) αντιπροσωπεύουν τα 60 bit της εικόνας;Πόσα bit πραγματικής πληροφορίας (εντροπία) αντιπροσωπεύουν τα 60 bit της εικόνας;
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
H Εντροπία ως μέτρο αβεβαιότηταςΤυπικός Ορισμός
Menezes, Oorschot, Vanstone, Handbook
of Applied Cryptography, CRC, 2001
Λογάριθμος: με βάση το 2*
H Εντροπία ως μέτρο αβεβαιότητας
Πλήρης Βεβαιότητα Έστω ότι μια Πηγή S
παράγει μια τιμή με πλήρη
βεβαιότητα – πιθανότητα 1
Ποια η εντροπία της
πηγής;
Εάν είμαστε βέβαιοι για ένα
ενδεχόμενο, ποιο το νόημα να
«ξοδέψουμε» bit για να το
καταγράψουμε;
Mao, W. Modern Cryptography: Theory
and Practice. Prentice Hall,2003
0)( SH
Πλήρης Αβεβαιότητα Έστω ότι μια πηγή S
παράγει μια τιμή με πλήρη
αβεβαιότητα – (ομοιόμορφη
κατανομή: κάθε τιμή έχει
πιθανότητα 1/n)
Ποια η εντροπία της πηγής;
Εάν είμαστε αβέβαιοι για ένα
ενδεχόμενο, θα χρειαστούμε
τόσα bits ώστε να
καταγράψουμε κάθε πιθανή
τιμή που θα προκύψει !
nSH log)(
Ποια είναι η εντροπία της “πηγής” Alice:
Αν η Alice και ο Bob εκτελέσουν το παραπάνω πρωτόκολλο n φορές, μπορούν να συμφωνήσουν σε μια ακολουθία αυθεντικής τυχαιότητας μήκους n-bit ! (Γιατί;)
Mao, W. Modern Cryptography: Theory
and Practice. Prentice Hall, 2003
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
Ιδιότητες Εντροπίας
Menezes, Oorschot, Vanstone, Handbook
of Applied Cryptography, CRC, 2001
Η ποσότητα Η(Χ|Υ) αποδίδει το μέγεθος της αβεβαιότητας που απομένει για την Χ, μετά από την παρατήρηση της Υ ! (για απόλυτη ασφάλεια, η τιμή θα πρέπει να είναι η μέγιστη – γιατί;)
Stinson, D. Cryptography:
Theory and Practice. CRC, 2005
H Εντροπία ως μέτρο αβεβαιότητας
Stinson, D. Cryptography: Theory and
Practice. Third Edition, CRC, 2005
H Εντροπία ως μέτρο αβεβαιότητας
Stinson, D. Cryptography: Theory and
Practice. Third Edition, CRC, 2005
Τι παρατηρείτε;
Εντροπία και Ασφάλεια Κρυπτοσυστήματος
Κρυπτοσύστημα
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
*
Εντροπία και Ασφάλεια Κρυπτοσυστήματος85.1H(C) ,5.1)( ,81.0)( KHMH
Πλεονασμός Φυσικής Γλώσσας και Εντροπία
Απόλυτος Ρυθμός Γλώσσας
(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
Πλεονασμός Φυσικής Γλώσσας και Εντροπία
Πλεονασμός Γλώσσας (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
Πλεονασμός Φυσικής Γλώσσας
Πλεονασμός (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”
Πλεονασμός Φυσικής Γλώσσας
Κάθε φυσική γλώσσα εμφανίζει «πλεονασμό» (redundancy) Συχνότητες εμφάνισης χαρακτήρων
Συχνότητες εμφάνισης διγράμμων, τριγράμμων
Συχνότητες εμφάνισης λέξεων, εκφράσεων κλπ
…
John Hershey. Cryptography
Demystified. McGraw-Hill
Professional, 2003
Πλεονασμός Φυσικής Γλώσσας
Ποιο κείμενο εμφανίζει το
μεγαλύτερο πλεονασμό; Όσο μικρότερος είναι ο
πλεονασμός, τόσο πιο
δύσκολη γίνεται η
κρυπτανάλυση ενός
κρυπτογράμματος
Επομένως, τόσο μεγαλύτερη
γίνεται η ποσότητα
κρυπτογραφήματος που
πρέπει να αποκτήσει ο
κρυπταναλυτής (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”
Πλεονασμός Φυσικής Γλώσσας
David. Kahn. The Codebreakers.
Scribner, 1996.
Εντροπία και Ασφάλεια Κρυπτοσυστήματος Απόσταση Μοναδικότητας (Unicity Distance)
Εντροπία και Ασφάλεια Κρυπτοσυστήματος Απόσταση Μοναδικότητας (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 ανά
χαρακτήρα) της γλώσσας…
Εντροπία και Ασφάλεια Κρυπτοσυστήματος Απόσταση Μοναδικότητας (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
Εντροπία και Ασφάλεια Κρυπτοσυστήματος Κρυπτογραφία και Συμπίεση
Συμπίεση (Compression) Προσπαθεί να αφαιρέσει τον πλεονασμό (redundancy) από ένα μήνυμα
Schneier, Bruce. Applied Cryptography. John
Wiley & Sons, Inc., 2nd edition, 1996.
Όσο μεγαλύτερος είναι ο πλεονασμός, τόσο μικρότερη είναι η ποσότητα που (θεωρητικά) χρειάζεται ο κρυπταναλυτής
Εντροπία και Ασφάλεια Κρυπτοσυστήματος Σύγχυση και Διάχυση
Σύγχυση (Confusion) Αποκρύπτουμε τη σχέση
μεταξύ κρυπτογραφημένου
κειμένου και κλειδιού
π.χ. επαναλαμβανόμενες
αντικαταταστάσεις &
αναδιατάξεις
Διάχυση (Diffusion) O πλεονασμός του αρχικού
κειμένου κατανέμεται
«ομοιόμορφα» στο
κρυπτογραφημένο κείμενο
Φαινόμενο Χιονοστιβάδας &
αλγόριθμοι ομάδας (DES, AES)
Schneier, Bruce. Applied Cryptography. John
Wiley & Sons, Inc., 2nd edition, 1996.
Από μόνες τους, οι τεχνικές αντικατάστασης και αναδιάταξης εμφανίζουν (τις γνωστές) αδυναμίες. Ωστόσο, αν συνδυαστούν, μπορούν υπό προϋποθέσεις να οδηγήσουν στη δημιουργία «ισχυρών» συμμετρικών αλγορίθμων !!!
Διάχυση - ΠαράδειγμαΕπαναλαμβανόμενοι Αλγόριθμοι Ομάδας – Δίκτυα 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)
Εφαρμοσμένη ΤυχαιότηταΠαραγωγή τυχαιότητας για Κρυπτογραφικά Πρωτόκολλα
N. Ferguson, B. Schneier.
Practical Cryptography.
Wiley, 2003.
π.χ. Η Eve για να «σπάσει» το
πρωτόκολλο, αρκεί να
«σπάσει» τον γεννήτορα
τυχαιότητας
Που χρειαζόμαστε τυχαιότητα;
Δημιουργία κρυπτογραφικών
κλειδιών:
Κλειδί AES, DES κ.λπ
Πρώτοι αριθμοί (π.χ. RSA)
Κλειδιά ψηφιακής υπογραφής
Αλγόριθμος One-time pad
Τυχαιότητα σε πρωτόκολλα
πρόκλησης-απάντησης
(challenge-response)
…
Εφαρμοσμένη ΤυχαιότηταΠαραγωγή τυχαιότητας για Κρυπτογραφικά Πρωτόκολλα
Η. 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
]
Εφαρμοσμένη ΤυχαιότηταΠαραγωγή Κλειδιού
Η. Mel, D. Baker.
Cryptography Decrypted.
Addison-Wesley, 2001
Κάθε λογισμικό
κρυπτογράφησης χρειάζεται
ένα κλειδί Κλειδί = σειρά αριθμών
Πόσο τυχαίο μπορεί να
θεωρηθεί αυτό το κλειδί; Μια επίθεση λεξικού δοκιμάζει
αρχικά τα πλέον πιθανά κλειδιά
1. Χρειαζόμαστε ένα κλειδί 128 bit
2. Δημιουργούμε το κλειδί πληκτρο-λογώντας 16 «τυχαίους» χαρακτήρες
π.χ
http://michelemiller.blogs.com/marketing_to_women/think_cartoon.gif
Εφαρμοσμένη ΤυχαιότηταΠαραγωγή Κλειδιού
Menezes, Oorschot, Vanstone,
Handbook of Applied
Cryptography, CRC, 2001
Έστω χρειαζόμαστε ένα κλειδί
128 bit για τον αλγόριθμο AES
Εάν το κλειδί επιλεγεί με έναν
γεννήτορα (αληθινής)
τυχαιότητας, τότε η Eve θα
χρειαστεί κατά μέσο όρο 2127
υπολογισμούς για να το
«σπάσει»
Τι θα γίνει εάν ένα seed 16-bit
δοθεί ως είσοδος σε μια π.χ.
συνάρτηση hash, δίνοντας στην
έξοδο 128 bit «τυχαιότητας»;
Περίπτωση
Η Eve θα χρειαστεί
κατά μέσο όρο 215
υπολογισμούς !!Υποθέτουμε
ότι ο αλγόριθμος hash είναι γνωστός
Τυχαιότητα και ΨευδοτυχαιότηταΠαράδειγμα: Πηγή Δεδομένων Bernoulli
Τυχαιότητα Πηγής -
Συνίσταται στα εξής:
1. Ισοπίθανα bit (Balanced)
Η πιθανότητα ένα bit
να είναι 0 (ή 1) είναι ½
2. Αμνήμονα Πηγή:
(memoryless)
Η γνώση των bit έως τον
χρόνο t, δεν βοηθά τον
κρυπταναλυτή να προβλέψει
το bit στον χρόνο t+1
Παράδειγμα Η Ρουλέτα στο Καζίνο
John Hershey. Cryptography
Demystified. McGraw-Hill
Professional, 2003
Πόσο τυχαία σας φαίνεται η
ακολουθία :
Πόσο τυχαία σας φαίνεται η
συμβολοσειρά :
Τυχαιότητα και ΨευδοτυχαιότηταΠαράδειγμα: Πηγή Δεδομένων Bernoulli
John Hershey.
Cryptography
Demystified. McGraw-Hill
Professional, 2003
Οι ακολουθίες 3-bit δεν
φαίνονται και τόσο τυχαίες…
Πόσο τυχαία σας φαίνεται η συμβολοσειρά;
Γεννήτορες Τυχαιότητας
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
Γεννητόρες ΤυχαιότηταςΚατηγοριοποιήσεις
Α. Γεννήτορες τυχαιότητας
(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
*
B. Γεννήτορες τυχαιότητας
(SW)
O γεννήτορας σχεδιάζεται εξ’
ολοκλήρου σε λογισμικό και
εξάγει εντροπία από (π.χ.): Το ρολόι συστήματος
Χρόνος-ταχύτητα
πληκτρολόγησης και κίνηση
ποντικιού
Περιεχόμενα θέσεων μνήμης και
I/O buffers
Είσοδος από τον χρήστη
Παράμετροι Λ.Σ. π.χ. φόρτος διεργασιών, δεδομένα δικτύου
κ.λ.π
Γεννητόρες ΤυχαιότηταςΚατηγοριοποιήσεις
Οι γεννήτορες αυτής της
κατηγορίας θεωρούνται
χαμηλής εντροπίας Μπορούν να επηρεαστούν από
παράγοντες όπως π.χ. η
υπολογιστική πλατφόρμα
Ο εχθρός μπορεί να επιδράσει
ή να παρατηρήσει τις
διεργασίες…
Πολλές τέτοιες πηγές
μπορούν να συνδυαστούν
(pooling).
Menezes, Oorschot, Vanstone,
Handbook of Applied
Cryptography, CRC, 2001
Γεννητόρες ΤυχαιότηταςΑπόσταξη Τυχαιότητας (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
Γεννητόρες ΤυχαιότηταςΑπόσταξη Τυχαιότητας (Distilling Randomness)
A. Young, M. Yung. Malicious
Cryptography – Exploring
CryptoVirology. Wiley, 2004
Συνδυάζοντας πολλές πηγές
τυχαιότητας Σε κάθε πηγή μπορούν να
εφαρμοστούν τεχνικές
διόρθωσης
Στη συνέχεια όλες οι
ακολουθίες γίνονται XOR
Γεννητόρες ΤυχαιότηταςΑπόσταξη Τυχαιότητας (Distilling Randomness)
Γεννήτορες Τυχαιότητας... στην πράξη: ένας τρόπος να παράξεις το αρχικό seed
Η. Mel, D. Baker.
Cryptography Decrypted.
Addison-Wesley, 2001
Γεννητόρες ΤυχαιότηταςΑπόσταξη Τυχαιότητας (Distilling Randomness)
John Hershey. Cryptography
Demystified. McGraw-Hill
Professional, 2003
Γεννήτορες ΤυχαιότηταςΤεχνικές Διόρθωσης (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
Τυχαιότητα 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.
Γεννήτορες Ψευδο-Τυχαιότητας(Pseudo-Random Number Generator - PRNG)
Η. Mel, D. Baker.
Cryptography Decrypted.
Addison-Wesley, 2001
PRNG: αλγόριθμος που
παράγει ακολουθίες αριθμών
που «μοιάζουν» τυχαίες Indistinguishability: «δύσκολο»
να διακρίνει κάποιος μια
τυχαία από μια ψευδοτυχαία
συμβολοσειρά
Ωστόσο, ο αλγόριθμος είναι
ντετερμινιστικός Αν δώσουμε την ίδια είσοδο, ο
αλγόριθμος δίνει ίδιο
αποτέλεσμα !
Στην είσοδο δέχεται μια
(αληθινά) τυχαία ακολουθία bit
μήκους k
Το «seed» (σπόρος) του
αλγορίθμου
Στην έξοδο, δίνει μια «ψευδο-
τυχαία» ακολουθία bit μήκους L
>> k
Γεννήτορες Ψευδο-Τυχαιότητας(Pseudo-Random Number Generator - PRNG)
O. Goldreigh. Foundations
of Cryptography, Vol I
Basic Tools, CUP, 2004.
Γεννήτορες Ψευδο-ΤυχαιότηταςΑσφάλεια Γεννητόρων PRNG
Schneier, Bruce. Applied Cryptography.
John Wiley & Sons, Inc., 2nd edition, 1996
Συνέπεια του Β: Ο γεννήτορας
εμφανίζει «μεγάλη» περίοδο
π.χ. Αν απαιτούμε 1 δισ. bit,
μια ακολουθία με περίοδο 16
χιλ. bit δεν είναι ασφαλής ! π.χ περίοδος 2128
Ιδιότητες ακολουθίας
ασφαλών Γεννητόρων PRNG
A. «Μοιάζει» να είναι τυχαία
Δηλαδή, οι ακολουθίες που
παράγει περνούν με επιτυχία
όλα τα στατιστικά τεστ
τυχαιότητας
B. Μη προβλεψιμότητα
Υπολογιστικά αδύνατο για
την Eve να προβλέψει (με
πιθανότητα μη αμελητέα) το
επόμενο bit
Γεννήτορες Ψευδο-ΤυχαιότηταςΑ. Στατιστικοί Έλεγχοι
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
περίπου των εκτελέσεων
Γεννήτορες Ψευδο-ΤυχαιότηταςΑ. Στατιστικοί Έλεγχοι
Η. Mel, D. Baker.
Cryptography Decrypted.
Addison-Wesley, 2001
Πόσο τυχαία μπορεί να είναι η
ακολουθία:
Γεννήτορες Ψευδο-ΤυχαιότηταςΑ. Στατιστικοί Έλεγχοι
John Hershey.
Cryptography
Demystified. McGraw-Hill
Professional, 2003
Έστω ο γεννήτορας (ψευδο)
τυχαιότητας που ορίζεται από
τη σχέση:
Ο γεννήτορας αυτός έχει πολύ
μικρή περίοδο (18) Δεν είναι ασφαλής !!!
Γεννήτορες Ψευδο-ΤυχαιότηταςΑ. Στατιστικοί Έλεγχοι
Menezes, Oorschot,
Vanstone, Handbook of
Applied Cryptography,
CRC, 2001
Η ποιότητα ενός γεννήτορα
μπορεί να αξιολογηθεί με
στατιστικά τεστ
Τα τεστ εντοπίζουν αν μια
ακολουθία έχει χαρακτηριστικά
που συναντώνται σε ακολουθίες
(αληθινά) τυχαίων αριθμών
Ένα τεστ μπορεί να αποφανθεί
εάν η συγκεκριμένη ακολουθία
«μοιάζει» τυχαία …
Κανένα τεστ ωστόσο δεν
μπορεί να αποδείξει ότι μια
ακολουθία είναι τυχαία !!
Η διεξαγωγή στατιστικών τεστ είναι λοιπόν αναγκαία αλλά όχι και ικανή συνθήκη για την ασφάλεια ενός γεννήτορα ψευδοτυχαιότητας
Γεννήτορες Ψευδο-ΤυχαιότηταςΒ. Μη Προβλεψιμότητα
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.
Γεννήτορες Ψευδο-ΤυχαιότηταςΚρυπτογραφικοί Αλγόριθμοι Παραγωγής Ψευδοτυχαιότητας
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;
Γεννήτορες Ψευδο-ΤυχαιότηταςΚρυπτογραφικοί Αλγόριθμοι Παραγωγής Ψευδοτυχαιότητας
ΛΥΣΗ: Σε κάθε βήμα, κάνουμε hash το
προηγούμενο state μαζί με το seed του
αλγορίθμου
C. Kaufman, et al. Network Security – Private
Communication in a Public World. Prentice Hall, 2002
Γεννήτορες Ψευδο-ΤυχαιότηταςΚρυπτογραφικώς Ασφαλείς Αλγόριθμοι Παραγωγής Ψευδοτυχαιότητας
Ασφάλεια Κρυπτογραφικώς Ασφαλών Αλγορίθμων PRNG Μπορεί να αναχθεί στη δυσκολία επίλυσης ενός «δύσκολου» προβλήματος
(π.χ. πρόβλημα παραγοντοποίησης μεγάλων αριθμών) Η ασφάλεια αποδεικνύεται με μαθηματικό τρόπο Ωστόσο. οι PRNG της κατηγορίας είναι λιγότερο αποδοτικοί
από τις κοινές (ad hoc) υλοποιήσεις
Menezes, Oorschot, Vanstone,
Handbook of Applied
Cryptography, CRC, 2001
Γεννήτορες Ψευδο-ΤυχαιότηταςΚρυπτογραφικώς Ασφαλείς Αλγόριθμοι Παραγωγής Ψευδοτυχαιότητας
Menezes, Oorschot, Vanstone,
Handbook of Applied
Cryptography, CRC, 2001
Γεννήτορες Ψευδο-ΤυχαιότηταςΕφαρμογή: Αλγόριθμοι Ροής (Stream Ciphers)
Στην πράξη, οι γεννήτορες PRNG χρησιμοποιούνται για την
παραγωγή ψευδοτυχαιότητας που θα χρησιμοποιηθεί ως
κλειδί σε συμμετρικούς αλγόριθμους ροής (stream ciphers)
O. Goldreigh. Foundations of Cryptography,
Vol I Basic Tools, CUP, 2004.
Γεννήτορες Ψευδο-ΤυχαιότηταςΕφαρμογή: Αλγόριθμοι Ροής (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
Βιβλιογραφία Διάλεξης
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.