Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Εισαγωγή στην Κρυπτογραφία

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Εισαγωγή στην Κρυπτογραφία"— Μεταγράφημα παρουσίασης:

1 Εισαγωγή στην Κρυπτογραφία
Stream ciphers

2 Γενικά χαρακτηριστικά
Keystream Generator Ki Pi Ci Δουλεύουν πάνω σε ένα ρεύμα από bytes/bits Απαιτούν μία γεννήτρια ψευδοτυχαίας ακολουθίας bits, που θα είναι το κλειδί Τα bits του κλειδιού γίνονται XOR με τα bits του μηνύματος για να προκύψει έτσι το κρυπτόγραμμα, και αντίστροφα Η περίοδος της ακολουθίας του κλειδιού πρέπει αν είναι όσο γίνεται πιο μεγάλη Άλλες επιλογές Τα bits του κλειδιού μπορούν να εξαρτώνται από προηγούμενα bits του κρυπτογράμματος (ασύγχρονο σύστημα)

3 Σύγχρονοι stream ciphers
Κρυπτογράφηση Αποκρυπτογράφηση σi+1 = f(σi,k), zi = g(σi , k), ci = h(mi, zi) Αποστολέας και παραλήπτης πρέπει να είναι συγχρονισμένοι. Αν κάποιο τμήμα του κρυπτογράμματος χαθεί κατά τη μετάδοσή του, ο συγχρονισμός χάνεται και απαιτούνται πρόσθετες τεχνικές επανασυγχρονισμού. Η παραποίηση (αλλοίωση) ενός ψηφίου του κρυπτογράμματος κατά τη μετάδοση δεν έχει ως αποτέλεσμα περαιτέρω λανθασμένη αποκρυπτογράφηση επόμενων ψηφίων (no error propagation) “Ενεργές επιθέσεις” προκαλούν σοβαρά προβλήματα (π.χ. έλλειψη συγχρονισμού), για αυτό απαιτούνται τεχνικές για πιστοποίηση της γνησιότητας και της ακεραιότητας του μηνύματος

4 Ασύγχρονοι stream ciphers
Αποκρυπτογράφηση Κρυπτογράφηση σi = (ci-t, ci-t+1, …., ci-1) zi = g(σi , k), ci = h(mi, zi) Τα ασύγχρονα συστήματα ανακτούν από μόνα τους το συγχρονισμό όταν αυτό χαθεί, μετά από την παρέλευση κάποιων λανθασμένων αποκρυπτογραφήσεων (self – synchronization) Αν συμβεί μία λάθος αποκρυπτογράφηση, αυτή διαδίδεται για ορισμένα επόμενα ψηφία και μετά στο σύστημα επανέρχεται σε σωστή λειτουργία (limited error propagation) «Ενεργές επιθέσεις» ανιχνεύονται πιο δύσκολα από ό,τι στα σύγχρονα συστήματα – απαιτούνται επίσης τεχνικές για πιστοποίηση γνησιότητας και ακεραιότητας του μηνύματος Κάθε bit του μηνύματος επιδρά σε πολλά bits του κρυπτογράμματος, άρα οι στατιστικές ιδιότητες του μηνύματος «χάνονται» μέσα στο κρυπτόγραμμα

5 Κλειδί μιας χρήσης (One-time pad)
Ως one-time pad αποκαλείται το ιδανικό εκείνο κρυπτοσύστημα, όπου το κλειδί είναι τυχαία σειρά bits με απεριόριστα μεγάλη περίοδο. Ο Shannon (1948) απέδειξε ότι το one-time pad είναι απεριόριστα ασφαλές. (“Communication Theory of Secrecy Systems”, Claude Shannon, Bell Syst. Tech. J. 28, , 1949) Στην πράξη δεν μπορούμε να έχουμε τυχαίες ακολουθίες, παρά μόνο ψευδοτυχαίες (που προέρχονται από ντετερμινιστικές μηχανές).

6 Βασικά στοιχεία Θεωρίας Πληροφορίας
Αν X τυχαία μεταβλητή, με τιμές στο σύνολο {x1, x2, …, xn} και αντίστοιχες πιθανότητες p1, p2, …, pn, η εντροπία της ορίζεται ως: Η μέγιστη τιμή της εντροπίας είναι log2n και εμφανίζεται αν και μόνο αν pi=1/n για κάθε i. Η συνδυασμένη εντροπία δύο τυχαίων μεταβλητών X, Y δίνεται από:

7 Βασικά στοιχεία Θεωρίας Πληροφορίας (II)
Η εντροπία H(X) εκφράζει το ποσό της πληροφορίας που αποκτούμε από μία παρατήρηση του X. Η συνδυασμένη εντροπία H(X|Y) εκφράζει την αβεβαιότητα που έχουμε για το X μετά από μια παρατήρηση του Y.

8 Θεωρία Shannon Η υπό συνθήκη πιθανότητα να εστάλη κτυπτόγραμμα c, δοθέντος του αρχικού μηνύματος m, ισούται με: Όπου το κλειδί θεωρείται τυχαία μεταβλητή K, που μπορεί να πάρει διάφορες τιμές k με αντίστοιχες πιθανότητες pk. Η πιθανότητα να εστάλη κτυπτόγραμμα c ισούται με:

9 Θεωρία Shannon (II) Η υπό συνθήκη πιθανότητα να εστάλη μήνυμα m, δοθέντος του λαμβανομένου κρυπτογράμματος c, ισούται με: Αν M συμβολίζει την τυχαία μεταβλητή που αντιστοιχεί στα πιθανά μηνύματα, τότε η υπό συνθήκη εντροπία του M δοθέντος συγκεκριμένου κρυπτογράμματος c (p(c) > 0) ισούται με: (είναι γενίκευση του κλασικού ορισμού της εντροπίας, για υπό συνθήκη πιθανότητες)

10 Θεωρία Shannon (III) Η υπό συνθήκη εντροπία του M δοθέντος C (όπου C συμβολίζει την τυχαία μεταβλητή που αντιστοιχεί στα κρυπτογράμματα) ισούται με: Η διαφορά H(M) – H(M|C) εκφράζει την ελάττωση της αβεβαιότητας του μηνύματος, που προέρχεται από γνώση του κρυπτογράμματος. Ονομάζεται και αμοιβαία πληροφορία (mutual information) και συμβολίζεται με I(M|C) Ένα σύστημα χαρακτηρίζεται ως απολύτως ασφαλές αν γνώση του κρυπτογράμματος δεν προσφέρει καμία πληροφορία για το αρχικό μήνυμα. Αυτό σημαίνει p(m|c) = p(m) για όλα τα m και c. Με άλλα λόγια, οι μεταβλητές M, C είναι ανεξάρτητες, που σημαίνει I(M|C)=0.

11 Απόδειξη του Shannon για το one-time pad
Για το one-time pad: Για κάθε μήνυμα m=m1m2...mn και κρυπτόγραμμα c=c1c2…cn υπάρχει ένα μοναδικό κλειδί k=k1k2…kn τέτοιο ώστε Ek(m)=c. Συνεπώς: αφού pk=1/2n για όλα τα k και

12 One-time pad (σχηματική αναπαράσταση)
plaintext ciphertext Το να στείλει ο αποστολέας στον παραλήπτη από την αρχή το κλειδί, έτσι ώστε ο δεύτερος να μπορεί να αποκρυπτογραφήσει το μήνυμα, είναι πρακτικά το ίδιο πρόβλημα με το να του στείλει το ίδιο το μήνυμα

13 Συστήματα στην πράξη Ως γεννήτρια ψευδοτυχαίων bits χρησιμοποιείται συνήθως ένας γραμμικός καταχωρητής ολίσθησης με ανάδραση (LFSR) Έχουν καλή μαθηματική περιγραφή και οι ιδιότητές τους αναλύονται εύκολα Message stream Shift register Cipher stream Key stream

14 Γραμμικοί καταχωρητές ολίσθησης με ανάδραση
Σχηματικό διάγραμμα (καταχωρητής L θέσεων) Πολυώνυμο ανάδρασης: P(x) = 1 + c1x + c2x2 + c3x3 +…+ cLxL  Z 2(x) sj = (c1 sj-1 + c2 sj-2 + c3 sj-3 +…+ cL sj-L) mod 2 για j  L Με αρχική κατάσταση του LFSR : [sL-1 , … , s1, , s0 ] με si  {0,1}

15 Ιδιότητες LFSRs Ένα LFSR μήκους L μπορεί να περάσει από 2L-1 διαφορετικές καταστάσεις, άρα μπορεί να γεννήσει ακολουθίες με μέγιστη περίοδο 2L-1. Η έξοδος ενός LFSR εξαρτάται τόσο από την ανάδρασή του όσο και από την αρχική του κατάσταση. LFSRs που επιτυγχάνουν μέγιστη περίοδο ονομάζονται πρωταρχικοί (primitive). Οι ακολουθίες που παράγονται από τέτοιους καταχωρητές ονομάζονται μέγιστου μήκους (m-sequences).

16 Τι είναι αλγεβρική ομάδα (algebraic group)
Mια ομάδα είναι ένα αλγεβρικό σύστημα αποτελούμενο από ένα σύνολο G και μια πράξη  τέτοια ώστε για όλα τα στοιχεία a, b και c στο G ικανοποιούνται οι ακόλουθες συνθήκες: Κλειστότητα (Closure): a  b πρέπει να ανήκει στο G Προσεταιριστική ιδιότητα (Associativity): a  (b  c) = (a  b)  c Ουδέτερο στοιχείο: a  e = e  a = a Αντίστροφο στοιχείο: a  a' = a'  a = e Αντιμεταθετικότητα (Commutativity): a  b = b  a (Αβελιανή ομάδα - Abelian Group) Παραδείγματα: Πρόσθεση: <R, +> e = 0 , a' = -a Πολλαπλασιασμός: <R-{0}, · > e = 1 , a' = a-1

17 Πεπερασμένα Σώματα - Finite Fields
Ένα πεπερασμένο σώμα (finite field) είναι ένα αλγεβρικό σύστημα που αποτελείται από ένα πεπερασμένο σύνολο F μαζί με δύο δυαδικές πράξεις + και · , ορισμένες στο F, και ικανοποιεί τα ακόλουθα αξιώματα : Το F είναι μια αβελιανή ομάδα με την πράξη “+” Το F είναι μια αβελιανή ομάδα με την πράξη “· ” Επιμεριστική ιδιότητα Υπάρχει ένα πεπερασμένο σώμα με q στοιχεία πεδίου αν και μόνο αν το q είναι δύναμη ενός πρώτου, και για κάθε τέτοιο q υπάρχει ακριβώς ένα πεπερασμένο σώμα. Πεπερασμένο σώμα με q στοιχεία :Fq ή GFq Θα ασχοληθούμε με δυο τύπους πεπερασμένων σωμάτων Fq που χρησιμοποιούνται στην κρυπτογραφία Fp, p περιττός πρώτος prime finite fields F2m για κάποιο m  binary finite fields (χαρακτηριστικό 2) Λέγονται χαρακτηριστικά πεπερασμένα σώματα (characteristic finite fields).

18 Πεπερασμένα πεδία - Fp Πολλοί τρόποι αναπαράστασης των στοιχείων του Fp. σύνολο από ακεραίους {0, 1, 2, …, p-1} με : Πρόσθεση πρόσθεση modulo p Πολλαπλασιασμός πολλαπλασιασμός modulo p Βολικό να οριστούν Αφαίρεση προσθετικός αντίστροφος (additive inverse) (αρνητικό στοιχείο) Διαίρεση πολλαπλασιαστικός αντίστροφος (multiplicative inverse) στοιχείων πεδίου

19 Πεπερασμένα πεδία - F2m χαρακτηριστικό 2, περιέχει 2m elements.
Οι πράξεις πρόσθεσης και πολλαπλασιασμού ορίζονται για την πολυωνυμική αναπαράσταση modulo ανάγωγο πολυώνυμο f(x) (ιrreducible polynomial ) Βολικό και εδώ να οριστούν Αφαίρεση προσθετικός αντίστροφος (additive inverse) (αρνητικό στοιχείο) Διαίρεση πολλαπλασιαστικός αντίστροφος (multiplicative inverse m  {113,131,163,193,233,239,283,409,571}

20 Πεπερασμένα Σώματα (Galois Fields) (I)
Κάθε πεπερασμένο σώμα έχει pn στοιχεία (GF(pn)), όπου p πρώτος αριθμός (η πιο συνηθισμένη περίπτωση: p=2). Σε κάθε σώμα GF(2n) υπάρχει τουλάχιστον ένα πολυώνυμο f(x) με συντελεστές στο GF(2) το οποίο έχει τις εξής ιδιότητες: Είναι ανάγωγο (irreducible) Ο μικρότερος αριθμός k που έχει την ιδιότητα το f(x) να διαιρεί το xk+1 είναι ο 2n-1. Τότε το f(x) ονομάζεται πρωταρχικό πολυώνυμο (primitive).

21 Πεπερασμένα Σώματα (Galois Fields) (IΙ)
Ένα στοιχείο που είναι ρίζα πρωταρχικού πολυωνύμου ονομάζεται πρωταρχικό. Παράδειγμα: στο GF(24), το πολυώνυμο f(x)=x4+x+1 είναι πρωταρχικό. Άρα, αν a το πρωταρχικό στοιχείο, τότε ισχύει a4=a+1 Αυτή η σχέση καθορίζει όλα τα στοιχεία του σώματος. Έτσι, a5=a · a4 = a2 + a κ.ο.κ Με βάση το παραπάνω, όλα τα στοιχεία του σώματος μπορούν να γραφτούν στη μορφή c0 + c1a + c2a2 + c3a3 όπου τα ci, i=0,1,2,3 είναι είτε 0 είτε 1. Η παραπάνω αναπαράσταση λέγεται πολυωνυμική αναπαράσταση. Η τετράδα [c0c1c2c3] συνιστά τη διανυσματική αναπαράσταση του πεδίου.

22 Πεπερασμένα Σώματα (Galois Fields) (IΙI)
Εκθετική αναπαράσταση Διανυσματική αναπαράσταση 000 1 100 a 010 a2 001 a3 110 a4 011 a5 111 a6 101 Παράδειγμα: Σώμα GF(23) πρωταρχικό πολυώνυμο: f(x)=x3 + x + 1. Πρόσθεση στο σώμα: a3 + a6 = (110) + (101)= = (011) = a 4 Πολλαπλασιασμός στο σώμα: a3 · a6 = a9 = a2 Τάξη ενός στοιχείου b του σώματος GF(2n) είναι ο μικρότερος ακέραιος k με την ιδιότητα bk=1. Για κάθε πρωταρχικό στοιχείο, η τάξη είναι 2n-1

23 Ακολουθίες μέγιστης περιόδου παραγόμενες από LFSR
Θεώρημα: Έστω f(x) το πολυώνυμο ανάδρασης ενός καταχωρητή με L βαθμίδες. Τότε, αν το πολυώνυμο είναι ανάγωγο, η περίοδος της παραγόμενης ακολουθίας είναι ίδια με την τάξη των ριζών του πολυωνύμου στο GF(2L). Άμεση συνέπεια αυτού είναι το παρακάτω: Έστω ένας LFSR με L βαθμίδες. Αν τo πολυώνυμο ανάδρασης ενός τέτοιου καταχωρητή είναι πρωταρχικό ως προς το πεπερασμένο σώμα GF(2L), η έξοδος έχει πάντα μέγιστη περίοδο 2L-1 (η ακολουθία δηλαδή είναι m-sequence), ανεξάρτητα της αρχικής κατάστασης (εκτός φυσικά της μηδενικής). Το μήκος του ελάχιστου LFSR που μπορεί να γεννήσει μία συγκεκριμένη ακολουθία ονομάζεται γραμμική πολυπλοκότητα (linear complexity) της ακολουθίας. Προφανώς, για κάθε m-sequence περιόδου 2L-1, η γραμμική πολυπλοκότητα ισούται με L.

24 Berlekamp – Massey αλγόριθμος
Ο ελάχιστος LFSR που μπορεί να παράγει μία ακολουθία υπολογίζεται σε πολυωνυμικό χρόνο με το γνωστό αλγόριθμο Berlekamp-Massey (υπολογιστικής πολυπλοκότητας O(n2) για ακολουθία μήκους n). Αν η γραμμική πολυπλοκότητα μίας ακολουθίας είναι n, τότε ο Berlekamp-Massey χρειάζεται μόνο 2n bits για να υπολογίσει τον ελάχιστο LFSR που την παράγει!! Συμπέρασμα: Μία ακολουθία για να χρησιμοποιηθεί ως κλειδί στην κρυπτογραφία, πρέπει να έχει όσο γίνεται υψηλότερη γραμμική πολυπλοκότητα. Άρα, οι m-sequences καθίστανται ακατάλληλες για άμεση κρυπτογραφική χρήση (έχουν τη μικρότερη δυνατή γραμμική πολυπλοκότητα). Αναφορές: “Algebraic Coding Theory”, E. R. Berlekamp, New York: McGraw-Hill, 1968 “Shift Register Sequences and BCH Decoding”, J. L. Massey, IEEE Trans. On Information Theory, vol. IT-15, pp , Jan. 1969 Handbook of Applied Cryptography (chapter 6) Τεράστιο πλήθος ιστοσελίδων στο διαδίκτυο, σχετικά με τον αλγόριθμο (περιγραφή, υλοποιήσεις κτλ.)

25 Βάση του Αλγορίθμου Berlekamp-Massey

26 Αλγόριθμος Berlecamp-Massey

27 Παράδειγμα Sn = 0, 0, 1, 1, 0, 1, 1, 1, 0, n=9

28 Βιβλιογραφία LFSRs “Shift Register Synthesis”, S.W. Golomb, Holden-Day, San Francisco, 1969 “Finite Fields”, R. Lidl and H. Niederreiter, vol. 20 of Encyclopedia of Mathematics and its Applications, Cambridge University Press, 1996 (chapter 8).

29 Γεννήτριες ψευδοτυχαίων ακολουθιών
Γραμμικοί καταχωρητές ολίσθησης με ανάδραση (LFSRs) Εφαρμογή μη γραμμικής συνάρτησης στις βαθμίδες ενός LFSR (filter function generators – Key (1973)), με στόχο την αύξηση της γραμμικής πολυπλοκότητας της ακολουθίας: Η μέγιστη τιμή που μπορεί να έχει η γραμμική πολυπλοκότητα του παραγόμενου κλειδιού (keystream) είναι: όπου m το μέγιστο πλήθος βαθμίδων του LFSR που συνδυάζονται σε ένα γινόμενο από την f

30 Γεννήτριες ψευδοτυχαίων ακολουθιών (II)
Οι έξοδοι πολλών LFSRs περνούν από μία μη γραμμική συνάρτηση (combinatorial function generators – Groth (1971)) Αν L1, L2,…,Ln είναι οι γραμμικές πολυπλοκότητες (ανά δύο διαφορετικές μεταξύ τους) των ακολουθιών που παράγονται από τους καταχωρητές, τότε η γραμμική πολυπλοκότητα του παραγόμενου κλειδιού (keystream) ισούται με: f(L1,L2,…,Ln) Για παράδειγμα, αν n=4 και f=x1x3 + x2 + x2x3x4, τότε: Lkeystream=L1L3 + L2 + L2L3L4

31 Παράδειγμα – Geffe generator
Ο κάθε LFSR έχει μήκος LI, i=1,2,3, πρώτα μεταξύ τους, και μέγιστη περίοδο 2Li-1 Έξοδος z(t)=x1x2  (1+x2)x3 = x1x2  x2x3  x3 Η ακολουθία εξόδου z έχει μεγάλη περίοδο: Η γραμμική πολυπλοκότητα της εξόδου ισούται με: L=L1L2 + L2L3 + L3

32 Ασφάλεια Geffe generator
Όχι ασφαλής: Ας παρατηρήσουμε ότι η πιθανότητα συσχέτισης: Υπόκειται σε correlation κρυπτανάλυση λόγω της παραπάνω παρατήρησης (Μέθοδος που στηρίζεται στην εξάρτηση της εξόδου κάποιας συνάρτησης από κάποιες συγκεκριμένες εισόδους). Βασική της ιδέα είναι η εξής: αν η έξοδος ταυτίζεται με την έξοδο κάποιου από τους καταχωρητές με πιθανότητα p > ½, τότε αν ένα ικανοποιητικά μεγάλο τμήμα του κλειδιού είναι γνωστό, μπορεί να ευρεθεί η αρχική κατάσταση του εν λόγω καταχωρητή. Συμπέρασμα: η συνάρτηση f σε τέτοιου τύπου γεννήτριες ψευδοτυχαίων ακολουθιών δεν πρέπει να εμφανίζει στατιστική εξάρτηση της εξόδου με κάποιο υποσύνολο των εισόδων της. (αυτές οι συναρτήσεις χαρακτηρίζονται ως ανεπηρέαστες στη συσχέτιση – correlation immune) ) Ομοίως μπορεί να δειχτεί ότι P(z(t)=x3(t))=3/4

33 Γεννήτριες ψευδοτυχαίων ακολουθιών (III)
To ρολόι ενός LFSR είναι η έξοδος κάποιου άλλου LFSR (clocked-controlled generators – Beth and Piper (1984)) Η περίοδος ισούται με 2L1(2L2-1)(2L3-1) εάν L2,L3 πρώτοι μεταξύ τους H γραμμική πολυπλοκότητα (L2+L3)2L1-1 < L(x)  (L2+L3)2L1 Για καλή έξοδο, οι καταχωρητές πρέπει να είναι όλοι πρωταρχικοί, παραπλήσιου μεγέθους και ανά δύο πρώτοι μεταξύ τους.

34 Γεννήτριες ψευδοτυχαίων ακολουθιών (IV)
Ένας LFSR καθορίζει το αν θα λαμβάνεται ή όχι υπ’όψιν η έξοδος ενός άλλου LFSR (shrinking generator – Coppersmith – Krawczys – Mansour (1993)) Αν L1, L2 οι γραμμικές πολυπλοκότητες των R1, R2 αντιστοίχως, τότε Η περίοδος είναι (2L2-1)2L1-1 εάν L1, L2 πρώτοι μεταξύ τους Για τη γραμμική πολυπλοκότητα L του παραγομένου κλειδιού ισχύει η σχέση:

35 Αναφορές (για τις προηγούμενες μεθόδους)
Αναφορές (για τις προηγούμενες μεθόδους) “Generation of binary sequences with controllable complexity”, E. J. Groth, IEEE Trans. Information Theory, vol. 17, pp , 1971 “An analysis of the structure and complexity of nonlinear binary key generators”, E. L. Key, IEEE Trans. Information Theory, vol. 22, pp , 1976. “The stop-and-go generator”, T. Beth and F. C. Piper, Proceedings of Eurocrypt 84, pp , 1985. “The shrinking generator”, Coppersmith – Krawczys – Mansour, Advances in Cryptology – Crypto ’93, pp , 1994

36 Ιδιότητες ψευδοτυχαίων ακολουθιών (Αξιώματα Golomb)
Μεγάλη περίοδος Ισοκατανεμημένο πλήθος 0 και 1 (Balance property) Μεγάλη γραμμική πολυπλοκότητα Αν ως run ορίζουμε μία ακολουθία 0 ή 1, τότε, σε μία περίοδο, τα μισά runs έχουν μήκος 1, τα ¼ έχουν μήκος 2, τα 1/8 μήκος 3 κ.ο.κ. (Run property) Η συνάρτηση αυτοσυσχέτισης yια την ακολουθία a0a1… περιόδου N μπορεί να πάρει μόνο δύο τιμές (two-level autocorrelation) N, για τ=0 Κ, για 1≤ τ ≤ Ν-1

37 Stream ciphers που χρησιμοποιούνται σήμερα
SEAL (το paper υπάρχει στο: RC4 (χρησιμοποιείται σε πολλά προϊόντα, όπως Oracle Secure SQL, Apple’s Computer’s AOCE) ( για περιγραφή και περαιτέρω αναφορές A5/1 (χρησιμοποιείται στις GSM επικοινωνίες) (


Κατέβασμα ppt "Εισαγωγή στην Κρυπτογραφία"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google