ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΠΡΩΤΟΚΟΛΛΩΝ ΔΙΑΜΟΙΡΑΣΗΣ ΜΥΣΤΙΚΟΥ ΚΛΕΙΔΙΟΥ ΣΕ ΟΜΑΔΕΣ

Σχετικά έγγραφα
Αριθμοθεωρητικοί Αλγόριθμοι

Εφαρμοσμένη Κρυπτογραφία Ι

Οι Φυσικοί Αριθμοί. Παρατήρηση: Δεν στρογγυλοποιούνται αριθμοί τηλεφώνων, Α.Φ.Μ., κωδικοί αριθμοί κλπ. Πρόσθεση Φυσικών αριθμών

* * * ( ) mod p = (a p 1. 2 ) mod p.

Εφαρμοσμένη Κρυπτογραφία Ι

KΕΦΑΛΑΙΟ 1 ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ. { 1,2,3,..., n,...

a = a a Z n. a = a mod n.

Κρυπτογραφία. Κωνσταντίνου Ελισάβετ

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Θεωρία αριθμών Αλγεβρικές δομές. Χρήστος Ξενάκης

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Υπολογιστικά & Διακριτά Μαθηματικά

Υπολογιστικά & Διακριτά Μαθηματικά

Εφαρμοσμένη Κρυπτογραφία Ι

Κρυπτοσύστημα RSA (Rivest, Shamir, Adlemann, 1977) Υπολογιστική Θεωρία Αριθμών και Κρυπτογραφία

Κρυπτογραφία. Κεφάλαιο 4 Αλγόριθμοι Δημοσίου Κλειδιού (ή ασύμμετροι αλγόριθμοι)

Εφαρμοσμένη Κρυπτογραφία Ι

Υπολογιστικά & Διακριτά Μαθηματικά

Υπολογιστικά & Διακριτά Μαθηματικά

Εφαρμοσμένη Κρυπτογραφία Ι

Κρυπτογραφία. Κωνσταντίνου Ελισάβετ

ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ Α ΓΥΜΝΑΣΙΟΥΣΤΗΝ ΑΛΓΕΒΡΑ. Άρτιοι αριθμοί ονομάζονται οι αριθμοί που διαιρούνται με το 2 και περιττοί εκείνοι

ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ Lab 3

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ. Δ Εξάμηνο

Ο μαθητής που έχει μελετήσει το κεφάλαιο της θεωρίας αριθμών θα πρέπει να είναι σε θέση:

Υπολογιστικά & Διακριτά Μαθηματικά

11. Ποιες είναι οι άμεσες συνέπειες της διαίρεσης;

ιαιρετότητα Στοιχεία Θεωρίας Αριθµών «Ο Αλγόριθµος της ιαίρεσης» Αριθµητική Υπολοίπων 0 r < d και a = d q +r

El Gamal Αλγόριθμος. Κώστας Λιμνιώτης Κρυπτογραφία - Εργαστηριακό μάθημα 7 2

Κρυπτογραφία. Έλεγχος πρώτων αριθών-παραγοντοποίηση. Διαφάνειες: Άρης Παγουρτζής Πέτρος Ποτίκας

ΜΑΘΗΜΑΤΙΚΑ Α ΓΥΜΝΑΣΙΟΥ

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο

Κρυπτογραφία Δημοσίου Κλειδιού

β) 3 n < n!, n > 6 i i! = (n + 1)! 1, n 1 i=1

Φ(s(n)) = s (Φ(n)). (i) Φ(1) = a.

Γενικά Μία μέθοδος κρυπτογραφίας δημοσίου κλειδιού Αντί για δακτύλιους της μορφής Z n χρησιμοποιεί ελλειπτικές καμπύλες ορισμένες σε πεπερασμένα σώματ

Α Δ Ι. Παρασκευή 15 Νοεμβρίου Ασκηση 1. Να ευρεθεί η τάξη τού στοιχείου a τής ομάδας (G, ), όπου. (4) a = ( 1 + i 3)/2, (G, ) = (C, ),

KΕΦΑΛΑΙΟ 5 ΨΗΦΙΑΚΕΣ ΥΠΟΓΡΑΦΕΣ

2 ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ ΑΛΓΕΒΡΙΚΕΣ ΔΟΜΕΣ

ΑΣΥΜΜΕΤΡΗ ΚΡΥΠΤΟΓΡΑΦΙΑ

1 Η εναλλάσσουσα ομάδα

Εφαρμοσμένη Κρυπτογραφία Ι

2.1 Διαιρετότητα, ισοϋπόλοιποι αριθμοί. q Z, a = b q + r.

Στοιχεία Θεωρίας Αριθμών

ΧΡΗΣΗ CAMENISCH- LYSYANSKAYA ΨΗΦΙΑΚΩΝ ΥΠΟΓΡΑΦΩΝ ΚΑΙ ΑΠΟΔΕΙΚΤΙΚΩΝ ΠΡΩΤΟΚΟΛΛΩΝ ΜΗΔΕΝΙΚΗΣ ΓΝΩΣΗΣ ΣΕ ΨΗΦΙΑΚΑ ΠΙΣΤΟΠΟΙΗΤΙΚΑ

Ισότητα, Αλγεβρικές και Αναλυτικές Ιδιότητες Πραγματικών Ακολουθιών

Εθνικό Μετσόβιο Πολυτεχνείο

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Ε Μέχρι 18 Μαΐου 2015.

K15 Ψηφιακή Λογική Σχεδίαση 3: Προτασιακή Λογική / Θεωρία Συνόλων

Πρόβλημα 29 / σελίδα 28

Μορφές αποδείξεων. Μαθηματικά Πληροφορικής 2ο Μάθημα. Μορφές αποδείξεων (συνέχεια) Εξαντλητική μέθοδος

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Διαχείριση κλειδιών. Χρήστος Ξενάκης

κρυπτογραϕία Ψηφιακή ασφάλεια και ιδιωτικότητα Γεώργιος Σπαθούλας Msc Πληροφορική και υπολογιστική βιοιατρική Πανεπιστήμιο Θεσσαλίας

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις Επαναληψης

Threshold Cryptography Algorithms. Εργασία στα πλαίσια του μαθήματος Τεχνολογίες Υπολογιστικού Νέφους

Περιεχόμενα. Πρόλογος 3

Ηλεκτρονικό εμπόριο. HE 7 Τεχνολογίες ασφάλειας

Υπολογιστικά & Διακριτά Μαθηματικά

a b b < a > < b > < a >.

Κρυπτογραφία. MAC - Γνησιότητα/Ακεραιότητα μηνύματος. Πέτρος Ποτίκας

ΜΑΘΗΜΑΤΙΚΑ Α ΓΥΜΝΑΣΙΟΥ

2. Να γράψετε έναν αριθμό που είναι μεγαλύτερος από το 3,456 και μικρότερος από το 3,457.

Κεφάλαιο 21. Κρυπτογραφία δημόσιου κλειδιού και πιστοποίηση ταυτότητας μηνυμάτων

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Ασκησεις Επαναληψης. ιδασκων: Α. Μπεληγιάννης Ιστοσελιδα Μαθηµατος :

Κεφάλαιο 1 Πρότυπα. Στο κεφάλαιο αυτό εισάγουμε την έννοια του προτύπου πάνω από δακτύλιο.

Μορφές αποδείξεων Υπάρχουν πολλά είδη αποδείξεων. Εδώ θα δούμε τα πιο κοινά: Εξαντλητική μέθοδος ή μέθοδος επισκόπησης. Οταν το πρόβλημα έχει πεπερασμ

4.2 ΕΥΚΛΕΙΔΕΙΑ ΔΙΑΙΡΕΣΗ

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Ασκησεις - Επανάληψης. ιδασκων: Α. Μπεληγιάννης Ιστοσελιδα Μαθηµατος :

ΚΕΦΑΛΑΙΟ 3 ΤΟ ΔΙΩΝΥΜΙΚΟ ΘΕΩΡΗΜΑ

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ)

Εισαγωγή στην επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών. Aσφάλεια

Τα παρακάτω σύνολα θα τα θεωρήσουμε γενικά γνωστά, αν και θα δούμε πολλές από τις ιδιότητές τους: N Z Q R C

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. Κρυπτογραφία. Ασύμμετρη Κρυπτογραφία. Χρήστος Ξενάκης

ΚΕΦΑΛΑΙΟ 2: ΟΡΙΖΟΥΣΕΣ

Συνοπτική Θεωρία Μαθηματικών Α Γυμνασίου

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων

Αλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 4 1 2

9 Πολυώνυμα Διαίρεση πολυωνύμων

Εφαρμοσμένα Μαθηματικά ΙΙ

Ενότητα: Πράξεις επί Συνόλων και Σώµατα Αριθµών

Αριθμητική Ανάλυση και Εφαρμογές

Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία

Κρυπτογραφία Δημόσιου Κλειδιού II Αλγόριθμος RSA

ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή 2. Θεωρία αριθμών Αλγεβρικές δομές 3. Οι κρυπταλγόριθμοι και οι ιδιότητές τους

Πεπερασμένα σώματα και Κρυπτογραφία Σύμφωνα με τις παραδόσεις του Α. Κοντογεώργη. Τσουκνίδας Ι.

Μαθηματικά. Ενότητα 2: Δεκαδικοί αριθμοί, κλάσματα, δυνάμεις, ρίζες και ποσοστά. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

Ορισμένες σελίδες του βιβλίου

ΚΕΦΑΛΑΙΟ 5 ΑΚΟΛΟΥΘΙΕΣ ΑΡΙΘΜΗΤΙΚΗ ΓΕΩΜΕΤΡΙΚΗ ΠΡΟΟΔΟΣ

Κατανεμημένα Συστήματα Ι

Επιμέλεια: Σπυρίδων Τζινιέρης-ΘΕΩΡΙΑ ΚΛΑΣΜΑΤΩΝ ΓΙΑ ΤΗΝ Α ΓΥΜΝΑΣΙΟΥ ΘΕΩΡΙΑ ΚΛΑΣΜΑΤΩΝ Α ΓΥΜΝΑΣΙΟΥ

ΜΑΘΗΜΑΤΙΚΑ Α ΓΥΜΝΑΣΙΟΥ ΑΝΔΡΕΣΑΚΗΣ ΔΗΜΗΤΡΗΣ ΦΥΛΛΑ ΕΡΓΑΣΙΑΣ ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΕΝΟΤΗΤΑ Α.1.2. ΠΡΑΞΕΙΣ ΦΥΣΙΚΩΝ ΑΡΙΘΜΩΝ ΚΑΙ ΙΔΙΟΤΗΤΕΣ ΟΝΟΜΑΤΕΠΩΝΥΜΟ

Εφαρμοσμένα Μαθηματικά ΙΙ

ΚΕΦΑΛΑΙΟ 2: Ημιαπλοί Δακτύλιοι

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1)

Παραδείγματα Ιδιοτιμές Ιδιοδιανύσματα

τη µέθοδο της µαθηµατικής επαγωγής για να αποδείξουµε τη Ϲητούµενη ισότητα.

ΚΡΥΠΤΟΓΡΑΦΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ ΥΠΟΛΟΓΙΣΤΩΝ Δ Εξάμηνο. Ψηφιακή Υπογραφή και Αυθεντικοποίηση Μηνύματος

Transcript:

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΠΡΩΤΟΚΟΛΛΩΝ ΔΙΑΜΟΙΡΑΣΗΣ ΜΥΣΤΙΚΟΥ ΚΛΕΙΔΙΟΥ ΣΕ ΟΜΑΔΕΣ Η Μεταπτυχιακή Διπλωματική Εργασία παρουσιάστηκε ενώπιον του Διδακτικού Προσωπικού του Πανεπιστημίου Αιγαίου Σε Μερική Εκπλήρωση των Απαιτήσεων για το Μεταπτυχιακό Δίπλωμα Ειδίκευσης (Μ.Δ.Ε.) Μαθηματική Μοντελοποίηση στις Φυσικές Επιστήμες και στις Σύγχρονες Τεχνολογίες. ΤΑΜΠΟΥΡΗΣ ΑΧΙΛΛΕΑΣ 2010 1

Η ΤΡΙΜΕΛΗΣ ΕΠΙΤΡΟΠΗ ΔΙΔΑΣΚΟΝΤΩΝ ΕΠΙΚΥΡΩΝΕΙ ΤΗ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΤΟΥ ΤΑΜΠΟΥΡΗ ΑΧΙΛΛΕΑ ΛΕΚΤΟΡΑΣ ΚΩΝΣΤΑΝΤΙΝΟΥ ΕΛΙΣΑΒΕΤ. Επιβλέπουσα Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων ΑΝΑΠΛ. ΚΑΘΗΓΗΤΗΣ ΜΕΤΑΦΤΣΗΣ ΒΑΣΙΛΕΙΟΣ. Μέλος Τμήμα Μαθηματικών ΛΕΚΤΟΡΑΣ ΝΑΣΤΟΥ ΠΑΝΑΓΙΩΤΗΣ. Μέλος Τμήμα Μαθηματικών ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ 2010 2

Ευχαριστίες Θα ήθελα να εκφράσω την εκτίμηση μου προς όλο το διδακτικό προσωπικό του Μεταπτυχιακού Προγράμματος Σπουδών, του Τμήματος Μαθηματικών του Πανεπιστημίου Αιγαίου. Ιδιαίτερες ευχαριστίες στην κα. Κωνσταντίνου Ελισάβετ,επιβλέπουσα της παρούσας διπλωματικής για την άψογη συνεργασία αλλά και στα άλλα δύο μέλη της επιτροπής κυρίους Μεταφτσή Βασίλειο και Νάστου Παναγιώτη. Τέλος να εκφράσω την ευγνωμοσύνη μου ως προς τους γονείς μου. Αχιλλέας Κ. Ταμπούρης 3

Περιεχόµενα Περίληψη...7 Abstract...8 Κεφάλαιο 1 Εισαγωγή...9 1.1 Στόχος της παρούσας διπλωματικής...9 1.2 Συνεισφορά...10 1.3 Δομή...10 Κεφάλαιο 2 Μαθηματικό Υπόβαθρο...11 2.1 Εισαγωγή...11 2.2 Θεωρία Αριθμών...11 2.2.1 Διαιρετότητα...11 2.2.2 Ελάχιστο κοινό πολλαπλάσιο...12 2.2.3 Μέγιστος κοινός διαιρέτης...12 2.2.4 Πρώτοι αριθμοί...13 2.2.5 Συνάρτηση Euler...14 2.2.6 Ιδιότητες ισοδυναμιών...14 2.3 Θεωρία Συνόλων...15 2.3.1 Ομάδες Γενικά...15 2.3. Κυκλική ομάδα...17 2.4 Θεωρία Πολυπλοκότητας...17 2.4.1 Κλάσεις πολυπλοκότητας...17 2.4.2 Σύγκριση κλάσεων πολυπλοκότητας...18 2.5 Γνωστά Προβλήματα...18 2.5.1 Το πρόβλημα του διακριτού λογαρίθμου...18 2.6 Γνωστοί Αλγόριθμοι και τεχνικές...19 2.6.1 Ο αλγόριθμος ανταλλαγής κλειδιού των Diffie-Hellman...19 2.6.2 Απόδειξη μέσω μηδενικής γνώσης...21 ΚΕΦΑΛΑΙΟ 3 Πρωτόκολλο Busmester, Desmedt...23 3.1 Εισαγωγή...23 3.2 Ορισμοί...23 3.3 Παρουσίαση του πρωτοκόλλου...25 4

3.4 Ένα σχήμα αυθεντικοποίησης...26 ΚΕΦΑΛΑΙΟ 4 Πρωτόκολλο Steiner, Tsudik, Waidner...28 4.1 Εισαγωγή...29 4.2 Το γενικό πρωτόκολλο διαμοίρασης μυστικού κλειδιού σε ομάδες...29 4.3 Τα αρωτόκολλα μεταβίβασης μυστικού κλειδιού σε ομάδες (GDH.x)...30 4.3.1 Το πρωτόκολλο GDH.1...30 4.3.2 Το πρωτόκολλο GDH.2...31 4.3.3 Το πρωτόκολλο GDH.3...32 4.4 Αλλαγή των μελών της ομάδας...33 4.4.1 Πρόσθεση μέλους στην ομάδα (Member Addition)...33 4.4.2 Διαγραφή μέλους από την ομάδα (Member Deletion)...34 ΚΕΦΑΛΑΙΟ 5 Πρωτόκολλα των Becker, Wille...35 5.1 Εισαγωγή...35 5.2 Ορισμοί...36 5.3 Καθορισμός κάτω ορίων για συστήματα διαμοίρασης μυστικού κλειδιού σε ομάδες...37 5.4 Το πρωτόκολλο Octopus...39 5.5 Το πρωτόκολλο 2 d -Cube...42 5.6 Το πρωτόκολλο 2 d -Octopus...43 ΚΕΦΑΛΑΙΟ 6 Πρωτόκολλο των Boyd, Nieto...44 6.1 Εισαγωγή...45 6.2 Μοντέλο Επικοινωνίας...45 6.3 Ορισμοί πάνω στην ασφάλεια του μοντέλου επικοινωνίας...46 6.3.1 Ασφαλή συστήματα κρυπτογράφησης...47 6.3.2 Ασφαλή συστήματα ψηφιακών υπογραφών...48 6.4 Το πρωτόκολλο των Boyd, Nieto...49 6.5 Απόδειξη ασφαλείας...51 6.5.1 Παραχάραξη της υπογραφής...52 6.5.2 Επίθεση στον αλγόριθμο κρυπτογράφησης...52 ΚΕΦΑΛΑΙΟ 7 Πρωτόκολλο των Bresson, Catalano...53 7.1 Εισαγωγή...53 7.2 Το μοντέλο επικοινωνίας...53 7.3 Το πρωτόκολλο των Bresson, Catalano...54 7.4 Απόδειξη Ασφαλείας...57 ΚΕΦΑΛΑΙΟ 8 Συγκριτική μελέτη των πρωτοκόλλων...57 8.1 Εισαγωγή...58 5

8.2 Αναφορά των μεγεθών για κάθε πρωτόκολλο...58 8.2.1 Πρωτόκολλο Busmester, Desmedt...58 8.2.2 Πρωτόκολλο Steiner, Tsudik, Waidner...59 8.2.3 Πρωτόκολλα των Becker, Wille...63 8.2.4 Πρωτόκολλο των Boyd, Nieto...66 8.2.5 Πρωτόκολλο των Bresson, Catalano...67 8.3 Σύγκριση των αποτελεσμάτων...68 Βιβλιογραφία...78 6

Περίληψη Αντικείμενο της συγκεκριμένης διπλωματικής εργασίας, είναι η παρουσίαση των πρωτοκόλλων διαμοίρασης μυστικού κλειδιού σε ομάδες. Κάθε ένα από τα πρωτόκολλα αυτά, προσφέρει έναν ασφαλή τρόπο για την μετάδοση ενός μυστκού κλειδιού στα N άτομα μιας ομάδας, χωρίς να γίνονται παραδοχές για το κανάλι μετάδοσης ή για την φύση του μηνύματος. Πιο συγκεκριμένα, τα πρωτόκολλα τα οποία παρουσιάζονται είναι τα ακόλουθα: πρωτόκολλο Busmester, Desmedt πρωτόκολλο Steiner, Tsudik, Waidner πρωτόκολλα των Becker, Wille πρωτόκολλο των Boyd, Nieto πρωτόκολλο των Bresson, Catalano Εκτός από την παρουσίαση των εν λόγω πρωτοκόλλων, πραγματοποιείται καί μία σύγκριση, η οποία αφορά τους συνολικούς εκθετικούς υπολογισμούς, το πλήθος των μηνυμάτων που ανταλλάσονται, το πλήθος των ψηφιακών υπογραφών/επαληθεύσεων και το πλήθος των γύρων που απαιτούνται για κάθε πρωτόκολλο. 7

Abstract The objective of the present diploma thesis is the presentation of certain group key agreement protocols. Each one of these protocols offers a safe way of a secret key distribution to N group members, without making any assumptions about the communication channel or the key content. The protocols presented are: Busmester, Desmedt protocol Steiner, Tsudik, Waidner protocol Becker, Wille protocol Boyd, Nieto protocol Bresson, Catalano protocol Besides of the presentation of the above protocols, we present a comparison of the total number of exponentations, the total number of message broadcasts, the total number of digital signatures/authentications and the total number of rounds required for each protocols. 8

Κεφάλαιο 1 Εισαγωγή 1.1 Στόχος της παρούσας διπλωματικής Τα πρωτόκολλα διαμοίρασης μυστικών κλειδιών σε ομάδες, αποτελούν ένα σημαντικό κομμάτι της κρυπτογραφίας, το οποίο άρχισε με τις δημοσιεύσης των Diffie, Hellman στο (1) στα τέλη της δεκαετίας του 1970. Τα πρωτόκολλα αυτά αφορούν την διαμοίραση ενός μυστικού κλειδιού, στα μέλη μιας ομάδας, μέσω ενός μη ασφαλούς καναλιού επικοινωνίας. Ο όρος μη ασφαλές κανάλι επικοινωνίας έχει την έννοια της ενδεχόμενης καταγραφής των μηνυμάτων που στέλνονται μεταξύ των χρηστών ή της ενδεχόμενης αλλοίωσής τους, από έναν ή περισσότερους ωτακουστές (eavesdroppers). Στην πρώτη περίπτωση (της απλής καταγραφής των συνδιαλέξεων), ο ωτακουστής χαρακτηρίζεται ως παθητικός (passive) ενώ στην δεύτερη (στην περίπτωση της εν δυνάμει αλλαγής του περιεχομένου των μηνυμάτων που αποστέλλονται) χαρακτηρίζεται ως ενεργητικός. Το πρωτόκολλο των Diffie-Hellman ορίζει την διαμοίραση του μυστικού κλειδιού μέσω δύο μόνο συμμετεχόντων. Συνεπώς, τα τελευταία χρόνια έχουν αναπτυχθεί πρωτόκολλα, τα οποία βασιζόμενα στο πρωτόκολλο των Diffie-Hellman ορίζουν μεθόδους για την διαμοίραση ενός μυστικού κλειδιού σε ομάδες, περισσότερων των δύο χρηστών. Η ασφάλεια των πρωτοκόλλων αυτών έγκειται στο ότι είναι υπολογιστικά δύσκολο για έναν ωτακουστή να υπολογισθεί το μυστικό διαμοιραζόμενο κλειδί μέσω των κοινά διαθέσιμων πληροφοριών που ανταλλάσσονται μεταξύ των χρηστών. Ειδικά το πρωτόκολλο των Diffie-Hellman στηρίζεται στο πρόβλημα του διακριτού λογαρίθμου. Στην συγκεκριμένη μελέτη θα γίνει παρουσίαση των σημαντικότερων αυτών πρωτοκόλλων και στην συνέχεια θα παρουσιαστεί μία συγκριτική μελέτη, όσον 9

αφορά τις διαφορές στην χρονική εκτέλεση της κάθε μίας, δεδομένου του αριθμού των ενεργειών που πραγματοποιούν στα δεδομένα τα οποία ανταλλάσσονται. 1.2 Συνεισφορά Η συγκεκριμένη διπλωματική εργασία πραγματοποιεί μία εκτενή αναφορά στα σημαντικότερα πρωτόκολλα διαμοίρασης μυστικού κλειδιού σε ομάδες και παρουσιάζεται μία εκτενή σύγκριση αυτών, όσων αφορά τους συνολικούς εκθετικούς υπολογισμούς, το πλήθος των μηνυμάτων που ανταλλάσονται, το πλήθος των ψηφιακών υπογραφών/επαληθεύσεων και το πλήθος των γύρων που απαιτούνται για κάθε πρωτόκολλο. Η σύγκριση αυτή έγινε με γνώμονα τις απαιτήσεις που έχει το κάθε σύστημα, το οποίο αποφασίζει να εφαρμόσει κάποιο από τα πρωτόκολλα αυτά. 1.3 Δομή Η δομή της παρούσας διπλωματικής εργασίας είναι η ακόλουθη: Κεφάλαιο 2: παρουσιάζεται το απαιτούμενο μαθηματικό υπόβαθρο για ανάλυση των επιμέρους θεμάτων της διπλωματικής. Κεφάλαιο 3: παρουσιάζεται το πρωτόκολλο Busmester, Desmedt. Κεφάλαιο 4: παρουσιάζεται το πρωτόκολλο Steiner, Tsudik, Waidner. Κεφάλαιο 5: παρουσιάζονται τα πρωτόκολλα των Becker, Wille. Κεφάλαιο 6: παρουσιάζεται το πρωτόκολλο των Boyd, Nieto. Κεφάλαιο 7: παρουσιάζεται το πρωτόκολλο των Bresson, Catalano. Κεφάλαιο 8: πραγματοποιείται μία συγκριτική μελέτη των παραπάνω πρωτοκόλλων. 10

Κεφάλαιο 2 Μαθηματικό Υπόβαθρο 2.1 Εισαγωγή Στο κεφάλαιο αυτό θα αναφερθούμε συνοπτικά στο απαραίτητο μαθηματικό υπόβαθρο που απαιτείται για την ανάλυση των πρωτοκόλλων παρουσίασης μυστικού κλειδιού σε ομάδες, τα οποία θα παρουσιαστούν σε παρακάτω κεφάλαια. Το μαθηματικό αυτό υπόβαθρο αφορά κυρίως την θεωρία αριθμών, την θεωρία συνόλων και την θεωρία πολυπλοκότητας. Η αναλυτική απόδειξη όλων των θεωρημάτων και των ορισμών ξεφεύγει από τα όρια της συγκεκριμένης μελέτης και για τον λόγο αυτό συμπεριλήφθηκαν οι αποδείξεις μόνο των κυριoτέρων. Οι περισσότερες έννοιες που παρουσιάζονται παρακάτω άλλωστε είναι βασικές για τις θεωρίες αριθμών, συνόλων και πολυπλοκότητας και η ορθότητά τους κοινώς αποδεκτή. 2.2 Θεωρία Αριθμών 2.2.1 Διαιρετότητα Ορισμός 2.2.1: Λέμε ότι ο ακέραιος αριθμός d διαιρεί τον ακέραιο αριθμό n και γράφουμε, αν υπάρχει ακέραιος αριθμός c τέτοιος ώστε n = dc. Αν ο d δεν διαιρεί τον n, γράφουμε. Στο σημείο αυτό θα παρουσιάσουμε τις ιδιότητες που προκύπτουν από τον ορισμό 2.1. Έστω λοιπόν οι ακέραιοι αριθμοί n, m, a, b, c, d και. Ισχύουν οι παρακάτω ιδιότητες: 11

i) ii) iii)1 iv) Αν και, τότε. v) Αν και, τότε. Θεώρημα 2.2.2 (Αλγόριθμος της διαίρεσης): Αν a και b είναι ακέραιοι αριθμοί, με, τότε υπάρχουν δύο μοναδικοί ακέραιοι q και r τέτοιοι, ώστε Στην παραπάνω σχέση, ισχύει r = 0, τότε και μόνον τότε, αν. 2.2.2 Ελάχιστο κοινό πολλαπλάσιο Ορισμός 2.2.2: Αν είναι πεπερασμένη ακολουθία ακεραίων, όπου για κάθε i=1, 2,, n, τότε κάθε ακέραιος, που διαιρείται με έναν από τους ακεραίους (i=1, 2,, n) καλείται κοινό πολλαπλάσιο των ακεραίων. Το σύνολο των θετικών κοινών πολλαπλασίων των δεν είναι κενό, επειδή περιέχει τον ακέραιο. Το σύνολο αυτό έχει ένα ελάχιστο στοιχείο που λέγεται ελάχιστο κοινό πολλαπλάσιο (ε.κ.π.) και συμβολίζεται με. 2.2.3 Μέγιστος κοινός διαιρέτης 12

Ορισμός 2.2.3: Δίνονται οι ακέραιοι αριθμοί που δεν είναι όλοι μηδέν. Κάθε ακέραιος που διαιρεί όλους τους ακεραίους λέγεται κοινός διαιρέτης των. Το σύνολο των θετικών κοινών διαιρετών των είναι πεπερασμένο, γιατί ένας κοινός διαιρέτης δεν μπορεί να είναι μεγαλύτερος από την απόλυτη τιμή των. Το 1 είναι θετικός κοινός διαιρέτης των, δηλαδή το σύνολο των θετικών κοινών διαιρετών δεν είναι κενό. Το μέγιστο στοιχείο του λέγεται μέγιστος κοινός διαιρέτης (μ.κ.δ.) και συμβολίζεται με. Ορισμός 2.2.4: Ο φυσικός αριθμός d θα λέγεται μ.κ.δ. δύο ακεραίων και, με τότε και μόνον τότε, αν ισχύει: i) και ii) Αν και, όπου ακέραιος αριθμός, τότε 2.2.4 Πρώτοι αριθμοί Ορισμός 2.2.5: Ένας ακέραιος n λέγεται πρώτος αριθμςό, αν n > 1 και αν οι μόνοι θετικοί διαιρέτες του n είναι οι 1 και n. Αν n > 1 και ο n δεν είναι πρώτος, τότε ο n λέγεται σύνθετος αριθμός. Σημείωση: Ο αριθμός 1 θεωρείται ότι δεν είναι πρώτος ούτε σύνθετος αριθμός. Ορισμός 2.2.6: Όταν για δύο ακεραίους a, b ισχύει ότι (a,b) = 1 (δηλαδή έχουν για μ.κ.δ. το 1), τότε οι a και b ονομάζονται πρώτοι μεταξύ τους. 13

2.2.5 Συνάρτηση Euler Ορισμός 2.2.7: Η συνάρτηση Euler φ(n) ορίζεται ως το πλήθος των θετικών ακεραίων που είναι μικρότεροι ή ίσοι του n και είναι πρώτοι ως προς τον n. π.χ. φ(1) = 1, φ(2) = 1, φ(3) = 2, φ(4) = 2, φ(5) = 4, φ(6) = 2, κτλ. Φυσικά, όταν το n είναι πρώτος αριθμός, ισχύει ότι φ(n) = n-1. 2.2.6 Ιδιότητες ισοδυναμιών Ορισμός 2.2.8: Έστω m φυσικός αριθμός και a, b ακέραιοι αριθμοί. Ορίζουμε στο σύνολο των ακεραίων αριθμών την σχέση, αν και μόνο αν Η παραπάνω σχέση διαβάζεται ώς εξής: O a είναι ισοδύναμος με την b modulo m. Με βάση τον ορισμό 2.2.8 και τις ιδιότητες που αναφέρθηκαν στον ορισμό 2.2.1, μπορούμε να δούμε ότι ισχύουν οι παρακάτω ιδιότητες: i) ii) τότε iii) και τότε Θεώρημα 2.2.9: Έστω και. Τότε ισχύουν τα εξής: i) για όλους τους ακεραίους x και y ii) 14

iii) για κάθε φυσικό αριθμό n iv) για κάθε πολυώνυμο f με ακέραιους συνετελεστές. v) Έστω d = (m, x) και. Τότε Θεώρημα 2.2.10 (Euler Fermat): Έστω (a, m) = 1, όπου a, m είναι ακέραιοι με m > 0. Τότε 2.3 Θεωρία Συνόλων Η Θεωρία Συνόλων αποτελεί ένα σημαντικό κι εκτενές κομμάτι της θεωρίας των Μαθηματικών. Στην υπό-ενότητα αυτή θα γίνει παρουσίαση μόνο των εννοιών εκείνων που είναι σημαντικές για την παρουσίαση των αλγορίθμων στα παρακάτω κεφάλαια. Η μελέτη θεωρεί, όχι άδικα, ότι ο αναγνώστης κατέχει ήδη τις βασικές έννοιες τις θεωρίας των συνόλων. 2.3.1 Ομάδες Γενικά Ορισμός 2.3.1: Έστω G ένα μη κενό σύνολο, τότε μια απεικόνιση της μορφής: ονομάζεται πράξη στο G. Αν * είναι μία πράξη στο G, τότε λέμε ότι το G είναι εφοδιασμένο με την πράξη *. Για το συμβολισμό μιας πράξης συνήθως χρησιμοποιούμε ένα από τα σύμβολα: +, *,. 15

Ορισμός 2.3.2: Ένα σύνολο G εφοδιασμένο με την πράξη λέγεται ομάδα, όταν η πράξη είναι προσεταιριστική, υπάρχει το ουδέτερο στοιχείο ως προς την πράξη και κάθε στοιχείο του G έχει συμμετρικό ή αντίστροφο στοιχείο. Σύμφωνα με τα παραπάνω, η δομή (G, ) είναι ομάδα, όταν ισχύουν: i) ii) iii) Αν επιπλέον η πράξη είναι αντιμεταθετική, τότε η δομή (G, ) λέγεται αντιμεταθετική ή αβελιανή ομάδα, δηλαδή όταν επιπλέον: iv) Ορισμός 2.3.3: Μια ομάδα (G, ) είναι πεπερασμένη αν το σύνολο G έχει πεπερασμένο πλήθος στοιχείων, δηλαδή αν είναι πεπερασμένος ο πληθικός αριθμός G. Στην περίπτωση αυτή ο G λέγεται τάξη της ομάδας. Αν το G δεν είναι πεπερασμένο, τότε λέμε ότι η ομάδα είναι απείρου τάξης. Τάξη ενός στοιχείου της ομάδας G ορίζουμε ως τον μικρότερο εκείνο θετικό ακέραιο m για τον οποίο ισχύει ότι (το ουδέτερο στοιχείο της ομάδας). Εάν ένα τέτοιο m δεν υπάρχει, τότε λέμε ότι το είναι απείρου τάξης. Όλα τα στοιχεία που ανήκουν σε πεπερασμένα σύνολα είναι πεπερασμένης τάξης. Ορισμός 2.3.4: Ορίζουμε ως το υποσύνολο εκείνο των ακεραίων, το οποίο περιέχει τα στοιχεία Θεώρημα 2.3.5: Η δομή αποτελεί μία πεπερασμένη ομάδα τάξης n, αν η πράξη της πρόσθεσης ορίζεται με την πρόσθεση (mod n) στο τέλος. Ορισμός 2.3.6: Ορίζουμε ως (δηλαδή το υποσύνολο του που περιέχει όλους τους αριθμούς που είναι πρώτοι με τον n). 16

Θεώρημα 2.3.7: Η δομή αποτελεί μία πεπερασμένη ομάδα τάξης φ(n), αν η πράξη του πολλαπλασιασμού ορίζεται με την πρόσθεση (mod n) στο τέλος. 2.3. Κυκλική ομάδα Ορισμός 2.3.: Έστω G μια πεπερασμένη ομάδα. Μια ομάδα G καλείται κυκλική εάν υπάρχει ένα στοιχείο τέτοιο ώστε. Στην περίπτωση γράφουμε G = <a>, λέμε ότι το α παράγει την G και καλούμε το α γεννήτορα της G. Πιο απλά, μια ομάδα είναι κυκλική όταν μπορεί να παραχθεί από ένα στοιχείο α, με τρόπο τέτοιο, έτσι ώστε κάθε στοιχείο της ομάδας, όταν γράφεται ως γινόμενο, να αποτελεί δύναμη του α. Για παράδειγμα εάν μία ομάδα, τότε ισχύει ότι και η G είναι κυκλική. Στην πραγματικότητα η G είναι στην ουσία ίδια (ισομορφικά) με την ομάδα, αφού. π.χ. Η πράξη 1 + 2 3 (mod 6) είναι αντίστοιχη της πράξης, ενώ η πράξη 2 + 5 1 (mod 6) είναι αντίστοιχη της πράξης. 2.4 Θεωρία Πολυπλοκότητας 2.4.1 Κλάσεις πολυπλοκότητας Ορισμός 2.4.1: Έστω. Λέμε ότι, εάν υπάρχουν και τέτοια ώστε f(n). Δηλαδή η f είναι ασυμπτωτικά κλεισμένη από την g. 17

Ορισμός 2.4.2: Έστω. Λέμε ότι, εάν υπάρχουν και τέτοια ώστε f(n). Δηλαδή η g είναι ασυμπτωτικά κλεισμένη από την f. Ορισμός 2.4.3: Έστω. Λέμε ότι, εάν πολυπλοκότητας. και. Δηλαδή οι f, g είναι ίδιας τάξης 2.4.2 Σύγκριση κλάσεων πολυπλοκότητας Έστω n ο αριθμός των δεδομένων ενός αλγορίθμου Α κι f(n) ο αριθμός των ενεργειών που εκτελεί ο αλγόριθμος πάνω στα δεδομένα αυτά. i) Λέμε ότι ο αλγόριθμος Α εκτελείται σε πολυωνυμικό χρόνο εάν υπάρχει αριθμός τέτοιος ώστε. ii) Λέμε ότι ο αλγόριθμος Α εκτελείται σε εκθετικό χρόνο εάν υπάρχει σταθερά, τέτοια ώστε. Ένας αλγόριθμος είναι σε γενικές γραμμές αποδεκτός όταν ο χρόνος εκτέλεσής του είναι πολυωνυμικός. Ο εκθετικός χρόνος εκτέλεσης θεωρείται γενικά μη αποδοτικός. 2.5 Γνωστά Προβλήματα 2.5.1 Το πρόβλημα του διακριτού λογαρίθμου Ορισμός 2.5.1: Έστω η κυκλική ομάδα G, όπου κάθε στοιχείο της μπορεί να γραφεί ως μορφή γινομένου. Δεδομένων των, να βρεθεί το, αν υπάρχει, για το οποίο ισχύει ότι. 18

Όλες οι μέθοδοι που έχουν αναπτυχθεί για την επίλυση του παραπάνω προβλήματος απαιτούν εκθετικό χρόνο (2). Η επίλυση του παραπάνω προβλήματος σε πολυωνυμικό χρόνο αποτελεί ένα ανοιχτό πρόβλημα. Για την ιδιότητά του αυτή, το πρόβλημα του διακριτού λογαρίθμου χρησιμοποιείται από πολλούς αλγόριθμους κρυπτογράφησης. 2.6 Γνωστοί Αλγόριθμοι και τεχνικές 2.6.1 Ο αλγόριθμος ανταλλαγής κλειδιού των Diffie-Hellman Ο αλγόριθμος Diffie-Helman αποτελεί το πιο γνωστό πρωτόκολλο διαμοίρασης κλειδιού σε ομάδες, επιτρέποντας σε δύο μέλη να ανταλλάξουν ένα διαμοιραζόμενο μυστικό κλειδί, χρησιμοποιώντας ένα μη ασφαλές κανάλι επικοινωνίας. Η εγκυρότητα του αλγορίθμου στηρίζεται στο πρόβλημα του διακριτού λογαρίθμου. Ο αλγόριθμος αυτός αποτελεί την βάση για την παρουσίαση των αλγορίθμων που ακολουθούν στα παρακάτω κεφάλαια. Έστω Α, Β, τα δύο μέλη της ομάδας που επιθυμούν να τους διαμοιραστεί ένα διαμοιραζόμενο μυστικό κλειδί. Ο αλγόριθμος είναι ο παρακάτω: 1. Οι Α, Β συμφωνούν στην χρήση μιας κυκλικής ομάδας G (που κάθε στοιχείο της μπορεί να γραφεί ως μορφή γινομένου) με γεννήτορα τον αριθμό g. 2. Ο Α επιλέγει ένα προσωπικό μυστικό κλειδί, έστω α και στέλνει στον Β τον αριθμό. 3. Ο Β επιλέγει ένα προσωπικό μυστικό κλειδί, έστω b και στένει στον Α τον αριθμό. 4. Ο Α υπολογίσει το μυστικό διαμοιραζόμενο κλειδί Κ =. 5. Ο Β υπολογίσει το μυστικό διαμοιραζόμενο κλειδί Κ =. 19

Για την εξασφάλιση της ασφάλειας που προσφέρει το πρωτόκολλο, επιλέγεται συνήθως η τάξη της ομάδας G να είναι ένας πρώτος αριθμός p, της μορφής p = 2q +1, με q πρώτο επίσης αριθμό. Με την παραδοχή αυτή το σύστημα δεν καταρίπτεται από μια σειρά ειδών επίθεσης, με πιο γνωστή τον αλγόριθμο Pohlig- Hellman (3). Για να γίνει περισσότερο κατανοητή η χρήση αλλά και η εγκυρότητα του παραπάνω αλγορίθμου, θα παρουσιάσουμε ένα παράδειγμα επικοινωνίας, με την χρήση επίσης ενός κακόβουλου χρήστη (ωτακουστής - eavesdropper), ο οποίος παρακολουθεί το κανάλι επικοινωνίας. Χρησιμοποιούμε τους παρακάτω συμβολισμούς: p: πρώτος αριθμός, της μορφής 2q + 1, με q πρώτο αριθμό (q = 11). Το p αποτελεί την τάξη της κυκλικής ομάδας G (Έστω ότι p = 23). g: ο γεννήτορας της κυκλικής ομάδας G (Έστω ότι g = 5). S: το μυστικό διαμοιραζόμενο κλειδί (Έστω ότι S = 2) a: το μυστικό κλειδί του χρήστη Α (Έστω ότι a = 6). Pa: το δημόσιο κλειδί του χρήστη Α (Pa = ). b: το μυστικό κλειδί του χρήστη Β (Έστω ότι b = 15). Pb: το δημόσιο κλειδί του χρήστη B (Pb =. 20

2.6.2 Απόδειξη μέσω μηδενικής γνώσης Στην κρυπτογραφία, μια απόδειξη μηδενικής γνώσης είναι μία διαδραστικη μέθοδος, για την απόδειξη της αλήθειας μιας μαθηματικής συνθήκης, από μια οντότητα Α σε μια οντότητα Β, χωρίς να αποκαλυφθεί τίποτα περισσότερο από την αλήθεια του ζητήματος αυτού. Ο πλήρης μαθηματικός ορισμός της απόδειξης μέσω μηδενικής γνώσης είναι αρκετά περίπλοκος και ξεφεύγει από τα όρια της συγκεκριμένης μελέτης. Παρόλα αυτά, για την κατανόηση της χρήσης και της χρησιμότητας της τεχνικής αυτης, θα παρουσιάσουμε το παρακάτω (αρκετά αφαιρετικό) παράδειγμα. Έστω ότι μια πόρτα βρίσκεται μέσα σε μία σπηλιά, όπως φαίνεται στην Εικόνα 2.1. Η πόρτα αυτή απαιτεί την χρήση ενός συνθηματικού για το άνοιγμά της. Ο χρήστης P γνωρίζει το συνθηματικό αυτό και θέλει να αποδείξει στον χρήστη V ότι το γνωρίζει, χωρίς όμως να του το αποκαλύψει. Εικόνα 2.1 Εικόνα 2.2 Εικόνα 2.3 Συμφωνούν λοιπόν στο παρακάτω: ο P θα μπει μέσα στην σπηλιά, μέσω ενός μονοπατιού (Α ή Β) που ο V δεν γνωρίζει και θα ανοίξει την πόρτα. Στην συνέχεια ο V θα πει στον P να επιστρέψει μέσω ενός μονοπατιού που επιλέγει αυτός (A ή Β). Αν όντως ο P επιστρέψει από το μονοπάτι αυτό, τότε ο V θα μπορούσε να υποθέσει ότι αν ο P δεν γνώριζε το συνθηματικό, τότε μάντεψε σωστά ποιο μονοπάτι έπρεπε να ακολουθήσει αρχικά, με πιθανότητα 50%. Για να μπορέσει να είναι σίγουρος ο V λοιπόν, εκτελεί την ίδια διαδικασία πολλές φορές, π.χ. 20. Αν ο P δεν γνωρίζει το συνθηματικό και κάνει απλά μαντεψιές, τότε αυτό θα γίνει γνωστό στον V σύντομα. 21

Σε διαφορετική περίπτωση ο P θα γυρίζει πάντα από το σωστό μονοπάτι, αποδεικνύοντας έτσι στον V ότι όντως γνωρίζει το συνθηματικό, χωρίς όμως να του αποκαλύψει καμία παραπάνω πληροφορία. Η τεχνική αυτή, όπως θα δούμε και παρακάτω, χρησιμοποιείται από πολλά πρωτόκολλα κρυπτογράφησης. 22

ΚΕΦΑΛΑΙΟ 3 Πρωτόκολλο Busmester, Desmedt 3.1 Εισαγωγή Στο κεφάλαιο αυτό θα παρουσιάσουμε το πρωτόκολλο διαμοίρασης μυστικού κλειδιού σε ομάδες των Busmester και Desmedt (4). Το συγκεκριμένο πρωτόκολλο στηρίζεται στο πρωτόκολλο των Diffie-Hellman το οποίο υποθέτει ότι είναι ασφαλές, για να αποδείξει την δική του ασφάλεια. Εκτός από το πρωτόκολλο, οι συγγραφείς προτείνουν στην ίδια δημοσίευση κι ένα σχήμα αυθεντικοποίησης, για τον έλεγχο της εγκυρότητας των συμμετεχόντων στην διαδικασία. 3.2 Ορισμοί Στην ενότητα αυτή θα ορίσουμε κάποιες βασικές έννοιες για την καταννόηση του πρωτοκόλλου. Αρχικά υποθέτουμε ότι υπάρχει ένα σύστημα ανταλλαγής μηνυμάτων μεταξύ στον αριθμό χρηστών (users), τους οποίους συμβολίζουμε με, με. Τα μηνύματα τα οποία ανταλλάσσονται μεταξύ των χρηστών μπορούν να γίνουν διαθέσιμα και σε έναν κακόβουλο χρήστη, ο οποίος ονομάζεται ωτακουστής (eavesdropper) και συμβολίζεται με Ε. Ο ωτακουστής μπορεί να διαδραματίσει δύο ρόλους: i) Να είναι παθητικός (passive), δηλαδή να μπορεί μόνο να διαβάσει τα μηνύματα τα οποία ανταλλάσσονται. ii) Να είναι ενεργητικός (active), δηλαδή να μπορεί να τροποποιήσει το περιεχόμενο μηνυμάτων, ή να στείλει αυτός δικά του. Με βάση τα παραπάνω λοιπόν δίνουμε τους εξής ορισμούς: 23

Ορισμός 3.2.1: Λέμε ότι ένα πρωτόκολλο επικοινωνίας αποτελεί πρωτόκολλο διαμοίρασης μυστικού κλειδιού σε ομάδες, όταν δίνει την δυνατότητα σε κάθε χρήστη να υπολογίσει ένα κλειδί, το οποίο είναι κοινό για όλους, δηλαδή. Ένα πρωτόκολλο διαμοίρασης μυστικού κλειδιού σε ομάδες εξασφαλίζει ιδιωτικότητα (privacy), εάν για κάποιον παθητικό ωτακουστή Ε είναι υπολογιστικά δύσκολο (με την έννοια του σχεδόν ακατόρθωτο σε λογικά πλαίσια χρόνου) να υπολογίσει το κοινό κλειδί Κ. Ορισμός 3.2.2: Έστω ότι ένας αριθμός από τους από χρήστες είναι πραγματικοί χρήστες κι ένας άλλος αριθμός είναι ψεύτικοι, κακόβουλοι χρήστες, οι οποίοι συνεργάζονται με τον ωτακουστή. Λέμε ότι ένα πρωτόκολλοι διαμοίρασης μυστικού κλειδιού σε ομάδες είναι (υπολογιστικά) ασφαλές, εάν είναι υπολογιστικά δύσκολο για κάθε έναν από τους ψεύτικους χρήστες, σε συνεργασία με τον ωτακουστή, να υπολογίσουν το κοινό κλειδί, το οποίο υπολογίζεται από όλους τους άλλους πραγματικούς χρήστες. Ορισμός 3.2.3: Θεωρούμε το σύστημα ανταλλαγής μηνυμάτων που παρουσιάστηκε παραπάνω. Για τον ωτακουστή E και για οποιουσδήποτε δύο χρήστες, με, το σύστημα ανταλλαγής μηνυμάτων ονομάζεται σύστημα αυθεντικοποίησης αν: i) Εάν οι είναι έγκυροι χρήστες και ο Ε είναι παθητικός ωτακουστής, τότε μπορούν να ανταλλάσουν έγκυρα μηνύματα μεταξύ τους. ii) Εαν ο Ε είναι παθητικός ωτακουστής και ο είναι μη έγκυρος χρήστης, τότε ο είναι σε θέση να το αναγνωρίσει και να μην λάβη υπ όψην του το μη έγκυρο μήνυμα το οποίο του έστειλε. iii) Εαν ο Ε είναι ενεργητικός ωτακουστής και στείλει ένα μήνυμα στους αυτοί είναι σε θέση να το αναγνωρίσουν και να μην το λάβουν υπ όψην τους., τότε 24

Θεώρημα 3.2.4: Ο αλγόριθμος των Diffie-Hellman είναι δύσκολο υπολογιστικά να επιλυθεί (κάτι που αναφέρθηκε στην ενότητα 2.6.1) 3.3 Παρουσίαση του πρωτοκόλλου Έστω το κυκλικό σύνολο, (του οποίου τα στοιχεία μπορούν να γραφούν υπό την μορφή γινομένου), τάξης p, όπου p πρώτος αριθμός, με γεννήτορα αυτού τον αριθμό. Έστω λοιπόν ότι υπάρχουν χρήστες, στους οποίους θέλουμε να διαμοιράσουμε το κοινό κλειδί. Θεωρούμε ότι οι n χρήστες σχηματίζουν έναν νοητό δακτύλιο (δηλαδή ο επόμενος του χρήστη n είναι ο χρήστης 1). Εκτελούμε τα παρακάτω διαδοχικά βήματα: 1. Κάθε χρήστης επιλέγει ένα και στέλνει στους υπόλοιπους χρήστες το. To είναι το μυστικό κλειδί του κάθε χρήστη. 2. Κάθε χρήστης επιλέγει και στέλνει στους υπόλοιπους χρήστες το. 3. Κάθε χρήστης υπολογίζει το κλειδί της συγκεκριμένης μετάδοσης Αν οι χρήστες ακολούθησαν τα παραπάνω βήματα, τότε καταλήγουν στο παρακάτω διαμοιραζόμενο κλειδί: 25

Θεώρημα 3.3.1: Το παραπάνω πρωτόκολλο εξασφαλίζει την ιδιωτικότητα (του διαμοιραζόμενου κλειδιού ) για n 1 χρήστες. Απόδειξη Έστω ότι ο ωτακουστής Ε, με κάποιον τρόπο, μαντεύει σωστά το κλειδί κάποιου χρήστη σε μία μετάδοση, π.χ. του, δηλαδή το, το οποίο αποτελεί και το διαμοιραζόμενο κλειδί. Ο Ε θα επιθυμούσε κάνοντας χρήση του να είναι σε θέση να βρίσκει το διαμοιραζόμενο κλειδί σε κάθε εκτέλεση του πρωτοκόλλου από εδώ και στο εξής. Το υπολογίζεται από τον χρήστη με χρήση του παρακάτω τύπου: Έστω ότι ο ωτακουστής Ε είναι σε θέση να υπολογίσει όλα τα, κάτι που γίνεται και η πλήρης απόδειξη αυτού αναφέρεται στο (4). Συνεπώς θα πρέπει να υπολογίσει και τον όρο, με δεδομένο το n, το και το p. Ο υπολογισμός του παραπάνω όρου είναι εύκολος, αρκεί να γνωρίζουμε το. Το όμως είναι άγνωστο. Ο συγκεκριμένος όμως υπολογισμός (δηλαδή ο υπολογισμός ως μόνον άγνωστο κι όλα τα υπόλοιπα γνωστά, στην σχέση που δίνει το ) αποτελεί περίπτωση του αλγορίθμου των Diffie-Hellman και είναι υπολογιστικά δύσκολος. Συνεπώς το παραπάνω πρωτόκολλο εξασφαλίζει την ιδιωτικότητα του διαμοιραζόμενου κλειδιού. 3.4 Ένα σχήμα αυθεντικοποίησης 1 Στο (4) η απόδειξη γίνεται με την παραδοχή ότι το n είναι άρτιος αριθμός. Το πρωτόκολλο μπορεί εύκολα να εφαρμοστεί και για περιττό αριθμό χρηστών n, εφαρμόζοντάς το για n-1 χρήστες και στην συνέχεια εφαρμόζοντας τον αλγόριθμο των Diffie-Hellman για την μεταφορά του διαμοιραζόμενου κλειδιού και στον χρήστη n. 26

Στον παραπάνω ορισμό 3.2.3, ορίσαμε τις απαραίτητες συνθήκες για την θεώρηση ενός πρωτοκόλλου διαμοίρασης κλειδιού σε ομάδες ως σύστημα αυθεντικοποίησης (authentication schema). Στην ενότητα αυτή θα παρουσιάσουμε ένα σχήμα αυθεντικοποίησης που προτείνεται από τους δύο δημιουργούς του αλγορίθμου. Τα βήματα του σχήματος αυθεντικοποίησης είναι τα παρακάτω: 1. Έστω το κυκλικό σύνολο, (του οποίου τα στοιχεία μπορούν να γραφούν υπό την μορφή γινομένου), τάξης p, όπου p πρώτος αριθμός, με γεννήτορα αυτού τον αριθμό. Ο όμως αυτή την φορά είναι τάξης q, όπου q πρώτος αριθμός. 2. Κάθε χρήστης επιλέγει δύο και υπολογίζει τις παρακάτω τιμές: 3. Κάθε χρήστης αποστέλει το μήνυμα z (σύμφωνα με το πρωτόκολλο), καθώς και τα β, γ που μόλις υπολόγισε. 4. Έστω ότι ένας χρήστης P αποστέλει το μήνυμα z και τα β, γ, σε έναν χρήστη V. 5. Ο V ελέγχει ότι ο P είναι όντως ένας έγκυρος χρήστης, κάνοντας τις παρακάτω ενέργειες: i) Αναμένει από τον P να του αποδείξει ότι γνωρίζει τον διακριτό λογάριθμο (= μέσω απόδειξης μηδενικής γνώσης (5). ii) Στην συνέχεια ελέγχει εάν ισχύουν οι παρακάτω σχέσεις: Αν τα παραπάνω ισχύουν, τότε ο χρήστης P είναι έγκυρος. Εάν όχι, τότε ο χρήστης P δεν είναι ένας έγκυρος χρήστης και η αυθεντικοποίησή του αποτυγχάνει. Το παραπάνω σχήμα αυθεντικοποίησης στηρίζεται στην υπόθεση ότι το πρόβλημα του διακριτού λογαρίθμου είναι υπολογιστικά δύσκολο, αφού τα των έγκυρων χρηστών δεν μπορούν να γίνουν γνωστά σε κακόβουλους χρήστες και συνεπώς δεν 27

μπορούν να υπολογίσουν β, γ κατάλληλα ώστε να ισχύουν οι παραπάνω σχέσεις με σκοπό να πείσουν τον χρήστη V ότι είναι έγκυροι χρήστες. Το παραπάνω σχήμα υποθέτει ότι το γ είναι διάφορο του z. Σε περίπτωση που αυτά είναι ίδια, τότε στην ίδια δημοσίευση προτείνεται ένα σχήμα αυθεντικοποίησης το οποίο χρησιμοποιεί δύο ομάδες από (p, q, α, β, γ). Η λογική του όμως είναι παρόμοια με την παραπάνω και για τον λόγο αυτό κρίνεται σκόπιμη η παράλειψη της παρουσίασής του. ΚΕΦΑΛΑΙΟ 4 Πρωτόκολλο Steiner, Tsudik, Waidner 28

4.1 Εισαγωγή Στο κεφάλαιο αυτό θα παρουσιάσουμε το πρωτόκολλο διαμοίρασης μυστικού κλειδιού σε ομάδες των Steiner, Tsudik και Waidner (6). Το συγκεκριμένο πρωτόκολλο, όπως και όλα όσα εξετάζονται στην μελέτη αυτή, στηρίζουν την ασφάλειά τους στο πρωτόκολλο των Diffie-Hellman. Στην συγκεκριμένη εργασία (6), οι Steiner, Tsudik, Waidner παρουσιάζουν τρεις διαφορετικές εκδόσεις του πρωτοκόλλου GDH (Group Diffie-Hellman), τις GDH.1, GDH.2, GDH.3. 4.2 Το γενικό πρωτόκολλο διαμοίρασης μυστικού κλειδιού σε ομάδες Πριν προχωρήσουμε στην περιγραφή των τριών πρωτοκόλλων, θα ορίσουμε αρχικά τις γενικές αρχές πάνω στις οποίες βασίζονται τα πρωτόκολλα αυτά. Τις αρχές αυτές θα τις ονομάσουμε γενικό πρωτόκολλο Diffie-Hellman σε ομάδες με n συμμετέχοντες (generic n-party DH protocol). Όπως και στην περίπτωση για n = 2 χρήστες (πρωτόκολλο Diffie-Hellman), έτσι και τώρα όλοι οι χρήστες, χρησιμοποιούν ένα κυκλικό σύνολο G, τάξης q (όπου q είναι πρώτος αριθμός), με γεννήτορα του συνόλου αυτού τον ακέραιο α. Για κάθε ανταλλαγή κλειδιού μεταξύ των μελών, κάθε χρήστης επιλέγει τυχαία μια τιμή. Στην περίπτωση των n = 2 χρηστών, μπορούμε να πούμε ότι κάθε χρήστης στέλνει το μήνυμα στον χρήστη και οι δύο χρήστες υπολογίζουν το κοινό τους κλειδί. Όπως αναφέρθηκε και στα παραπάνω κεφάλαια, ένας ωτακουστής που γνωρίζει τα, δεν μπορεί να υπολογίσει το κοινό τους κλειδί Κ, αφού δεν είναι υπολογιστικά εφικτός ο υπολογισμός των. Και τα τρία πρωτόκολλα τα οποία θα περιγραφούν στις παρακάτω ενότητες στηρίζονται στο ίδιο, γενικευμένο πλεόν, γεγονός: ενώ για κάθε μέλος είναι εύκολος ο 29

υπολογισμός του κοινού κλειδιού, κάποιος ωτακουστής, ο οποίος ενδεχομένως γνωρίζει κάποια από τα, τα οποία μεταφέρονται μέσω ενός μη ασφαλούς καναλιού επικοινωνίας, δεν μπορεί (μέσα σε ρεαλιστικά χρονικά όρια) να υπολογίσει το κοινό κλειδι K, δηλαδή να υπολογίσει τα απαιτούμενα, από τα ήδη γνωστά. 4.3 Τα πρωτόκολλα μεταβίβασης μυστικού κλειδιού σε ομάδες (GDH.x) 4.3.1 Το πρωτόκολλο GDH.1 Το πρωτόκολλο GDH.1 αποτελείται από δύο φάσεις: i. την φάση της ανόδου (upflow) ii. την φάση της καθόδου (downflow) Κατά την φάση της ανόδου (upflow), κάθε μέλος της ομάδας, δέχεται από το προηγούμενο μέλος (πλην του μέλους με αναγνωριστικό 1, αφού είναι αυτό που αρχίζει την μετάδοση), το γινόμενο. Στην συνέχεια υπολογίζει το γινόμενο (όπως αναφέρθηκε και στην ενότητα 4.2, το είναι μια τυχαία τιμή που ανήκει στο κυκλικό σύνολο ) και το μεταδίδει στο επόμενο μέλος της ομάδας. Μοναδική εξαίρεση στην μετάδοση αυτή, αποτελεί το μέλος, το οποίο είναι και το τελευταίο μέλος της ομάδας. Η φάση της ανόδου τελειώνει, με τον υπολογισμό από το μέλος του γινομένου, το οποίο αποτελεί και το κοινό μυστικό διαμοιραζόμενο κλειδί. Κατά την φάση της καθόδου (downlow), ακολουθείται η μεταφορά δεδομένων μεταξύ των μελών της ομάδας, με την αντίθετη όμως φορά. Κατά την διαδικασία αυτή, κάθε μέλος εκτελεί υπολογισμούς: έναν για να υπολογίσει το κοινό κλειδί και για να υπολογίσει τις τιμές που θα μεταφερθούν στο 30

μέλος και θα βοηθήσουν στον υπολογισμό του κλειδιού τα υπόλοιπα μέλη της ομάδας. Για παράδειγμα, αν υποθέσουμε ότι n = 5, το μέλος θα λάβει από το μέλος το σύνολο τιμών. Με βάση την τιμή, θα υπολογίσει το κοινό κλειδί και στην συνέχεια θα μεταδόσει στο μέλος το σύνολο. Η διαδικασία αυτή θα συνεχιστεί μέχρι το μέλος να λάβει το σύνολο. Μετά το τέλος της διαδικασίας της καθόδου, όλα τα μέλη της ομάδας θα έχουν υπολογίσει το κοινό μυστικό διαμοιραζόμενο κλειδί. Όπως είναι φανερό από την παραπάνω περιγραφή, το πρωτόκολλο GDH.1 εκτελείται σε βήματα ( βήματα για την διαδικασία της ανόδου αφού το μέλος δεν μεταδίδει στο επόμενο από αυτό μέλος και βήματα για την διαδικασία της καθόδου αφού το μέλος δεν μεταδίδει στο προηγούμενο από αυτό μέλος). Όπως επίσης αναφέρθηκε, σε κάθε βήμα αποστέλλεται ένα ακριβώς μήνυμα, οπότε και τα μηνύματα που ανταλάσσονται είναι κι αυτά στον αριθμό. 4.3.2 Το πρωτόκολλο GDH.2 Το πρωτόκολλο αυτό στοχεύει στην μείωση των αριθμών των γύρων που απαιτούνται για την εκτέλεση του πρωτοκόλλου GDH.1. Και στην περίπτωση αυτή, κατά την φάση της ανόδου (upflow), μεταφέρονται μηνύματα από ένα μέλος σε ένα μέλος. Η μόνη διαφορά είναι ότι τώρα σε κάθε μήνυμα που λαμβάνει ένα μέλος περιέχεται όχι μόνο μια τιμή, αλλά τιμές. Για παράδειγμα, το μέλος λαμβάνει ως μήνυμα από το μέλος το σύνολο και στέλνει στο μέλος το σύνολο. Συνεπώς, ο χρήστης στον τελευταίο γύρο της διαδικασίας της ανόδου, θα πάρει το τελευταίο σύνολο από τον χρήστη και θα είναι σε θέση να υπολογίσει το κοινό κλειδί. Στην 31

συνέχεια, στον ίδιο γύρο, μεταδίδει ένα καθολικό μήνυμα (broadcast) το σύνολο με τις τιμές αυτές σε όλους τους χρήστες. Συνεπώς κάθε χρήστης είναι σε θέση τώρα να υπολογίσει το κοινό κλειδί με μία μόνο πράξη. Στην περίπτωση του πρωτοκόλλου GDH.2, η διαδικασία εκτελείται σε n γύρους, γεγονός που μειώνει περίπου στο μισό τους γύρους του πρωτοκόλλου GDH.1. Αν επίσης θεωρήσουμε και το καθολικό μήνυμα (broadcast) το οποίο αποστέλλεται ως ένα μήνυμα, τότε και τα μηνύματα τα οποία ανταλάσσονται μεταξύ των χρηστών είναι n στον αριθμό. 4.3.3 Το πρωτόκολλο GDH.3 Πολλές φορές υπάρχουν περιβάλλοντα, όπου είναι αναγκαία η ελαχιστοποίηση του αριθμού των υπολογισμών που πραγματοποιούνται από κάθε μέλος της ομάδας. Αυτό παρατηρείται ιδιαίτερα στην περίπτωση όπου ο αριθμός των μελών της ομάδας είναι πολύ μεγάλος. Από την στιγμή που τα δύο παραπάνω πρωτόκολλα απαιτούν (i+1) εκθετικούς υπολογισμούς για κάθε μέλος, ο αριθμός των υπολογισμών αυξάνει εκθετικά με το μέγεθος της ομάδας. Το ίδιο βέβαια παρατηρείται και για το μέγεθος των μηνυμάτων που ανταλλάσονται. Έχοντας σαν σκοπό την αντιμετώπιση των παραπάνω προβλημάτων, στην ίδια εργασία (6) προτείνεται το πρωτόκολλο GDH.3, το οποίο είναι διαφορετικό από τα παραπάνω πρωτόκολλα. Το συγκεκριμένο πρωτόκολλο αποτελείται από 4 στάδια: Στο πρώτο στάδιο (το οποίο είναι στην ουσία η φάση της ανόδου όπως αυτή περιγράφηκε στο πρωτόκολλο GDH.1) κάθε μέλος (με ) υπολογίζει το γινόμενο, αφού δεχθεί από το προηγούμενο μέλος το γινόμενο και το προωθεί στο μέλος. Στο δεύτερο στάδιο, το μέλος υπολογίζει το γινόμενο και το μεταδίδει (broadcast) σε όλα τα υπόλοιπα μέλη της ομάδας. 32

Στο τρίτο στάδιο (response), κάθε μέλος ( ) υπολογίζει το γινόμενο και το προωθεί στο μέλος. Για τον υπολογισμό του γινομένου αυτού κάθε μέλος πρέπει να υπολογίσει το. Στο τέταρτο στάδιο (broadcast), το μέλος, υψώνει κάθε ένα από τα γινόμενα στην δύναμη και αποστέλει το αποτέλεσμε σε κάθε ένα από τα μέλη. Κάθε ένα από τα υπόλοιπα μέλη, μπορεί τώρα εύκολα να υπολογίσει το κοινό μυστικό κλειδί. Στην περίπτωση του πρωτοκόλλου GDH.3, η διαδικασία εκτελείται σε n+1 γύρους, και ο αριθμός των μηνυμάτων που ανταλλάσονται είναι 2n-1. Αυτό όμως που έχει σημασία, είναι ο μικρός αριθμός των υπολογισμών που πραγματοποιούνται (4 για i < n-1, 2 για το μέλος και n για το μέλος - συνολικά δηλαδή 5n-6 υπολογισμοί). 4.4 Αλλαγή των μελών της ομάδας Στα παραπάνω πρωτόκολλα υποθέσαμε ότι ο αριθμός των μελών της ομάδας είναι καθορισμένος (n μέλη στον αριθμό) πριν την εκτέλεση των διαδικασιών τους. Μερικές φορές όμως είναι αναγκαία η εισαγωγή ή η διαγραφή στην ομάδα ενός μέλους. Η διαδικασία αυτή θα πρέπει να γίνει χωρίς να εκτελεστούν ξανά όλα τα βήματα του πρωτοκόλλου, κυρίως για την εκτέλεση λιγότερων υπολογισμών. Στις παρακάτω υπο-ενότητες, θα παρουσιάσουμε δύο μηχανισμούς για την εισαγωγή και διαγραφή μελών, οι οποίοι όμως μπορούν να εφαρμοστούν μόνο στα πρωτόκολλα GDH.2 και GDH.3 (η δομή του πρωτοκόλλου GDH.1 είναι τέτοια που δεν επιτρέπει την αποδοτική εκτέλεση τέτοιων διαδικασιών). 4.4.1 Πρόσθεση μέλους στην ομάδα (Member Addition) Όσον αφορά το πρωτόκολλο GDH.2, η διαδικασία έχει ως εξής: 33

1. Υποθέτουμε ότι κατά την διάρκεια της φάσης της ανόδου, ο χρήστης αποθηκεύει τα δεδομένα που του στέλνονται. 2. Ο δημιουργεί ένα νέο (διαφορετικό από το που υπολογίζει κανονικά και στέλνει το μήνυμα, στο καινούριο μέλος. 3. Το μέλος δημιουργεί έναν αριθμό και υπολογίζει το νέο κλειδί. 4. Με την ίδια διαδικασία που περιγράφηκε στην ενότητα 4.3.2, το μέλος δημιουργεί n υποκλειδιά της μορφής και τα στέλνει στα υπόλοιπα n μέλη της ομάδας. Αυτά με την σειρά τους είναι σε θέση να υπολογίσουν το νέο κλειδί, με την εκτέλεση ενός και μόνο υπολογισμού. Η διαδικασία πρόσθεσης ενός νέου μέλους στο πρωτόκολλο GDH.3 είναι σχεδόν παρόμοια με αυτή του πρωτοκόλλου GDH.2. Το μέλος δημιουργεί ένα καινούριο και υψώνει σε δύναμη του στοιχείου αυτού κάθε στοιχείο του συνόλου των υπο-κλειδιών που δέχθηκε στο στάδιο 3, όπως αυτό περιγράφεται στην υποενότητα 4.3.3. Στην συνέχεια προωθεί το σύνολο αυτό στο μέλος, το οποίο υπολογίζει το νέο κλειδί, υψώνει το κάθε ένα από τα n στοιχεία του συνόλου στην δύναμη του δικού του στοιχείου και αποστέλει το αποτέλεσμα σε κάθε ένα από τα n υπόλοιπα μέλη, τα οποία μπορούν πλέον να υπολογίσουν το νέο κλειδί. 4.4.2 Διαγραφή μέλους από την ομάδα (Member Deletion) Η διαδικασία της διαγραφής ενός μέλους από την ομάδα είναι και πάλι παρόμοια για τα δύο πρωτόκολλα GDH.2 και GDH.3. Έστω ότι θέλουμε να διαγράψουμε από την ομάδα το μέλος. Ας υποθέσουμε αρχικά ότι ισχύει, δηλαδή 34

στην ουσία ότι το μέλος δεν είναι το μέλος. Το μέλος και σε αυτή την περίπτωση παίζει έναν κεντρικό ρόλο για την ολοκλήρωση της διαδικασίας. Το μέλος υπολογίζει ένα νέο και στην συνέχεια δημιουργεί n-2 υπο-κλειδιά της μορφής, τα οποία στέλνει σε κάθε ένα από τα υπόλοιπα n-2 μέλη εκτός του. Το νέο κλειδί θα έχει την μορφή και συνεπώς το μέλος δεν είναι πλέον σε θέση να το υπολογίσει. Στην περίπτωση όπου θέλουμε να διαγράψουμε το μέλος, το μέλος που θα διαδραματίσει πλέον τον κεντρικό ρόλο στην διαδικασία αυτή, θα είναι το μέλος. ΚΕΦΑΛΑΙΟ 5 Πρωτόκολλα των Becker, Wille 5.1 Εισαγωγή 35

Στο κεφάλαιο αυτό θα αναφερθούμε στην μελέτη των Becker, Wille (7), στην οποία παρουσιάζονται τα πρωτόκολλα Octopus, 2 d -Cube και 2 d -Octopus. Κύριο θέμα της συγκεκριμένης δημοσίευσης είναι η μελέτη και ανάλυση της χρονικής πολυπλοκότητας που απαιτούν τα πρωτόκολλα διαμοίρασης μυστικών κλειδιών σε ομάδες και ο καθορισμός των κάτω ορίων (lower bounds) των μηνυμάτων που ανταλλάσουν μεταξύ τους τα μέλη της ομάδας.. Με βάση τα αποτελέσματα τα οποία προέκυψαν από την συγκεκριμένη ανάλυση, οι Becker και Wille παρουσιάζουν τα παραπάνω πρωτόκολλα, τα οποία μειώνουν τον αριθμό των μηνυμάτων τα οποία ανταλλάσονται όσο το δυνατόν περισσότερο. 5.2 Ορισμοί Στην ενότητα αυτή θα ορίσουμε τις έννοιες των μηνυμάτων (messages), των ανταλλαγών (exchanges), των καθολικών μεταδόσεων (broadcasts) και των γύρων (rounds). Ένα μήνυμα (message) είναι ένα πακέτο πληροφορίας το οποίο στέλνεται από ένα μέλος της ομάδας σε ένα άλλο. Μία ανταλλαγή μηνυμάτων (exchange) είναι η ταυτόχρονη ανταλλαγή δύο μηνυμάτων μεταξύ δύο μελών της ομάδας (π.χ. το μέλος στέλνει ένα μήνυμα στο μέλος, ενώ αυτό ταυτόχρονα στέλνει ένα μήνυμα στο μέλος ). Μία καθολική μετάδοση (broadcast) είναι ένα μήνυμα το οποίο στέλνεται από ένα μέλος της ομάδας και λαμβάνεται από όλα τα υπόλοιπα μέλη. Ένας γύρος (round) είναι κάθε βήμα ενός ρολογιού, το οποίο υποθέτουμε ότι χρησιμοποιείται στην όλη διαδικασία. Η χρήση του ρολογιού είναι απαραίτητη για την μέτρηση της χρονικής πολυπλοκότητας. Με βάση τους παραπάνω ορισμούς, ορίζουμε και τις παρακάτω έννοιες. 36

Τα συνολικά μηνύματα (total messages) είναι ο συνολικός αριθμός των μηνυμάτων και των καθολικών μεταδόσεων που αποστέλλονται κατά την εκτέλεση ενός πρωτοκόλλου. Οι συνολικές ανταλλαγές (total exchanges) είναι ο συνολικός αριθμός των ανταλλαγών που πραγματοποιούνται κατά την εκτέλεση του πρωτοκόλλου. Οι σύγχρονοι γύροι (synchronous rounds) είναι ο ελάχιστος δυνατός αριθμός των γύρων που απατούνται για την εκτέλεση του πρωτοκόλλου, εάν υποθέσουμε ότι σε κάθε γύρο μπορούν να μεταδόσουν και να λάβουν μηνύματα όλα τα μέλη της ομάδας Οι απλοί γύροι (simple rounds) είναι ο ελάχιστος δυνατός αριθμός γύρος που απαιτούνται για την εκτέλεση του πρωτοκόλλου, εάν υποθέσουμε ότι σε κάθε γύρο μπορεί να μεταδόσει/λάβει ένα μήνυμα μόνο ένα από τα μέλη της ομάδας (χωρίς την χρήση καθολικής μετάδοσης). 5.3 Καθορισμός κάτω ορίων για συστήματα διαμοίρασης μυστικού κλειδιού σε ομάδες Σε έναν τυπικό σύστημα διαμοίρασης μυστικού κλειδιού σε μια ομάδα, τα n μέλη της ομάδας συμμετέχουν, το καθένα με την δημιουργία ενός τυχαίου μυστικού αριθμού, στην δημιουργία ενός κοινού μυστικού κλειδιού. Για να μπορέσουμε να οριοθετήσουμε το κάτω όριο των μηνυμάτων και των ανταλλαγών που απαιτούνται για την λειτουργία ενός τέτοιου συστήματος, θα πρέπει να θεωρήσουμε ότι κάθε μέλος της ομάδας αποστέλλει κάποια πληροφορία που παράγει στα υπόλοιπα n-1 μέλη. Το πρόβλημα αυτό, έχει μελετηθεί από τους Baker και Shostak στο (8) και ονομάζεται Gossip Problem και ορίζεται ως εξής: ποιός είναι ο ελάχιστος αριθμός τηλεφωνημάτων που θα πρέπει να πραγματοποιηθούν, έτσι ώστε να αποσταλλούν n διαφορετικά πακέτα πληροφορίας, κάθε ένα από τα οποία παράγεται κι από ένα διαφορετικό μέλος της ομάδας στα n διαφορετικά μέλη. 37

Οι Baker και Shostak έδειξαν ότι το κάτω όριο του αριθμού αυτού είναι το, υποθέτοντας ότι. Η ύπαρξη του κάτω αυτού ορίου αυτόματα μας δίνει το κάτω όριο των συνολικών ανταλλαγών (total exchanges) οι οποίες απαιτούνται για την εκτέλεση ενός πρωτοκόλλου διαμοίρασης μυστικού κλειδιού σε ομάδες. Για να μπορέσουμε να βρούμε το κάτω όριο των συνολικών μηνυμάτων (total messages) που απαιτεί ένα τέτοιο πρωτόκολλο, θα πρέπει να αναγάγουμε το Gossip Problem στο παρακάτω: ποιός είναι ο ελάχιστος αριθμός γραμμάτων/τηλεγραφημάτων που θα πρέπει να πραγματοποιηθούν, έτσι ώστε να αποσταλλούν n διαφορετικά πακέτα πληροφορίας, κάθε ένα από τα οποία παράγεται κι από ένα διαφορετικό μέλος της ομάδας στα n διαφορετικά μέλη. Οι Becker και Wille απέδειξαν με την χρήση μαθηματικής επαγωγής (7) ότι το κάτω όριο των μηνυμάτων το οποίο απαιτείται είναι ίσο με (στην ουσία τα n-1 μέλη στέλνουν την πληροφορία στο μέλος, αυτό πραγματοποιεί την κύρια διαδικασία του πρωτοκόλλου και στην συνέχεια αποστέλλει τα αποτελέσματα στα υπόλοιπα n-1 μέλη της ομάδας συνεπώς μηνύματα συνολικά). Όσον αφορά τον αριθμό των απλών γύρων που απαιτούνται για την εκτέλεση ενός πρωτοκόλλου, εάν δεν γίνει χρήση καθολικών μεταδόσεων (broadcasts), τότε το κάτω όριο του αριθμού των γύρων για μέλη θα είναι d (αφού σε κάθε γύρο κάθε μέλος μπορεί να αποστείλει/λάβει κάποιο μήνυμα). Συνεπώς για n μέλη, το κάτω όριο του αριθμού των γύρων θα είναι. Φυσικά για ένα τέτοιο σύστημα ο αριθμός των σύγχρονων γύρων δεν είναι δυνατόν να υπολογιστεί. Ανακεφαλαιώνοντας λοιπόν, έστω ένα σύστημα διαμοίρασης μυστικού κλειδιού σε ομάδες, στο οποίο συμμετέχουν n μέλη και στο οποίο δεν γίνεται χρήση καθολικών μεταδόσεων. Ισχύουν τα παρακάτω: 1. Για τον συνολικό αριθμό των μηνυμάτων (total messages) που θα πρέπει να αποσταλλούν ισχύει ότι:. 2. Για τον συνολικό αριθμό των ανταλλαγών (total exchanges) που θα πρέπει να αποσταλλούν ισχύει ότι:. 3. Για τον αριθμό των απλών γύρων (simple rounds) που θα πρέπει να αποσταλλούν ισχύει ότι:. 38

Τα παραπάνω όρια μεταβάλλονται εάν το πρωτόκολλο επιτρέπει την μετάδοση καθολικών μεταδόσεων (broadcasts). Το κάτω όριο των μηνυμάτων/ανταλλαγών που θα πρέπει να πραγματοποιηθούν (κάτι που συμβαίνει στην περίπτωση του πρωτοκόλλου GDH.2 στην υπο-ενότητα 4.3.2) είναι n (n-1 αποστολλές μηνυμάτων από τα n-1 μέλη στο μέλος και μία καθολική μετάδοση (broadcast) από το μέλος στα υπόλοιπα n-1 μέλη συνολικά n μηνύματα/ανταλλαγές). Ο αριθμός των απλών γύρων, από τον ορισμό αυτών, μένει αναλοίωτος, ενώ σε αυτή την περίπτωση μπορούμε να υπολογίσουμε και τον αριθμό των σύγχρονων γύρων, ο οποίος είναι 1 (αρχικά αποστέλλονται n-1 μηνύματα στο μέλος από τα n-1 μέλη. Το μέλος εκτελεί κάποια διαδικασία και στην συνέχεια αποστέλλει μέσω καθολικής μετάδοσης (broadcast) ένα μήνυμα σε όλα τα υπόλοιπα n-1 μέλη της ομάδας. Συνεπώς, σύμφωνα με τον ορισμό των σύγχρονων γύρων, ο αριθμός τους είναι 1). Ανακεφαλαιώνοντας λοιπόν, έστω ένα σύστημα διαμοίρασης μυστικού κλειδιού σε ομάδες, στο οποίο συμμετέχουν n μέλη και στο οποίο γίνεται χρήση καθολικών μεταδόσεων. Ισχύουν τα παρακάτω: 1. Για τον συνολικό αριθμό των μηνυμάτων (total messages) που θα πρέπει να αποσταλλούν ισχύει ότι:. 2. Για τον συνολικό αριθμό των ανταλλαγών (total exchanges) που θα πρέπει να αποσταλλούν ισχύει ότι:. 3. Για τον αριθμό των απλών γύρων (simple rounds) που θα πρέπει να αποσταλλούν ισχύει ότι:. 4. Για τον αριθμό των σύγχρονων γύρων (synchronous rounds) που θα πρέπει να αποσταλλούν ισχύει ότι:. 5.4 Το πρωτόκολλο Octopus Όπως αναφέρθηκε και παραπάνω, αν ένα σύστημα διαμοίρασης μυστικού κλειδιού σε ομάδες επιτρέπει την αποστολή μηνυμάτων μέσω καθολικών μεταδόσεων 39

(broadcasting), τότε το κάτω όριο των μηνυμάτων/ανταλλαγών που απαιτούνται είναι n στον αριθμό. Ένα τέτοιο πρωτόκολλο έχει προταθεί ήδη και είναι το GDH.2, το οποίο παρουσιάζεται στην υπο-ενότητα 4.3.2). Στην συγκεκριμένη ενότητα θα παρουσιάσουμε το πρωτόκολλο Octopus, το οποίο εφαρμόζεται σε συστήματα όπου δεν υποστηρίζονται οι καθολικές μεταδόσεις. Το πρωτόκολλο Octopus πραγματοποιεί ακριβώς 2n-4 ανταλλαγές μηνυμάτων, όσο δηλαδή και το κάτω όριο αυτών. Έστω αρχικά ότι ορίζεται μια κυκλική ομάδα G, η οποία είναι τάξης q (όπου q πρώτος αριθμός) κι έστω ότι α είναι ο γεννήτορας της κυκλικής ομάδας. Έστω επίσης ότι ορίζεται μια γραμμική απεικόνιση. Πριν παρουσιάσουμε το πρωτόκολλο Octopus, θα αναφερθούμε στην περίπτωση όπου ο αριθμός των μελών της ομάδας είναι n = 4 (έστω ότι ονομάζουμε τα μέλη της A, B, C, D). Μια ομάδα με 4 μέλη, μπορεί να συμφωνήσει σε ένα μυστικό κλειδί πραγματοποιώντας ακριβώς 4 ανταλλαγές. Έστω ότι αρχικά τα μέλη A, B και C, D πραγματοποιούν μια ανταλλαγή μυστικού κλειδιού με χρήση του πρωτοκόλλου Diffie-Hellman, με αποτέλεσμα να καταλήξουν στα κλειδιά και αντίστοιχα (2 ανταλλαγές). Στην συνέχεια, το μέλος Α πραγματοποιεί μια ανταλλαγή μυστικού κλειδιού με το μέλος C, ενώ το μέλος B πραγματοποιεί μια ανταλλαγή μυστικού κλειδιού με το μέλος D, ανταλλάσοντας τα μηνύματγα και αντίστοιχα (2 ακόμα ανταλλαγές). Στο σημείο αυτό, μετά από 4 ακριβώς ανταλλαγές, τα 4 μέλη της ομάδας μπορούν πλέον να υπολογίσουν το μυστικό κλειδί. Στο πρωτόκολλο Octopus, τα n μέλη της ομάδας με συμβολισμούς, συμφωνούν σε ένα κοινώς διαμοιραζόμενο μυστικό κλειδί, αφού χωριστούν αρχικά με 5 ομάδες. Από τα n αυτά μέλη, τα 4 τελευταία από αυτά, δηλαδή τα,, και διαδραματίζουν κύριο ρόλο στην συγκεκριμένη διαδικασία. Ας ονομάσουμε τα μέλη αυτά A, B, C και D αντίστοιχα. Τα εναπομείναντα μέλη σχηματίζουν 4 ομάδες, αυτές των,, και, όπου τα σύνολα,, και είναι ξένα μεταξύ 40

τους και ισχύει η ιδιότητα. Το κοινώς διαμοιραζόμενο μυστικό κλειδί δημιουργείται με την παρακάτω διαδικασία: 1. Για κάθε και για κάθε, το κάθε μέλος συμφωνεί σε ένα μυστικό κλειδί με κάθε αντίστοιχο μέλος, με την χρήση του πρωτοκόλλου Diffie-Hellman. 2. Τα μέλη A, B, C, D πραγματοποιούν την διαδικασία που περιγράφηκε παραπάνω, χρησιμοποιώντας για a, b, c, d τα και. Ο συμβολισμός είναι το γινόμενο, για. Στο σημείο αυτό τα μέλη A, B, C, D μπορούν να υπολογίσουν το κοινό μυστικό κλειδί. 3. Θα περιγράψουμε το βήμα αυτό μόνο για το μέλος Α. Η ίδια διαδικασία ισχύει και για τα υπόλοιπα μέλη B, C, D. Για κάθε, το μέλος Α στέλνει τις εξής δύο τιμές στο μέλος : και. Στο σημείο αυτό, το μέλος είναι σε θέση να υπολογίσει το κοινό μυστικό κλειδί K. Αρχικά υπολογίζει την δύναμη, το οποίο ισούται με την δύναμη. Στην συνέχεια υπολογίζει το κοινό μυστικό κλειδί Κ ως εξής:. Όπως μπορεί να παρατηρήσει κανείς, πραγματοποιούνται οι εξής ανταλλαγές μηνυμάτων: n-4 στο βήμα 1 4 στο βήμα 2 n-4 στο βήμα 3 Συνεπώς πραγματοποιούνται συνολικά 2n-4 ανταλλαγές μηνυμάτων (total exchanges). Το πρωτόκολλο Octopus λοιπόν, πραγματοποιεί την διαμοίραση ενός μυστικού κλειδιού στα n μέλη μιας ομάδας, με την πραγματοποίηση του κάτω ορίου του αριθμού των ανταλλαγών. Συνολικά, τα χαρακτηριστικά του πρωτοκόλλου Octopus παρουσιάζονται στον Πίνακα 5.1. 41

Πίνακας 5.1: χαρακτηριστικά του πρωτοκόλλου Octopus (7) Πρωτόκολλο Συνολικά Συνολικές Απλοί γύροι Σύγχρονοι Μηνύματα Ανταλλαγές γύροι Octopus 5.5 Το πρωτόκολλο 2 d -Cube Ο αριθμός των απλών γύρων μπορεί να ελαχιστοποιηθεί, εάν γενικεύσουμε την ιδέα της ανταλλαγής ενός μυστικού κλειδιού σε 4 μέλη, η οποία περιγράφηκε παραπάνω. Σε γενικές γραμμές, μέλη μιας ομάδας μπορούν να συμφωνήσουν σε ένα κοινώς διαμοιραζόμενο μυστικό κλειδί, σε μόλις d απλούς γύρους, πραγματοποιώντας ανταλλαγές μηνυμάτων με την χρήση του πρωτοκόλλου Diffie-Hellman, αν θεωρήσουμε ότι ανταλλαγές μηνυμάτων γίνονται πάνω στις ακμές ενός κύβου διάστασης d. Έστω λοιπόν ότι ορίζεται ένας κύβος, διάστασης d, κι έστω ότι τα μέλη της ομάδας αντιστοιχούν στα διανύσματα του χώρου 2, τα οποία ορίζουν τον κύβο. Έστω επίσης ότι,,, είναι η βάση του χώρου αυτού. Το πρωτόκολλο 2 d -Cube εκτελείται σε d απλούς γύρους, σύμφωνα με την παρακάτω διαδικασία: 1. Στον πρώτο γύρο, κάθε μέλος δημιουργεί έναν τυχαίο αριθμό και πραγματοποιεί μια εκτέλεση του πρωτοκόλλου Diffie-Hellman, με το μέλος, ανταλλάσοντας τις τιμές και αντίστοιχα. 2 Με τον συμβολισμό GF αναπαριστούμε έναν διανυσματικό χώρο. 42

2. Στον γύρο i, κάθε μέλος πραγματοποιεί μια εκτέλεση του πρωτοκόλλου Diffie-Hellman, με το μέλος, όπου στην οποία και τα δύο μέλη χρησιμοποιούν τις τιμές που δημιουργήθηκαν στο βήμα i-1, για την ανταλλαγή. Σύμφωνα με τα παραπάνω, σε κάθε γύρο, κάθε μέλος από τα συμμετέχει σε ακριβώς μία εκτέλεση του πρωτοκόλλου Diffie-Hellman. Στο τέλος της εκτέλεσης της διαδικασίας, το μυστικό κοινό κλειδί θα είναι γνωστό και στα μέλη της ομάδας, για τον λόγο ότι τα διανύσματα,,, αποτελούν μία βάση του διανυσματικού χώρου. Συνοπτικά, τα χαρακτηριστικά του πρωτοκόλλου 2 d - Cube παρουσιάζονται στον Πίνακα 5.2. Πίνακας 5.2: χαρακτηριστικά του πρωτοκόλλου 2 d -Cube (7) Πρωτόκολλο Συνολικά Συνολικές Απλοί γύροι Σύγχρονοι Μηνύματα Ανταλλαγές γύροι 2 d -Cube 5.6 Το πρωτόκολλο 2 d -Octopus Το πρωτόκολλο 2 d -Octopus λειτουργεί περίπου με τον ίδιο τρόπο με το πρωτόκολλο Octopus, με την μόνη διαφορά ότι χρησιμοποιούμε έναντι 4 μελών για να παίξουν κεντρικό ρόλο σε όλη την διαδικασία. Αυτό έχει ως συνέπεια, τα υπόλοιπα μέλη να χωριστούν σε όχι πλέον 4 αλλά σε ομάδες. Με άλλα λόγια, στα βήματα 1 και 3 του πρωτοκόλλου Octopus, τα μέλη επικοινωνούν με τα μέλη της κάθε ομάδας, ενώ στο βήμα 2 πραγματοποιούν την δημιουργία του κοινού κλειδιού με την χρήση του πρωτοκόλλου 2 d -Cube. Συνοπτικά, τα χαρακτηριστικά του πρωτοκόλλου 2 d -Octopus παρουσιάζονται στον Πίνακα 5.3. 43

Πίνακας 5.3: χαρακτηριστικά του πρωτοκόλλου 2 d -Octopus (7) Πρωτόκολλο Συνολικά Μηνύματα Συνολικές Ανταλλαγές Απλοί γύροι Σύγχρονοι γύροι 2 d -Octopus Το πρωτόκολλο 2 d -Octopus παρουσιάζει ιδιαίτερο ενδιαφέρον, επειδή μας προσφέρει μια δυνατότητα αυξομείωσης του αριθμού των συνολικών ανταλλαγών και των απλών γύρων, ανάλογα με την τιμή του d. Για παράδειγμα, για d = 2, ο αριθμός των συνολικών ανταλλαγών παίρνει την μικρότερη τιμή που μπορεί να πάρει αλλά ο αριθμός των απλών γύρων αυξάνει. Αν το d ικανοποιεί την σχέση, ο αριθμός των απλών γύρων είναι σχετικά μικρός αλλά ο αριθμός των συνολικών ανταλλαγών αυξάνει. ΚΕΦΑΛΑΙΟ 6 Πρωτόκολλο των Boyd, Nieto 44