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

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

description

Εισαγωγή στην Κρυπτογραφία. Stream ciphers. Γενικά χαρακτηριστικά. Keystream Generator. Δουλεύουν πάνω σε ένα ρεύμα από bytes/bits Απαιτούν μία γεννήτρια ψευδοτυχαίας ακολουθίας bits, που θα είναι το κλειδί - PowerPoint PPT Presentation

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

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

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

Stream ciphers

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

2

Γενικά χαρακτηριστικά

Δουλεύουν πάνω σε ένα ρεύμα από bytes/bits Απαιτούν μία γεννήτρια ψευδοτυχαίας ακολουθίας bits, που θα είναι το

κλειδί Τα bits του κλειδιού γίνονται XOR με τα bits του μηνύματος για να

προκύψει έτσι το κρυπτόγραμμα, και αντίστροφα Η περίοδος της ακολουθίας του κλειδιού πρέπει αν είναι όσο γίνεται πιο

μεγάλη Άλλες επιλογές

Τα bits του κλειδιού μπορούν να εξαρτώνται από προηγούμενα bits του κρυπτογράμματος (ασύγχρονο σύστημα)

KeystreamGenerator

Ki

CiPi

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

3

Σύγχρονοι stream ciphers

σi+1 = f(σi,k), zi = g(σi , k), ci = h(mi, zi)

Κρυπτογράφηση Αποκρυπτογράφηση

Αποστολέας και παραλήπτης πρέπει να είναι συγχρονισμένοι. Αν κάποιο τμήμα του κρυπτογράμματος χαθεί κατά τη μετάδοσή του, ο συγχρονισμός χάνεται και απαιτούνται πρόσθετες τεχνικές επανασυγχρονισμού.

Η παραποίηση (αλλοίωση) ενός ψηφίου του κρυπτογράμματος κατά τη μετάδοση δεν έχει ως αποτέλεσμα περαιτέρω λανθασμένη αποκρυπτογράφηση επόμενων ψηφίων (no error propagation)

“Ενεργές επιθέσεις” προκαλούν σοβαρά προβλήματα (π.χ. έλλειψη συγχρονισμού), για αυτό απαιτούνται τεχνικές για πιστοποίηση της γνησιότητας και της ακεραιότητας του μηνύματος

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

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 του κρυπτογράμματος, άρα οι στατιστικές ιδιότητες του μηνύματος «χάνονται» μέσα στο κρυπτόγραμμα

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

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, 656-715, 1949)

Στην πράξη δεν μπορούμε να έχουμε τυχαίες ακολουθίες, παρά μόνο ψευδοτυχαίες (που προέρχονται από ντετερμινιστικές μηχανές).

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

6

Βασικά στοιχείαΘεωρίας Πληροφορίας

Αν X τυχαία μεταβλητή, με τιμές στο σύνολο {x1, x2, …, xn} και αντίστοιχες πιθανότητες p1, p2, …, pn, η εντροπία της ορίζεται ως:

)1

(log)( 21 i

i

n

i ppXH

Η μέγιστη τιμή της εντροπίας είναι log2n και εμφανίζεται αν και μόνο αν pi=1/n για κάθε i.

Η συνδυασμένη εντροπία δύο τυχαίων μεταβλητών X, Y δίνεται από:

yx

yYxXPyYxXPYXH,

2 )),((log),(),(

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

7

Βασικά στοιχείαΘεωρίας Πληροφορίας (II)

Η εντροπία H(X) εκφράζει το ποσό της πληροφορίας που αποκτούμε από μία παρατήρηση του X.

Η συνδυασμένη εντροπία H(X|Y) εκφράζει την αβεβαιότητα που έχουμε για το X μετά από μια παρατήρηση του Y.

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

8

Θεωρία Shannon Η υπό συνθήκη πιθανότητα να εστάλη κτυπτόγραμμα c, δοθέντος του

αρχικού μηνύματος m, ισούται με:

cmEkk

k

pmcp)(:

)|(

Όπου το κλειδί θεωρείται τυχαία μεταβλητή K, που μπορεί να πάρει διάφορες τιμές k με αντίστοιχες πιθανότητες pk.

Η πιθανότητα να εστάλη κτυπτόγραμμα c ισούται με:

})(:,{

)()(cmEmkk

k

mppcp

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

9

Θεωρία Shannon (II) Η υπό συνθήκη πιθανότητα να εστάλη μήνυμα m, δοθέντος του

λαμβανομένου κρυπτογράμματος c, ισούται με:

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

)(

)|()()/(

cp

mcpmpcmp

m

cmpcmpc )|(log)|()|( 2

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

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

10

Θεωρία Shannon (III)

Η υπό συνθήκη εντροπία του M δοθέντος C (όπου C συμβολίζει την τυχαία μεταβλητή που αντιστοιχεί στα κρυπτογράμματα) ισούται με:

c

cMHcpCMH )|()()|(

Η διαφορά H(M) – H(M|C) εκφράζει την ελάττωση της αβεβαιότητας του μηνύματος, που προέρχεται από γνώση του κρυπτογράμματος. Ονομάζεται και αμοιβαία πληροφορία (mutual information) και συμβολίζεται με I(M|C)

Ένα σύστημα χαρακτηρίζεται ως απολύτως ασφαλές αν γνώση του κρυπτογράμματος δεν προσφέρει καμία πληροφορία για το αρχικό μήνυμα. Αυτό σημαίνει p(m|c) = p(m) για όλα τα m και c. Με άλλα λόγια, οι μεταβλητές M, C είναι ανεξάρτητες, που σημαίνει I(M|C)=0.

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

11

Απόδειξη του Shannonγια το one-time pad

Για το one-time pad: Για κάθε μήνυμα m=m1m2...mn και κρυπτόγραμμα c=c1c2…cn υπάρχει ένα μοναδικό κλειδί k=k1k2…kn τέτοιο ώστε Ek(m)=c. Συνεπώς:

)()(

)(

)(

)|()()|(

,

mppmp

pmp

cp

mcpmpcmp

kmk

k

αφού pk=1/2n για όλα τα k και m

mp 1)(

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

12

One-time pad (σχηματική αναπαράσταση)

0 1 1 1 0 0 1 0 1 1 0

1 1 0 0 0 1 1 1 0 1 0

pad(κλειδί)

plaintext

1 0 1 1 0 1 0 1 1 0 0

ciphertext

Το να στείλει ο αποστολέας στον παραλήπτη από την αρχή το κλειδί, έτσι ώστε ο δεύτερος να μπορεί να αποκρυπτογραφήσει το μήνυμα, είναι πρακτικά το ίδιο πρόβλημα με το να του στείλει το ίδιο το μήνυμα

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

13

Συστήματα στην πράξη

Ως γεννήτρια ψευδοτυχαίων bits χρησιμοποιείται συνήθως ένας γραμμικός καταχωρητής ολίσθησης με ανάδραση (LFSR)

Έχουν καλή μαθηματική περιγραφή και οι ιδιότητές τους αναλύονται εύκολα

⊕ Cipher stream

Message stream

Key stream⊕

Shift register

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

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}

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

15

Ιδιότητες LFSRs Ένα LFSR μήκους L μπορεί να περάσει από 2L-1

διαφορετικές καταστάσεις, άρα μπορεί να γεννήσει ακολουθίες με μέγιστη περίοδο 2L-1.

Η έξοδος ενός LFSR εξαρτάται τόσο από την ανάδρασή του όσο και από την αρχική του κατάσταση.

LFSRs που επιτυγχάνουν μέγιστη περίοδο ονομάζονται πρωταρχικοί (primitive). Οι ακολουθίες που παράγονται από τέτοιους καταχωρητές ονομάζονται μέγιστου μήκους (m-sequences).

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

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

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

17

Πεπερασμένα Σώματα - Finite Fields

Ένα πεπερασμένο σώμα (finite field) είναι ένα αλγεβρικό σύστημα που αποτελείται από ένα πεπερασμένο σύνολο F μαζί με δύο δυαδικές πράξεις + και · , ορισμένες στο F, και ικανοποιεί τα ακόλουθα αξιώματα :

Το F είναι μια αβελιανή ομάδα με την πράξη “+” Το F είναι μια αβελιανή ομάδα με την πράξη “· ” Επιμεριστική ιδιότητα

Υπάρχει ένα πεπερασμένο σώμα με q στοιχεία πεδίου αν και μόνο αν το q είναι δύναμη ενός πρώτου, και για κάθε τέτοιο q υπάρχει ακριβώς ένα πεπερασμένο σώμα.

Πεπερασμένο σώμα με q στοιχεία :Fq ή GFq Θα ασχοληθούμε με δυο τύπους πεπερασμένων σωμάτων

Fq που χρησιμοποιούνται στην κρυπτογραφία Fp, p περιττός πρώτος prime finite fields F2m για κάποιο m 1 binary finite fields (χαρακτηριστικό 2) Λέγονται χαρακτηριστικά πεπερασμένα σώματα (characteristic

finite fields).

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

18

Πεπερασμένα πεδία - Fp

Πολλοί τρόποι αναπαράστασης των στοιχείων του Fp.

σύνολο από ακεραίους {0, 1, 2, …, p-1} με : Πρόσθεση πρόσθεση modulo p Πολλαπλασιασμός πολλαπλασιασμός

modulo p Βολικό να οριστούν

Αφαίρεση προσθετικός αντίστροφος (additive inverse) (αρνητικό στοιχείο)

Διαίρεση πολλαπλασιαστικός αντίστροφος (multiplicative inverse)

στοιχείων πεδίου

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

19

Πεπερασμένα πεδία - F2m

χαρακτηριστικό 2, περιέχει 2m elements. Πολλοί τρόποι αναπαράστασης των στοιχείων του F2m.

Δυαδικά πολυώνυμα, βαθμού m-1

Οι πράξεις πρόσθεσης και πολλαπλασιασμού ορίζονται για την πολυωνυμική αναπαράσταση modulo ανάγωγο πολυώνυμο f(x) (ιrreducible polynomial )

Βολικό και εδώ να οριστούν Αφαίρεση προσθετικός αντίστροφος (additive

inverse) (αρνητικό στοιχείο) Διαίρεση πολλαπλασιαστικός

αντίστροφος (multiplicative inverse m {113,131,163,193,233,239,283,409,571}

011

1 .. axaxa mm

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

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).

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

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] συνιστά τη διανυσματική αναπαράσταση του πεδίου.

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

22

Πεπερασμένα Σώματα (Galois Fields) (IΙI)

Παράδειγμα: Σώμα 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

Εκθετική αναπαράσταση

Διανυσματική αναπαράσταση

0 000

1 100

a 010

a2 001

a3 110

a4 011

a5 111

a6 101

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

23

Ακολουθίες μέγιστης περιόδου παραγόμενες από LFSR

Θεώρημα: Έστω f(x) το πολυώνυμο ανάδρασης ενός καταχωρητή με L βαθμίδες. Τότε, αν το πολυώνυμο είναι ανάγωγο, η περίοδος της παραγόμενης ακολουθίας είναι ίδια με την τάξη των ριζών του πολυωνύμου στο GF(2L). Άμεση συνέπεια αυτού είναι το παρακάτω:

Έστω ένας LFSR με L βαθμίδες. Αν τo πολυώνυμο ανάδρασης ενός τέτοιου καταχωρητή είναι πρωταρχικό ως προς το πεπερασμένο σώμα GF(2L), η έξοδος έχει πάντα μέγιστη περίοδο 2L-1 (η ακολουθία δηλαδή είναι m-sequence), ανεξάρτητα της αρχικής κατάστασης (εκτός φυσικά της μηδενικής).

Το μήκος του ελάχιστου LFSR που μπορεί να γεννήσει μία συγκεκριμένη ακολουθία ονομάζεται γραμμική πολυπλοκότητα (linear complexity) της ακολουθίας.

Προφανώς, για κάθε m-sequence περιόδου 2L-1, η γραμμική πολυπλοκότητα ισούται με L.

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

24

Berlekamp – Massey αλγόριθμος Ο ελάχιστος LFSR που μπορεί να παράγει μία ακολουθία υπολογίζεται σε

πολυωνυμικό χρόνο με το γνωστό αλγόριθμο Berlekamp-Massey (υπολογιστικής πολυπλοκότητας O(n2) για ακολουθία μήκους n).

Αν η γραμμική πολυπλοκότητα μίας ακολουθίας είναι n, τότε ο Berlekamp-Massey χρειάζεται μόνο 2n bits για να υπολογίσει τον ελάχιστο LFSR που την παράγει!!

Συμπέρασμα: Μία ακολουθία για να χρησιμοποιηθεί ως κλειδί στην κρυπτογραφία, πρέπει να έχει όσο γίνεται υψηλότερη γραμμική πολυπλοκότητα. Άρα, οι m-sequences καθίστανται ακατάλληλες για άμεση κρυπτογραφική χρήση (έχουν τη μικρότερη δυνατή γραμμική πολυπλοκότητα).

Αναφορές:

1. “Algebraic Coding Theory”, E. R. Berlekamp, New York: McGraw-Hill, 1968

2. “Shift Register Sequences and BCH Decoding”, J. L. Massey, IEEE Trans. On Information Theory, vol. IT-15, pp. 122-127, Jan. 1969

3. Handbook of Applied Cryptography (chapter 6)

4. Τεράστιο πλήθος ιστοσελίδων στο διαδίκτυο, σχετικά με τον αλγόριθμο (περιγραφή, υλοποιήσεις κτλ.)

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

25

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

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

26

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

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

27

Παράδειγμα

Sn = 0, 0, 1, 1, 0, 1, 1, 1, 0, n=9

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

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).

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

29

Γεννήτριες ψευδοτυχαίων ακολουθιών

Γραμμικοί καταχωρητές ολίσθησης με ανάδραση (LFSRs) Εφαρμογή μη γραμμικής συνάρτησης στις βαθμίδες ενός LFSR

(filter function generators – Key (1973)), με στόχο την αύξηση της γραμμικής πολυπλοκότητας της ακολουθίας:

Η μέγιστη τιμή που μπορεί να έχει η γραμμική πολυπλοκότητα του παραγόμενου κλειδιού (keystream) είναι:

όπου m το μέγιστο πλήθος βαθμίδων του LFSR που συνδυάζονται σε ένα γινόμενο από την f

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

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

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

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

)12)(12)(12( 321 LLL

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

32

Ασφάλεια Geffe generator Όχι ασφαλής: Ας παρατηρήσουμε ότι η πιθανότητα συσχέτισης:

Υπόκειται σε correlation κρυπτανάλυση λόγω της παραπάνω παρατήρησης (Μέθοδος που στηρίζεται στην εξάρτηση της εξόδου κάποιας συνάρτησης από κάποιες συγκεκριμένες εισόδους). Βασική της ιδέα είναι η εξής: αν η έξοδος ταυτίζεται με την έξοδο κάποιου από τους καταχωρητές με πιθανότητα p > ½, τότε αν ένα ικανοποιητικά μεγάλο τμήμα του κλειδιού είναι γνωστό, μπορεί να ευρεθεί η αρχική κατάσταση του εν λόγω καταχωρητή.

Συμπέρασμα: η συνάρτηση f σε τέτοιου τύπου γεννήτριες ψευδοτυχαίων ακολουθιών δεν πρέπει να εμφανίζει στατιστική εξάρτηση της εξόδου με κάποιο υποσύνολο των εισόδων της.(αυτές οι συναρτήσεις χαρακτηρίζονται ως ανεπηρέαστες στη συσχέτιση – correlation immune)

4

3

2

1

2

1

2

1

)()(()0)(()1)(())()(( 13221

txtxPtxPtxPtxtzP

Ομοίως μπορεί να δειχτεί ότι P(z(t)=x3(t))=3/4

)

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

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

Για καλή έξοδο, οι καταχωρητές πρέπει να είναι όλοι πρωταρχικοί, παραπλήσιου μεγέθους και ανά δύο πρώτοι μεταξύ τους.

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

34

Γεννήτριες ψευδοτυχαίων ακολουθιών (IV)

Ένας LFSR καθορίζει το αν θα λαμβάνεται ή όχι υπ’όψιν η έξοδος ενός άλλου LFSR (shrinking generator – Coppersmith – Krawczys – Mansour (1993))

Αν L1, L2 οι γραμμικές πολυπλοκότητες των R1, R2 αντιστοίχως, τότε

Η περίοδος είναι (2L2-1)2L1-1 εάν L1, L2 πρώτοι μεταξύ τους

Για τη γραμμική πολυπλοκότητα L του παραγομένου κλειδιού ισχύει η σχέση:

12

22

11 22 LL LLL

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

35

Αναφορές (για τις προηγούμενες μεθόδους)

“Generation of binary sequences with controllable complexity”, E. J. Groth, IEEE Trans. Information Theory, vol. 17, pp. 288-296, 1971

“An analysis of the structure and complexity of nonlinear binary key generators”, E. L. Key, IEEE Trans. Information Theory, vol. 22, pp. 732-736, 1976.

“The stop-and-go generator”, T. Beth and F. C. Piper, Proceedings of Eurocrypt 84, pp. 88-92, 1985.

“The shrinking generator”, Coppersmith – Krawczys – Mansour, Advances in Cryptology – Crypto ’93, pp. 22-94, 1994

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

36

Ιδιότητες ψευδοτυχαίων ακολουθιών (Αξιώματα Golomb)

Μεγάλη περίοδος Ισοκατανεμημένο πλήθος 0 και 1 (Balance property) Μεγάλη γραμμική πολυπλοκότητα Αν ως run ορίζουμε μία ακολουθία 0 ή 1, τότε, σε μία περίοδο,

τα μισά runs έχουν μήκος 1, τα ¼ έχουν μήκος 2, τα 1/8 μήκος 3 κ.ο.κ. (Run property)

Η συνάρτηση αυτοσυσχέτισης

yια την ακολουθία a0a1… περιόδου N μπορεί να πάρει μόνο δύο τιμές (two-level autocorrelation)

1

0

)1()(N

i

aa iiC N, για τ=0

Κ, για 1≤ τ ≤ Ν-1

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

37

Stream ciphers που χρησιμοποιούνται σήμερα

SEAL (το paper υπάρχει στο: http://www.cs.ucdavis.edu/~rogaway/papers/seal-abstract.html)

RC4 (χρησιμοποιείται σε πολλά προϊόντα, όπως Oracle Secure SQL, Apple’s Computer’s AOCE)

(http://www.ncat.edu/~grogans/references_and_links.htm) για περιγραφή και περαιτέρω αναφορές

A5/1 (χρησιμοποιείται στις GSM επικοινωνίες)

(http://cryptome.org/a51-bsw.htm)