Διάλεξη

Download Report

Transcript Διάλεξη

Κρυπτογραφία
Εντροπία & Τυχαιότητα,
Γεννήτορες (Ψευδο-)Τυχαιότητας
Κέρκυρα, 2012
Δρ. Ε. Μάγκος
Syllabus
1.
Η Εντροπία ως μέτρο πληροφορίας και ως μέτρο αβεβαιότητας
2.
Πλεονασμός φυσικής γλώσσας και Εντροπία
3.
Εντροπία και Ασφάλεια Κρυπτοσυστήματος
4.
Πού χρειαζόμαστε την Τυχαιότητα – Εφαρμοσμένη Τυχαιότητα
5.
Γεννήτορες Τυχαιότητας και Ψευδοτυχαιότητας
6.
Κρυπτογραφικώς Ασφαλείς Γεννήτορες Ψευδοτυχαιότητας
Θεωρία της Πληροφορίας και Κρυπτολογία
Claude Shannon

Θεωρία Πληροφορίας

(Information Theory)

Θεωρία Πληροφορίας και
Κρυπτολογία
Πώς οι μαθηματικοί
νόμοι διέπουν τα
συστήματα
επικοινωνίας


*
C.E. Shannon, "A Mathematical Theory of
Communication", Bell System Technical
Journal, vol. 27, pp. 379-423, 623-656, July,
October, 1948
Κρυπτανάλυση και
πλεονασμός φυσικής
γλώσσας
Εντροπία και ασφάλεια
κρυπτοσυστημάτων
C.E. Shannon, “Communication Theory of
Secrecy Systems”, Bell Systems Technical
Journal,. Vol. 28, pp. 656–715, 1948.
*
Schneier, Bruce. Applied
Mao, W. Modern Cryptography:
Cryptography. John Wiley & Sons,
Theory and Practice. Prentice
Inc., 2nd edition, 1996.
Hall, 2003
Ποσότητα Πληροφορίας, Εντροπία και Αβεβαιότητα

Ποσότητα πληροφορίας

(Amount of information) :

Εντροπία Μηνύματος

O ελάχιστος αριθμός bit για
την κωδικοποίηση όλων των
πιθανών νοημάτων που μπορεί

Εντροπία = Αβεβαιότητα

να έχει ένα μήνυμα
Μέτρο της ποσότητας
πληροφορίας ενός μηνύματος
Πόσα είναι τα bit αβεβαιότητας
του κρυπταναλυτή όταν το
μήνυμα είναι κρυπτογραφημένο
H ( M )  log
2
n
n – o αριθμός
των πιθανών
τιμών του
μηνύματος Μ
Θεωρούμε ότι
και οι n τιμές
είναι
ισοπίθανες
John Hershey. Cryptography Demystified.
McGraw-Hill Professional, 2003
Πλεονασμός, Εντροπία και Αβεβαιότητα
Ένας γεννήτορας bit παράγει 60 bit πληροφορίας (από αριστερά προς δεξιά):
Η παραπάνω συμβολοσειρά εμφανίζει πλεονασμό (redundancy). Μπορείτε να τον εντοπίσετε;
Πόσα bit πραγματικής πληροφορίας (εντροπία) αντιπροσωπεύουν τα 60 bit της εικόνας;
Menezes, Oorschot, Vanstone, Handbook
Stinson, D. Cryptography:
of Applied Cryptography, CRC, 2001
Theory and Practice. Third
Edition, CRC, 2005
H Εντροπία ως μέτρο αβεβαιότητας

Πείραμα: μια τυχαία μεταβλητή X
παίρνει τιμές σύμφωνα με μια
κατανομή πιθανότητας
1.
Ποια η ποσότητα πληροφορίας
(σε bit) που κερδίζουμε
π.χ. Ρίξιμο
νομίσματος
Πιθ(κορώνα) = ½
Πιθ(γράμματα) = ½
Πληροφορία = 1 bit
παρατηρώντας την Χ;
2.
Αλλιώς: Πόσα (ελάχιστα) bit
χρειαζόμαστε για να κωδικοποιήσουμε κάθε πιθανή τιμή της Χ;
3.
Αλλιώς: Ποια η αβεβαιότητα (σε
bit) για την έξοδο του πειράματος
(πριν το παρατηρήσουμε);
Ρίξιμο n
νομίσμάτων
Πιθ(κορώνα) = ½
Πιθ(γράμματα) = ½
Πληροφορία = n bit
Menezes, Oorschot, Vanstone, Handbook
of Applied Cryptography, CRC, 2001
H Εντροπία ως μέτρο αβεβαιότητας
Τυπικός Ορισμός
Λογάριθμος: με βάση το 2*
Mao, W. Modern Cryptography: Theory
and Practice. Prentice Hall,2003
H Εντροπία ως μέτρο αβεβαιότητας

Πλήρης Βεβαιότητα


Έστω ότι μια Πηγή S παράγει
μια τιμή με πλήρη βεβαιότητα –
 Έστω ότι μια πηγή S παράγει
μια τιμή με πλήρη αβεβαιότητα –
πιθανότητα 1

(ομοιόμορφη κατανομή: κάθε
τιμή έχει πιθανότητα 1/n)
Ποια η εντροπία της πηγής;
 Ποια η εντροπία της πηγής;
H (S )  0

H ( S )  log n
Εάν είμαστε βέβαιοι για ένα
ενδεχόμενο, ποιο το νόημα να
Πλήρης Αβεβαιότητα

Εάν είμαστε αβέβαιοι για ένα
«ξοδέψουμε» bit για να το
ενδεχόμενο, θα χρειαστούμε τόσα
καταγράψουμε;
bits ώστε να καταγράψουμε κάθε
πιθανή τιμή που θα προκύψει !
Mao, W. Modern Cryptography: Theory
and Practice. Prentice Hall, 2003

Ποια είναι η εντροπία της “πηγής” Alice:
Αν η Alice και ο Bob εκτελέσουν το παραπάνω πρωτόκολλο n φορές, μπορούν να
συμφωνήσουν σε μια ακολουθία αυθεντικής τυχαιότητας μήκους n-bit ! (Γιατί;)
Stinson, D. Cryptography: Theory and
Practice. Third Edition, CRC, 2005
H Εντροπία ως μέτρο αβεβαιότητας


Έστω επιλέγουμε ένα

Έστω η Χ παίρνει τιμές στο σύνολο
κρυπτογραφικό κλειδί n bit
{x1, x2, x3, ..., x8} με πιθανότητες
Αν τα κλειδιά είναι ισοπίθανα,
{1/2, 1/8,1/16,…, 1/16} αντίστοιχα.
(πιθανότητα 2-n) η εντροπία του
πειράματος θα είναι μέγιστη:
H ( K )  log
n
2
2 n

Ποια είναι η πληροφορία (σε bit)
στην έξοδο του πειράματος;
H ( X )  (

Εντροπία = μέτρο τυχαιότητας


Τι θα γινόταν εάν κάποια κλειδιά

ήταν «περισσότερο» πιθανά;

Η εντροπία θα μειωνόταν !

1
2
1
2
1
2
1
log
2
log 2 

3
8

1
8
12
8

1
8
log
log 8 

19
8
1
8
 6(
6
16
1
16
log
1
16
))
log 16
 2 . 375
Ποια η μέγιστη εντροπία αν όλα τα
xi είναι ισοπίθανα: Log28 =3
Stinson, D. Cryptography:
Theory and Practice. CRC, 2005
Menezes, Oorschot, Vanstone, Handbook
of Applied Cryptography, CRC, 2001
Ιδιότητες Εντροπίας
Η ποσότητα Η(Χ|Υ) αποδίδει το μέγεθος της αβεβαιότητας που απομένει για την Χ, μετά από
την παρατήρηση της Υ ! (για απόλυτη ασφάλεια, η τιμή θα πρέπει να είναι η μέγιστη – γιατί;)
Stinson, D. Cryptography: Theory and
Practice. Third Edition, 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. Παίρνει τιμές από μια
τυχαία μεταβλητή Μ (σύμφωνα με
H (M )  
μια κατανομή πιθανότητας)
2.
Κλειδί k. Παίρνει τιμές από μια

τυχαία μεταβλητή Κ (σύμφωνα με
3.
1
4
1
4
log
3
μια κατανομή πιθανότητας)
Κρυπτογράφημα c. Τιμές από μια
 0 . 81
με μια κατανομή πιθανότητας)

2
4
(2) 
 2
τυχαία μεταβλητή C (σύμφωνα
1
4
(log
2

3
4
3
4
log
(log
3)
Ομοίως, υπολογίζουμε:
H ( K )  1 . 5 , H(C)  1 . 85
Άρα μπορούμε να υπολογίσουμε την εντροπία τους!
2
3
2
4
3  2)
H ( M )  0 . 81 , H ( K )  1 . 5 , H(C)  1 . 85
Εντροπία και Ασφάλεια Κρυπτοσυστήματος
Menezes, Oorschot, Vanstone,
Mao, W. Modern
Stinson, D. Cryptography:
Schneier, Bruce. Applied
Handbook of Applied
Cryptography: Theory and
Theory and Practice. Third
Cryptography. John Wiley &
Cryptography, CRC, 2001
Practice. Prentice Hall, 2003
Edition, CRC, 2005
Sons, Inc., 2nd edition, 1996.
Πλεονασμός Φυσικής Γλώσσας και Εντροπία

Απόλυτος Ρυθμός Γλώσσας
(Absolute Rate):

Η εντροπία ανά χαρακτήρα
R  H ( L )  log

Ρυθμός Γλώσσας (Rate):

(για ισοπίθανους χαρακτήρες).


2

|L|
Έστω μια πηγή εξάγει λέξεις
μήκους n μιας φυσικής γλώσσας L
Ρυθμός r της L: Η εντροπία ανά
χαρακτήρα της γλώσσας
Για μια τυχαία γλώσσα L
με 26 χαρακτήρες, R ≈ 4.70
n
r  lim
n 
Για την Αγγλική γλώσσα, η
εντροπία ανά χαρακτήρα

χρησιμοποιώντας
τον πίνακα:
R  H ( L )  4 . 19

H (L )
n
(λαμβάνοντας υπόψη συσχετίσεις
και τον πλεονασμό της γλώσσας)
π.χ. ο Shannon υπολόγισε:
*
1.0 < r(αγγλικά) < 1.5 bit/γράμμα
Menezes, Oorschot, Vanstone,
Mao, W. Modern
Stinson, D. Cryptography:
Schneier, Bruce. Applied
Handbook of Applied
Cryptography: Theory and
Theory and Practice. Third
Cryptography. John Wiley &
Cryptography, CRC, 2001
Practice. Prentice Hall, 2003
Edition, CRC, 2005
Sons, Inc., 2nd edition, 1996.
Πλεονασμός Φυσικής Γλώσσας και Εντροπία

Πλεονασμός Γλώσσας (Redundancy)


Ο αριθμός των bit ανά χαρακτήρα που «περισσεύουν»
(δηλαδή, δεν συνεισφέρουν στην εντροπία)
Πλεονασμός = Απόλυτος ρυθμός - Ρυθμός
D  Rr

Στα Αγγλικά, και για r = 1.25:
D = 4.70-1.25 = 3.45 bit/χαρακτήρα

Ποσοστό πλεονασμού: 3.45/4.70 ≈ 75%
David. Kahn. The Codebreakers.
Scribner, 1996.
Πλεονασμός Φυσικής Γλώσσας

Πλεονασμός (Redundancy)

Σε ένα μήνυμα υπάρχουν
περισσότερα σύμβολα από αυτά
που πραγματικά χρειάζονται για τη
μετάδοση της πληροφορίας
Παράδειγμα 1: Το γράμμα “u” που
ακολουθεί το q είναι περιττό
“Officer present on active
duty for an indefinite period”
“Off pres on AD fr
indef period”

Παράδειγμα 2: Το “the” αυξάνει
τον πλεονασμό του κειμένου
Που οφείλεται ο πλεονασμός σε
μια φυσική γλώσσα;


Γραμματική, συντακτικό,
φωνητική, ιδιώματα, ετυμολογία,
κουλτούρα,...
Η Αγγλική γλώσσα εμφανίζει
πλεονασμό ≈ 75%
John Hershey. Cryptography
Demystified. McGraw-Hill
Professional, 2003
Πλεονασμός Φυσικής Γλώσσας

Κάθε φυσική γλώσσα εμφανίζει «πλεονασμό» (redundancy)

Συχνότητες εμφάνισης χαρακτήρων

Συχνότητες εμφάνισης διγράμμων, τριγράμμων

Συχνότητες εμφάνισης λέξεων, εκφράσεων κλπ

…
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”
Επομένως, τόσο μεγαλύτερη
γίνεται η ποσότητα
κρυπτογραφήματος που πρέπει
να αποκτήσει ο κρυπταναλυτής
(ciphertext-only)
David. Kahn. The Codebreakers.
Scribner, 1996.
Πλεονασμός Φυσικής Γλώσσας
Εντροπία και Ασφάλεια Κρυπτοσυστήματος
Απόσταση Μοναδικότητας (Unicity Distance)
Communication Theory of Secrecy Systems, Bell Systems
Technical Journal,. Vol. 28, pp. 656–715, 1948. c Eli Biham
Schneier, Bruce. Applied Cryptography.
John Wiley & Sons, Inc., 2nd edition, 1996.
Εντροπία και Ασφάλεια Κρυπτοσυστήματος
Απόσταση Μοναδικότητας (Unicity Distance)

Απόσταση Μοναδικότητας
(U - unicity distance)

Ποσότητα κρυπτογραφημένου
κειμένου που απαιτείται ώστε
ένας κρυπταναλυτής
δοκιμάζοντας όλα τα πιθανά
κλειδιά (brute force), να
οδηγηθεί σε ένα μόνον αρχικό
μήνυμα που να βγάζει νόημα
 Ευθέως ανάλογη της εντροπίας Η(Κ)
του κρυπτοσυστήματος…
 Αντιστρόφως ανάλογη του πλεονασμού
D (bit ανά χαρακτήρα) της γλώσσας…
Menezes, Oorschot, Vanstone, Handbook
of Applied Cryptography, CRC, 2001
Εντροπία και Ασφάλεια Κρυπτοσυστήματος
Απόσταση Μοναδικότητας (Unicity Distance)

Ποια η απόσταση U αλγόριθμου

Αντιμετάθεσης (αγγλικό κείμενο) με
αλγορίθμου Αντικατάστασης
περίοδο t = 12
(αγγλικό κείμενο);
H ( K ) / D  lg( t ! ) / 3 . 45  9

Ποια είναι η απόσταση U του
H ( K ) / D  lg( 26 ! ) / 3 . 45
 88 . 4 / 3 . 45  26
Δηλαδή, θεωρητικά, ένα κρυπτοκείμενο 9 χαρ. είναι αρκετό για να
κρυπταναλυθεί (μοναδικά)

Δηλαδή, θεωρητικά, ένα κρυπτοκείμενο 29 χαρ. είναι αρκετό για
να κρυπταναλυθεί (μοναδικά)
Schneier, Bruce. Applied Cryptography.
John Wiley & Sons, Inc., 2nd edition, 1996.
Εντροπία και Ασφάλεια Κρυπτοσυστήματος
Κρυπτογραφία και Συμπίεση

Συμπίεση (Compression)

Προσπαθεί να αφαιρέσει τον πλεονασμό (redundancy) από ένα μήνυμα
Όσο μεγαλύτερος είναι ο πλεονασμός, τόσο μικρότερη είναι
η ποσότητα που (θεωρητικά) χρειάζεται ο κρυπταναλυτής
Schneier, Bruce. Applied Cryptography.
John Wiley & Sons, Inc., 2nd edition, 1996.
Εντροπία και Ασφάλεια Κρυπτοσυστήματος
Σύγχυση και Διάχυση

Σύγχυση (Confusion)


Αποκρύπτουμε τη σχέση μεταξύ
κρυπτογραφημένου κειμένου και
κλειδιού
π.χ. επαναλαμβανόμενες
αντικαταταστάσεις & αναδιατάξεις


Διάχυση (Diffusion)


O πλεονασμός του αρχικού κειμένου
κατανέμεται «ομοιόμορφα» στο
κρυπτογραφημένο κείμενο
Φαινόμενο Χιονοστιβάδας &
αλγόριθμοι ομάδας (DES, AES)
Από μόνες τους, οι τεχνικές αντικατάστασης και αναδιάταξης εμφανίζουν (τις
γνωστές) αδυναμίες. Ωστόσο, αν συνδυαστούν, μπορούν υπό προϋποθέσεις να
οδηγήσουν στη δημιουργία «ισχυρών» συμμετρικών αλγορίθμων !!!
J. Katz, Y. Lindell. Introduction to Modern
Stinson, D. Cryptography: Theory and
Cryptography. Chapman & Hall/CRC, 2008.
Practice. Third Edition, CRC, 2005
Διάχυση - Παράδειγμα
Επαναλαμβανόμενοι Αλγόριθμοι Ομάδας – Δίκτυα SPN

Για να ισχύει το φαινόμενο της
χιονοστιβάδας, θα πρέπει:
1.
Κάθε S-box σχεδιάζεται ώστε
αλλάζοντας 1 bit εισόδου επηρεάζει
τουλάχιστον 2 bit εξόδου του S-box
2.
Οι αναδιατάξεις (mixes) σχεδιάζονται
ώστε τα bit εξόδου κάθε S-box
διαχέονται σε διαφορετικά S-box
κατά τον επόμενο γύρο.

Επιπλέον, θέλω όλα τα bit κλειδιού
να επηρεάζουν όλα τα bit εξόδου !!!
Τυπικά λοιπόν, θα πρέπει να εκτελούνται
τουλάχιστον 7 γύροι (rounds)
N. Ferguson, B. Schneier.
Practical Cryptography.
Wiley, 2003.
Εφαρμοσμένη Τυχαιότητα
Παραγωγή τυχαιότητας για Κρυπτογραφικά Πρωτόκολλα

Που χρειαζόμαστε τυχαιότητα;

Δημιουργία κρυπτογραφικών
κλειδιών:


Κλειδί AES, DES κ.λπ

Πρώτοι αριθμοί (π.χ. RSA)

Κλειδιά ψηφιακής υπογραφής

Αλγόριθμος One-time pad
Τυχαιότητα σε πρωτόκολλα
πρόκλησης-απάντησης
(challenge-response)

…

π.χ. Η Eve για να «σπάσει» το
πρωτόκολλο, αρκεί να «σπάσει»
τον γεννήτορα τυχαιότητας
Η. Mel, D. Baker.
Cryptography Decrypted.
Addison-Wesley, 2001
Εφαρμοσμένη Τυχαιότητα
Παραγωγή τυχαιότητας για Κρυπτογραφικά Πρωτόκολλα

1.414213562373
Οι αριθμοί
ΕΚ[1.414213562373]
Ένα πρωτόκολλο ταυτοποίησης
της Alice (Challenge-Response)
σας φαίνονται τυχαίοι;

Σενάριο: O Mallory, υποκλέπτει 2
εκτελέσεις, και μαντεύει την επόμενη
«τυχαιότητα». Στη συνέχεια,
1.
Πλαστοπροσωπεί (με κάποιο τρόπο)
τον Bob στην Alice, αποστέλει την
πρόκληση C=2236067977499 και
λαμβάνει πίσω το EK(C)
2.
Αποδεικνύει στον Bob ότι είναι η Alice
Η. 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
είναι γνωστός
John Hershey. Cryptography
Demystified. McGraw-Hill
Professional, 2003
Τυχαιότητα και Ψευδοτυχαιότητα
Παράδειγμα: Πηγή Δεδομένων Bernoulli

Τυχαιότητα Πηγής - Συνίσταται
στα εξής:
1.
Ισοπίθανα bit (Balanced)

Η πιθανότητα ένα bit
να είναι 0 (ή 1) είναι ½
2.
Αμνήμονα Πηγή: (memoryless)

Η γνώση των bit έως τον

Παράδειγμα

Η Ρουλέτα στο Καζίνο
Πόσο τυχαία σας φαίνεται
η ακολουθία :
χρόνο t, δεν βοηθά τον
κρυπταναλυτή να προβλέψει το
bit στον χρόνο t+1
Πόσο τυχαία σας φαίνεται
η συμβολοσειρά :
John Hershey.
Cryptography
Demystified. McGraw-Hill
Τυχαιότητα και Ψευδοτυχαιότητα
Professional, 2003
Παράδειγμα: Πηγή Δεδομένων Bernoulli
Πόσο τυχαία σας φαίνεται
η συμβολοσειρά;

Οι ακολουθίες 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
Menezes, Oorschot, Vanstone,
Handbook of Applied
Cryptography, CRC, 2001
Γεννητόρες Τυχαιότητας
Κατηγοριοποιήσεις
Α. Γεννήτορες τυχαιότητας (HW)


Συχνά, τα bit που εξάγονται από
φυσικά φαινόμενα ενδέχεται να:
Συσκευές που αξιοποιούν την μη
προβλεψιμότητα φυσικών φαινομέ-

νων για παραγωγή bit τυχαιότητας






Αυτοσυσχετιζόμενα (correlated)

Θερμικός θόρυβος (thermal
noise) από ημιαγωγό ή αντίσταση,
…
π.χ. H πιθανότητα η πηγή να
εξάγει 1 δεν είναι ½
Ραδιενεργός διάσπαση
(radioactive decay),
Χρόνος πρόσβασης στο σκληρό
δίσκο *
Είναι πολωμένα (biased)
π.χ. H πιθανότητα η πηγή να
εξάγει 1 εξαρτάται από την τιμή
προηγούμενου (-ων) bit

Συχνά, τα bit που εξάγονται από
φυσικές πηγές υποβάλλονται σε

Τεχνικές διόρθωσης (de-skewing)
Menezes, Oorschot, Vanstone,
Handbook of Applied
Cryptography, CRC, 2001
Γεννητόρες Τυχαιότητας
Κατηγοριοποιήσεις
B. Γεννήτορες τυχαιότητας (SW)


κατηγορίας θεωρούνται χαμηλής
O γεννήτορας σχεδιάζεται εξ’
εντροπίας
ολοκλήρου σε λογισμικό και εξάγει
εντροπία από (π.χ.):



Οι γεννήτορες αυτής της

Το ρολόι συστήματος
Χρόνος-ταχύτητα πληκτρολόγησης
και κίνηση ποντικιού
Περιεχόμενα θέσεων μνήμης και
I/O buffers

Είσοδος από τον χρήστη

Παράμετροι Λ.Σ.

π.χ. φόρτος διεργασιών, δεδομένα δικτύου
κ.λ.π


Μπορούν να επηρεαστούν από
παράγοντες όπως π.χ. η
υπολογιστική πλατφόρμα
Ο εχθρός μπορεί να επιδράσει ή
να παρατηρήσει τις διεργασίες…
Πολλές τέτοιες πηγές μπορούν να
συνδυαστούν (pooling).
Schneier, Bruce. Applied
Cryptography. John Wiley &
Sons, Inc., 2nd edition, 1996
Γεννητόρες Τυχαιότητας
Απόσταξη Τυχαιότητας (Distilling Randomness)

Συλλογή και Εξαγωγή τυχαιότητας (distilling randomness)
1.
Καταγραφή πολλών «τυχαίων» γεγονότων, και εξαγωγή bit τυχαιότητας
2.
Διατήρηση των bit σε μια δεξαμενή τυχαιότητας (randomness pool)
3.
Χρήση μιας συνάρτησης one-way hash για την εξαγωγή των bit
τυχαιότητας που τελικά θα χρησιμοποιηθούν
A. Young, M. Yung. Malicious
Cryptography – Exploring
CryptoVirology. Wiley, 2004
Γεννητόρες Τυχαιότητας
Απόσταξη Τυχαιότητας (Distilling Randomness)

Συνδυάζοντας πολλές πηγές
τυχαιότητας


Σε κάθε πηγή μπορούν να
εφαρμοστούν τεχνικές
διόρθωσης
Στη συνέχεια όλες οι
ακολουθίες γίνονται XOR
Γεννητόρες Τυχαιότητας
Απόσταξη Τυχαιότητας (Distilling Randomness)
Η. Mel, D. Baker.
Cryptography Decrypted.
Addison-Wesley, 2001
Γεννήτορες Τυχαιότητας
... στην πράξη: ένας τρόπος να παράξεις το αρχικό seed
John Hershey. Cryptography
Demystified. McGraw-Hill
Professional, 2003
Γεννητόρες Τυχαιότητας
Απόσταξη Τυχαιότητας (Distilling Randomness)
A. Young, M. Yung. Malicious Cryptography
– Exploring CryptoVirology. Wiley, 2004
Γεννήτορες Τυχαιότητας
Τεχνικές Διόρθωσης (de-skewing, unbiasing, entropy extractors)

Έστω έχουμε στη διάθεση μας ένα «πολωμένο» (biased) νόμισμα
Πιθανότητα [Κορώνα] = 5/8
Πιθανότητα [Γράμματα] = 3/8

Μπορώ από ένα «πολωμένο» νόμισμα να πάρω μια ακολουθία τυχαίων bit;

Ο αλγόριθμος του Von Neumann
1
2
P1=P2
J. Katz, Y. Lindell. Introduction to Modern
Cryptography. Chapman & Hall/CRC, 2008.
Τυχαιότητα
Ψευδοτυχαιότητα
vs
1. Ιδανικά, η τυχαιότητα που δίνεται
1.
ως είσοδος σε κρυπτογραφικούς
αλγορίθμους είναι αληθινή
2. Σε αυτή την περίπτωση & εφόσον
τηρούνται “τα πρέποντα”, π.χ.:

|K|=|M|

Όχι επαναχρησιμοποίηση κλειδιού
3. … έχω απόλυτη ασφάλεια έναντι
εχθρού με “άπειρους
Στην πράξη, σε έναν κρυπτογραφικό
αλγόριθμο δίνεται ως είσοδος μια
ψευδο-τυχαία ακολουθία

2.
3.
& Επειδή δε τηρούνται τα “πρέποντα”:

|Κ|<<|Μ|

Επαναχρησιμοποίηση κλειδιών
.. θέλω υπολογιστική ασφάλεια
έναντι ενός πολυωνυμικού εχθρού

υπολογιστικούς πόρους”

Σχετιζόμενοι όροι: Perfect
Secrecy, Unconditional security,
information-theoretic security
“Μοιάζει” να είναι τυχαία

Στην πράξη, ο εχθρός έχει μικρή
(αμελητέα) πιθανότητα επιτυχίας
Μετά από “αρκετό χρόνο”, το σχήμα
θα σπάσει οπωσδήποτε (π.χ. Brute
force σε επίθεση known-plaintext)

Ωστόσο ο χρόνος είναι “πολύς” !
Η. Mel, D. Baker.
Cryptography Decrypted.
Addison-Wesley, 2001
Γεννήτορες Ψευδο-Τυχαιότητας
(Pseudo-Random Number Generator - PRNG)

PRNG: αλγόριθμος που παράγει

ακολουθίες αριθμών που
τυχαία ακολουθία bit μήκους k
«μοιάζουν» τυχαίες


Indistinguishability: «δύσκολο»
να διακρίνει κάποιος μια τυχαία
από μια ψευδοτυχαία συμβολοσειρά
Ωστόσο, ο αλγόριθμος είναι
ντετερμινιστικός

Αν δώσουμε την ίδια είσοδο, ο
αλγόριθμος δίνει ίδιο αποτέλεσμα !
Στην είσοδο δέχεται μια (αληθινά)


Το «seed» (σπόρος) του αλγορίθμου
Στην έξοδο, δίνει μια «ψευδο-τυχαία»
ακολουθία bit μήκους L >> k
O. Goldreigh. Foundations
of Cryptography, Vol I
Basic Tools, CUP, 2004.
Γεννήτορες Ψευδο-Τυχαιότητας
(Pseudo-Random Number Generator - PRNG)
Schneier, Bruce. Applied Cryptography.
John Wiley & Sons, Inc., 2nd edition, 1996
Γεννήτορες Ψευδο-Τυχαιότητας
Ασφάλεια Γεννητόρων PRNG

Ιδιότητες ακολουθίας
ασφαλών Γεννητόρων PRNG
A. «Μοιάζει» να είναι τυχαία

Δηλαδή, οι ακολουθίες που
παράγει περνούν με επιτυχία όλα
τα στατιστικά τεστ τυχαιότητας
B. Μη προβλεψιμότητα

Υπολογιστικά αδύνατο για την Eve
να προβλέψει (με πιθανότητα μη
αμελητέα) το επόμενο bit

Συνέπεια του Β: Ο γεννήτορας
εμφανίζει «μεγάλη» περίοδο

π.χ. Αν απαιτούμε 1 δισ. bit, μια
ακολουθία με περίοδο 16 χιλ. bit
δεν είναι ασφαλής !

π.χ περίοδος 2128
Schneier, Bruce. Applied
Cryptography. John Wiley
& Sons, Inc., 2nd edition,
Γεννήτορες Ψευδο-Τυχαιότητας
Α. Στατιστικοί Έλεγχοι
A.
Στατιστικά τεστ «αξιολόγησης»
(ψευδο-) τυχαιότητας
1.
«περίπου» ίδιος αριθμός 0 και 1
2.
«περίπου» οι μισές εκτελέσεις
ακολουθούνται από διαφορετικό
bit (π.χ. 0,1 ή 1,0)
3.
Κάθε πιθανή ακολουθία δύο bit
θα πρέπει να εμφανίζεται στο ¼
περίπου των εκτελέσεων
4.
Κάθε πιθανή ακολουθία τριών bit
θα πρέπει να εμφανίζεται στο 1/8
περίπου των εκτελέσεων
1996
Η. 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
Γεννήτορες Ψευδο-Τυχαιότητας
Β. Μη Προβλεψιμότητα
B.
Μη προβλεψιμότητα

(unpredictability)

Στόχος:
Είναι υπολογιστικά αδύνατο για
την Eve να προβλέψει ποιο θα
είναι το επόμενο bit (με
πιθανότητα > ½ )
Ένας αλγόριθμος PRNG δέχεται

To seed καθορίζει την αρχική
κατάσταση (state) του γεννήτορα
- Αλγόριθμος παραγωγής
- Όλα τα bit έως τη στιγμή t
Practical Cryptography.
Wiley, 2003.
συνήθως ως είσοδο ένα seed
Η eve έχει πλήρη γνώση των:
- «Υλικό» που χρησιμοποιείται
N. Ferguson, B. Schneier.

Ασφάλεια (υπολογιστική): Δυσκολία
εύρεσης του seed από την Eve

Ιδανικά, για τη δημιουργία του seed η
Alice χρειάζεται αληθινή τυχαιότητα !!

Το μήκος k του seed πρέπει να είναι
επαρκώς μεγάλο ώστε να ανθίσταται
έναντι επιθέσεων brute force

Τουλάχιστον 128 bit εντροπίας
C. Kaufman, et al. Network Security – Private
Communication in a Public World. Prentice Hall, 2002
Γεννήτορες Ψευδο-Τυχαιότητας
Κρυπτογραφικοί Αλγόριθμοι Παραγωγής Ψευδοτυχαιότητας

O αλγόριθμος εξαγωγής συχνά

Περίπτωση
χρησιμοποιεί μια μονόδρομη
κρυπτογραφική συνάρτηση hash
1.
Μονόδρομη (one-way)
2.
Κρυπτογραφική:


Σύγχυση: Απόκρυψη σχέσης
μεταξύ εξόδου / εισόδου,
Πόσο ασφαλές σας φαίνεται το PRNG που
Διάχυση: Φαινόμενο
χρησιμοποιεί τη συνάρτηση (hash) H;
χιονοστιβάδας

Στόχοι Ασφάλειας
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
Γεννήτορες Ψευδο-Τυχαιότητας
Κρυπτογραφικοί Αλγόριθμοι Παραγωγής Ψευδοτυχαιότητας

ΛΥΣΗ: Σε κάθε βήμα, κάνουμε hash το προηγούμενο
state μαζί με το seed του αλγορίθμου
Menezes, Oorschot, Vanstone,
Handbook of Applied
Cryptography, CRC, 2001
Γεννήτορες Ψευδο-Τυχαιότητας
Κρυπτογραφικώς Ασφαλείς Αλγόριθμοι Παραγωγής Ψευδοτυχαιότητας

Ασφάλεια Κρυπτογραφικώς Ασφαλών Αλγορίθμων PRNG

Μπορεί να αναχθεί στη δυσκολία επίλυσης ενός «δύσκολου» προβλήματος
(π.χ. πρόβλημα παραγοντοποίησης μεγάλων αριθμών)


Η ασφάλεια αποδεικνύεται με μαθηματικό τρόπο
Ωστόσο. οι PRNG της κατηγορίας είναι λιγότερο αποδοτικοί
από τις κοινές (ad hoc) υλοποιήσεις
Menezes, Oorschot, Vanstone,
Handbook of Applied
Cryptography, CRC, 2001
Γεννήτορες Ψευδο-Τυχαιότητας
Κρυπτογραφικώς Ασφαλείς Αλγόριθμοι Παραγωγής Ψευδοτυχαιότητας
O. Goldreigh. Foundations of Cryptography,
Vol I Basic Tools, CUP, 2004.
Γεννήτορες Ψευδο-Τυχαιότητας
Εφαρμογή: Αλγόριθμοι Ροής (Stream Ciphers)

Στην πράξη, οι γεννήτορες PRNG χρησιμοποιούνται για την
παραγωγή ψευδοτυχαιότητας που θα χρησιμοποιηθεί ως κλειδί σε
συμμετρικούς αλγόριθμους ροής (stream ciphers)
N. Ferguson, B. Schneier. Practical
Cryptography. Wiley, 2003.
Γεννήτορες Ψευδο-Τυχαιότητας
Εφαρμογή: Αλγόριθμοι Ροής (Stream Ciphers)
1.
H Alice και o Bob ανταλλάσουν
[Seed]
μέσω ενός ασφαλούς καναλιού, ένα
τυχαίο seed κατάλληλου μήκους

2.
Π.χ. 128 bit τυχαιότητας
Εισάγουν και οι δύο ως είσοδο το
seed σε ένα γεννήτορα PRNG
3.
P XOR K
Κρυπτογραφούν τα μηνύματα τους
(XOR με την ακολουθία που
παράγει ο PRNG)

Ασφάλεια Αλγορίθμου

Αν |Μ|>|seed| δεν έχουμε
απόλυτη ασφάλεια
(unconditional-perfect
secrecy), αλλά υπολογιστική
(computational security)

π.χ. Ασφάλεια 128-bit
Βιβλιογραφία Διάλεξης

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.