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

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

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

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


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

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 Ιδιότητες ψευδοτυχαίων ακολουθιών (Αξιώματα 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

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


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

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


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